Ethereum レイヤー 2 スケーリング ソリューション: ステート チャネル、プラズマ、Truebit

星球君的朋友们
本文约10568字,阅读全文需要约42分钟
この記事の焦点は、第 2 層 (レイヤー 2) ソリューションの概念と動作原理を包括的かつ詳細に説明することです。

編集者注: この記事は以下から引用しました編集者注: この記事は以下から引用しました、翻訳者 JohnJiangLA、校正者 foxxnuaa Zheaoli、原文は媒体、著者よりJosh Stark; 許可を得て毎日転載しています。

; 許可を得て毎日転載しています。

ペンシルベニア州タンカノック地域鉄道高架橋 (cc)。古代ローマの建築アイデアが新しい時代に活かされています。

イーサリアムにとって、2018 年はインフラストラクチャに注力する年です。今年は、アーリーアダプターがネットワークの限界をテストし、イーサリアムを拡張するいくつかのテクノロジーに再び焦点を当てる年です。

イーサリアムはまだ初期段階にあります。現在、それは安全でも拡張性でもありません。技術者はそれをよく知っています。しかし、昨年、多数の ICO によって生み出された誇大宣伝により、現在のネットワーク能力が誇張され始めました。安全で使いやすい分散型インターネットを構築し、共通の経済規範によって管理され、無数の人々によって使用されるイーサリアムと Web3 の素晴らしい約束はここにありますが、それは重要なインフラストラクチャが整備されている場合にのみ実現できます。 。

このインフラストラクチャの構築とイーサリアムの機能のスケーリングに取り組むプロジェクトは、スケーリング ソリューションと呼ばれることがよくあります。これらのプログラムはさまざまな形式をとり、多くの場合、相互に互換性または補完的です。

  • この長い投稿では、1 つのスケーリング ソリューション、つまり「オフチェーン」または「レイヤー 2」ソリューションについて詳しく説明したいと思います。

  • まず、イーサリアム (およびすべてのパブリック ブロックチェーン) のスケーリングの課題について包括的に説明します。

  • 次に、「レイヤー 1」ソリューションと「レイヤー 2」ソリューションを区別して、スケーリングの課題を解決するためのさまざまなアプローチについて説明します。

最後に、レイヤー 2 ソリューションについて詳しく説明し、それがどのように機能するかを詳しく説明し、ステート チャネル、プラズマ、および Truebit について説明します。

この記事の焦点は、第 2 層 (レイヤー 2) ソリューションの概念と動作原理を包括的かつ詳細に説明することです。ただし、コードや特定の実装については詳しく説明しません。代わりに、これらのシステムを構築するために使用される経済メカニズムと、すべての第 2 層テクノロジーに共通する考え方を理解することに重点を置いています。

1. パブリックブロックチェーンのスケーリング問題

まず第一に、「スケーリング」は単一の特定の問題ではなく、イーサリアムを世界中の無数のユーザーが使用できるようにするために解決しなければならない一連の困難な問題を含んでいることを知っておく必要があります。

最も一般的に議論されるスケーリングの課題は、トランザクションのスループットです。現在、イーサリアムは1秒あたり約15トランザクションを処理できますが、Visaの処理能力は約45,000/tpsです。昨年、一部のアプリケーション (Cryptokitties や時折行われる ICO など) が人気を博し、ネットワーク速度が「遅く」なり、マイニング料金 (ガス) の価格が上昇しました。

パブリック ブロックチェーン (イーサリアムなど) の核心的な欠陥は、すべてのトランザクションがネットワーク内のすべてのノードで処理される必要があることです。支払い、Cryptokitty の誕生、新しい ERC20 コントラクトの展開、およびイーサリアム ブロックチェーン上で発生するすべての操作は、ネットワーク内のすべてのノードによって並行して実行される必要があります。これは設計コンセプトによって決まり、この設計コンセプトがあるからこそパブリックブロックチェーンは権威を持つのです。ノードはブロックチェーンの現在の状態を他のノードに依存する必要はなく、自分自身で把握します。

これにより、イーサリアムのトランザクション スループットに基本的な制限が課せられます。つまり、単一ノードの設計要件を超えることはできません。 。

