
翻訳者:吾妻央
過去の期間、Sui を分析した記事が市場に出回っていましたが、これらの記事のほとんどは、最も重要なイノベーションの 1 つである、Sui のデータ モデルとトランザクション処理チャネルを見逃していました。次のツイートで3回に分けて説明します。
Part1: 従来のブロックチェーンのトランザクション処理チャネル
Part2:Sui のトランザクション処理チャネル
Part3:Suiのメリット
ブロックチェーンの動作ロジックは、時間の経過とともに、バリデーターが集合的に新しいブロックをチェーンに追加するというものです。トランザクション処理チャネルは、「ブロックの構築、コンセンサス、実行、マークル ツリーの更新」というプロセスの最前線にあり、プロセスの下流に進む前にすべてのトランザクションを処理する必要があります。そして、新しいブロックの構築が始まると、トランザクションの処理も一時停止されます。
以下は、従来のブロックチェーンにおけるトランザクション処理チャネルとその問題点の概略図です。私たちは、さまざまな方法でこれらの問題を解決しようとする多くのプロジェクトを見てきました。
スイのアプローチは、データを「オブジェクト」によって区別し、整理することです。特定のNFT、特定のトークン残高、および特定のスマートコントラクトはすべて異なるオブジェクト(タイプとして理解できます)です。これは、Suiチェーン上のトランザクションを異なるオブジェクトに従ってグループ化して処理できることを意味します。
以下の図は、3 つのグループに分類できる 5 つの異なるトランザクションを示す簡単な例です (特定のオブジェクトと共有オブジェクトについては後で説明します)。これら 3 つのトランザクション グループは並行して処理できます。
他の従来のブロックチェーンでは、単一ブロック内のすべての無関係なトランザクションを順番に処理する必要があります。たとえば、ボブは BAYC NFT をブルースに送信し、アリスはパンク NFT をアレックスに送信し、ジェーンは特定の DEX を使用しました。これらのトランザクションはすべて、コンセンサスに従って一括して並べ替えて実行し、最終的にマークル ツリーに表示する必要があります。
たとえて言えば、バスに乗るようなものです。従来のブロックチェーンでは、バスに乗るためにすべての乗客が整列(コンセンサス)する必要があり、各乗客は出発前にチケットを確認し(実行)、バスが到着したときのみ同じ場所で下車する必要があります(メルケルツリーの更新)。車両が再び空になって初めて、新しい乗客を収容し続けることができ、チェーンは前に進み続けることができます。Sui の上で、チェーンは目的地 (目的地) に応じてすべての乗客をグループ化し、各グループのチケットを発行します。乗客は並行して検査され、その後、異なる車両が並行して目的地に送られます。
スイの革新性は、トランザクションの並列処理にあるだけではなく (これについては、将来的にさらに共有します)、トランザクション結果は実行後にオブジェクトにも送信されます (たとえば、残高 10 のトークンが 5 つ送信される) , 5) 残高が残っている場合は、将来の取引の入力としてすぐに使用できます。スイは、新しいブロックのチェックポイントの一部としてマークル ツリーを使用します。新しいブロックは、一連の関連トランザクションが完了するまで記録されません。
さらに、前のケースでは、一部のトランザクションは特定のオブジェクトにのみ対応することに注意してください。たとえば、ボブのみが所有する BAYC NFT でトランザクションを開始できます。所有者はトランザクションの順序を確認できるため、特定のオブジェクト クラスのトランザクションはコンセンサスをスキップできます (ビザンチン コンセンサス ブロードキャストのみが必要)。
別のタイプのトランザクション、いわゆる共有オブジェクト トランザクション (DEX スマート コントラクトなど) の場合は、順序を決定する単一の所有者が存在しないため、合意する必要があります。ここで、私たちのイッカクとブルシャークのコンセンサスが活かされます。
簡単に言えば、特定のオブジェクト タイプのトランザクションは並行して実行でき、共有オブジェクト タイプのトランザクションも相互に並行して実行できますが、各共有オブジェクトは順番に実行する必要があります (ここでは他の静的/動的テクノロジが適用されます)。
全体として、次のように理解できます。
通常のブロックチェーンでは、すべてのトランザクションをまとめてソートして実行する必要があります。
スイの場合、すべてのトランザクションは特定のロジックに従って区別され、分類され、実行されます。データ モデルを使用すると、異なるトランザクション間の依存関係がより明確になり、共有オブジェクトのトランザクションのみをまとめて並べ替える必要があり、特定のオブジェクトのトランザクションにはこのようなコンセンサス ネゴシエーション プロセスが必要ありません。
では、Sui のこのアーキテクチャは製品のどのような問題を解決できるのでしょうか?次へ移りましょう。
1 つ目は、水平方向にスケーリングできることです。Sui に加えて、各グループのトランザクションが並行して処理されます。これは、各グループの乗客が異なる車両に乗車するのと同様です。そのため、より多くの乗客グループ (トランザクション) がある場合、Sui にはより多くの車。この点で、Sui は内部バリデータを通じてシャーディングおよびスケーリングでき、より多くのワーカーでより多くのトランザクションを処理できます。
水平方向に拡張する機能が重要なのはなぜですか?最下層を検討するとき、いくつかの大規模プロジェクトのニーズを考えてください。最下層が規模の継続的な成長を確実に実現できるようにする必要があります。パフォーマンスの上限があるブロックチェーンは、これらのプロジェクトが定着するのに障害となります。Sui は、このピーク需要に対処するように設計されています。
2つ目は構成可能性です。Sui では可能で他のスマート コントラクト プラットフォームではできないことは何ですか?たとえば、関数からアセットを返すなど、アセットをパラメーターとして関数に渡したり、アセットをデータ構造に保存したり、別のアセットに直接保存したりします。
コンポーザビリティについてはかなり複雑なトピックなので、将来的には別のツイートを書くかもしれません。スイは、コントラクト レベルとアセット レベルの両方で構成可能性を大幅に向上させていると言うだけで十分です (さまざまなタイプのオブジェクトを他のオブジェクト内にネストできます)。
その後部分的に再生する機能。ブロックチェーンではあらゆる取引の履歴が得られるため、過去の情報を確認するのに役立ちます。ただし、製品が一部のオンチェーン データを処理する必要がある場合、読み取りに非常にコストがかかる可能性があります。 Sui のアーキテクチャにより、これらのプロジェクトは、関心のあるオブジェクトの進化、つまり部分的な再生のみに焦点を当てることができます。
たとえば、すべてのキャラクターをスイ上に配置する RPG ゲームでは、単純にそれらのキャラクターを表すオブジェクトを見ることができます。マークル ツリー データ構造からすべてのデータをマイニングする必要はありません。
ついにオンチェーンストレージ。ゲームのレース、レベル、経験値などのさまざまな資産データを、Sui オブジェクトに保存できます。 Sai は従来の方法を使用してオンチェーン ストレージを拡張でき、オンチェーン アセットの更新がはるかに安価になりました。
関連書籍