본문 바로가기

블록체인/블록체인(박승철)

블록체인 - (4) 비트코인 거래

블록체인 - (4) 비트코인 거래

비트코인 거래
- P2P 방식
- 투명한 거래 : 화폐 발행을 포함한 모든 거래 내역을 공개 원장(Pulic ledger)을 통해 확인할 수 있음
- 발행된 비트코인에 대한 소유를 증명할 수 있음(개인키)

비트코인 발행 주체
- 채굴자 : 블록을 생성하여 블록체인에 체인으로 연결하는 참여자
- 채굴자로 선택되는 방법 : 채굴 역량(해시 파워)에 비례하는 확률로 임의의 채굴자를 선정

발행 방식
- 비트코인 시스템이 채굴자의 주소로 블록 보상(12.5 BTC)을 송신하는 지불 거래를 생성함
- 생성된 각 블록의 첫번째 거래는 코인 베이스 거래(Coinbase transaction)으로 채굴자에게 비트코인을 지급하는 거래기록이 남김. (12.5BTC + 생성된 블록에 포함된 모든 거래의 수수료의 합)

비트코인의 존재 확인
- 공개 원장인 블록체인상의 거래 검색
- 소유자 : 비트코인 지불 거래에 기록된 수신자의 주소
- 소유 금액 : 비트코인 지불 거래에서 수신자 주소로 지불된 금액

소유자 증명 방식
- 거래 생성시 비트코인 소유자 증명 방식 명시.
- 각 거래의 입력값, 출력값 중에 출력값에 해당 비트코인을 전달받을 소유자가 비트코인을 사용하려면 어떤 증명방식을 수행해야 하는지 반드시 명시하도록 함.

소유자 증명
- 사용하고자 하는 비트코인이 기록된 거래의 수신자 주소에 대응되는 서명을 제시

지불 거래
- 비트코인의 소유자를 이전하는 행위
- 입력값(1) : 사용하고자 하는 비트코인의 주소(공개키의 해시값으로 표현된 주소)
- 입력값(2) : 사용하고자 하는 비트코인의 주소의 소유자임을 증명하는 서명(=개인키)
- 출력값 : (송신할 비트코인 양, 송신대상의 주소) + 증명방식

<그림 1: 비트코인 거래 입력값, 출력값>


UTXO(Unspent Transaction Output)
- 사용되지 않은 비트코인

STXO(Spent Transaction Output)
- 이미 사용된 비트코인

비트코인 네트워크에서 각 거래의 입력값에는 비트코인의 주소가 사용된다. 이때, 해당 주소의 비트코인이 UTXO인지 STXO인지 해당 비트코인의 유효성(이중거래여부)를 판단한다. 따라서, 사용자A가 가진 20BTC중 10BTC를 사용자B에게 송금하는 거래는 출력값으로 (10BTC, 사용자B의 주소), (10BTC, 사용자A의 새로운주소)을 갖는다.
즉, 매번 거래가 발생할 때마다 비트코인의 주소를 변경하여 UTXO, STXO를 식별할 수 있도록 한다.

*이중 지불거래
- 이미 사용된 비트코인(STXO)를 사용하는 거래

+ 블록체인 네트워크에서 지금까지 총 발행된 비트코인의 합 = UTXO의 합

Reference
1.

제4강+비트코인전자화폐거래의개념.pdf
0.50MB

 

2. 박승철블록체인과비트코인제4강 비트코인전자화폐거래개념