各ノードにさらに多くの作業を依頼することができ、ブロック サイズ (ブロック ガス制限など) を 2 倍にすると、各ノードがブロックごとに処理する作業量が約 2 倍になることを意味します。しかし、これはシステムの分散化の考え方を弱めます。ノードの作業が増えるということは、それほど強力ではないコンピュータ (ユーザー デバイスなど) がネットワークから撤退する可能性があり、より強力なノード オペレータが集中してマイニングが優先されることを意味します。

代わりに、個々のノードのワークロードを増加させずに、ブロックチェーンにさらに便利な機能を実行させる方法が必要です。

概念的には、この問題には 2 つの解決策が考えられます。

1. すべてのノードがすべての操作を並行して処理する必要がなかったらどうなるでしょうか?

最初のアプローチは前提を捨てます。すべてのノードがすべての操作を処理する必要がないブロックチェーンを構築できたらどうなるでしょうか?元のネットワークを置き換えるためにネットワークが 2 つの部分に分割され、各部分が独立して動作できるようになったらどうなるでしょうか?

パート A はトランザクションの 1 つのバッチを処理し、パート B は別のバッチを処理できます。これにより、ブロックチェーンのトランザクション スループットが効果的に 2 倍になります。制限により、2 つのノードで同時に処理できるようになりました。ブロックチェーンをさまざまな部分に分割できれば、ブロックチェーンのスループットを何倍にも高めることができます。


これは、Vitalik のイーサリアム研究グループなどが取り組んでいるスケーリング ソリューションであるシャーディングの考え方です。ブロックチェーンはシャードと呼ばれるさまざまな部分に分割されており、それぞれが独立してトランザクションを処理できます。シャーディングはイーサリアムのベース レベル プロトコルに実装されているため、第 1 層 (レイヤー 1) 拡張ソリューションと呼ばれることがよくあります。シャーディングについて詳しく知りたい場合は、広範な FAQ とこのブログ投稿を確認してください。

2. イーサリアムの既存の機能からより有用なビジネス運営を絞り出すことができれば

2 番目のオプションは逆の方向です。イーサリアム ブロックチェーン自体の容量を増やすのではなく、すでに持っている容量を使ってさらに多くのことができるとしたらどうなるでしょうか?基本レベルでのイーサリアム ブロックチェーンの生産性は同じですが、実際には、トランザクション、ゲームの状態更新、単純な計算など、人間やアプリケーションにとって役立つ操作をより多く実行できます。

これは、ステート チャネル、プラズマ、Truebit などの「オフチェーン」テクノロジーの背後にある考え方です。これらのソリューションはそれぞれ異なる問題を解決していますが、すべて「オフチェーン」で動作し、十分なセキュリティと権限を維持しながらイーサリアム ブロックチェーン外で動作できます。


これらはイーサリアム メイン チェーンの「上に」構築されているため、レイヤー 2 ソリューションとしても知られています。基本的なレベルでプロトコルを変更する必要はなく、オフチェーン ソフトウェアと対話するためのイーサリアム上のスマート コントラクトとして機能するだけです。

2. レイヤ 2 ソリューションは暗号経済ソリューションです

第 2 層ソリューションの詳細に入る前に、それを実現可能にする基礎となる詳細を理解することが重要です。

パブリック ブロックチェーンの動力源は、暗号化された経済契約にあります。インセンティブを調整し、ソフトウェアと暗号化で保護することで、内部状態が一致する安定したコンピューターのネットワークを構築できます。これはサトシ・ナカモトのホワイトペーパーの重要な要素であり、ビットコインやイーサリアムを含むさまざまなパブリックブロックチェーンの設計に使用されています。

一部の極端なケース(51% 攻撃など)を除いて、暗号化された経済契約は私たちに強固な核心を与えてくれます。オンチェーン操作 (支払い、スマート コントラクトなど) は、実行するように記述されていると見なすことができることを私たちは知っています。

レイヤ 2 ソリューションの背後にある重要な点は、この強固なコアをアンカー、つまり他の経済メカニズムを接続できる固定点として使用できることです。この第 2 層の経済メカニズムにより、パブリック ブロックチェーンの有用性を拡張できます。ブロックチェーン外で相互運用しながら、必要に応じてコア チェーンに確実に戻りましょう。

