TON基金会のviviです:TONホワイトペーパー解説-世界最速ブロックチェーンの裏側技術を明らかにする

10月末、TON公共チェーンは新しいTPS世界記録を作り、TON財団のViviはホワイトペーパーに対する公式の解釈と解読を行いました。

2023年10月31日、TON(Telegram Open Networkの頭文字)は新たな世界記録を達成し、初回の公開パフォーマンスライブテストで秒間104,715件の驚異的なピークトランザクションを達成し、25分間で合計107,652,545件のトランザクションを完了しました。Certikによる検証と確認を受け、このパフォーマンスはTONを世界で最も高速でスケーラビリティが最も高いブロックチェーンにし、PayPal、Visa、Mastercardなどの著名な中心化された支払いネットワークの処理速度を上回りました。

TONは間違いなく目を引くプロジェクトです。この記事では、TONのホワイトペーパーを深く解析し、そのユニークな技術特性とイノベーションを明らかにし、なぜTONが世界で最も高速なブロックチェーンになり得たのかを明らかにします。

スケーリングの問題

ブロックチェーン技術の発展過程で、スケーラビリティは常に大きな問題でした。ブロックチェーンのスケーリングソリューションは主に、システムのスループットを向上させ、トランザクションコストを下げ、ブロックチェーンネットワークがより多くのトランザクションを処理し、大規模なアプリケーションにより適応するためのものです。さまざまな公共チェーンが新しいコンセンサスとアーキテクチャデザインを試み続けていますが、現在の結果はまだ期待通りではなく、ブロックチェーンが大規模アプリケーションに進出するためのボトルネックとなり、私たちのTG10億ユーザーのビジョンを支えるのが難しくなっています。現在の主流のスケーリングソリューションは以下のようなものがあります:

シャーディング(Sharding):ネットワークを複数の小さな部分に分割し、各シャードがトランザクションとスマートコントラクトを並行処理することにより、ネットワークのスループットを大幅に向上させる。しかし、シャーディングは潜在的なセキュリティ問題を引き起こす可能性があり、それぞれのシャードのセキュリティがネットワーク全体よりも低くなる可能性があります。さらに、シャード間の通信も技術的な課題です。代表的な例:かつてのEthereum 2.0とNEAR Nightshadeプロトコル。

サイドチェーン(Sidechains):サイドチェーンは、メインチェーンから独立して動作するブロックチェーンで、自身のコンセンサスメカニズムとブロックパラメータを持つことができます。サイドチェーンを使用すると、ユーザーは2つのチェーン間で資産を移動させることができ、メインチェーンの負荷を軽減することができます。代表的な例:Polygon

レイヤー2ソリューション(Layer 2 solutions):メインチェーンの上に別のレイヤーの構造を構築することにより、L2はより高速なトランザクション確認時間とより低いトランザクション費用を提供することができます。OptimismとArbitrumのような有名なL2を例に挙げると、これらのソリューションはエテレツムのスケーリングソリューションとして設計されています。そのため、OptimismとArbitrumの部分構造はレイヤー1に位置しています。エテレツムのアップグレードに伴い、それらのTPS(Transactions Per Second)の上限は元の2-4kから約2wに増加しました。

zkSync 2.0: zkSync 1.0の数百TPSの上限に比べ、zkSync 2.0は顕著な向上をもたらしました。zkSyncチームは、その2.0バージョンが10w TPSの上限に達することができると主張していますが、多くの機関がその実際の上限が1-2wである可能性が高いと予測しています。Starknet: 6月にQuantum Leapのアップグレードを完了した後、そのTPSは現在100TPSをわずかに超えています。

Solana: Solanaは、そのスケーリングソリューションの中心部として、Proof of History(PoH、歴史的証明)と呼ばれる革新的なコンセンサスアルゴリズムを使用しています。Solanaは自身のTPSが65,000に達することができると主張していますが、実際には大部分のTPSはノード間の通信として行われています。実際のトランザクション量はおそらく6-8k TPSの上限しかありません。さらに、中心化されたコンセンサスメカニズムの設計のため、Solanaは大量のリクエストに対応する際に何度もダウンしたことがあります。NFTの鋳造時などがその例です。また、Solanaはまだ中心ノードのローテーションを成功させていません。

