솔라나에서 Proof of History(PoH)는 “이 이벤트가 저 이벤트보다 먼저 일어났다”는 사실을 암호적으로 보여주는 시계열 구조입니다. 흔히 합의 알고리즘으로 오해하지만, PoH 자체는 합의가 아니라 합의가 빠르게 진행되도록 돕는 시간 기록기에 가깝습니다.

왜 시간이 문제인가

분산 네트워크에서는 모든 노드가 같은 시계를 공유하지 않습니다. 메시지가 도착하는 시간이 저마다 다르기 때문에, “어떤 트랜잭션이 먼저 들어왔는지”를 맞추는 것 자체가 어렵습니다. 비트코인과 이더리움은 이 문제를 “시간을 대략 맞추고 가장 긴 체인을 따른다”는 방식으로 풉니다. 솔라나는 시간 자체를 블록에 새겨 넣는 방식을 택했습니다.

연속된 해시로 시간을 새기다

PoH는 하나의 해시를 반복적으로 계산해 이전 결과를 다음 입력으로 사용합니다. 즉 hash(n) = f(hash(n-1)) 형태로, 각 단계가 이전 단계에 의존합니다. 이 연쇄를 따라가면 특정 해시가 다른 해시보다 앞서 있다는 것을 수학적으로 증명할 수 있습니다.

핵심: PoH는 시간을 “얼마나 흘렀는가”가 아니라 “어떤 순서로 일어났는가”를 증명합니다. 절대 시각이 아니라 상대적 순서가 기록됩니다.

트랜잭션을 시간 축에 얹기

리더(블록 생산자)는 트랜잭션을 받을 때마다 현재 PoH 해시와 함께 기록합니다. 그러면 각 트랜잭션이 시간 축의 어느 지점에 해당하는지가 명확해집니다. 검증자들은 이 해시 연쇄를 재계산해 보고, 순서가 조작되지 않았는지 확인합니다.

PoH가 합의를 빠르게 만드는 방식

  • 메시지에 타임스탬프를 매번 합의할 필요가 줄어듭니다.
  • 검증자가 받은 데이터를 시간 순으로 정렬하는 비용이 낮아집니다.
  • 병렬 처리(Sealevel)와 결합해 초당 수만 건의 트랜잭션을 처리할 수 있는 토대가 됩니다.

초보자를 위한 비유

한 장의 사진을 찍을 때마다 이전 사진이 작게 찍혀 들어가는 카메라를 상상해 보세요. 사진들이 순서대로 이전 사진을 담고 있기 때문에, 나중에 어떤 사진이 먼저 찍혔는지 증명할 수 있습니다. PoH는 이 원리를 해시로 수행합니다.

주의: 이 글은 학습용 설명입니다. PoH의 구현 세부사항은 솔라나 공식 문서와 백서를 함께 참고하세요. 투자 권유나 수익 예측을 포함하지 않습니다.

다음에 읽을 자료

PoH를 이해했다면, 그 위에 얹히는 Proof of Stake와 트랜잭션 순서 아티클이 자연스러운 다음 단계입니다.