BlockChain

📦Block & Transaction Structure | 패스트캠퍼스 블록체인 강의 챌린지 3일차

Tony Min 2023. 3. 3. 07:33

Structure

비트코인의 블록 구조는 블록체인 상의 단일 블록 내에서 데이터의 형식과 구성을 말합니다. 블록은 확인되어 블록체인에 추가된 트랜잭션의 모음입니다. 각 블록에는 포함된 트랜잭션에 대한 정보와 블록 보안 및 유효성 검사에 도움이 되는 추가 메타데이터가 포함되어 있습니다.
비트코인의 블록 구조는 블록 헤더 구조와 트랜잭션 데이터 구조의 두 가지 주요 구성 요소로 나눌 수 있습니다.

Block Structure

Block Structure

비트코인에서 블록은 블록체인에 검증되고 추가된 트랜잭션의 모음입니다. 비트코인의 블록 구조는 블록 헤더 구조와 트랜잭션 데이터 구조의 두 가지 주요 구성 요소로 구성됩니다.
거래 데이터 구조에는 각 거래의 입출력, 각 거래에서 전송되는 비트코인의 양, 발신자가 지불하는 거래 수수료 등 블록에 포함된 거래에 대한 정보가 포함되어 있습니다.
블록 헤더 구조에는 블록 버전 번호, 블록 체인의 이전 블록에 대한 참조, 블록이 생성된 시기를 나타내는 타임스탬프, 블록 마이닝의 난이도 대상, 유효한 블록 해시를 생성하는 데 사용되는 난스 값, 그리고 merkle 루트를 포함하는 블록에 대한 메타데이터가 포함됩니다.

Block Header Structure

Bitcoin의 블록 헤더 구조에는 블록에 대한 메타데이터가 포함되어 있어 이를 보호하고 검증하는 데 도움이 됩니다. 이 메타데이터에는 블록 버전 번호, 블록 체인의 이전 블록에 대한 참조, 블록이 생성된 시기를 나타내는 타임스탬프, 블록 마이닝의 난이도 대상, 유효한 블록 해시를 생성하는 데 사용되는 난스 값 및 Merkle 루트가 포함됩니다.
블록 헤더 구조는 네트워크의 노드가 모든 트랜잭션 데이터를 다운로드하고 처리하지 않고도 블록의 유효성을 신속하게 확인할 수 있도록 하기 때문에 중요합니다. 대신 노드는 블록 헤더 구조를 확인하여 블록이 유효한지 확인한 다음 필요한 경우 트랜잭션 데이터를 다운로드할 수 있습니다.

Block Creation

비트코인에서의 블록 생성은 마이닝이라는 과정을 통해 이루어집니다. 채굴은 상당한 양의 컴퓨팅 능력을 필요로 하는 복잡한 수학 퍼즐을 푸는 것을 포함합니다. 퍼즐을 풀고 유효한 블록을 만드는 첫 번째 노드에는 일정량의 비트코인이 보상됩니다.
마이닝 프로세스는 새로운 블록이 일관된 속도로 생성되도록 보장하고, 어떤 노드도 새로운 블록의 생성을 너무 많이 제어하지 못하도록 하기 때문에 중요합니다. 퍼즐을 풀기 위해 경쟁함으로써, 노드들은 블록체인을 보호하고 무결성을 유지하기 위해 협력하도록 장려됩니다.

Block Connection

비트코인에서의 블록 연결은 기존 블록체인에 새로운 블록을 추가하는 과정을 말합니다. 새 블록이 생성되면 블록체인의 이전 블록과 연결되어 블록의 연속적인 체인을 형성해야 합니다.
블록 연결은 블록체인의 무결성과 보안을 보장하는 데 도움이 되기 때문에 중요합니다. 각 블록에는 체인의 이전 블록에 대한 참조가 포함되어 있으므로 블록을 수정하려면 이후의 모든 블록도 수정해야 합니다. 이는 누구나 탐지되지 않고 블록체인을 조작하기 매우 어렵게 만듭니다.