TONブロックチェーンの設計者は、Telegramの創設者とコアチームから来ています。世界で最も人気のあるソーシャルプラットフォームの1つであるTelegramは、月間アクティブユーザーが約9億人で、高いセキュリティとプライバシーを持ちながら、安定した流れるようなユーザーエクスペリエンスを提供し、毎日数十億のメッセージがアプリ内で送信されています。web3の理念はすでに一般的に知られていますが、実際の暗号化ネイティブユーザーは依然として少数派であり、多くの人々は中心化された取引所を通じてトークンを取得しています。最も人気のある分散型暗号ウォレットMetamaskの月間活動はわずか3000万です。一方、TONの設計哲学は、初めから数十億人以上のユーザーをサービスすることを目指していたので、web3のギークだけでなく、広大なユーザーベースにも対応しています。

無限分片パラダイム

分片は、データベース設計から来た概念です。これは、大きな論理データセットを分割し、それらを多数の共有しないデータベースに分散することを意味します。これらのデータベースは、複数のサーバー上に分散することができます。言い換えれば、分片化は、データを平行処理可能な独立した部分に分解する能力、つまり水平スケーリングの能力を提供します。

TONは、分片技術をブロックチェーンに導入した最初のプロジェクトではありません。例えば、イーサリアム2.0は一度固定の64の分片を宣言しましたが、問題が大きすぎて断念しました。一方、NEARのシャドウプロトコルは、来年に100の分片を実現する計画を立てており、現在の分片の数は4です。

伝統的な分片化の方法とは異なり、TONは無限分片化の戦略を採用しました。

しかし、TONの方法が先進的と見なされる理由は、それがより多くの分片を持つからではなく、以下の2つのユニークな点があるからです:

  • 分片の数は固定ではない:TONは、ビジネスの要求に応じて増え続ける分片をサポートし、最大で2^60のワーキングチェーンに達することができます。この数はほぼ無限です。
  • 分片の数は弾力性がある:TONは、システムの負荷が高いときに自動的に分片を分割し、負荷が低下したときにそれらを統合します。これは、動的拡張要求に対応する非常に効果的な戦略です。


現在、TONは2つのワーキングチェーンで構成されており、その1つは主チェーン(Masterchain)で、同期と統治を担当し、もう1つはワーキングチェーン(Workchain)で、スマートコントラクトを担当しています。ワーキングチェーンの下にはシャードチェーン(Shardchain)と、最下層の仮想アカウントチェーン(Accountchain)があります。

ワーキングチェーンは、N個のシャード(1から256のシャード)に分割することができます。各シャードには独自の検証者グループがあります。ワーキングチェーングループは、自分たちのシャード内で取引を実行する責任があります。同時に、それはそのワーキングチェーンの他のすべてのシャードからブロックをダウンロードし続けます。一般的に言えば、ブロックチェーンは、その状態の変化を記録するブロックの一連のものです。POSブロックチェーンについては、検証者は最初に変更リストを含むブロックをコンパイルすることで、ブロックチェーン状態をどのように変更するかに合意します。その後、このブロックに投票します。十分な票が集まると、それらはそのブロックをブロックチェーン状態に適用し、次のブロックに移動します。

一つのブロックスレッドのスループットは非常に限られているため、検証者は、ブロックを受け入れる前にそのブロック内のすべての取引をチェックする必要があります。そのため、TONには多くのスレッドがあり、それらをミニブロックチェーンとして考えることができます。それらは並行して存在し、それぞれが自分自身の検証者のグループを持っています。

主チェーン

主チェーンは、TON内の主要なブロックスレッドです。それは、すべての他のブロックを同期させ、検証者セットを再計算するために使用されます。すべてのスレッドが新しいブロックについて合意に達したとき、それらはそれに署名し、主チェーンに登録します。しかし、主チェーンの検証者はそのブロックの有効性を検証しません、彼らはただそれが適切な検証者によって署名されたかどうかをチェックします。したがって、多数のスレッドが並行して共存する可能性があります。異なるスレッドからの契約は、メッセージを送ることによって互いに通信します。

ワーキングチェーン

