PoETとは?Proof of Elapsed Timeの仕組みと課題を徹底解説(TEEとSawtooth活用の観点)
PoET とは — 概要
PoET(Proof of Elapsed Time、経過時間証明)は、ブロックチェーンのコンセンサスアルゴリズムの一つで、主にインテルが提唱し、Hyperledger Sawtooth などの分散台帳プラットフォームで採用された仕組みです。PoET の基本アイデアは、競争的な計算(PoW)の代わりに「ランダムに選ばれたノードに一定の待ち時間を与え、その待ち時間が経過したことを証明する」ことでリーダー(ブロック生成者)を選出するというものです。
誕生の背景と目的
ビットコインに代表される Proof of Work(PoW)はセキュアである一方、膨大な計算リソースと消費電力を必要とします。PoET は主に許可型(permissioned)ブロックチェーン向けに、低消費電力でランダムかつ公平なリーダー選出を実現することを目的として開発されました。これにより、エネルギー効率を高めつつ、分散合意を維持することが可能になります。
基本的な仕組み
PoET の基本フローは以下の通りです。
- 参加ノードは信頼できる実行環境(TEE: Trusted Execution Environment、代表例は Intel SGX)内で乱数に基づく待ち時間(sleep time)を生成する。
- 生成した待ち時間を暗号的に署名し、トラストされた証明(attestation)とともに外部に提示できるようにする。
- ノードはその待ち時間だけスリープ(待機)し、待ち時間が最も短かったノードがブロックを提案する権利を得る。
- 他ノードは提出されたブロックに付随する待ち時間証明と署名を検証し、有効であればそのブロックを受け入れる。
Trusted Execution Environment(TEE)の役割
PoET の中核となるのは TEE による「公平な待ち時間生成」と「その待ち時間を守ったことの証明」です。Intel SGX(Software Guard Extensions)は外部から隔離されたエンクレーブと呼ばれる領域を提供し、そこで生成・保管された値や署名は、ハードウェアと製造元(Intel)による遠隔検証(attestation)を通じて正当性を示すことができます。
このため、PoET はTEEのセキュリティに大きく依存します。TEE が信頼できるならば、ランダムに割り当てられた待ち時間が正当に選ばれ、その待ち時間が守られたことを外部に証明できるわけです。
Hyperledger Sawtooth と PoET
PoET は Hyperledger Sawtooth のコンセンサスエンジンの一つとして採用され、許可型の企業向けブロックチェーンで実運用されることを想定して実装されました。Sawtooth の実装では、ノード登録、エンクレーブの遠隔認証、待ち時間生成、証明の配布と検証という一連のプロセスが組み込まれています。
利点(メリット)
- エネルギー効率が高い:PoW のような大量計算を必要としないため消費電力が低い。
- レイテンシが低い:ブロック生成のための競争が不要なので、処理速度やスループットが高くできる。
- シンプルなランダム性:TEE によるランダム待ち時間により公平なリーダー選出が可能。
- 許可型ネットワークと親和性が高い:参加者が事前に登録されている環境では実用的。
リスクと課題(デメリット)
PoET の最大の弱点は「信頼の集中」にあります。TEE とその提供者(例:Intel)に強く依存するため、以下のようなリスクが生じます。
- TEE の脆弱性:SGX や他のTEEに対するサイドチャネル攻撃や設計上の欠陥(例:Foreshadow、Plundervolt などの報告)が存在し、エンクレーブが破られれば待ち時間の不正生成や偽の証明が可能になる。
- 中央集権的な要素:遠隔証明(attestation)サービスや信頼のチェーンは、TTP(Trusted Third Party)に対する依存度を生む。
- 公開型ネットワークには不向き:参加者が匿名で自由に参加するパーミッションレス環境では、TEE の管理や認証が困難。
- 運用上の複雑さ:TEE のセットアップ、証明書管理、脆弱性対応など運用負荷が発生する。
攻撃シナリオと防御
典型的な攻撃としては、エンクレーブの改ざん/サイドチャネルによる秘密情報の取得、遠隔認証フローの悪用、複数ノードでの待ち時間の操作(Sybil 攻撃との組み合わせ)などが想定されます。対策としては、TEE ベンダーのパッチ適用、複数の独立した証明プロバイダの併用、ノード登録時の厳格な身元確認、監査ログの導入などが考えられます。
PoET と他のコンセンサスの比較
- PoW(Proof of Work):高い耐改ざん性を持つ一方で電力消費が巨大。PoET は低消費電力だが TEE 信頼に依存。
- PoS(Proof of Stake):資産ステークに基づく選出。PoET は資産に依存しないが、TEE が攻撃されると脆弱。
- PBFT / Raft などの BFT 系:許可型で高速だがノード間でのメッセージ量が多くスケール性で課題。PoET はランダム選出によりスケール面で有利。
実用例と採用状況
PoET は主に Hyperledger Sawtooth の文脈で紹介され、企業向けの許可型ブロックチェーンで採用が検討されてきました。しかし、その採用は限定的であり、Tee の脆弱性や中央依存性を嫌うユースケースでは選択されにくいのが現状です。許可型ネットワーク、特に参加者の身元が明確で、運用者がハードウェアの管理とパッチ適用を徹底できる環境では有効に機能します。
実装上の注意点
- TEE(例:SGX)の正しい初期設定と定期的なアップデートを必須にする。
- 遠隔認証(attestation)フローの監査と透明性を確保する。
- 複数ベンダーや複数の認証プロバイダを組み合わせて単一障害点を避ける設計を検討する。
- 脆弱性情報(SGX など)を継続的に追跡し、対応計画を用意する。
今後の展望
TEE 技術自体の成熟とサイドチャネル攻撃への対策が進めば、PoET のようなハードウェアに依存するコンセンサスの有用性は高まります。一方で、TEE 依存のリスクを軽減するための分散型の証明(複数ハードウェアプールや分散型の信頼チェーン)や、TEE を用いない新たな低消費電力・高セキュリティのコンセンサス手法の研究も進んでいます。実運用では、用途に応じて PoET を含む複数のコンセンサスから適切なものを選択するハイブリッド的な設計が現実的です。
まとめ
PoET は「エネルギー効率」と「公平なリーダー選出」を両立させるために設計されたコンセンサスで、特に許可型ブロックチェーンでの採用を想定しています。利点としては低消費電力とスケーラビリティ、欠点としては TEE(SGX 等)への強い依存と、それに伴う中央的な信頼点です。実務での採用を検討する際は、TEE の脆弱性リスクや運用体制、参加者の性質(許可型か匿名参加型か)を慎重に評価する必要があります。
参考文献
- Proof of elapsed time — Wikipedia
- Hyperledger Sawtooth: Consensus architecture (公式ドキュメント)
- Intel: Proof of Elapsed Time (PoET) — 概要(Intel 公式)
- Intel SGX(Software Guard Extensions) — Intel 公式
- Foreshadow(L1 Terminal Fault):SGX に関する代表的な脆弱性(Wikipedia)
- Hyperledger Sawtooth Core — GitHub リポジトリ


