# オフチェーン拡張デプス解析## 1. スケーラビリティの必要性ブロックチェーンの未来は壮大なビジョンです: 分散化、安全性、そしてスケーラビリティ。しかし通常、ブロックチェーンはその中の2つしか実現できません。この3つの要件を同時に満たすことは、ブロックチェーンの不可能な三角問題と呼ばれています。長年にわたり、人々はこの難題を解決する方法を探求してきました。分散化と安全性を保証しながら、ブロックチェーンのスループットと取引速度を向上させる、すなわちスケーリングの問題を解決することは、現在のブロックチェーンの発展過程において議論のホットなトピックの一つです。まず、ブロックチェーンの分散化、安全性、スケーラビリティを一般的に定義しましょう:- 分散型: 誰でもノードとなり、ブロックチェーンシステムの生成と検証に参加できる。ノードの数が多いほど、分散型の程度が高まり、一部の大規模な集中型参加者によるネットワークの支配を防ぐ。- セキュリティ: ブロックチェーンシステムの制御権を取得するためにかかるコストが高くなるほど、セキュリティが高くなり、そのためネットワークはより多くの参加者からの攻撃に耐えることができる。- スケーラビリティ:ブロックチェーンが大量の取引を処理する能力。ビットコインネットワークの最初の重大なハードフォークは、スケーラビリティの問題から始まりました。ビットコインのユーザー数と取引量が増えるにつれて、各ブロックの上限が1MBのビットコインネットワークは混雑問題に直面し始めました; 2015年から、ビットコインコミュニティはスケーラビリティの問題で意見が分かれ、一方はBitcoin ABCを代表とするブロック拡張を支持するスケーラビリティ派、もう一方はBitcoin Coreを代表とする小さなブロック派で、Segwitの隔離証明の提案を使ってメインチェーンの構造を最適化すべきだと考えています。2017年8月1日、Bitcoin ABCは独自に開発した8MBのクライアントシステムを稼働させ、ビットコイン史上初の重大なハードフォークが発生しました。そして、これにより新しい通貨BCHが誕生しました。同様に、イーサリアムネットワークもネットワークの安全性と分散化を保証するために、一部のスケーラビリティを犠牲にすることを選択しました。イーサリアムネットワークはビットコインネットワークのようにブロックサイズを制限することで取引量を制限してはいませんが、単一のブロックに収容できる燃料費の上限を設定する形で実質的に変化していますが、目的はTrustless Consensusを実現し、ノードの広範な分布を確保するためです。(制限を解除するか引き上げるかにかかわらず、帯域幅、ストレージ、計算量が不足している多くの小さなノードは淘汰されるでしょう)。2017年のCryptoKitties、DeFiサマー、そしてその後のGameFiやNFTなどのオンチェーンアプリケーションの台頭に伴い、市場のスループットに対する需要は増加し続けていますが、チューリング完全なイーサリアムでも、1秒あたり15~45件の取引(TPS)しか処理できません。この結果、取引コストが増加し、決済時間が長くなり、大部分のDappsは運営コストを負担することが困難になり、全体のネットワークはユーザーにとって遅くて高価になっています。ブロックチェーンのスケーラビリティ問題は早急に解決される必要があります。理想的なスケーリングソリューションは、分散化とセキュリティを犠牲にすることなく、ブロックチェーンネットワークの取引速度(の短縮、ファイナリティ時間)の短縮、取引スループット(の向上を可能にすることです。## 2. スケーリングソリューションの種類私たちは「一層のメインネットを変更するかどうか」を基準に、スケーリングソリューションをオンチェーン拡張とオフチェーン拡張の2つの大きなカテゴリに分けています。) 2.1 チェーン上のスケーリングコアコンセプト: 一層のメインネットプロトコルを変更することでスケーラビリティを実現するソリューションであり、現在の主要なソリューションはシャーディングです。チェーン上のスケーリングにはさまざまなソリューションがありますが、この記事では詳しく説明しません。以下に2つのソリューションを簡単に挙げます。- プラン1はブロックスペースを拡大することで、各ブロックにパッケージされるトランザクションの数を増やすことですが、これにより高性能ノードデバイスへの要求が高まり、ノードの参加のハードルが上がり、「分散化」の程度が低下します。- 方案二はシャーディングであり、ブロックチェーンの帳簿をいくつかの部分に分割し、すべてのノードがすべての記帳に参加するのではなく、異なるシャード、つまり異なるノードが異なる記帳を担当します。並列計算により、複数のトランザクションを同時に処理できます。これにより、ノードの計算負荷と参加のハードルを下げ、取引処理速度と分散化の程度を向上させることができます。しかし、これは全体のネットワークの計算能力が分散されることを意味し、全体のネットワークの「安全性」を低下させることになります。メインネットプロトコルのコードを変更することは、予測不可能な悪影響を及ぼす可能性があります。なぜなら、基盤となるわずかなセキュリティホールが全体のネットワークの安全性を深刻に脅かすからです。ネットワークは分岐を強いられたり、修正アップグレードを中断させられる可能性があります。例えば、2018年のZcashのインフレバグ事件です。ZcashのコードはBitcoin 0.11.2のバージョンコードを基に修正されたもので、2018年にあるエンジニアがその基盤コードに高リスクの脆弱性があることを発見しました。すなわち、トークンが無限に発行できるというもので、その後チームは8ヶ月間秘密裏に修正作業を行い、バグ修正後にこの事件を公にしました。### 2.2 オフチェーン拡張コアコンセプト:既存のレイヤー1メインネットプロトコルを変更しないスケーリングソリューション。オフチェーン拡張ソリューションは、Layer2 とその他のソリューションに細分化できます:! [10,000語の詳細な調査レポート:オフチェーン拡張の包括的な分析]###https://img-cdn.gateio.im/social/moments-7d930821d982f99c43cf5400e4db2175(## 3. オフチェーン拡張の方案) 3.1 ステートチャンネル#### 3.1.1 まとめステートチャンネルは、チャネルがオープン、クローズ、または紛争を解決する際にのみ、ユーザーがメインネットと相互作用する必要があることを規定しており、ユーザー間の相互作用をオフチェーンで行うことで、ユーザーの取引にかかる時間とコストを削減し、取引回数の制限をなくすことを実現します。ステートチャネルは、シンプルな P2P プロトコルであり、「ターンベースのアプリケーション」に適しています。例えば、2 人のチェスゲームです。各チャネルは、メインネット上で動作するマルチシグスマートコントラクトによって管理されており、このコントラクトはチャネルに預けられた資産を制御し、ステートの更新を検証し、参加者間の争いを仲裁します###、署名とタイムスタンプを伴う詐欺証明(に基づいています。参加者はブロックチェーンネットワークにコントラクトをデプロイした後、資金を預けてロックし、双方が署名を確認した後にチャネルが正式に開通します。チャネルは、参加者間で無制限のオフチェーン取引を無料で行うことを可能にします)、彼らの送金のネットバリューが預けられたトークンの総額(を超えない限りです。参加者は交互にステートの更新を相手に送信し、相手の署名確認を待ちます。一度相手が署名確認すれば、このステートの更新は完了と見なされます。通常、双方が合意したステートの更新はメインネットにアップロードされず、争いが発生したりチャネルを閉じたりする場合のみ、メインネットの確認に依存します。チャネルを閉じる必要がある場合、いずれかの参加者はメインネットに取引リクエストを提出でき、退出リクエストが全員一致の署名承認を得た場合、チェーン上で即座に実行されます。これは、スマートコントラクトがチャネルの最終状態に基づいて各参加者の残高を分配し、ロックされた残りの資金を分配します。もし他の参加者が署名承認をしなかった場合、全員が「挑戦期間」の終了を待たなければならず、その後にのみ残りの資金を受け取ることができます。以上のように、ステートチャンネルのソリューションは、メインネットの計算量を大幅に削減し、取引速度を向上させ、取引コストを低減することができます。)# 3.1.2 タイムライン- 2015/02、ジョセフ・プーンとサディウス・ドライヤがライトニングネットワークのホワイトペーパー草案を発表しました。- 2015/11、ジェフ・コールマンは初めてステートチャネルの概念を体系的にまとめ、ビットコインのペイメントチャネルはステートチャネル概念の一つのサブケースであると提案しました。- 2016/01、Joseph Poon と Thaddeus Dryja は正式にホワイトペーパー『The Bitcoin Lightning Network: Scalable Off-Chain Instant Payments』を発表し、ビットコインのスケーラビリティソリューションである Payment Channel### 支払いチャネル(を提案しました。このソリューションはビットコインネットワーク上の送金支払いのみを処理するために使用されます。- 2017年11月、Payment Channelフレームワークに基づくState Channelの最初の設計仕様であるSpritesが提案されました。- 2018/06年、Counterfactualは、非常に詳細なGeneralized State Channelsデザインを提案しましたが、これはState Channelsに完全に関連する最初のデザインでした。- 2018年10月、Generalised State Channel Networksの記事では、State Channel NetworksとVirtual Channelsの概念が提案されました。- 2019/02、ステートチャネルの概念が N-Party Channels に拡張され、Nitro はこのアイデアに基づいて構築された最初のプロトコルです。- 2019/10、Pisaはすべての参加者が継続的にオンラインである必要がある問題を解決するために、Watchtowersの概念を拡張しました。- 2020/03、HydraがFast Isomorphic Channelsを提案)# 3.1.3 テクニカル原理図1は、従来のチェーン上のワークフローを示しています: アリスとボブは、メインネットにデプロイされたスマートコントラクトと相互作用し、ユーザーはチェーン上にトランザクションを送信することによってスマートコントラクトの状態を変更します。欠点は、上で議論した時間とコストの問題を引き起こすことです。! [10,000語の詳細な調査レポート:オフチェーン拡張の包括的な分析]###https://img-cdn.gateio.im/social/moments-087d35594a04d33375b8199b93eb355e(図2は、ほとんどのステートチャンネルプロトコルが従う一般的なワークフローを示しています:楽観的な場合、アリスとボブは以前と同じ操作を実行する必要がありますが、今回はオンチェーンの契約と対話するのではなく、ステートチャンネルを使用します。- 第一歩、アリスとボブは、個人のEOAから資金をオフチェーン契約アドレス)に入金し、1,2(の資金が契約にロックされ、チャネルが閉じられるまでユーザーに残高が返されない。二人が署名を確認した後、二人の間の状態チャネルが正式に開通する。- 第二ステップ、アリスとボブはこのチャネルを通じて理論上、オフチェーンで無制限の取引を行うことができる)青い破線(。参加者は暗号化された署名メッセージを通じて相互に通信し)、ブロックチェーンネットワークとは通信しない(。双方のユーザーは、二重支払いを防ぐために各取引に署名する必要がある。これらのメッセージを通じて、彼らは自分のアカウントの状態更新を提案し、相手が提案した状態更新を受け入れる。- 第三ステップ、もしアリスがボブとの取引を終了するためにチャネルを閉じたい場合、アリスは契約に自分のアカウントの最終状態)を提出する必要があります。もしボブが署名を承認すれば、契約は最終状態に基づいてロックされた資金を対応するユーザーに返還します(のインタラクション4、5)。もしボブが署名に応答しなければ、契約はチャレンジ期間が終了した後にロックされた資金を対応するユーザーに返還します。! [10,000語の詳細な調査レポート:オフチェーンスケーリングの包括的な分析](https://img-cdn.gateio.im/social/moments-ead28de03be9fc22dcfe3f679ee36bc5)図3は、悲観的な状況におけるステートチャンネルのワークフローを示しています。最初に、2人の参加者が資金(を預け入れ、インタラクション1、2)を行います。その後、状態更新(の交換を開始します。青い破線)が示すように、ある時点でBobが自分のターンでAliceから送られた状態更新の署名(に応答しなかったと仮定します。この時、Aliceは契約に自分の最後の有効状態を提出することで挑戦を始めることができます)インタラクション4、(。この有効状態には、Bobの以前の署名も含まれており、最後の取引がBobの承認を受けたことを証明しています。最終的な状態はBobの確認を受けたものです。その後、契約はBobに一定の期間内に次の状態を契約に提出することで応答することを許可します。もしBobが応答すれば、2人はステートチャンネル内での取引を続けることができます。もしBobがその期間内に応答しなければ、契約は自動的にステートチャンネルを閉じ、資金をAliceに戻します)インタラクション5、(。! [10,000語の詳細な調査レポート:オフチェーンスケーリングの包括的な分析])https://img-cdn.gateio.im/social/moments-ad088ac016d75b1ae0b0eda699e74709()#3.1.4長所と短所価値:- 即時性:オフチェーン取引は即座に確認でき、ブロックの確認を待つ必要がありません- 高スループット: チャンネルが開いているときと閉じているときにのみメインネットとインタラクションする必要があり、スループットが大幅に向上します。- 低コスト:オフチェーン取引はマイナー手数料を支払う必要がなく、チャネルの開閉時に少量の手数料を支払う必要があります。- プライバシー:オフチェーン取引の内容はオンチェーンされず、最終的な状態のみがメインネットに提出されます短所:- 複雑性:ステートチャネルの実装と使用は比較的複雑です- 流動性ロック:一定量の資金を事前にロックする必要があります- オンライン要件: 参加者は最新の状況に応答するためにオンラインを維持する必要があります- 適用範囲が限られている: 主に双方が頻繁に相互作用するシーンに適用されます(# 3.1.5 アプリケーションビットコイン・ライトニングネットワーク:概要:ライトニングネットワークはビットコインネットワークの小額決済チャネルであり、その全体的な技術の進化は:2/2 マルチシグによる一方向の支払い通路を経ている。
オフチェーン拡張の全面解析:状態チャネルからライトニングネットワークまで
オフチェーン拡張デプス解析
1. スケーラビリティの必要性
ブロックチェーンの未来は壮大なビジョンです: 分散化、安全性、そしてスケーラビリティ。しかし通常、ブロックチェーンはその中の2つしか実現できません。この3つの要件を同時に満たすことは、ブロックチェーンの不可能な三角問題と呼ばれています。長年にわたり、人々はこの難題を解決する方法を探求してきました。分散化と安全性を保証しながら、ブロックチェーンのスループットと取引速度を向上させる、すなわちスケーリングの問題を解決することは、現在のブロックチェーンの発展過程において議論のホットなトピックの一つです。
まず、ブロックチェーンの分散化、安全性、スケーラビリティを一般的に定義しましょう:
ビットコインネットワークの最初の重大なハードフォークは、スケーラビリティの問題から始まりました。ビットコインのユーザー数と取引量が増えるにつれて、各ブロックの上限が1MBのビットコインネットワークは混雑問題に直面し始めました; 2015年から、ビットコインコミュニティはスケーラビリティの問題で意見が分かれ、一方はBitcoin ABCを代表とするブロック拡張を支持するスケーラビリティ派、もう一方はBitcoin Coreを代表とする小さなブロック派で、Segwitの隔離証明の提案を使ってメインチェーンの構造を最適化すべきだと考えています。2017年8月1日、Bitcoin ABCは独自に開発した8MBのクライアントシステムを稼働させ、ビットコイン史上初の重大なハードフォークが発生しました。そして、これにより新しい通貨BCHが誕生しました。
同様に、イーサリアムネットワークもネットワークの安全性と分散化を保証するために、一部のスケーラビリティを犠牲にすることを選択しました。イーサリアムネットワークはビットコインネットワークのようにブロックサイズを制限することで取引量を制限してはいませんが、単一のブロックに収容できる燃料費の上限を設定する形で実質的に変化していますが、目的はTrustless Consensusを実現し、ノードの広範な分布を確保するためです。(制限を解除するか引き上げるかにかかわらず、帯域幅、ストレージ、計算量が不足している多くの小さなノードは淘汰されるでしょう)。
2017年のCryptoKitties、DeFiサマー、そしてその後のGameFiやNFTなどのオンチェーンアプリケーションの台頭に伴い、市場のスループットに対する需要は増加し続けていますが、チューリング完全なイーサリアムでも、1秒あたり15~45件の取引(TPS)しか処理できません。この結果、取引コストが増加し、決済時間が長くなり、大部分のDappsは運営コストを負担することが困難になり、全体のネットワークはユーザーにとって遅くて高価になっています。ブロックチェーンのスケーラビリティ問題は早急に解決される必要があります。理想的なスケーリングソリューションは、分散化とセキュリティを犠牲にすることなく、ブロックチェーンネットワークの取引速度(の短縮、ファイナリティ時間)の短縮、取引スループット(の向上を可能にすることです。
2. スケーリングソリューションの種類
私たちは「一層のメインネットを変更するかどうか」を基準に、スケーリングソリューションをオンチェーン拡張とオフチェーン拡張の2つの大きなカテゴリに分けています。
) 2.1 チェーン上のスケーリング
コアコンセプト: 一層のメインネットプロトコルを変更することでスケーラビリティを実現するソリューションであり、現在の主要なソリューションはシャーディングです。
チェーン上のスケーリングにはさまざまなソリューションがありますが、この記事では詳しく説明しません。以下に2つのソリューションを簡単に挙げます。
メインネットプロトコルのコードを変更することは、予測不可能な悪影響を及ぼす可能性があります。なぜなら、基盤となるわずかなセキュリティホールが全体のネットワークの安全性を深刻に脅かすからです。ネットワークは分岐を強いられたり、修正アップグレードを中断させられる可能性があります。例えば、2018年のZcashのインフレバグ事件です。ZcashのコードはBitcoin 0.11.2のバージョンコードを基に修正されたもので、2018年にあるエンジニアがその基盤コードに高リスクの脆弱性があることを発見しました。すなわち、トークンが無限に発行できるというもので、その後チームは8ヶ月間秘密裏に修正作業を行い、バグ修正後にこの事件を公にしました。
2.2 オフチェーン拡張
コアコンセプト:既存のレイヤー1メインネットプロトコルを変更しないスケーリングソリューション。
オフチェーン拡張ソリューションは、Layer2 とその他のソリューションに細分化できます:
! [10,000語の詳細な調査レポート:オフチェーン拡張の包括的な分析]###https://img-cdn.gateio.im/webp-social/moments-7d930821d982f99c43cf5400e4db2175.webp(
3. オフチェーン拡張の方案
) 3.1 ステートチャンネル
3.1.1 まとめ
ステートチャンネルは、チャネルがオープン、クローズ、または紛争を解決する際にのみ、ユーザーがメインネットと相互作用する必要があることを規定しており、ユーザー間の相互作用をオフチェーンで行うことで、ユーザーの取引にかかる時間とコストを削減し、取引回数の制限をなくすことを実現します。
ステートチャネルは、シンプルな P2P プロトコルであり、「ターンベースのアプリケーション」に適しています。例えば、2 人のチェスゲームです。各チャネルは、メインネット上で動作するマルチシグスマートコントラクトによって管理されており、このコントラクトはチャネルに預けられた資産を制御し、ステートの更新を検証し、参加者間の争いを仲裁します###、署名とタイムスタンプを伴う詐欺証明(に基づいています。参加者はブロックチェーンネットワークにコントラクトをデプロイした後、資金を預けてロックし、双方が署名を確認した後にチャネルが正式に開通します。チャネルは、参加者間で無制限のオフチェーン取引を無料で行うことを可能にします)、彼らの送金のネットバリューが預けられたトークンの総額(を超えない限りです。参加者は交互にステートの更新を相手に送信し、相手の署名確認を待ちます。一度相手が署名確認すれば、このステートの更新は完了と見なされます。通常、双方が合意したステートの更新はメインネットにアップロードされず、争いが発生したりチャネルを閉じたりする場合のみ、メインネットの確認に依存します。チャネルを閉じる必要がある場合、いずれかの参加者はメインネットに取引リクエストを提出でき、退出リクエストが全員一致の署名承認を得た場合、チェーン上で即座に実行されます。これは、スマートコントラクトがチャネルの最終状態に基づいて各参加者の残高を分配し、ロックされた残りの資金を分配します。もし他の参加者が署名承認をしなかった場合、全員が「挑戦期間」の終了を待たなければならず、その後にのみ残りの資金を受け取ることができます。
以上のように、ステートチャンネルのソリューションは、メインネットの計算量を大幅に削減し、取引速度を向上させ、取引コストを低減することができます。
)# 3.1.2 タイムライン
)# 3.1.3 テクニカル原理
図1は、従来のチェーン上のワークフローを示しています: アリスとボブは、メインネットにデプロイされたスマートコントラクトと相互作用し、ユーザーはチェーン上にトランザクションを送信することによってスマートコントラクトの状態を変更します。欠点は、上で議論した時間とコストの問題を引き起こすことです。
! [10,000語の詳細な調査レポート:オフチェーン拡張の包括的な分析]###https://img-cdn.gateio.im/webp-social/moments-087d35594a04d33375b8199b93eb355e.webp(
図2は、ほとんどのステートチャンネルプロトコルが従う一般的なワークフローを示しています:楽観的な場合、アリスとボブは以前と同じ操作を実行する必要がありますが、今回はオンチェーンの契約と対話するのではなく、ステートチャンネルを使用します。
! 10,000語の詳細な調査レポート:オフチェーンスケーリングの包括的な分析
図3は、悲観的な状況におけるステートチャンネルのワークフローを示しています。最初に、2人の参加者が資金(を預け入れ、インタラクション1、2)を行います。その後、状態更新(の交換を開始します。青い破線)が示すように、ある時点でBobが自分のターンでAliceから送られた状態更新の署名(に応答しなかったと仮定します。この時、Aliceは契約に自分の最後の有効状態を提出することで挑戦を始めることができます)インタラクション4、(。この有効状態には、Bobの以前の署名も含まれており、最後の取引がBobの承認を受けたことを証明しています。最終的な状態はBobの確認を受けたものです。その後、契約はBobに一定の期間内に次の状態を契約に提出することで応答することを許可します。もしBobが応答すれば、2人はステートチャンネル内での取引を続けることができます。もしBobがその期間内に応答しなければ、契約は自動的にステートチャンネルを閉じ、資金をAliceに戻します)インタラクション5、(。
! [10,000語の詳細な調査レポート:オフチェーンスケーリングの包括的な分析])https://img-cdn.gateio.im/webp-social/moments-ad088ac016d75b1ae0b0eda699e74709.webp(
)#3.1.4長所と短所
価値:
短所:
(# 3.1.5 アプリケーション
ビットコイン・ライトニングネットワーク:
概要: ライトニングネットワークはビットコインネットワークの小額決済チャネルであり、その全体的な技術の進化は:2/2 マルチシグによる一方向の支払い通路を経ている。