ワーキングチェーンは、独立したアドレス空間で、そのルールに従って動作することができます。例えば、それらは異なる仮想マシンを持つか、高ガス制限のブロックを長時間公開することができます。最も重要なのは、ワーキングチェーンは同じメッセージキュー形式を持つ必要があるため、それらはメッセージを交換することができます。これは、すべてのワーキングチェーンが大体同じ安全保証を持つ必要があることを意味します。それらはメッセージを交換することができるため、これらのメッセージはネットワークトークンを運びます。現在、2つのワーキングチェーンがアクティブです、主チェーンと最初の処理ワーキングチェーン。ワーキングチェーンはアドレスプレフィックスによって決定され、-1: ax…1s2は主チェーンのアカウントアドレスを指します。-1は主チェーンのプレフィックスです。

0:zx…123は、最初の処理チェーンのアカウントアドレスを指します。0は最初の処理ワーキングチェーンの接頭語です。

分片チェーン

処理スレッド、または分片チェーンは、処理ワーキングチェーン内の独立したブロックスレッドです。デフォルトでは、ワーキングチェーン0には1つのスレッドと1つのチェーンしかありません。そのスレッドの検証者は外部メッセージを受信し、彼ら自身が送信したか他のワーキングチェーンから送信された内部メッセージを処理します。もし最近のN個のブロック期間中にスレッドが過負荷になる状況が発生した場合、そのスレッドは分割されます:1つのスレッドが2つに分割され、その中の取引が並行して行われます。

アドレスが0:00…から0:88…までのアカウントは現在、スレッド1に位置しており、アドレスが0:88…から0:FF…までのアカウントはスレッド2に位置しています。すべてのスマートコントラクトが互いに非同期に通信しているので、何も問題はなく、スループットは2倍に増加します。負荷が下がると、一定の時間後にスレッドがマージされます。負荷が増え続けると、2つのスレッドは何度も分割され、そのような実行が繰り返されます。主チェーンには1つのスレッドしかありません。

TONのブロックは、状態の変更を実現するために完了する必要がある取引リストだけでなく、代わりに、ブロックは以下のものです:

メッセージリストを取引して、それらを入力キューから削除します。メッセージ処理後に出力キューに入る新しいメッセージ、そしてメッセージ処理によってスマートコントラクトの状態が変化します。つまり、分片Xの検証者が分片Yの現在の状態を維持するためには、その検証者が分片Yブロック内の全取引を実行する必要はありません。それはアレイこのブロックと整理されて起こった変更をします。メッセージキューとスマートコントラクトの状態の変更について。

根本的にブロックチェーンの世界を変えることはコストがかかるものです。この革新的な方法を活用するために、TONのスマートコントラクトデベロッパーは、異なる方法で彼らの契約を設計する必要があります。TONブロックチェーンの基本的な原子単位はスマートコントラクトです。スマートコントラクトにはアドレス、コード、データユニット(永続的な状態)があります。このユニットは原子ユニットと呼ばれています、なぜならスマートコントラクトは常にそのすべての永続的状態への原子的同期アクセスを持つからです。

超次元ネットワークルーティング

TONは、任意の2つのブロックチェーン間の取引が常に高速で処理されることを保証するために、スマートなルーティングメカニズムを独自に開発しました。システムがどれほど大きくなっても、TONブロックチェーン間で情報を送信するために必要な時間は、チェーンの数に応じてログ数の形でしか増加しないため、数百万のチェーンにまで拡大しても、それらは最速の速度で通信を行うことができます。

TONブロックチェーンでは、Instant Hypercube Routing(快速立方体ルーティング)とSlow Routing(遅延ルーティング)の2つのルーティングメカニズムが、クロスチェーン取引の処理に使用されています。

Instant Hypercube Routing(インスタント・ハイパーキューブ・ルーティング):TONが提案したメッセージルーティングのスピードを加速するアイデアは、クロスチェーン取引を極短時間で完了させることができます。従来のスローキューブルーティングプロセスでは、メッセージはソースシャードチェーンからデスティネーションシャードチェーンに沿ってハイパーキューブネットワークを経由してルーティングされます。ただし、メッセージがルーティングされている間、そのメッセージの宛先のシャードチェーンの検証者(validator)は、そのメッセージを元のブロックに早期に含め、その後、メルケル証明(レシート)を提供して、そのメッセージを送り返すオプションを選択することができます。これにより、クロスチェーン取引は極短時間で完了できます。インスタント・ルーティングは、高次元立方体(hypercube)のルーティング構造を構築することにより、効率的なクロスチェーン相互作用を実現しました。この構造では、各チェーンは立方体の頂点にマッピングされ、チェーン間の距離は頂点間のジャンプ数として表現されます。この方式により、取引を最短経路で迅速にルーティングすることができ、クロスチェーン相互作用の効率が向上します。インスタント・ルーティングでは、ブロックの確認を待つことなく数秒以内にクロスチェーン取引を完了することができます。

