용어집 / 채굴과 합의
제네시스 블록
별칭은 Block 0입니다.
- 제네시스 블록이란 무엇입니까?
- 제네시스 블록은 비트코인 체인의 첫 번째 블록이며, 2009년 1월 3일 소프트웨어에 하드코딩된 블록이고, 50 코인의 보상이 결코 사용될 수 없는 유일한 블록입니다.
모든 비트코인 노드는 같은 하드코딩된 블록에서 출발하며 이를 내려받지 않습니다. 앞선 블록이 없어 검증할 대상이 없기 때문입니다. 이 블록의 타임스탬프 1231006505는 UTC 기준 2009년 1월 3일의 18:15:05에 해당하며, coinbase 필드에는 그날 아침 The Times of London의 헤드라인이 담겨 있습니다. 사용하는 소프트웨어가 같은 제네시스에 도달하지 않는다면, 그것은 비트코인이 아닙니다.
작동 방식
제네시스 블록은 어떤 노드도 부모 블록과 대조해 검증하지 않는 유일한 블록이므로, 전송될 수는 없고 합의될 수만 있습니다.
이 블록은 소스 코드의 체인 파라미터 파일에 존재하며, testnet, signet, regtest의 동등한 시작 블록과 나란히 있습니다. 각 네트워크는 저마다의 시작 블록을 가지며, 노드가 자신이 어느 네트워크에 있는지 아는 방식이 바로 이것입니다. testnet 노드는 같은 coinbase 메시지를 재사용하지만 타임스탬프와 nonce가 달라 다른 해시를 만들며, 두 네트워크는 결코 우연히 합쳐질 수 없습니다. 제네시스의 바이트 하나만 바꾸면 어떤 피어도 대화하지 않는 사설 체인을 만든 것입니다.
블록 전체는 285바이트이며 단일 트랜잭션, 즉 최초의 50코인을 지급하는 coinbase를 담고 있습니다. 이 코인들은 사용할 수 없으며, 규칙이 금지하기 때문이 아닙니다. Bitcoin Core는 제네시스 coinbase 출력을 미사용 출력 집합에 넣지 않는데, 이는 블록이 적재되는 방식에서 비롯된 부산물이지 의도된 설계가 아니므로, 이를 소비하려는 모든 트랜잭션은 네트워크가 존재한다고 믿지 않는 출력을 지목하게 됩니다. 모든 구현이 이 특이점을 유지해 왔는데, 이를 바꾸면 아무 목적 없이 체인이 분기되기 때문입니다.
한동안 아무것도 이 블록을 따르지 않았습니다. 블록 1은 2009년 1월 9일까지 채굴되지 않았으며, 이는 닷새가 넘게 지난 뒤였고, 버전 0.1 소프트웨어가 Cryptography 메일링 리스트에 발표된 바로 그날이었습니다. 이 공백 때문에 제네시스 블록은 흔히 발표 이전이라고 묘사됩니다. 다른 누구도 코드를 실행하고 있었을 수 없던 시점에 이미 존재했기 때문입니다.
사람들은 지금도 헌사의 뜻으로 제네시스 주소 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa로 코인을 보냅니다. 이 나중의 지급은 평범한 트랜잭션이 만든 평범한 출력이며, 그 키를 보유한 누구든 사용할 수 있습니다. 동결된 것은 최초의 50뿐입니다.
비트코인을 구매할 때 이것이 중요한 이유
비트코인의 제네시스 블록을 공유한다는 것은 어느 코인에 대해서도 아무것도 증명하지 않으며, 여러 프로젝트가 바로 그 혼동을 팔아 왔습니다.
Bitcoin Cash는 2017년 8월 1일에 블록 478,558에서 갈라져 나왔습니다. Bitcoin SV는 2018년 11월 15일에 Bitcoin Cash에서 갈라져 나왔습니다. Bitcoin Gold는 2017년 10월에 블록 491,407에서 갈라져 나왔습니다. 이들 모두는 동일한 제네시스 블록, 동일한 coinbase 필드에 담긴 동일한 헤드라인, 그리고 동일한 최초 몇 년의 역사를 담고 있는데, 포크는 갈라져 나오는 지점까지의 모든 것을 복사하기 때문입니다. 따라서 어떤 프로젝트는 자신의 체인이 2009년 1월 3일에 시작한다고 사실대로 말하면서도, 가격이 다르고 규칙이 다르며 보안은 일부에 불과한 다른 자산일 수 있습니다.
체인을 구분하는 것은 포크 지점 이후의 모든 것입니다. 각 측이 강제하는 합의 규칙과 체인 끝단 뒤에 쌓인 누적 작업 증명입니다. 구매할 때 비트코인을 실제로 식별하는 것은 사용하는 플랫폼이 거래하는 티커, 지갑이 생성하는 주소 형식, 그리고 노드가 따르는 체인입니다. 그중 어느 것도 제네시스 블록이 아닙니다.
두 번째 실용적 용도는 검증입니다. 노드가 초기 동기화를 수행할 때 블록 0에서 시작해 앞으로 나아가며 모든 보조금, 모든 서명, 모든 연결을 확인합니다. 제네시스 블록은 그 과정에서 네트워크가 아니라 사용자로부터 오는 유일한 입력이며, 바로 그 때문에 이 과정이 의미를 가집니다. 프로젝트 자체의 릴리스 페이지에서 소프트웨어 사본을 직접 내려받고 그 서명을 확인하는 것이 출발점을 자신의 것으로 만드는 일입니다.
그다음에는 사기 층이 있습니다. "Satoshi era" 코인 제안, 원조 비트코인으로 판매되는 체인, 배수를 잠금 해제하려면 제네시스 주소로 보내라고 요구하는 메시지는 모두 같은 오해를 이용합니다. 이 사이트의 사기 가이드에서 그 패턴을 다룹니다.
coinbase 필드의 헤드라인
제네시스 coinbase 입력에는 69바이트 길이의 일반 텍스트 데이터가 담겨 있으며, 16진수를 ASCII로 변환하는 도구로 즉시 읽어낼 수 있습니다.
이 바이트는 다음과 같이 해독됩니다: The Times 03/Jan/2009 Chancellor on brink of second bailout for banks. 이는 2009년 1월 3일 토요일 The Times of London의 머리기사 헤드라인이었으며, Alistair Darling과 영국의 두 번째 은행 구제금융을 가리킵니다.
이 헤드라인은 두 가지 역할을 동시에 합니다. 그것은 이 시스템이 왜 만들어졌는지에 대한 진술이며, 프로토콜 전체에서 유일한 편집적 내용입니다. 또한 수십 년간 암호학에서 쓰여 온 종류의 타임스탬프 증명이기도 합니다. 블록은 그 신문이 존재하기 전에 만들어질 수 없으므로, 타임스탬프 필드를 신뢰하지 않고도 체인의 연대에 확고한 하한을 설정합니다. 더 이른 비트코인 체인을 채굴했다고 주장하는 사람은 자신이 알 수 없었던 헤드라인을 설명해야 합니다.
제네시스 블록 vs 비트코인 백서
비트코인에는 그럴듯한 탄생일이 세 가지 있으며 사람들은 이들을 끊임없이 혼동합니다. 백서는 2008년 10월 31일 Cryptography 메일링 리스트에 게시되었습니다. 9페이지 분량의 설계 문서로, 코드도 체인도 없습니다. 제네시스 블록은 2009년 1월 3일에 채굴되었습니다. 원장의 첫 상태입니다. 버전 0.1 소프트웨어는 2009년 1월 9일에 공개되었습니다. 다른 누구든 참여할 수 있게 된 시점입니다. 백서는 하나의 시스템을 기술하고, 제네시스 블록은 하나의 시스템을 시작합니다.
제네시스 블록 vs Satoshi Nakamoto
“Satoshi의 코인”은 거의 언제나 제네시스의 50을 뜻하지 않습니다. 초기 블록의 nonce 패턴에 대한 Sergio Demian Lerner의 분석은 Patoshi 패턴으로 알려져 있으며, 2009년 동안 단일 채굴업자에게 약 110만 개의 코인을 귀속시키는데, 이는 평범한 주소에 있는 평범한 사용 가능한 출력입니다. 제네시스 보상은 별개이며 Satoshi를 포함해 누구도 사용할 수 없습니다. 따라서 휴면 상태이던 초기 지갑이 움직였다고 헤드라인이 보도할 때 그것은 결코 제네시스 블록이 아니며, 그럴 수도 없습니다.