はじめに
信頼できる実行環境の展開における世界のリーダーであるFortanixは、Ignite(旧Tendermint)バリデーターノードの運用者に対し、提案や投票の二重署名を防止する仕組みを提供します。このソリューションの主要コンポーネントはFortanix DSMプラグインで、提案と投票が正しく形成されていることを検証し、プロトコルの状態を追跡し、二重署名が防止されることを保証します。本ソリューションはFortanix Secure Web3 Infrastructureツールスイートの一部を構成し、管理サービスとして提供されます。
本ブリーフィングドキュメントでは、設計選択の背景にある動機を概説し、IgniteなどのProof-of-Stakeブロックチェーンのセキュリティを向上させるための設計選択点を強調します。
IgniteなどのProof-of-Stake(POS)ブロックチェーンでは、バリデーターノードは次のブロックを「マイニング」するためにリソースを消費しません。代わりに、提案と投票を検証し署名します。署名にリソースが消費されないため、バリデーターは二重署名や曖昧な行動をとるインセンティブを持ちます。これによりブロックチェーンに分岐が生じます。分岐を避けるためには、バリデーターがコンセンサスプロトコルの状態を追跡し、提案と投票が二重署名されないことを保証しながら署名する高整合性の署名者を維持することが重要です。
ノーシング・アット・ステーク問題
プルーフ・オブ・ワーク型ブロックチェーンでは、マイナーが不正行為(例えばブロックチェーンの分岐を試みるなど)を行った場合、結局は自分自身を傷つける結果となります。誤ったブロック上でマイニングを行うことは労力の無駄です。しかし、これはプルーフ・オブ・ステーク型ブロックチェーンでは当てはまりません。ブロックチェーンに分岐が発生した場合、バリデーターノードは実際にメインチェーンと分岐チェーンの両方を支持するインセンティブが働きます。これは、長期的に見れば分岐チェーンがメインチェーンになる可能性が常に少しは存在するためです。この現象は「ノーシング・アット・ステーク」問題として知られており、プロトコルからの逸脱がインセンティブ化される問題です。
この問題を解決するためのメカニズムの一つとして、バリデーターがプロトコルの状態を追跡し、二重署名を防止する署名者を使用する方法があります。このような署名者を開発するのは非常に困難です。提案や投票を検証し、二重署名防止を保証するコードが高い完全性を持って実行されることを保証する必要があります。また、署名者は常にオンライン状態を維持し、障害から回復できるようにクラスターモードで動作する必要があります。
ワンタイム署名セキュリティ
Fortanix DSM SaaSは、FIPS 140-2レベル3に準拠したセキュアな鍵管理プラットフォームです。独自のセキュリティアーキテクチャを採用しており、ハードウェアで保護された安全な環境内で実行可能なカスタムプラグインを開発・展開できます。このプラグインは、複数の管理者ユーザーが関与するクォーラムポリシーで保護可能です。一度展開されると、複数の管理者からの明示的な許可なしにプラグインコードを変更することはできません。
Fortanixワンタイムサインソリューションには、提案と投票を検証し、プロトコルの状態を追跡し、二重署名を防止しながら提案と投票に署名するプラグインが含まれています(図1参照)。このプラグインは高い整合性で実行され、DSM SaaSが高可用性と災害復旧を提供するため常にオンライン状態を維持します。

図1: Igniteの提案と投票を検証するロジックを含むクォーラム保護付きFortanix DSMプラグイン。Fortanix Igniteワンタイムサインソリューションの重要なコンポーネントです。
メリット
Fortanixワンタイムサインソリューションの主な利点は、Igniteバリデータが規定のプロトコルから逸脱せず、ブロックチェーンの分岐を引き起こす可能性のある利己的行為に走らないことを保証することです。今後、FortanixはEthereum 2.0、Solana、Cardanoなどの他のProof-of-Stakeプロトコル向けワンタイムサインのサポートを計画しています。



