기본 원리
핵심 아이디어
- 연속적 해시 체인(Sequential Hash Chain)
- PoH에서는 일련의 해시 연산을 연속적으로 수행하여 이전 상태로부터 얼마나 많은 계산이 이뤄졌는지 증명함.
- 이를 위해 다음 해시를 구할 때 반드시 이전 해시의 결과값이 입력으로 포함돼야 하며, 이 과정을 끊임없이 반복함.
- 즉,
hash_1 = Hash(seed), hash_2 = Hash(hash_1), hash_3 = Hash(hash_2), ... 처럼 연속적인 해시 값의 체인 구조로 연결됨.


트랜잭션 또는 이벤트의 순서를 증명
- 이 연속 해시 체인에 이벤트가 언제 들어왔는지를 삽입하여 기록하면, 나중에 누가 보더라도 해당 이벤트가 해시 체인의 어느 지점에서 발생했는지 검증할 수 있음.
- 단순히 이벤트가 들어왔다는 정보 뿐 아니라, 체인 상에서의 위치(Sequence Number)와 함께 기록되어 블록체인상에서 이벤트의 순서가 왜곡되기 어렵게한다.
<aside>
💡
기존 PBFT나 일반적인 PoS 합의에서는 블록 생성 시점을 정확하게 증명하기 위해 네트워크 참여자들 간 잦은 메시지 교환 과정을 거치게 된다.
</aside>
PoH + Timestamp
- PoH는 강력한 순서 증명 기능을 제공함과 동시에, 블록체인에 가상의 글로벌 시계 역할을 함.
- PoH를 통해 블록을 제안하는 노드(리더)는 새로운 블록을 어느 시점에 생성된 것인지를 빠르게 증명하고 네트워크에 전파할 수 있음.
- 따라서 기존 PBFT 계역이나 PoS 합의에 비해 이 블록이 실제로 언제 생성됐는지를 확인하기 위한 추가 통신 과정이 대폭 줄어듦.
코드를 통한 예제