イーサリアムの「上に」構築されたこれらのレイヤーには、オンチェーン操作と同じ保証が常にあるわけではありません。ただし、これらは依然として権限があり、安全で、特にエンドポイントをわずかに減らしても十分に使えるため、操作をより速く実行したり、オーバーヘッド コストを低く維持したりできます。

暗号化経済はサトシ・ナカモトのホワイトペーパーで始まり、終わるものではなく、私たちが学び、応用するのに最適な技術主題です。コアプロトコルの設計だけでなく、基礎となるブロックチェーンの機能を拡張する第2層システムの設計も行います。

1. 状態チャネル

ステート チャネルは、トランザクションやその他の状態更新を実行するための「オフチェーン」テクノロジーです。ただし、状態チャネル「内」で発生するトランザクションは依然として高レベルのセキュリティと権限を維持します。何か問題が発生した場合、権限がオンチェーントランザクションに基づいている「ソリッドコア」に戻るという選択肢がまだあります。

ほとんどの読者は、長年にわたって存在してきた概念、つまりライトニング ネットワーク (ライトニング ネットワーク) の助けを借りて最近ビットコインに実装された支払いチャネル (支払いチャネル) に精通しているでしょう。ステートチャネルは支払いチャネルを一般化したもので、支払いだけでなく、スマートコントラクトの変更など、ブロックチェーン上の任意の「状態更新」にも使用できます。 2015 年に、ジェフ コールマンは初めてステート チャネルについて詳細に説明しました。

状態チャネルがどのように機能するかを説明する最良の方法は、例を見ることです。これは概念的な説明であり、実装の技術的な詳細には触れないことを意味します。

ここで、アリスとボブが三目並べのゲームをしたいと考えており、勝者が 1 エーテルを獲得すると想像してください。これを行う最も簡単な方法は、三目並べのルールを実装し、各プレイヤーの行動を追跡するスマート コントラクトをイーサリアム上に作成することです。プレイヤーが移動したいときは常に、トランザクションをコントラクトに送信します。プレーヤーが勝つと、ルールに従って、契約により勝者に 1 エーテルが支払われます。

これは機能しますが、非効率的で遅いです。アリスとボブはゲームプレイにイーサネット ネットワーク全体を使用していますが、これは彼らのニーズからは少し外れています。各ステップごとにマイニング料金 (ガス) を支払う必要があり、ゲームの次のステップに進む前にマイニングが完了するまで待つ必要もあります。

ただし、できるだけ少ないオンチェーン操作でアリスとボブが三目並べをできる新しいシステムを設計することはできます。アリスとボブは、ゲームの状態をオフチェーンで更新しながら、必要に応じてイーサリアムのメインチェーンに戻すことができます。このようなシステムを「ステート チャネル」と呼びます。

まず、三目並べのルールを理解できるスマート コントラクト「ジャッジ」をイーサリアム メイン チェーン上に作成します。また、ゲームの 2 人のプレイヤーとしてアリスとボブを識別することもできます。この契約には 1 エーテルの報酬が含まれています。

次に、アリスとボブはゲームを開始します。アリスは、ゲームの最初のステップを説明するトランザクションを作成して署名し、ボブに送信します。ボブは署名し、署名されたバージョンを送り返し、コピーを保管します。次に、ボブもゲームでの最初の手を説明するトランザクションを作成して署名し、アリスに送信します。アリスはそれに署名して送り返し、コピーを保管します。現在のステータスが更新されるたびに、お互いのゲームを更新します。各トランザクションには「乱数」が含まれているため、ゲーム内の手の順序を直接知ることができます。

これまでのところ、オンチェーン操作は発生していません。アリスとボブはインターネット経由でトランザクションを送信しているだけですが、ブロックチェーンには何も触れていません。ただし、すべてのトランザクションは Judge コントラクトに送信できます。つまり、それらは有効な Ethereum トランザクションです。これは、2 人の人物が相互にブロックチェーン認証された一連のチェックをやり取りしていると考えることができます。実際に銀行にお金の預け入れや引き出しはありませんでしたが、二人とも預け入れの準備ができた小切手の山を持っていました。

