ソラナは高性能のブロックチェーンプラットフォームで、独自の技術アーキテクチャを採用して高スループットと低遅延を実現しています。そのコア技術には、Proof of History (POH)アルゴリズムが含まれており、取引の順序とグローバルクロックを保証します。リーダーローテーションスケジュールとタワーBFTコンセンサスメカニズムはブロック生成率を向上させます。タービンメカニズムはリード・ソロモン符号化を通じて大きなブロックの伝播を最適化します。ソラナバーチャルマシン(SVM)とシーリーヴェルの並列実行エンジンは取引実行速度を加速します。これらはソラナが高性能を実現するためのアーキテクチャ設計ですが、同時にネットワークのダウン、取引の失敗、MEV問題、状態の急速な増加、中央集権の問題などいくつかの問題も引き起こしています。私たちはこの記事でこのメカニズムがもたらす問題についても詳しく説明しています。
! [Solana Technology Architecture Revisited: Is It About Have a Second Spring?] ](https://img-cdn.gateio.im/webp-social/moments-83781275d369bad28954d579213dd93e.webp)
! [Solana Technology Architecture Revisited: Is It About Have a Second Spring?] ](https://img-cdn.gateio.im/webp-social/moments-c210b4025cb64385890634a405838d05.webp)
! [Solana Technology Architecture Revisited: Is It About Have a Second Spring?] ](https://img-cdn.gateio.im/webp-social/moments-224796bc8e080649730bb8736334abba.webp)
POHアルゴリズム
POH(Proof of History)はグローバルな時間を確定する技術であり、コンセンサスアルゴリズムではなく、トランザクションの順序を確定するアルゴリズムです。POH技術は、最も基本的な暗号技術であるSHA256に基づいています。SHA256は通常、データの完全性を計算するために使用され、入力Xが与えられると、ユニークな出力Yが存在します。したがって、Xに対するいかなる変更もYを全く異なるものにします。
これがそのProof of History技術の核心的な意味であり、前のブロックのハッシュは次のsha256関数の一部として使用され、鎖のように機能します。最新のYは、常に歴史の証明を含んでいます。
! [Solana Technology Architecture Revisited: Is It About Have a Second Spring?] ](https://img-cdn.gateio.im/webp-social/moments-46a028270f3c2da92e7056c17c1d9e16.webp)
! [Solana Technology Architecture Revisited: Is It About Have a Second Spring?] ](https://img-cdn.gateio.im/webp-social/moments-d55d3cfbc13036ed0d5747abb521cc1a.webp)
! [Solana Technology Architecture Revisited: Is It About Have a Second Spring?] ](https://img-cdn.gateio.im/webp-social/moments-e9bc35d0c790496c59c20979e5af1491.webp)
! [Solana Technology Architecture Revisited: Is It About Have a Second Spring?] ](https://img-cdn.gateio.im/webp-social/moments-9fd8693259e2864d6978d2b4e8ef2e85.webp)
! [Solana Technology Architecture Revisited: Is It About Have a Second Spring?] ](https://img-cdn.gateio.im/webp-social/moments-636ac72327705b9f93e62e394355436f.webp)
ソラナ技術アーキテクチャ解析:高性能と課題が共存 エコシステムの発展に新たな機会が訪れる
再解ソラナ技術アーキテクチャ:第二の春が来るのか?
ソラナは高性能のブロックチェーンプラットフォームで、独自の技術アーキテクチャを採用して高スループットと低遅延を実現しています。そのコア技術には、Proof of History (POH)アルゴリズムが含まれており、取引の順序とグローバルクロックを保証します。リーダーローテーションスケジュールとタワーBFTコンセンサスメカニズムはブロック生成率を向上させます。タービンメカニズムはリード・ソロモン符号化を通じて大きなブロックの伝播を最適化します。ソラナバーチャルマシン(SVM)とシーリーヴェルの並列実行エンジンは取引実行速度を加速します。これらはソラナが高性能を実現するためのアーキテクチャ設計ですが、同時にネットワークのダウン、取引の失敗、MEV問題、状態の急速な増加、中央集権の問題などいくつかの問題も引き起こしています。私たちはこの記事でこのメカニズムがもたらす問題についても詳しく説明しています。
! [Solana Technology Architecture Revisited: Is It About Have a Second Spring?] ](https://img-cdn.gateio.im/webp-social/moments-83781275d369bad28954d579213dd93e.webp)
ソラナエコシステムは急速に発展しており、各種データ指標は上半期においても急成長を遂げています。特にDeFi、インフラストラクチャー、GameFi/NFT、DePin/AIおよび消費者アプリケーションの分野で顕著です。ソラナの高TPSと消費者アプリケーションに焦点を当てた戦略、そしてブランド効果が比較的弱いエコシステムは、起業家や開発者に豊富な起業機会を提供しています。消費者アプリケーションの分野において、ソラナはブロックチェーン技術をより広い分野で応用するビジョンを示しました。ソラナモバイルや消費者アプリケーション専用に構築されたSDKをサポートすることで、ソラナはブロックチェーン技術を日常的なアプリケーションに統合し、ユーザーの受け入れや利便性を向上させることに取り組んでいます。例えば、Stepnなどのアプリケーションは、ブロックチェーンとモバイル技術を組み合わせることで、ユーザーに新しいフィットネスおよびソーシャル体験を提供しています。現在、多くの消費者アプリケーションは最適なビジネスモデルや市場ポジショニングを探求中ですが、ソラナが提供する技術プラットフォームとエコシステムのサポートは、これらの革新の試みに対して確実に強力な後ろ盾となっています。技術のさらなる発展と市場の成熟に伴い、ソラナは消費者アプリケーション分野でさらなる突破口と成功事例を実現することが期待されています。
! [Solana Technology Architecture Revisited: Is It About Have a Second Spring?] ](https://img-cdn.gateio.im/webp-social/moments-c210b4025cb64385890634a405838d05.webp)
ソラナはブロックチェーン業界で高いスループットと低い取引コストにより顕著な市場シェアを獲得していますが、他の新興パブリックチェーンからの激しい競争にも直面しています。ある取引プラットフォームはEVMエコシステムにおける潜在的な競争相手として、オンチェーンのアクティブアドレス数が急速に増加しています。一方、ソラナのDeFi分野の総ロックアップ量(TVL)は歴史的な新高値を記録しましたが、ある取引プラットフォームなどの競合他社も急速に市場シェアを奪っています。ある取引プラットフォームエコシステムの資金調達額は、Q2四半期に初めてソラナを超えました。
ソラナは技術と市場の受け入れにおいて一定の成果を上げているものの、特定の取引プラットフォームなどの競争相手からの挑戦に対応するために、常に革新と改善を続ける必要があります。特に、ネットワークの安定性の向上、取引失敗率の低下、MEV問題の解決、状態成長速度の緩和などの面で、ソラナはその技術アーキテクチャとネットワークプロトコルを継続的に最適化し、ブロックチェーン業界におけるリーダーシップを維持する必要があります。
技術アーキテクチャ
ソラナはそのPOHアルゴリズム、Tower BFTコンセンサスメカニズム、Trubineデータ転送ネットワークおよびSVM仮想マシンによる高TPSと迅速なFinalityで知られています。我々はその各コンポーネントがどのように機能し、高性能の目標を達成するためにどのようにアーキテクチャ設計が行われているか、またこのアーキテクチャ設計によってもたらされる欠点や派生する問題について簡単に紹介します。
! [Solana Technology Architecture Revisited: Is It About Have a Second Spring?] ](https://img-cdn.gateio.im/webp-social/moments-224796bc8e080649730bb8736334abba.webp)
POHアルゴリズム
POH(Proof of History)はグローバルな時間を確定する技術であり、コンセンサスアルゴリズムではなく、トランザクションの順序を確定するアルゴリズムです。POH技術は、最も基本的な暗号技術であるSHA256に基づいています。SHA256は通常、データの完全性を計算するために使用され、入力Xが与えられると、ユニークな出力Yが存在します。したがって、Xに対するいかなる変更もYを全く異なるものにします。
SolanaのPOHシーケンスでは、sha256アルゴリズムを適用することによって、シーケンス全体の完全性が保証され、その中の取引の完全性も確定します。例えば、取引をブロックにパッケージ化し、対応するsha256ハッシュ値を生成すると、そのブロック内の取引が確定され、何らかの変更があればハッシュ値が変わります。その後、このブロックのハッシュが次のsha256関数のXの一部として使用され、次のブロックのハッシュが追加されます。これにより、前のブロックと次のブロックが確定され、何らかの変更があれば新しいYが異なることになります。
これがそのProof of History技術の核心的な意味であり、前のブロックのハッシュは次のsha256関数の一部として使用され、鎖のように機能します。最新のYは、常に歴史の証明を含んでいます。
! [Solana Technology Architecture Revisited: Is It About Have a Second Spring?] ](https://img-cdn.gateio.im/webp-social/moments-46a028270f3c2da92e7056c17c1d9e16.webp)
ソラナの取引フローアーキテクチャ図では、POHメカニズム下の取引プロセスが説明されており、Leader Rotation Scheduleと呼ばれるローテーションメカニズムの下で、すべてのチェーン上の検証者Validatorの中からリーダーノードが生成されます。このリーダーノードは取引を収集し、順序付けて実行し、POHシーケンスを生成します。その後、ブロックが生成され、他のノードに伝播されます。
リーダーノードでの単一障害点を避けるために、時間制限が導入されました。ソラナでは、時間単位はエポックで区分され、各エポックには432,000のスロットが含まれています。各スロットは400ms持続し、各スロット内でローテーションシステムがリーダーノードを割り当てます。リーダーノードは指定されたスロット時間内にブロックを発行しなければなりません(400ms)。そうでない場合、そのスロットはスキップされ、次のスロットのリーダーノードが再選出されます。
全体的に、リーダーノードがPOHメカニズムを採用することで、過去の取引をすべて確定させることができます。ソラナの基本的な時間単位はスロットであり、リーダーノードは1つのスロット内でブロックをブロードキャストする必要があります。ユーザーはRPCノードを通じてリーダーに取引を提供し、リーダーノードは取引をパッケージ化して順序を付け、その後ブロックを生成します。ブロックは他の検証者に伝播され、検証者はメカニズムを通じて合意に達する必要があります。ブロック内の取引および順序に対する合意は、タワーBFT合意メカニズムを使用して達成されます。
タワーBFTコンセンサスメカニズム
Tower BFTコンセンサスプロトコルはBFTコンセンサスアルゴリズムに由来し、その具体的なエンジニアリング実装の一つです。このアルゴリズムは依然としてPOHアルゴリズムに関連しています。ブロックに対して投票を行う際、もしバリデーターの投票自体が取引であるなら、ユーザーの取引とバリデーターの取引によって形成されたブロックハッシュも歴史的証明として機能し、どのユーザーの取引の詳細やバリデーターの投票の詳細も唯一の確認が可能です。
! [Solana Technology Architecture Revisited: Is It About Have a Second Spring?] ](https://img-cdn.gateio.im/webp-social/moments-d55d3cfbc13036ed0d5747abb521cc1a.webp)
Tower BFTアルゴリズムでは、すべてのバリデーターがそのブロックに投票し、2/3を超えるバリデーターがapprove票を投じた場合、そのブロックは確定されます。このメカニズムの利点は、大量のメモリを節約できることです。なぜなら、ハッシュシーケンスに対して投票するだけでブロックを確認できるからです。しかし、従来のコンセンサスメカニズムでは、ブロックフラッドが一般的に採用されています。つまり、あるバリデーターがブロックを受信すると、周囲のバリデーターに送信され、これによりネットワークに大量の冗長性が生じます。なぜなら、1つのバリデーターが同じブロックを複数回受信することになるからです。
ソラナでは、大量のバリデーターの投票トランザクションが存在し、リーダーノードの中央集権による効率性と400msのスロット時間により、全体のブロックサイズとブロック生成頻度が特に高くなります。大きなブロックが伝播する際、ネットワークに大きな負担をかけることがあります。ソラナは、Turbineメカニズムを採用して大きなブロックの伝播問題を解決しています。
タービン
リーダーノードは、シャーディングと呼ばれるプロセスを通じてブロックをshredというサブブロックに分割します。その仕様サイズはMTU(最大転送単位、ノードから次のノードに分割せずに送信できる最大データ量)で表されます。次に、Reed-solomonエラー訂正コードスキームを使用してデータの完全性と可用性を保証します。
! [Solana Technology Architecture Revisited: Is It About Have a Second Spring?] ](https://img-cdn.gateio.im/webp-social/moments-e9bc35d0c790496c59c20979e5af1491.webp)
ブロックを4つのデータシュレッドに分割し、データ転送中のパケットロスや損傷を防ぐために、リード・ソロモン符号化を使用して4つのパケットを8つのパケットに符号化します。このソリューションは最大50%のパケットロス率に耐えることができます。実際のテストでは、ソラナのパケットロス率は約15%であり、このソリューションは現在のソラナアーキテクチャと非常によく互換性があります。
底層のデータ伝送では、一般的にUDP/TCPプロトコルの使用が考慮されます。ソラナはパケットロスに対する耐性が高いため、UDPプロトコルを使用して伝送されます。その欠点は、パケットが失われた場合に再送信が行われないことですが、利点はより速い伝送速度です。対照的に、TCPプロトコルはパケットロスが発生した場合に何度も再送信を行うため、伝送速度やスループットを大幅に低下させます。Reed-solomonが導入されたことで、このシステムはソラナのスループットを大幅に増加させ、実際の環境ではスループットが9倍向上することが可能です。
Turbineはデータを分割した後、マルチレイヤー伝播メカニズムを使用して伝播を行います。リーダーノードは各スロットの終了前に任意のブロック検証者にブロックを渡し、その検証者はブロックをShredに分割し、エラー訂正コードを生成します。その後、その検証者はTurbineの伝播を開始します。まずルートノードに伝播し、その後ルートノードはどの検証者がどのレイヤーにいるかを特定します。プロセスは以下のようになります:
ノードリストの作成:ルートノードはすべてのアクティブなバリデーターをリストにまとめ、その後、各バリデーターのネットワーク内のステーク(つまり、質権SOLの数量)に基づいてソートします。重みが高いものは最上層に位置し、そのように続きます。
ノードグループ: 次に、第一層に位置する各バリデーターは、独自のノードリストを作成し、自分の第一層を構築します。
レイヤー形成:リストのトップからノードをレイヤーに分割し、深さと幅の2つの値を決定することで、全体のツリーの大まかな形状を決定できます。このパラメータはshredsの伝播速度に影響を与えます。
! [Solana Technology Architecture Revisited: Is It About Have a Second Spring?] ](https://img-cdn.gateio.im/webp-social/moments-9fd8693259e2864d6978d2b4e8ef2e85.webp)
権益占比が高いノードは、階層分けの際に、上の階層に位置することで、完全なshredsを早期に取得することができる。この時、完全なブロックを回復できるが、下の階層のノードは、伝送損失のために、完全なshredsを取得する確率が低下する。もしこれらのshredsが完全なフラグメントを構築するのに不十分な場合、リーダーに再送信を要求することになる。この時、データ伝送はツリー内部に向かうが、第一層のノードはすでに完全なブロック確認を構築しており、後の階層の検証者がブロック構築を完了して投票を行うまでの時間は長くなる。
このメカニズムの考え方は、リーダーノードの単一ノードメカニズムに似ています。ブロック伝播の過程にもいくつかの優先ノードが存在し、これらのノードがまずshredsの断片を取得して完全なブロックを構築し、投票コンセンサスを達成します。冗長性をさらに深いレベルに推進することで、Finalityを大幅に加速させ、スループットと効率を最大化できます。実際には、最初の数層が2/3のノードを代表する可能性があり、したがってその後のノードの投票は重要ではなくなります。
SVM ###
ソラナは毎秒数千件の取引を処理できる主な理由は、そのPOHメカニズム、Tower BFTコンセンサス、およびTurbineデータ伝播メカニズムにあります。しかし、SVMは状態遷移の仮想マシンであり、リーダーノードが取引実行中にSVMの処理速度が遅い場合、システム全体のスループットが低下します。したがって、SVMに対してソラナはSealevel並列実行エンジンを提案し、取引の実行速度を向上させます。
! [Solana Technology Architecture Revisited: Is It About Have a Second Spring?] ](https://img-cdn.gateio.im/webp-social/moments-636ac72327705b9f93e62e394355436f.webp)
SVMでは、命令は4つの部分で構成されており、プログラムID、プログラム命令、および読み取り/書き込みデータのアカウントリストが含まれます。現在のアカウントが読み取り状態か書き込み状態か、そして状態変更を行う操作に競合があるかどうかを判断することで、アカウントの取引命令において状態に競合がない場合の並列化を許可できます。各命令はProgram IDで表されます。それがSolanaのバリデーターの要求が非常に高い理由の一つでもあります。なぜなら、バリデーターのGPU/CPUがSIMD(単一命令複数データ)およびAVXをサポートする必要があるからです。