著:ANATOLY YAKOVENKOAUG
Solanaへの質問やコミュニティ参加は下記リンクから。
Solana Link:Discord / Twitter / Telegram / Reddit / Github / Youtube
Solanaは、世界初のWebスケールブロックチェーンです。 Solana Testnetにおいて200のノードがGPUで実行する場合、毎秒50,000トランザクションを超えるスループットを叩き出すことができます。この為には、いくつかの最適化と革新的なテクノロジーの実装が必要となり、これによりネットワーク容量の飛躍的な向上とブロックチェーンの開発における新しいフェーズが開かれるのです。
Solanaネットワークのコアイノベーションは、Proof of Historyです。その名が示すとおり歴史上に起きたことの証拠です。 Proof of Historyでは、特定の時間に特定のイベントが発生した事を証明する履歴が作成されます。他のブロックチェーンでは、時間の経過に対してのコンセンサスとしてバリデーターの相互通信が必要となりますが、各Solanaバリデーターは、SHA-256、ハッシュ検証可能遅延関数(VDF)を用いて時間の経過をエンコードすることにより独自クロックを維持する形です。
これは、ブロックチェーンインフラストラクチャのスタンダードとは異なりProof of Historyでは、速度と容量に関するブロックチェーンネットワークの構造に根本的な革新性があります。
Proof of Historyにおいて、Solanaデータ構造はメッセージを連結します。そして、履歴レコード内の各メッセージの相対的な順序及び時間の暗号化された証拠が提供されます。ネットワークはローカルクロックを無視し、データ構造が最終的に配信され再構築する時点で潜在的な全てのネットワークレイテンシに対応することが可能になります。これこそが、Solanaが確認時間の限界を拡張し、安全性や分散化を犠牲にせずに集中型システムと同レベルのエクスペリエンスを提供できる理由です。
Proof of History(PoH)がネットワークに追加するもの“客観性”です。ネットワーク上のバリデーターが元帳からネットワークの状態を計算することができます。元帳に存在する検証メッセージに基づき、バリデーターはノードがアップ(有効)ダウン(無効)どちらに見なされるかどうか、ネットワークが元帳が有効と判断されるのに十分な票を送信したかを決定できます。このメッセージは、特定のバリデーターにタイムリーに届く必要はありません。元帳は最終的にすべてのバリデートに届きます。メッセージは元帳の一部でもあるため、PoHはメッセージ要求時に作成されたという暗号化の証拠を提供します。
この特性により、ブロックタイムに関しては複数のパラメーターにわたりネットワークを最適化できます。これは、速度と効率の観点からブロックチェーンインフラストラクチャの重要な要素です。ブロックタイムに加えて、PoHを使用することによりSolanaはネットワークで利用可能なブロック伝播(log200(n))、スループット(50K-80K TPS))、レジャーストレージ(ペタバイト)を最適化することができます。
ブロックタイムは集中システムを分散ブロックチェーンから明確に分離する為のパラメーターです。現在 Tendermintは3秒、Libraは約10秒、Aglorandは約5秒かかります。Solanaのテストネットでは0.4秒で展開されました。
Libraが単一のブロックを確認完了する間に、Solanaは25のブロック確認を完了しました。 Visaのシステムが稼働するには2.4秒の確認時間が必要です。イーサリアム、ビットコイン、リブラのいずれもその要件を満たしていなません。満たしているのはSolanaだけです。
一般的に、従来の分散システムのクロック処理方法は2つあります。メッセージに送信者によりタイムスタンプが付けられ、タイムスタンプが署名されます。ノードは、最新のメッセージと最古のメッセージをドロップします。このプロセスでの計算は、タイムスタンプとローカルクロックの差に基づいています。 もう一つのアプローチは、すべての状態遷移が期限切れになる前にローカルタイムアウトを持つ形です。たとえば、Tendermintでは、プリコミット状態でのタイムアウトは1秒です。次のブロックプロデューサーは次のブロック提案を試みる事ができますが、ネットワーク内の全てのノードは、プリコミット状態遷移の開始から少なくとも1秒後に新しい提案を試みることになります。
どちらのアプローチでも、提案者のクロックへの信頼性に対して各ノードはコンセンサスステートマシンの進行を遅延させることにより予防策を講じて提案者の不正を防ぎます。この遅延はネットワークの安全性維持には必要不可欠ですが、その反面ブロック時間が遅くなります。
ナカモトコンセンサスは、クロックに関する3番目となる方法を導入しました。ビットコインはネットワークは平均で10分に1回のペースでブロック生成できます。イーサリアムは平均15秒に1回の生成が可能です。これら 2つのネットワークの違いはcollisionsまたはunclesの数で測定できます。ブロックタイムが短いほど、2つのノードが同時にブロックを生成してしまう可能性が高まり、ナカモトスタイルでの15秒という数字はこのモデルの下限値になる可能性があります。
Solanaでは、ネットワークの遅延がない4番目のアプローチを導入しています。 Solanaプロトコルは、状態遷移間のローカルコンピュータークロック及びローカルタイムアウトに依存しない代わりに、VDFにより各ブロックプロデューサーの十分な待機時間が証明され、ネットワークの健全性を保証します。
Tendermintと異なり、次のブロックプロデューサーはスケジュールされたスロットまでVDFの一部をローカル生成する必要があります。
これは、プロデューサーがプロトコル遅延に従っていることの暗号化した証拠が存在するため、受信ノードがメッセージを受信するタイミングで即時に状態遷移を開始できることを意味します。メッセージは順不同で届く可能性があり、ネットワーク遅延のコストは多くのパケットの配信にわたり対応されていきます。 PoHが再構築されると、データ構造全体が、全てのブロックプロデューサー間の遅延が適切である事を保証します。
この機能の結果、ネットワークが遅延することはなく、ブロックプロデューサーによる変動にも影響されずに非常に高速な生産が可能になります。 Proof of Historyは、従来のブロックチェーンテクノロジーでは見えなかったネットワーク速度のロックを解除する強力なメカニズムと言えます。 Tower BFT、Turbine、Archiverのような革新とともに、Proof of HistoryはSolanaを現代のインターネットを超えるネットワーク容量を備えた最初のWebスケールブロックチェーンにするでしょう。
もしあなたがSolanaに興味がある場合、Discordに参加し、No Sharding:The Solana Podcastをチェックし、ブログやMediumでSolanaが実装する全ての技術革新を調べた上で是非ともSolanaコミュニティに参加してください。
Solanaへの質問やコミュニティ参加は下記リンクから。
Solana Link:Discord / Twitter / Telegram / Reddit / Github / Youtube