アリスとボブがゲームを終了するとき (おそらくアリスが勝ったため)、最終状態 (トランザクション リストなど) をジャッジ コントラクトに送信することでチャネルを閉じることができるため、トランザクション料金を支払うのは 1 回だけです。裁判官は、両当事者がこの「最終状態」に署名していることを確認し、誰も結果に合理的に異議を唱えることができないことを確認するために一定期間待ってから、アリスに 1 エーテルの報酬を支払います。"なぜ待機するために裁判官契約を設定する必要があるのですか"

質問時間

実際の最終状態のコピーをジャッジに送信する代わりに、ボブが以前にアリスに勝った状態のコピーを送信したとします。現時点では、Judge が非スマート コントラクトである場合、この状態が最新の状態であるかどうかを知る方法がありません。

チャレンジタイムにより、アリスはボブがゲームの偽の終了状態を提出したことを証明するチャンスを与えられます。より最近の状態がある場合、彼女は署名された取引のコピーを持っているので、それを裁判官に提供できます。裁判官はノンスをチェックすることでアリスのバージョンが新しいかどうかを知ることができ、勝利を盗もうとするボブの試みを却下することができます。

機能と制限事項

  • 状態チャネルは多くのアプリケーションで役立ち、オンチェーンで操作を実行する場合に比べて大幅に改善されています。ただし、アプリケーションがチャネル化に適しているかどうかを判断するときは、考慮する必要があるいくつかの具体的なトレードオフに注意してください。

  • 状態チャネルは信頼性に依存します。アリスがチャレンジ時間中にオフラインになった場合 (おそらくボブが賞品を獲得するために必死になって自宅のインターネット接続を破壊した場合)、アリスはチャレンジ時間中に応答できない可能性があります。ただし、アリスは、システムの信頼性を維持するために、他の人にお金を払って自分の状態のコピーを保持し、自分の利益を代表してもらうことができます。

  • 状態チャネルは、長期間にわたって大量の状態更新を交換する必要がある状況で役立ちます。これは、Judge コントラクトを展開するときにチャネルを作成するための初期コストが原因です。ただし、展開が完了すると、チャネル内の各状態更新のコストは非常に低くなります。

  • 状態チャネルは、参加者のセットが明確に定義されているアプリケーションに最適です。これは、Judge コントラクトが、特定のチャネルに参加しているすべてのエンティティ (アドレスなど) を常に認識している必要があるためです。ユーザーを追加または削除できますが、そのたびに契約を変更する必要があります。

  • 状態チャネルには強力なプライバシー特性があります。なぜなら、すべては公共放送やオンチェーンで録画されるのではなく、参加者間の「チャンネル内」で行われるからです。開始トランザクションと終了トランザクションのみを公開する必要があります。

国家チャンネルの権限は即時である。これは、双方が状態更新に署名するとすぐに、それが最終的なものとみなされ得ることを意味します。両当事者は、必要に応じてオンチェーンで状態を「実行」できるという明示的な保証を持っています。

Counterfactual は、イーサリアム上にステート チャネルを実装するフレームワークです。目標は、開発者が状態チャネルの専門家でなくても、プロジェクト内で状態チャネルをモジュール式に使用できるようにすることです。 2018 年の第 1 四半期に技術詳細ドキュメントを発行します。

Counterfactual と Raiden 以外にも、イーサリアムにはアプリケーション固有のチャネル実装がいくつかあります。たとえば、Funfair は分散型ギャンブル プラットフォーム用に「Fate チャネル」と呼ばれる一連の州チャネルを構築し、SpainChain は成人向けプロジェクトの関係者向けに一連の一方向支払いチャネルを構築しました (彼らはまだ州チャネルを使用して ICO を行っています)。Horizo​​n はゲームも最初のイーサリアムベースのゲームで状態チャネルを使用しました。

文章

2. プラズマ

2017 年 8 月 11 日、Vitalik Buterin と Joseph Poon は、「Plasma: Autonomous Smart Contracts」というタイトルの文書を公開しました。この文書では、イーサリアムが現在よりもはるかに多くのトランザクションを 1 秒あたりに処理できるようにする新しいテクノロジーを紹介します。