Slow Routing(スロールーティング):スロールーティングは、もっと伝統的な方式でクロスチェーン取引を処理する方法で、取引をソースチェーンからターゲットチェーンへ順番に移すことにより実現します。この方式では、取引はまずソースチェーンでブロックにパッケージされ、次に中継器(relayer)によってターゲットチェーンに移されます。ターゲットチェーンの検証者は取引の妥当性を検証し、次に取引をターゲットチェーンのブロックにパッケージします。スロールーティングの一方、インスタント・ルーティングに比べて、セキュリティと分散化の度合いが高いという利点があります。なぜなら、クロスチェーン取引は完全なブロック確認プロセスを経なければならないからです。それはTCP/IPネットワークに似ており、目的地のIPアドレスに基づいてメッセージを送り、メッセージが順序通りに確実に目的のチェーンに伝播することを保証します。N個のシャードチェーンに対するハイパーキューブネットワークの規模に対して、中間シャードチェーンhop = log16(N)-1を経る必要があります。したがって、4つのルーティングノード(中間シャードチェーン)だけで、100万のシャードチェーンをサポートすることができます。

なぜそのように設計するのか?

分散システムではノードの検証が必要です。もし、システムが非常に巨大で数万のノードを持つ場合、負担が重くなり拡張が困難になります。分散処理が行われた後、各片(shard0、shard1など)は集合を持ちます。そして、shard間の通信を実現する必要があります。通信は片間で行え、片から別の片へという意味で、片と片との間にはルーティングメカニズムが必要です。接続はルートとなり、中間ノードを経由して超えていきます。情報が一度ルートを経由する度に、伝送時間はブロック時間を一つ増加します。

しかし、分片チェーンの総数が増えると、大量の計算能力とネットワーク帯域が必要となり、システムの拡張性を制限します。したがって、ある分片から直接メッセージを他の全ての分片に送ることはできません。逆に、各分片は、自身の分片識別子(w、s)の一つの16進数に異なる分片とだけ"接続"します。これにより、全ての分片チェーンは"超立方体"グラフを形成し、メッセージはこの超立方体の辺を伝達します。

メッセージが現在とは異なる分片に送信される場合、現在の分片識別子の一つの16進数(決定論的に選択され)は、目標分片の対応する数字に置き換えられ、結果の識別子は近似目標となり、メッセージのフォワード受信者となります。

超立方体ルーティングの主な利点は、ブロック有効性条件であり、分片チェーンブロックの検証者は、"隣接"する分片チェーンの出力キューのメッセージを収集し処理する必要があります。そうしなければステーキングを失います。これにより、どんなメッセージも遅かれ早かれ最終的な目的地に到達することが期待できます。伝達過程でメッセージが失われることはなく、重複して伝送されることもありません。

超立方体ルーティングはいくつかの追加的な遅延とコストをもたらします。というのも、メッセージを転送するためにはいくつかの中間分片チェーンを通過する必要があるからです。しかし、これらの中間分片チェーンの数は非常にゆっくりと増え、総分片チェーン数 Nの対数 log Nと関連しています。

通信の非同期性

TON上のスマートコントラクトは通信の非同期性を実現しており、インターネットのマイクロサービスに類えることができます。各マイクロサービスはそのローカルデータに対してだけ原子同期アクセスを行います。二つのマイクロサービス間の通信はネットワークを介して非同期メッセージを送信することを含みます。

システムアーキテクチャでは、より大きなシステムはマイクロサービスアーキテクチャを必要とすることがよくあります。この分散型アプローチは採用のために一部のトレードオフが必要ですが、ユーザー体験を向上させることができます。現代のシステム管理はKubernetesのようなオーケストレータに依存してコンテナ化されたマイクロサービスのグループを取得し、必要に応じて新しいインスタンスを自動的に起動(自動スケーリング)し、マシン間でそれらを効率的にパーティショニングします。