Transaction Structure

UTXO

UTXO는 사용되지 않은 트랜잭션 출력을 나타냅니다. 비트코인에서 트랜잭션이 전송될 때 전송되는 비트코인의 양을 나타내는 하나 이상의 출력을 생성합니다. 이러한 출력을 UTXO라고 합니다. UTXO가 새 트랜잭션에서 사용되면 해당 트랜잭션에서 입력이 됩니다.

Transaction Structure

비트코인의 거래 구조는 입출력 구조와 거래 수수료라는 두 가지 주요 요소로 구성됩니다.
입력/출력 구조에는 트랜잭션의 입력 및 출력에 대한 정보가 포함됩니다. 각 입력은 이전 트랜잭션의 UTXO에 대한 참조이며, 각 출력은 생성 중인 새 UTXO를 나타냅니다. 입력 및 출력은 트랜잭션을 검증하는 방법에 대한 지침을 포함하는 트랜잭션 스크립트라는 데이터 구조로 구성됩니다.
거래 수수료는 광부들이 다음 블록에 거래를 포함하도록 장려하기 위해 보낸 사람이 지불하는 선택적인 금액입니다. 일반적으로 수수료가 높은 트랜잭션은 수수료가 낮은 트랜잭션보다 빠르게 처리됩니다.

Bitcoin 거래방식

비트코인에서 거래의 입출력을 지정하는 거래 스크립트를 만든 다음 비트코인 네트워크에 이 스크립트를 브로드캐스트하여 거래를 시작할 수 있습니다. 비트코인에서 사용할 수 있는 트랜잭션 스크립트에는 다음과 같은 여러 가지 유형이 있습니다:

  • P2PK(Pay-to-Public-Key): 이 스크립트 유형은 비트코인을 특정 공개 키로 보냅니다.
  • P2PKH(Pay-to-Public-Key-Hash): 이 스크립트 유형은 비트코인을 특정 공개 키 해시로 보냅니다.
  • Null_data: 이 스크립트 유형은 비트코인을 전송하지 않지만 블록체인에 임의 데이터를 저장하는 데 사용할 수 있습니다.
  • SegWit: 더 큰 블록 크기와 더 빠른 트랜잭션 처리 시간을 허용하기 위해 수정된 트랜잭션 구조를 사용하는 트랜잭션 유형입니다.
  • Tap Root: 이것은 비트코인 프로토콜에 대한 제안된 업그레이드로 보다 복잡한 트랜잭션 스크립트와 향상된 개인 정보 보호를 가능하게 합니다.
  • Lighting Network: 라이트닝 네트워크는 비트코인을 위한 레이어 2 스케일링 솔루션으로 빠르고 저렴한 개인 거래를 가능하게 합니다. 사용자 간 결제 채널 네트워크를 생성하여 오프체인 거래에 사용할 수 있습니다. 이러한 거래는 전체 비트코인 네트워크에 의해 검증될 필요가 없기 때문에, 온체인 거래보다 훨씬 빠르고 저렴한 수수료로 처리될 수 있습니다.

요약하자면, 비트코인의 거래 구조는 거래 스크립트로 구성된 입력과 출력으로 구성되며, 거래 수수료는 옵션입니다. 트랜잭션 스크립트를 생성하여 비트코인 네트워크에 브로드캐스트하여 트랜잭션을 시작할 수 있습니다. Lightning Network는 빠르고 저렴한 프라이빗 트랜잭션을 허용하는  layer 2 scaling solution입니다.
 

https://bit.ly/3Y60J4D

 

한 번에 끝내는 블록체인 개발 A to Z Online. | 패스트캠퍼스

블록체인 Dapp 개발부터 클론코딩 실습까지 하면서 마스터해보세요!

fastcampus.co.kr

*본 게시글은 패스트캠퍼스 후기 이벤트 참여를 위해 작성되었습니다.