[TIL] 2023-05-01

Melon Coder·2023년 5월 2일
1

TIL

목록 보기
25/50
post-thumbnail

Today I Learned


[BlockChain]

오늘은 파트3[블록체인] 첫날로 파트1[온보딩] 기간에 배운 블록체인 내용을 복습하는 시간을 가졌다.


UTXO

UTXO는 사용되지 않은 출력값(Unspent Transaction Output)이다.
비트코인과 같은 분산원장 기반 암호화폐에서의 거래 방식이다.

소유자의 개인키로 소유권을 증명하고 개인키로 본인이 소유한 코인을 검색하는데 여기서의 코인이 결국 사용되지 않은 출력 값(UTXO)이다.
그렇게 합쳐진 UTXO로 소유자의 전체 잔액을 계산할 수 있게 된다.

UTXO 에서는 모든 비트코인이 거래의 출력으로 생성되며, 이 출력이 다시 다른 거래의 입력으로 사용될 수 있다. 입력은 거래에 사용된 비트코인의 양과 소유자의 공개키로 구성된다. 그리고 출력은 새로 생성된 비트코인의 양과 다음 소유자의 공개키로 구성된다.

코인베이스

코인베이스는 블록 생성에 대한 보상으로 각 블록 내의 첫번째 거래이고 새로운 비트코인이 생성되는 거래이다.
쉽게말해 채굴에 대한 보상으로 주어지는 비트코인에 대한 거래이다.

블록체인에서 모든 거래는 입력과 출력을 가지는데, 입력은 이전 거래에서 받은 비트코인의 양과 해당 비트코인이 보내진 주소 정보를 가지며, 출력은 새로운 비트코인이 보내지는 주소와 양을 갖게 된다.
그러나 이와 달리 코인베이스는 입력값이 없는(출력값만 있는)거래이다.
코인베이스 거래의 출력값은 채굴자의 지갑 주소로 지정되며, 새로 생성된 비트코인이 해당 주소로 입금된다. 이 출력값은 이후의 거래에서 입력값으로 사용될 수 있다.

locking script & unlocking script

locking script와 unlocking script는 비트코인과 같은 블록체인에서 사용되는 스크립트 언어의 두 가지 유형이다.
locking script는 특정 트랜잭션 출력값이 사용되기 전에 만족시켜야 하는 조건을 정의하는 스크립트다. 즉, 트랜잭션 출력값이 어떤 상황에서 사용될 수 있는지를 결정한다.
이 스크립트는 특정 주소나 해시, 퍼블릭 키, 서명 등과 같은 데이터 요소들로 구성되며, 이들 요소 중 하나라도 맞지 않으면 해당 출력값을 사용할 수 없다.

반면, unlocking scriptlocking script에 포함된 요구사항을 충족시키기 위해 사용되는 스크립트이다. 즉, 해당 트랜잭션 출력값을 사용하기 위해서는 locking script에 정의된 조건들을 만족시키는 데이터를 unlocking script로 제공해야 한다.

0개의 댓글