ステート チャネルと同様に、Plasma はオフチェーン トランザクションを管理するためのテクノロジーであり、そのセキュリティは基盤となるイーサリアム ブロックチェーンに依存します。しかし、Plasma は、「メイン」イーサリアム ブロックチェーンに接続された「子」ブロックチェーンを作成するという新しいアプローチを採用しています。これらのサブチェーンは独自のサブチェーンを順番に生成し、それを順番に繰り返すことができます。

plasma.io/plasma.pdf

その結果、サブチェーン レベルで多くの複雑な操作を実行し、イーサリアム メイン チェーンとのやり取りを最小限に抑えながら、数千のユーザーで本格的なアプリケーションを実行できるようになります。プラズマ子チェーンは、イーサリアム ブロックチェーン全体で操作を繰り返す必要がないため、より速く移行でき、トランザクション手数料が低くなります。

Plasma の仕組みを理解するために、Plasma の使用方法の例を見てみましょう。

イーサリアムベースのカードトレーディングゲームを作成していると想像してください。これらのカードは一部の ERC 721 非代替トークン (Cryptokitties など) ですが、プレイヤーが互いに対戦できるようにするいくつかの特性と属性があり、これはハースストーンやマジック: ザ・ギャザリングに似ています。このような種類の複雑な操作をオンチェーンで実行すると非常にコストがかかるため、代わりにアプリケーションで Plasma を使用することにしました。

まず、Ethereum メイン チェーン上に一連のスマート コントラクトを作成します。これは、Plasma サブチェーンの「ルート ノード」として使用できます。 Plasma ルート ノードには、サブチェーンのいくつかの基本的な「ステータス トランザクション ルール」 (「トランザクションは、消費されたアセットを消費できない」など) が含まれており、サブチェーンの状態のハッシュ値も記録し、次の方法を確立します。ユーザーがイーサリアムのメインチェーンで取引できるようにする、サブチェーン間で資産を転送するための「ブリッジ」サービス。

次に、子チェーンを作成します。子チェーンは独自のコンセンサス アルゴリズムを持つことができます。この例では、信頼できるブロック プロデューサー (バリデータなど) に依存する単純なコンセンサス メカニズムである Proof of Authority (PoA) を使用すると仮定します。 「プルーフ・オブ・ワーク」システムでは、ブロックプロデューサーとマイナーは同様に機能し、トランザクションを受け取り、ブロックを形成し、トランザクション料金を徴収するノードです。例を簡単にするために、あなた (つまり、ゲームを作成している会社) がブロックを作成する唯一のエンティティであると仮定します。つまり、あなたの会社は、子チェーンのブロックプロデューサーである複数のノードを運用しています。

サブチェーンが作成されて有効になると、ブロックプロデューサーは定期的にルートノードコントラクトに送信を送信します。つまり、事実上、「私の提出物 X は子チェーンの現在の最新のブロックである」と言っていることになります。これらのコミットは、子チェーン内のトランザクションの証拠としてチェーンの Plasma ルート ノードに記録されます。

子チェーンも準備ができたので、カード トレーディング ゲームの基本コンポーネントを作成できます。これらのカードは ERC721 に従い、イーサリアム メイン チェーンで初期化された後、プラズマ ルート ノードによって子チェーンに転送されます。ここで重要なポイントを紹介します。プラズマはブロックチェーンベースのデジタル資産とのやり取りを拡張できますが、これらの資産はそもそもイーサリアムのメインチェーンによって作成される必要があります。次に、実際のゲーム アプリケーションをスマート コントラクトの形式でサブチェーンにデプロイし、サブチェーンにゲームのすべてのロジックとルールが含まれるようにします。

ユーザーがゲームをプレイしたいときは、子チェーンを操作するだけで済みます。彼らは、プロパティ (ERC721 カード) を保持し、それらを購入して ETH と交換し、他のユーザーと対戦し、その他のゲーム内アクションをすべてメインチェーンと対話することなく行うことができます。少数のノード (ブロックプロデューサーなど) のみがトランザクションを処理する必要があるため、手数料ははるかに低くなり、操作は高速になります。

