- 1 時間の重要性とPoH
- 2 Medallaテストネットでの全バリデータスラッシュ事件
- 3 非中央集権時計”Proof of History”
- 4 SolanaのSHA256とVDF
- 5 VDFを利用した非中央集権時計
- 6 まとめ
ブロックチェーンに新しいアプローチを行っているSolana(ソラナ)は”Proof of Hisotry(PoH)”と呼ばれるユニークなアルゴリズムを採用しています。このProof of Hisotryはイーサリアム2.0でShardingのセキュリティを増すために研究しているVDF(Verifiable Delay Function)を採用しており、Solanaを理解するために重要な必須知識となっています。本稿ではSolanaが採用しているProof of Hisotryについて詳しく解説を行います。
墨汁マガジン「VDF(Verifiable Delay Function)とは?イーサリアム2.0により高いセキュリティを実現する関数を理解する」を参照してください。
時間の重要性とPoH
Proof of History(以下PoHとする)とは、いわばブロックチェーンで実現する”非中央集権時計”といえるでしょう。PoHを理解する前にまず前提知識として、
「ブロックチェーンにおける時間の重要性」
を理解しておく必要があるのです。
ブロックチェーン上で分散合意を行う際、時間の同期を正確に行わなければ予期せぬトラブルやコンセンサスバグが発生する可能性があるのです。
Medallaテストネットでの全バリデータスラッシュ事件
例えば過去の例ではイーサリアム2.0のMedallaテストネットで、すべてのバリデータがスラッシュされるという事件がありました。
これは時間を同期する際に使用していたCloudflareのNTPサーバーの時間が4時間進んでいたことが原因となっています。全バリデータがスラッシュされたのはCasper FFGにおいての署名時間が不正であったと判断されたことが原因であり、イーサリアム2.0クライアント側では
「WARN roughtime: Roughtime reports your clock is off by more than 2 seconds offset=4h0m0.028854657s.」
となっていたのです。このように基準とする時間はブロックチェーンにおける合意形成に非常に重要であることがわかるでしょう。
非中央集権時計”Proof of History”
ビットコインにおけるProof of Work(PoW)は最長のチェーンを正としてReorgを前提とした分散合意をおこなっており、これを非中央集権時計として使用すると考えることもできるでしょう。一方でSolanaではPoHを利用した非中央集権時計でこの問題を解決しようとしており、PoHはVDF(Verifiable Delay Function)となります。
SolanaのPoHは
「S