Blockchain & Bitcoin concept [2] (Transaction, Block)

2023. 6. 13. 18:25Blockchain/Bitcoin

728x90
반응형

※ 원글 작성 : 22년 4월 26일

UTXO

  • 비트코인 트랜잭션 내에 출금이 이루어지지 않은 기록
  • Wallet은 사용자의 계좌 상에 오고 간 전체 입출금 기록을 확인하여 거래 목록을 추적
  • Wallet 상의 balance는 UTXO의 합으로 표현

UTXO model & Account model

  • 대표적으로 전자는 비트코인, 후자는 이더리움
  • Account model은 각 사용자의 계정 상 잔액을 글로벌로 retrieve
  • UTXO 장점
    • 확장성 : 동시에 tx처리 가능
    • 프라이버시 : Account에 비해 개인정보 보호
  • Account 장점
    • 단순성 : State 추적 가능, state를 저장하지 않는 모델은 거래처리 및 조회가 복잡
    • 효율성 : Account의 잔액만 확인하여 출금 진행 가능 (이중지불이 발생할 수 있지만 global variable_nonce를 통해 한 계정에서의 동시 트랜잭션 제출을 방지)

Block

본인 논문

  • Block hash : 각 블록은 transactions, nonce, 이전블록해시를 SHA-256 해시 함수를 적용하여 출력
  • 각 트랜잭션은 해시값으로 변환, 해당 해시값은 이진 머클 트리의 리프노드 머클 트리 루트가 얻어질 때 가지 hash를 반복
  • Nonce는 random variable
  • 블록 생성 난이도
    • #493760 블록
    • "bit" 항목으로 블록 생성 난이도(target)를 결정 (여기서는 402702781 = 0x1800c1bd)
    • bit는 coefficient와 exponential로 나뉘는데, 0x18 = exponent/0x00c1bd = coefficient
      $$
      target = coefficient\times2^{8(exponent-3)} = 0x00c1bd\times2^{0x08(0x18-0x03)}
      $$
      $$
      = 49597\times2^{168}
      $$
      $$
      \therefore target = 000000000000000000c1bd0000...
      $$

참고
http://wiki.hash.kr/index.php/%EB%8C%80%EB%AC%B8

728x90
반응형