비트코인 블록 시각 역순 가능…활성 체인은 누적 작업량으로 선택
새 블록의 시각은 직전 블록보다 이를 수 있다. 블록의 연결 순서와 체인 선택은 시각표가 아니라 해시 연결과 누적 작업량으로 확인한다.
토포AI로 이 기사 더 깊이 읽기
비트코인(BTC) 블록의 표시 시각이 직전 블록보다 이르더라도 블록체인의 기록 순서가 뒤집히는 것은 아니다. 블록 시각과 체인의 연결 순서는 서로 다른 기준으로 확인한다.
◇ 블록 시각은 MTP와 비교한다
비트코인코어(Bitcoin Core)의 블록 검증 규칙은 새 블록의 시각을 직전 블록이 아니라 이전 11개 블록 시각의 중앙값과 대조한다. 새 시각은 이 중앙값보다 커야 한다. 이를 MTP(Median Time Past)라고 한다.
검증 규칙은 블록 시각이 노드가 판단하는 현재 시각보다 2시간 넘게 앞서는 경우도 제한한다. 따라서 블록 시각은 아무렇게나 정할 수 있는 값은 아니지만, 직전 블록보다 반드시 늦어야 하는 것도 아니다.
직전 블록에 주변 블록보다 늦은 시각이 적혀 있다면, 다음 블록은 MTP보다 늦으면서도 직전 블록보다 이른 시각을 기록할 수 있다. 이 때문에 블록 탐색기에서 인접 블록의 시각이 역순으로 표시될 수 있다.
글래스노드(Glassnode)는 온체인 지표 설명 자료에서 인접 블록 사이의 표시 시각 차이가 음수로 나타난 사례를 제시했다. 블록 시각을 기준으로 블록을 지표의 집계 기간에 배정한다는 설명도 덧붙였다.
◇ 해시 연결과 누적 작업량이 순서를 정한다
각 블록 헤더에는 바로 앞 블록의 해시가 담긴다. 블록 높이는 이 연결을 따라 늘어나므로, 화면에 표시된 시각만으로 블록의 앞뒤를 판단할 수 없다.
과거 블록의 시각을 바꾸면 해당 블록의 해시도 달라진다. 뒤이어 연결된 블록의 해시도 맞지 않게 되므로, 과거 기록을 바꾸려면 이후 블록의 작업증명을 다시 계산해야 한다.
비트코인 백서는 과거 블록을 바꾸려면 그 블록과 이후 블록의 작업증명을 다시 수행해야 한다고 설명한다. 작업증명은 블록을 추가하는 데 필요한 계산 작업을 증명하는 방식이다.
네트워크는 유효한 체인 가운데 누적 작업량이 가장 큰 체인을 활성 체인으로 선택한다. 블록의 표시 시각은 이 체인 선택 기준을 대신하지 않는다.
◇ 시간 관련 규칙과 지표는 기준이 다르다
BIP 113은 정해진 시각이 지나야 포함할 수 있는 시간 잠금 거래를 판정할 때 해당 블록의 개별 시각 대신 이전 11개 블록 시각의 중앙값을 쓰도록 했다. 제안 문서는 채굴자가 블록 시각을 조정해 시간 잠금 거래를 일찍 포함할 유인을 줄이려는 취지라고 설명한다.
블록 시각은 거래가 현실에서 정확히 언제 일어났는지를 보증하지 않는다. 채굴자가 설정하는 값인 만큼 거래의 실제 발생 시각과 구분해 읽어야 한다.
온체인 지표에서는 블록 시각을 집계 기간을 나누는 기준으로 사용할 수 있다. 표시 시각의 역전이 블록 순서를 바꾸지는 않지만, 시간 구간별 지표를 읽을 때는 시각 필드가 어떤 방식으로 집계에 쓰였는지 확인해야 한다.
난이도 조정 과정에서도 조정 구간의 처음과 마지막 블록에 적힌 시각 차이가 계산에 쓰인다. 시간 잠금 거래 판정에 쓰이는 MTP와 지표 집계·난이도 조정에 쓰이는 블록 시각은 용도를 나눠 살펴볼 필요가 있다.
블록 시각의 역전만으로 네트워크 장애나 가격 변동을 판단할 수는 없다. 블록 높이와 해시 연결은 체인의 순서를, 누적 작업량은 활성 체인을, 표시 시각은 시간 관련 계산과 집계를 이해하는 기준을 제공한다.

이준한 기자 




Comment 0
불러오는 중…