これはまさにTONが行っていることで、大規模集群管理システムであるKubernetesと比較することができます。特定の分片チェーンの負荷が増加すると、それは二つに分割されます。スマートコントラクトは原子的であるため、それらは永遠に半分に分割されることはありません。これは、一度同じ分片チェーンに位置していた一部のスマートコントラクトがある日自分自身が別の分片チェーンに位置していることを発見するかもしれないという意味です。

TONの仮想マシン(TVM)は、以太坊 EVMの全体的な架構に対する分散マイクロサービスのコンセプトを適用しています。

ステートの分散化

これは分片領域で最も複雑で挑戦的な分片メカニズムです。全体のデータベースが分割され、それぞれが異なる分片上に置かれます。各分片は自分自身の全てのデータを格納し、ブロックチェーン全体の状態ではなく、自分の分片の全てのデータを格納します。

TONブロックチェーンの分片では、全てのサービスはスマートコントラクトを通じて実行され、スマートコントラクトの状態データも対応する分片ネットワークにしか保存されません。これにより、状態分散を実現します。

さらにTONでは、それぞれのユーザーが自分自身のコントラクトでトークンの状態を管理するという、業界でも珍しい実装経路を採用しています。これにより、ブロックチェーンの状態上で真に分散化が実現されます。私は具体的なケースを通じて、この設計の原理を詳細に探求します。

まず、Wallet contractとJetton wallet contractを理解する必要があります。Wallet contractはユーザー専用のスマートコントラクトで、TONブロックチェーン上のトークンを管理します。Jetton(ロシア語:宝石) wallet contractは、特殊なWallet contractで、ユーザーのJettonトークンを管理するためのものです。これらのトークンは、ネットワーク料金の支払いやスマートコントラクトの実行に使用することができます。各ユーザーは自分自身のWallet contractとJetton wallet contractを持ちます。これらのコントラクトはユーザーのデジタルウォレットとして機能し、トークンの保管と管理を行います。同時に、これらのコントラクトは他のユーザーのコントラクトとインタラクションすることができ、分散あるいは非中央集権化したアセット移転や取引を実現します。

その状況では、ユーザーAとユーザーBがそれぞれ自分自身のWallet contractを持つと仮定します。ユーザーAはユーザーBに特定の量のトークンを送りたいとします。この場合、ユーザーAのWallet contractはユーザーBのWallet contractとやり取りし、トークンの転送を実現します。全体の過程は中央集権的なコントラクトに依存せず、二つの分散化あるいは非中央集権化されたコントラクトによって実現されます。

TONブロックチェーンの全ユーザーは自分自身のコントラクトで資産状態を管理しており、これは唯一の中央集権化されたコントラクトが全ての資産を管理するリスクが存在しないことを意味します。これによりシステムの分散化度が向上し、シングルポイントの故障リスクが低減します。全てのユーザーの資産状態は専属のコントラクトが管理しているため、攻撃者は中央集権のコントラクトを攻撃することで全システムに影響を与えることはできません。ユーザー間の資産取引もスマートコントラクトによって自動で実行され、人為的な操作のリスクを避けることができます。また、必要に応じて自分自身のWallet contractとJetton wallet contractをカスタマイズし、より多くの機能や応用シーンを実現することもできます。これはユーザーにとってより大きな柔軟性と自主権を提供します。それぞれの人が自分自身のコントラクトで資産状態を管理しているため、システムのスケーラビリティが向上します。ユーザー数が増えるにつれて、コントラクトの数も相応に増加しますが、全体のシステムに過大なプレッシャーをかけることはありません。というのも、各コントラクトは独立して動作しているからです。

以上は、TONブロックチェーンのスケーラビリティやホワイトペーパーの技術アーキテクチャに対する私の分析です。初稿に対するDr.Awesome Dogeの編集に感謝します。また、ロシアとウクライナの開発チームによる着実な努力にも感謝します。最後に多年にわたる素晴らしい設計をしてくれたTelegramの創始者であるNikolai Durov氏に御礼申し上げます。これら全てが人類の精神のための栄光です。

この記事はGPTにより翻訳されました,元の記事は此処で見れます:TON白皮书解析:揭秘世界上最快区块链的背后技术 - PANews.