Solana(ソラナ)はスマートコントラクトが実行できる2020年にローンチをする汎用ブロックチェーンです。「高速な処理ができるブロックチェーン」と表現されるプロジェクトは他にも複数存在しますが、その多くが秒間50-100トランザクションです。ソラナの場合は、秒間で5万トランザクションを実行できる点でゲームチェンジャーだと期待されます。
Solanaについて基礎的な紹介はこちらの記事で行いました。
リレーによって必然的に遅くなってしまう分散ネットワークのコンセンサス
ソラナが高いトランザクション性能を実現させている要素が独自のコンセンサスメカニズムのプルーフ・オブ・ヒストリー(Proof of History)です。これを解説する前提として、何故ブロックチェーンのトランザクションを高速にすることが困難であるかを説明する必要があると思います。
まず、ブロックチェーンは分散ネットワークであり、複数のコンピュータ(ノード)の通信によって成立しています。これまで全てのブロックチェーンで、ブロック生成において、新しいブロックをチェーンに繋げる前にそのブロックを確認するプロセスが行われていました。そのブロックを繋げる際に、そのブロックは本当に繋げて良いブロックかどうか、ネットワークのコンピュータがデータを伝搬して確認するプロセスがあります。
トランザクション性能がプルーフ・オブ・ワーク(PoW)より早いと言われるBFT系プルーフ・オブ・ステーク(PoS)のコンセンサスにおいても決められたノードで提案されたブロックをリレーして署名を行いブロックを繋げており、このリレーに時間がかかっています。つまりP2Pネットワークだからこそ、ノード同士でブロックを伝播する通信時間が必要で、これがボトルネックでした。
それに対してソラナは、ノード同士で通信をせずとも直近のトランザクションを承認できるP2Pネットワークというブレークスルーと呼べる提案を行っています。
高いトランザクション性能を実現するProof of History
ソラナがなぜトランザクション性能を桁違いに向上させることができているかは、ブロック生成においてノード同士がコミュニケーションをしていない点にあります。ノードがリレーをせずにトランザクション承認を実現する手法が、プルーフ・オブ・ヒストリー(Proof of History)というアプローチです。
各ノードは、ある時点にブロードキャストされたトランザクションを全てSHA256のハッシュにして、タイムスタンプを発行します。このタイムスタンプは、VDF(
Verifiable Delay Function)が採用され、公開されていながら実際にその時点で発行されたタイムスタンプで間違いないかを検証できるようになっています。
そのブロックのトランザクションをこの時間に承認したという証明になり、これを各バリデータノードがオンラインで公開することになります。ブロックを承認するバリデータノードは正しい振る舞いをしていれば、同じハッシュ値とタイムスタンプが公開されているはずです。このタイムスタンプを用いたメカニズムをSolanaはProof of Historyと表現しています。
Proof of Historyにおいて、ブロックチェーンのノードはP2P通信をリアルタイムで行うことをしません。つまりブロックチェーンのトランザクション性能は、ノードの通信帯域性能がボトルネックにならず、バリデータノードのハードウェアの性能のみによって決まります。これによって桁違いのトランザクション性能を実現しています。この仕組はこれまでのブロックチェーンと全く異なる仕組みでトランザクション性能の向上を実現しており、ソラナのユニークさです。