しかし、このパターンは安全なのでしょうか?

メインチェーンからサブチェーンに操作を移行することで、明らかにより多くの操作を実行できるようになります。しかし、それは安全ですか?子チェーン上のトランザクションには権限がありますか?結局のところ、先ほど説明したシステムには、子チェーンのブロック生成を制御する中心的なエンティティが 1 つしかありません。これは集中化されていませんか?会社はいつでもあなたの資産を盗んだり、あなたのコレクションカードを取り上げたりできるのではありませんか?

簡単に言うと、Plasma は、子チェーン内の単一のエンティティがブロック生成を完全に制御しているシナリオであっても、いつでも資産をメイン チェーンに引き出すことができるという基本的な約束をしています。ブロックプロデューサーが敵意を示し始めた場合、最悪の場合、子チェーンからの離脱を強制されるだけです。

ブロックプロデューサーが不正に動作するいくつかの方法と、Plasma がこれらのシナリオをどのように処理するかを見てみましょう。

まず、ブロック作成者が嘘をついてあなたを騙そうとしていると仮定します。彼らは、あなたの資産が彼らに乗っ取られたと主張して、偽の新しいブロックを作成することができます。彼らは唯一のブロックプロデューサーであるため、ブロックチェーンのルールに従わない新しいブロックを自由に導入できます。他のブロックと同様に、このブロックの存在の証明を、Plasma ルート ノード コントラクトへのコミットとしてプッシュする必要があります。

Plasma は、エクスプロイト詐欺を防ぐメカニズムも作成します。 Plasma には、誰でも (あなたを含む) ルート ノード コントラクトに対して不正証明を発行できるメカニズムが組み込まれており、これによりブロック作成者が不正行為を行ったことを証明できます。この不正証明には前のブロックの情報が含まれており、サブチェーン内の状態トランザクション ルールに従うことができます。間違ったブロックを以前の状態に正しく接続することはできません。不正が確認された場合、サブチェーンは前のブロックにロールバックします。さらに良いことに、間違ったブロックをチェックアウトしたブロックプロデューサーがペナルティを受け、これらのブロックプロデューサーがオンチェーンデポジットを失うシステムも構築しました。

plasma.io/plasma.pdf

画像の説明

この場合、このスキームは、アリスが資産を回復し、子チェーンから離れるように準備されています。基本的に、アリスはルート ノード コントラクトに「不正証拠」を提出します。誰もがその証明に異議を唱えることができる遅延期間の後(たとえば、後の正当なブロックが彼女が実際に資産を使用したことを証明することを示すため)、アリスの資産はイーサリアムのメインチェーンに戻されます。

plasma.io/plasma.pdf

画像の説明

最後に、ブロックプロデューサーは子チェーン内のユーザーを監視できます。ブロックプロデューサーが希望する場合は、ブロックに実際のトランザクションを含めないようにすることもでき、ユーザーが子チェーン上でアクションを実行することを事実上阻止できます。上で述べたように、このソリューションは再びすべての資産をイーサリアムのメインチェーンに直接返します。

ただし、資産の引き出しにはそれ自体のリスクも伴います。懸念の 1 つは、このサブチェーンを使用しているすべてのユーザーが同時に資産を引き出しなければならない場合に何が起こるかということです。このような大規模な引き出しの場合、イーサリアムのメインチェーンにはチャレンジ期間中に全員のトランザクションを処理するのに十分な容量がない可能性があり、ユーザーは資金を失う可能性があります。これを防ぐには、資産を引き出す必要に応じてチャレンジ時間を延長するなど、さまざまな手法が考えられます。

すべてのブロックプロデューサーが 1 つのエンティティによって制御されるのは当然のことではなく、この場合は単なる極端なケースであることに注意してください。ブロックプロデューサーがさまざまなエンティティに分散される、つまりパブリックブロックのように真に分散されたサブチェーンを作成できます。このような場合、ブロックチェーン作成者が上記の方法で相互作用するリスクは少なくなり、ユーザーが資産をイーサリアムのメインチェーンに転送しなければならないリスクも少なくなります。

ステート チャネルとプラズマを導入したので、いくつかの点を比較する価値があります。

