ブロックチェーンのような分散型ネットワークにおける最大の課題のひとつが、時刻の同期です。分散システムでは各ノードの時刻をそろえる必要があり、そこにさまざまな不正の余地が生まれます。Solanaのブロックチェーンで使われているProof of Historyプロトコルを使えば、取引がいつ行われたのかを正確に特定できます。この記事では、Proof of Historyとは何かという問いへの答えを紹介します。
Proof of Historyとは何か?
Proof of Historyは、ブロックチェーン上で行われた取引がどの順序で並んでいるのか、そして正しく処理されているのかを証明しようとするプロトコルです。Solanaのブロックチェーンネットワークで採用されている手法で、ブロックチェーンのセキュリティを保ちながらネットワークを高速に動かし続けます。Solanaブロックチェーン上の取引は、SHA256ハッシュ関数によって守られています。PoHという手法と、Solanaプロトコル固有のその他の特徴によって、ブロック生成時間はビットコインの約10分、イーサリアムの15秒に対してわずか400ミリ秒まで短縮され、毎秒50,000件の取引(TPS - Transactions per second)を実現しています。
Proof of History(PoH)はどう動くのか?
ネットワークを検証する1人目のバリデーターには1番目の順番が割り当てられ、次のブロックを見つけるのに5秒を費やします。2人目のバリデーターには2番目の順番が割り当てられ、こちらも次のブロックを見つけるのに5秒かかります。ここまでで合計10秒が経過します。3人目のバリデーターには3番目の順番が割り当てられ、ブロックを見つけるのに5秒かかるため、合計は15秒になります。各ブロックで行われた処理を完了するには5秒が必要です。バリデーターは一人ずつ順番に並び、直前の検証のあとに始まる処理は5秒待つことになります。この順序は、時刻の記録を検証するすべてのユーザーから見える形になっています。仮に4人目のバリデーターがいれば、3人目の5秒後に検証作業を行うことになります。
なぜProof of Historyが重要なのか?
Proof of Historyによって、ブロックチェーンネットワークの遅延が減り、ブロックチェーン全体の効率が高まります。この手法では取引の順序があらかじめ検証されているため、検証に費やされる時間を節約できます。ノードが処理の順序を決めるのにかける時間も短くなり、その結果、ネットワークに参加する新しいバリデーターの選出もより速くなります。
