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万のシャードチェーンをサポートすることができます。