それらの違いの 1 つは、国営チャンネルのすべての利害関係者が撤退に同意した場合、直ちに撤回できることです。アリスとボブがチャンネルを閉じて資金を引き出すことに同意した場合。最終状態に全員が同意している限り、すぐに資産を取得できます。これはプラズマでは不可能であり、前述のように、ユーザーは資産を引き出すプロセスにチャレンジ時間を含める必要があります。

ステート チャネルはトランザクションあたりのコストが安く、プラズマよりも高速です。これは、Plasma 子チェーン上に状態チャネルを確立できることを意味します。たとえば、2 人のユーザーが一連の小規模なトランザクションを実行するアプリケーションなどです。子チェーン上でステート チャネルを設定することは、子チェーン上で各トランザクションを直接実行するよりも安価で高速である必要があります。

III. Truebit

最後に、説明のこの部分には多くの詳細が欠けていることに注意してください。プラズマ自体はまだ初期段階にあります。今日のプラズマで何が起こっているかに興味がある場合は、Vitalik の「実用最小限のプラズマ」 (つまり、プラズマ実装の抽象化) に関する最近の提案をチェックしてください。台湾のチームがこれに取り組んでおり、このフォークで確認できます。 OmiseGo は分散トランザクションの実装に取り​​組んでおり、進捗状況に関する最新の更新情報をここに投稿しました。

Truebit は、イーサリアムがオフチェーンで重い計算や複雑な計算を実行できるようにするテクノロジーです。これは、イーサリアム ブロックチェーンの合計トランザクション スループットを向上させるのにより効果的であり、その点でステート チャネルやプラズマとは異なります。冒頭のセクションで説明したように、スケーリングは多面的なパズルであり、トランザクション スループットの向上だけではありません。 Truebit を使用すると、これ以上のトランザクションを行うことはできませんが、イーサリアムベースのアプリケーションがより複雑なトランザクションを処理し、メインチェーンによって検証されることが可能になります。

これにより、オンチェーンで実行するには計算コストが高すぎるであろう、イーサリアム アプリケーション上で有用な操作を実行できるようになります。たとえば、他のブロックチェーンからの Simple Payment Verification (SPV) 証明を検証します。これにより、イーサリアム スマート コントラクトは、トランザクションが別のチェーン (ビットコインやドージコインなど) で発生したかどうかを「チェック」できます。

例を見てみましょう。 Ethereum アプリケーションの一部として実行する必要がある高価な計算 (SPV 証明など) があると想像してください。 SPV プルーフの計算コストは​​高すぎるため、イーサリアム メイン チェーン上のスマート コントラクトの一部として SPV プルーフを単純に含めることはできません。各ノードが並行して操作を実行する必要があるため、イーサリアムで計算を実行すると非常にコストがかかることに注意してください。イーサリアムのブロックには最大手数料 (ガス) 制限があり、ブロック内のすべてのトランザクションを組み合わせて実行できる計算の合計量を制限するために使用されます。ただし、SPV 証明は計算量が非常に多いため、単一ブロック内の唯一のトランザクションであっても、そのブロックの手数料制限全額の何倍も必要となります。

それどころか、オフチェーンで計算を完了するには少額の料金を支払うだけで済みます。お金を払って計算を行う人をソルバーと呼びます。

まず、ソルバーはスマート コントラクトにデポジットを支払います。次に、ソルバーに計算の詳細な説明を与えると、ソルバーは計算を実行し、結果を返します。結果が正しければ(ほとんどの場合は 1 秒以内に起こります)、デポジットは返金されます。ソルバーが不正に実行したことが証明された場合 (たとえば、不正行為や間違いを犯した)、ソルバーはデポジットを失います。

検証ゲームはオンチェーンで実行されるため、結果を単純に計算することはできません (これではシステム全体の目的が果たせなくなります。計算がオンチェーンで実行できるのであれば、Truebit は必要ありません)。代わりに、ソルバーとチャレンジャーに、意見の相違がある特定の操作を特定するように依頼します。事実上、私たちは双方の立場を窮地に追い込み、結果について意見の相違を引き起こした特定のコード行を突き止めました。

画像の説明

Truebit の簡略化された概念図

Truebit について詳しく知りたい場合は、このドキュメントまたは Simon de la Rouviere によるブログ投稿を参照してください。

結論は

結論は

レイヤ 2 ソリューションは共通のビジョンを共有しています。パブリック ブロックチェーンによって提供される安定したコアを取得したら、それを暗号化経済のアンカー ポイントとして使用して、無制限のブロックチェーン アプリケーションを拡張できます。

いくつかのサンプルを調査したので、第 2 層ソリューションがこのビジョンをどのように達成できるかをより具体的に確認できるようになりました。第 2 層のソリューションで採用されている経済メカニズムは、インタラクティブなゲームであることが多く、当事者が互いに競争したり「チェック」したりするインセンティブを生み出すことで機能します。相手が裏付けとなる虚偽の情報を生成する強いインセンティブを生み出すため、ブロックチェーン アプリケーションは特定のステートメントが真実であると想定できます。

状態チャネル方式では、チャネルの最終状態は、各当事者に他方の当事者に「反論」する機会を与えることによって決定されます。プラズマスキームでは、これが不正行為の証明と引き出しの管理方法です。 Truebit スキームでは、ソルバーが正しい結果を与えることを保証するために、挑戦者はソルバーが間違っていることを証明することが奨励されます。

これらのシステムは、イーサリアムを世界的なユーザー ベースに拡張する際に伴う多くの課題を解決するのに役立ちます。ステート チャネルやプラズマなどの一部のシステムは、プラットフォームのトランザクション スループットを向上させます。 Truebit などの他のシステムは、スマート コントラクトの一部としてより複雑な計算を実行できるようになり、新しいユースケースが生まれます。

これら 3 つの例は、暗号経済スケーリング シナリオで考えられる設計のほんの一部にすぎません。 Cosmos や Polkadot のような「ブロックチェーン間協定」についてはまだ話していません (ただし、これは「第 2 層」ソリューションまたは別のブログ投稿に関する話です)。私たちは、既存のモデルを改良したり、速度、遅延、オーバーヘッドにおいて新たなトレードオフを行う、予期せぬ新しいレイヤー 2 システムの発明を期待する必要があります。

独自の第 2 層ソリューションよりも重要なのは、これらの暗号経済設計を可能にする基盤となるテクノロジーとメカニズムのさらなる開発です。

これらの第 2 層のスケーリング シナリオは、イーサリアムのようなプログラム可能なブロックチェーンの長期的な価値を示す強力な例です。プログラマティック ブロックチェーン上の第 2 層ソリューションに基づいた経済メカニズムを構築することのみが可能です。インタラクティブ ゲームを実行するには、スクリプト言語でプログラムを実装する必要があります。これは、限られたスクリプト機能しか提供しないビットコインなどのブロックチェーンでは困難です (または、プラズマのように場合によっては完全に不可能です)。

イーサリアムの第 2 層ソリューションの出現により、速度、端末、オーバーヘッドの間で新たなトレードオフを行うことが可能になります。ここで、基礎となるブロックチェーンをより幅広いアプリケーションに適応させることができます。したがって、異なる脅威モデルに直面する異なるタイプのアプリケーションは、当然、異なるトレードオフ モデルを選択します。地域規模 (または全国規模) でセキュリティを確保する必要がある大規模なトランザクションの場合は、メイン チェーンを使用します。よりスピード重視のデジタル資産トランザクションには、Plasma を使用できます。第 2 層のソリューションにより、基盤となるブロックチェーンを損なうことなくこれらのトレードオフを実現し、分散化と権限を維持することができます。

また、特定のスケーリング シナリオにどのスクリプト機能が必要になるかを事前に予測することは困難です。イーサリアムが設計されたとき、プラズマとトゥルービットはまだ発明されていませんでした。しかし、イーサリアムは完全にプログラム可能なため、私たちが発明できるあらゆる経済メカニズムを実装できます。

ブロックチェーン技術の価値は、暗号化された経済契約の安定した中核に基づいて構築されており、イーサリアムなどのプログラム可能なブロックチェーンがこの価値を最大限に活用する唯一の方法です。