Polkadot:异构多链框架的愿景

著 Gavin Wood · 2016

概要

POLKADOT: 異種マルチチェーン フレームワークのビジョン ドラフト 1 DR.ギャビン・ウッド 創設者、イーサリアム、パリティ ギャビン@PARITY.IO 抽象的。現在の blockchain アーキテクチャはすべて、拡張性とスケーラビリティの実際的な手段をはじめとする多くの問題を抱えています。私たちは、これはコンセンサス アーキテクチャの 2 つの非常に重要な部分を結び付けることに起因すると考えています。 正規性と有効性が近すぎる。この論文では、異種マルチチェーンというアーキテクチャを紹介します。 これが根本的にこの 2 つを区別します。 これら 2 つの部分を区分けし、提供される全体的な機能を最小限に抑えることで、 セキュリティとトランスポートの観点から、現場でのコア拡張性の実用的な手段を導入します。スケーラビリティには次のような方法があります。 これら 2 つの機能に対する分割統治アプローチであり、 信頼できないパブリックノード。 このアーキテクチャの異質な性質により、多くの非常に多様なタイプのコンセンサス システムがトラストレスで完全に分散された「フェデレーション」で相互運用できるようになり、オープン ネットワークとクローズド ネットワークがトラストフリーでアクセスできるようになります。 お互いに。 私たちは、次のような 1 つ以上の既存のネットワークとの下位互換性を提供する手段を提案します。 Ethereum。私たちは、このようなシステムが、実用的なシステムの全体的な探索において有用な基本レベルのコンポーネントを提供すると信じています。 グローバルコマースレベルのスケーラビリティとプライバシーを実現できる実装可能なシステム。 1. はじめに これは技術的な「ビジョン」の概要を目的としています。 blockchain パラダイムをさらに発展させる際に取られる可能性のある 1 つの方向性と、この方向性が合理的である理由についての理論的根拠を示します。にレイアウトされます 開発のこの段階で可能な限り詳細を 具体的な改善をもたらす可能性のあるシステム blockchain テクノロジーのさまざまな側面。 これは、形式的であるかどうかにかかわらず、仕様を意図したものではありません。包括的であることや、 最終デザイン。コア以外の側面をカバーすることを目的としたものではありません API、バインディング、言語などのフレームワークの 使用法。 これは特に実験的なものです。ここでパラメータ 指定されていますが、変更される可能性があります。メカニズムは、 コミュニティに応じて追加、改良、削除される アイデアと批評。この文書の大部分は、おそらく 実験的証拠やプロトタイピングによって得られるものとして改訂される 何が機能し、何が機能しないのかについての情報を提供します。 この文書には、プロトコルの核となる説明と、取るべき方向性のアイデアが含まれています。 さまざまな面を改善するために。コアとなると想定されるのは、 説明は最初の作業の開始点として使用されます。 一連の概念実証。最終的な「バージョン 1.0」は次のようになります。 この洗練されたプロトコルと、実証され決定された追加のアイデアをベースにしています。 プロジェクトが目標を達成するために必要です。 1.1.歴史。 • 2016 年 9 月 10 日: 0.1.0 耐性 1 • 2016/10/20: 0.1.0-proof2 • 2016 年 11 月 1 日: 0.1.0-proof3 • 2016 年 10 月 11 日: 0.1.0 2. はじめに ブロックチェーンは、「モノのインターネット」を含むいくつかの分野で有用性が大いに期待できることが証明されています。 (IoT)、財務、ガバナンス、アイデンティティ管理、ウェブ分散化、資産追跡。しかし、にもかかわらず、 技術的な約束と壮大な話はまだわかりません 現在のテクノロジーの重要な現実世界への展開。 私たちは、これは現在の 5 つの主要な失敗に起因すると考えています。 テクノロジースタック: スケーラビリティ: 世界中でどれだけのリソースが費やされているか システムが単一のトランザクションを処理するための処理、帯域幅、およびストレージ、およびそのトランザクション数 トランザクションは以下に基づいて合理的に処理できます ピークコンディション? 分離性: 複数の異なるニーズに対応できるか 関係者とアプリケーションは、同じフレームワークの下で最適に近い程度まで対処できるでしょうか? 開発性: ツールはどの程度うまく機能しますか?する API は開発者のニーズに対応しているでしょうか?教育用の教材はありますか?適切な統合は行われていますか? ガバナンス: ネットワークは柔軟性を維持できるか 時間の経過とともに進化して適応しますか? 決定は可能ですか 十分な包括性、正当性、そして 効果的なリーダーシップを発揮するための透明性 分散型システム? 適用可能性: そのテクノロジーは実際にそれ自体で切実なニーズに対応しているのでしょうか?ギャップを埋めるには他の「ミドルウェア」が必要ですか? 実際のアプリケーションは? 現在の作業では、最初の 2 つに対処することを目指しています。 問題: スケーラビリティと分離性。そうは言っても、私たちは信じています Polkadot フレームワークは、これらの問題のそれぞれのクラスにおいて有意義な改善を提供できます。 最新の効率的な blockchain 実装 パリティ Ethereum クライアント [17] は proc できます超過 高性能のコンシューマ ハードウェアで実行すると、1 秒あたり 3,000 トランザクション。 しかし、現在の現実世界では、 blockchain ネットワークは実質的に約 30 に制限されています 1秒あたりのトランザクション数。 この制限は主に、現在の同期コンセンサス メカニズムが広いタイミング安全マージンを必要とするという事実に起因しています。 予想される処理時間は、 1

摘要

Polkadot:异构多链框架的愿景 草案1 博士。加文·伍德 以太坊和 Parity 创始人 加文@PARITY.IO 摘要。当今的 blockchain 架构都存在许多问题,尤其是可扩展性和可伸缩性的实用方法。我们相信这源于共识架构的两个非常重要的部分,即 规范性和有效性过于紧密地结合在一起。本文介绍了一种架构,异构多链, 这从根本上将两者区分开来。 将这两部分分开,并将提供的整体功能保持在绝对最低限度 在安全和运输方面,我们引入了核心可扩展性的实用方法。可扩展性是通过以下方式解决的 对这两个功能采取分而治之的方法,通过激励来扩展其粘合核心 不受信任的公共节点。 这种架构的异构性使得许多高度不同类型的共识系统能够在一个不信任的、完全去中心化的“联盟”中互操作,从而允许开放和封闭的网络能够无信任地访问 彼此。 我们提出了一种提供与一个或多个预先存在的网络的向后兼容性的方法,例如 Ethereum。我们相信,这样的系统在总体搜索实际应用中提供了有用的基础组件。 能够实现全球商务级别的可扩展性和隐私性的可实施系统。 一、前言 这是一个技术“愿景”摘要 进一步开发 blockchain 范式时可能采取的一个可能方向,以及为什么这个方向是明智的一些基本原理。它布置在 在此开发阶段尽可能详细 一个可以具体改进的系统 blockchain 技术的多个方面。 它无意成为正式或其他形式的规范。它的目的不是全面的,也不是 最终设计。它无意涵盖非核心方面 框架,例如 API、绑定、语言和 用法。 这显然是实验性的;其中参数 已被指定,它们很可能会改变。机制将 根据社区的需求进行添加、完善和删除 想法和批评。本文的大部分内容可能会 作为实验证据和原型进行修改给出 我们提供有关什么有效、什么无效的信息。 本文档包括协议的核心描述以及可能采取的方向的想法 以改善各方面。据设想,核心 描述将用作初始的起点 系列概念验证。最终的“版本 1.0”将是 基于这个完善的协议以及经过验证并确定的其他想法 是项目实现其目标所必需的。 1.1.历史。 • 2016 年 9 月 10 日:0.1.0-proof1 • 2016 年 10 月 20 日:0.1.0-proof2 • 2016 年 1 月 11 日:0.1.0-proof3 • 2016 年 10 月 11 日:0.1.0 2. 简介 区块链在包括“物联网”在内的多个领域展示了巨大的实用前景 (物联网)、财务、治理、身份管理、网络去中心化和资产跟踪。然而,尽管 技术承诺和宏大的言论,我们还没有看到 当前技术在现实世界中的重大部署。 我们认为,这归因于当前的五个关键失败 技术栈: 可扩展性:全球花费了多少资源 系统处理单笔交易的处理能力、带宽和存储以及多少 交易可以合理地处理 峰值条件? 隔离性:能否满足多个人的不同需求 各方和应用程序是否可以在同一框架下达到近乎最佳的程度? 可开发性:这些工具的工作效果如何?做 API 满足了开发人员的需求吗?有教育材料吗?那里有正确的集成吗? 治理:网络能否保持灵活性 随着时间的推移而发展和适应? 决策可以是 具有足够的包容性、合法性和 透明度,以提供有效的领导 去中心化系统? 适用性:该技术本身是否真的能够满足迫切的需求?是否需要其他“中间件”来弥补差距 实际应用? 在目前的工作中,我们的目标是解决前两个问题 问题:可扩展性和隔离性。也就是说,我们相信 Polkadot 框架可以为每一类问题提供有意义的改进。 现代、高效的 blockchain 实现,例如 Parity Ethereum 客户端 [17] 可以处理es 超过 在高性能消费类硬件上运行时每秒处理 3,000 个事务。 然而,目前的现实世界 blockchain 网络实际上仅限于 30 个左右 每秒交易数。 这种限制主要源于当前的同步共识机制需要广泛的时间安全裕度。 预期的处理时间,这会因 1

導入

ブロックチェーンは、「モノのインターネット」を含むいくつかの分野で有用性が大いに期待できることが証明されています。 (IoT)、財務、ガバナンス、アイデンティティ管理、ウェブ分散化、資産追跡。しかし、にもかかわらず、 技術的な約束と壮大な話はまだわかりません 現在のテクノロジーの重要な現実世界への展開。 私たちは、これは現在の 5 つの主要な失敗に起因すると考えています。 テクノロジースタック: スケーラビリティ: 世界中でどれだけのリソースが費やされているか システムが単一のトランザクションを処理するための処理、帯域幅、およびストレージ、およびそのトランザクション数 トランザクションは以下に基づいて合理的に処理できます ピークコンディション? 分離性: 複数の異なるニーズに対応できるか 関係者とアプリケーションは、同じフレームワークの下で最適に近い程度まで対処できるでしょうか? 開発性: ツールはどの程度うまく機能しますか?する API は開発者のニーズに対応しているでしょうか?教育用の教材はありますか?適切な統合は行われていますか? ガバナンス: ネットワークは柔軟性を維持できるか 時間の経過とともに進化して適応しますか? 決定は可能ですか 十分な包括性、正当性、そして 効果的なリーダーシップを発揮するための透明性 分散型システム? 適用可能性: そのテクノロジーは実際にそれ自体で切実なニーズに対応しているのでしょうか?ギャップを埋めるには他の「ミドルウェア」が必要ですか? 実際のアプリケーションは? 現在の作業では、最初の 2 つに対処することを目指しています。 問題: スケーラビリティと分離性。そうは言っても、私たちは信じています Polkadot フレームワークは、これらの問題のそれぞれのクラスにおいて有意義な改善を提供できます。 最新の効率的な blockchain 実装 パリティ Ethereum クライアント [17] は、 高性能のコンシューマ ハードウェアで実行すると、1 秒あたり 3,000 トランザクション。 しかし、現在の現実世界では、 blockchain ネットワークは実質的に約 30 に制限されています 1秒あたりのトランザクション数。 この制限は主に、現在の同期コンセンサス メカニズムが広いタイミング安全マージンを必要とするという事実に起因しています。 予想される処理時間は、POLKADOT: 異種マルチチェーン フレームワークのビジョン ドラフト 1 2 遅い実装をサポートしたいと考えています。これは次の理由によるものです 基礎となるコンセンサスアーキテクチャ: 状態遷移メカニズム、または当事者が照合する手段 トランザクションを実行し、そのロジックは基本的に結合されています コンセンサス「正規化」メカニズム、または 当事者がいくつかの事項のうちの 1 つに同意する手段 可能性のある、有効な、履歴。 これは、Bitcoin [15] や Ethereum [5,23] などの proof-of-work (PoW) システムと、NXT [8] や Bitshares [12] などのプルーフオブステーク (PoS) システムの両方に同様に当てはまります。 最終的には全員が同じハンディキャップを負うことになります。シンプルです blockchain の成功に貢献した戦略。ただし、 これら 2 つの機構を 1 つのユニットに緊密に結合することにより、 プロトコルの複数の異なるプロトコルもバンドルします さまざまなリスク プロファイル、さまざまなスケーラビリティ要件、さまざまなプライバシー ニーズを持つアクターとアプリケーション。 1 つのサイズがすべてに適合するわけではありません。次のようなケースが非常に頻繁にあります。 広くアピールしたいという願望があるため、ネットワークはある程度の保守主義を採用し、その結果最小公倍数が低くなります 少数の人々に最適にサービスを提供し、最終的には失敗につながる 時には、革新し、実行し、適応する能力において 劇的にそうです。 いくつかのシステム、例えばFactom [21] は状態遷移メカニズムを完全に削除します。ただし、その多くは、 私たちが望む実用性には状態を遷移する能力が必要です 共有ステートマシンに従って。落とせば解決する 別の問題。代替手段は提供されません 解決策。 したがって、合理的な方向性の 1 つは明らかであるように思われます。 スケーラブルな分散コンピューティングへのルートとして探索する プラットフォームはコンセンサスアーキテクチャを分離することを目的としています。 状態遷移メカニズム。そして、おそらく驚くことではないでしょうが、これは Polkadot がスケーラビリティの解決策として採用している戦略です。 2.1.プロトコル、実装、およびネットワーク。いいね Bitcoin および Ethereum、Polkadot は、ネットワーク プロトコルと (これまで想定されていた) プライマリを同時に指します このプロトコルを実行するパブリック ネットワーク。 Polkadot は無料でオープンなプロジェクトであることを目的としており、プロトコル仕様はクリエイティブ コモンズ ライセンスに基づいており、 コードは FLOSS ライセンスの下に配置されます。プロジェクトは オープンな方法で開発され、貢献を受け入れます 役に立つ場所ならどこでも。 RFC のシステムと似ています Python 拡張提案により、次の手段が可能になります。 プロトコルの変更とアップグレードに関して公的に協力しています。 Polkadot プロトコルの初期実装 はパリティ Polkadot プラットフォームとして知られ、 API とともに完全なプロトコル実装を含める バインディング。他のパリティ blockchain 実装と同様に、 PPP は、パブリック ネットワークやネットワークに固有のものではなく、汎用の blockchain テクノロジー スタックとして設計されています。 民間/コンソーシアム運営。こうして発展したのが、 これまで、以下を含むいくつかの団体から資金提供を受けてきました。 英国政府からの補助金。 それにも関わらず、この文書では Polkadot について次のように説明しています。 パブリックネットワークのコンテキスト。私たちがパブリック ネットワークで想定している機能は、ネットワークで必要とされる機能のスーパーセットです。 代替設定(プライベートおよび/またはコンソーシアムなど)。さらに、この文脈では、Polkadot の全範囲は次のようになります。 より明確に説明され、議論されるべきです。これはつまり、 読者は、特定のメカニズムが Polkadot に直接関係のない説明 (他のパブリック ネットワークとの相互運用など) 非公開(「許可」)状況で展開される場合。 2.2.以前の作品。基礎となるコンセンサスを状態遷移から切り離すことが非公式に提案されている 少なくとも 2 年間はプライベートで活動していた――マックス・ケイは、社会の非常に初期の頃、そのような戦略の支持者であった。 Ethereum。 チェーンとして知られる、より複雑でスケーラブルなソリューション ファイバーは 2014 年 6 月に遡り、その後初めて公開されました 同年1、透過的なチェーン間実行メカニズムを提供する単一のリレーチェーンと複数の同種チェーンの主張を行いました。 デコヒーレンスには代償が支払われた トランザクション レイテンシによる - トランザクションを必要とする システムの異なる部分を調整することで、 処理に時間がかかります。 Polkadot は、そのアーキテクチャの多くを、それとその後の会話から取り入れています。 ただし、その設計と規定の多くは大きく異なります。 Polkadot に匹敵するシステムはありませんが、 実際に実稼働中であり、何らかの関連性を持ついくつかのシステム 提案されているが、実質的なレベルではほとんどない 詳細。これらの提案は、システムに分解される グローバルに一貫性のある概念を削除または削減します。 ステート マシン、グローバルに提供しようとするもの 均質なシャードによるコヒーレントなシングルトン マシン 異質性のみを対象とするものもあります。 2.2.1.グローバル状態のないシステム。 Factom [21] は、対応するものなしで正規性を実証するシステムです。 有効性を高め、データの記録を効果的に可能にします。グローバルな状態と困難を回避するため これによってもたらされるスケーリングを考慮すると、スケーラブルなソリューションと考えることができます。ただし、前述したように、このセットは それによって解決される問題の割合は厳密かつ実質的に小さくなります。 Tangle [18] は、コンセンサス システムへの新しいアプローチです。 トランザクションをブロックに配置し、厳密にリンクされたリストに基づいて合意を形成して、状態変化の世界的に標準的な順序付けを行うのではなく、高度に構造化された順序付けの概念を大幅に放棄し、代わりに 初期の項目を正規化するのに役立つ、後の項目を持つ依存トランザクションの有向非巡回グラフを推進します。 明示的な参照を通じて。任意の状態変化の場合、 この依存関係グラフはすぐに手に負えなくなるでしょう。 ただし、より単純な UTXO モデル 2 の場合、これは次のようになります。 かなり合理的です。システムの一貫性は緩やかであり、トランザクションは通常、それぞれから独立しているためです。 その他、大量のグローバル並列処理が非常に多くなります。 自然な。 UTXO モデルを使用すると効果があります タングルを純粋に価値移転「通貨」に限定すること より一般的または拡張可能なものではなく、システムです。 さらに、厳密なグローバル一貫性がなければ、他のシステムとの相互作用は、絶対的なシステムを必要とする傾向があります。 システム状態に関するある程度の知識は非現実的になります。 1https://github.com/ethereum/wiki/wiki/Chain-Fibers-Redux 2 未使用のトランザクション出力。Bitcoin が使用するモデル。これにより、状態は事実上、ある値に関連付けられたアドレスのセットになります。 トランザクションはそのようなアドレスを照合し、合計が等しい新しいアドレスのセットに再構成します。

POLKADOT: 異種マルチチェーン フレームワークのビジョン ドラフト 1 3 2.2.2.異種チェーン システム。サイドチェーン [3] は メインの Bitcoin チェーン間のトラストレスな対話を可能にする Bitcoin プロトコルへの追加を提案 そして追加のサイドチェーン。何の規定もありません 側鎖間の「豊富な」相互作用の程度: 相互作用は、側鎖の相互作用を可能にするものに限定されます。 お互いの資産を管理し、地域内で影響を与える 専門用語—双方向ペッグ 3. 最終的なビジョンは、Bitcoin 通貨を提供できるフレームワークです。 ペギングによる追加機能 (周辺機能である場合) よりエキゾチックな状態遷移を伴う他のチェーンへ Bitcoin プロトコルで許可されているシステムを超えています。この意味で、 サイドチェーンは、スケーラビリティではなく拡張性に対処します。 実際、サイドチェーンの有効性に関する規定は基本的にありません。 1 つのチェーンからの token 個 (例: Bitcoin) サイドチェーンに代わって保持されるのは、 マイナーに正規化を促すサイドチェーンの機能 有効な遷移。 Bitcoin ネットワークのセキュリティ 他の人に代わって仕事に簡単に移行できない blockchain秒。さらに、Bitcoin を保証するためのプロトコル マイナーはマージマイニング (つまり、正規化権限をサイドチェーンの権限に複製します) し、さらに重要なことに、サイドチェーンの遷移が外部にあることを検証します。 この提案の範囲。 Cosmos [10] は、 サイドチェーンと同じ流れで、ナカモトのPoWを交換します Jae Kwon の Tendermint アルゴリズムのコンセンサス手法。 基本的に、それは複数のチェーン(で動作する)を記述します。 ゾーン) それぞれが Tendermint の個別のインスタンスを使用し、 マスターハブチェーン。このチェーン間通信は、任意の情報ではなく、デジタル資産 (「具体的には tokens について」) の転送に限定されていますが、このようなチェーン間通信にはデータのリターン パスがあり、 例:転送のステータスを送信者に報告するため。 ゾーンチェーンのバリデーターセット、特に 彼らを奨励する手段は、サイドチェーンと同様に、左にあります。 未解決の問題として。一般的な仮定は次のとおりです 各ゾーンチェーン自体は、validator の支払いに使用される値の token を保持します。まだ初期段階にある 設計の点で、現時点ではこの提案には、スケーラブルな設計を達成するための経済的手段に関する包括的な詳細が欠けています。 グローバルな妥当性に対する確実性。ただし、ゾーンとハブの間に必要な緩やかな一貫性により、 ゾーンのパラメータに対する柔軟性をさらに高めるため より強力なチェーンを適用するシステムのチェーンと比較して、 一貫性。 2.2.3.キャスパー。 Casper [6] と Polkadot の包括的なレビューや比較はまだ行われていません かなり広範囲に作成することもできますが、 (したがって不正確な) 2 つの特徴付け。 Casper は、PoS コンセンサス アルゴリズムの仕組みを再考したものです 参加者がどのフォークに賭けるかに基づいている可能性があります 最終的には正規化されるでしょう。ネットワークに対する堅牢性を確保するために十分な考慮が払われました 延長された場合でもフォークを使用し、基本的な Ethereum モデルに加えてある程度の追加のスケーラビリティを備えています。として このように、Casper はこれまでのところ、実質的に Polkadot やその前身よりも複雑なプロトコル、 基本的な blockchain 形式から大幅に逸脱しています。それ Casper が将来どのように反復するかはまだわかりません そして、それが最終的に展開された場合にどのようになるか。 Casper と Polkadot はどちらも興味深い新しいプロトコルであり、ある意味では、 Ethereum、両者の間には大きな違いがあります。 最終的な目標と導入までの道筋。 キャスパーは、 Ethereum 当初設計された財団中心のプロジェクト 意図せずにプロトコルの PoS 変更を行うこと 基本的にスケーラブルな blockchain を作成します。重要なことは、それは、 これ以上拡張的なものではなく、ハードフォークとして設計されているため、すべての Ethereum クライアントとユーザーは アップグレードするか、採用が不確実な分岐点に留まる必要があります。そのため、緊密な分散プロジェクトに特有のこととして、デプロイメントは大幅に困難になります。 調整が必要です。 Polkadot はいくつかの点で異なります。何よりもまず、 Polkadot は、完全に拡張可能でスケーラブルになるように設計されています。 blockchain 開発、展開、および対話テスト ベッド。これは、ほぼ将来性のあるハーネスとして構築されており、 新しいblockchainを同化する過度に複雑な分散型調整なしで利用できるテクノロジー またはハードフォーク。私たちはすでに次のようないくつかのユースケースを想定しています 暗号化されたコンソーシアムチェーンおよび高周波チェーンとして ブロック時間が非常に短いため、実行するのは非現実的です。 現在想定されている Ethereum の将来のバージョン。最後に、それと Ethereum との結合は非常に強力です。 緩い; Ethereum 側でのアクションは必要ありません。 2 つの間のトラストレスなトランザクション転送を有効にする ネットワーク。 つまり、Casper/Ethereum 2.0 および Polkadot いくつかのつかの間の類似点を共有しますが、私たちは彼らの最終目標を信じています 実質的に異なっており、競合するのではなく、 2 つのプロトコルは最終的には共存する可能性があります。 予見可能な将来にわたって相互に有益な関係を維持します。

介绍

区块链在包括“物联网”在内的多个领域展示了巨大的实用前景 (物联网)、财务、治理、身份管理、网络去中心化和资产跟踪。然而,尽管 技术承诺和宏大的言论,我们还没有看到 当前技术在现实世界中的重大部署。 我们认为,这归因于当前的五个关键失败 技术栈: 可扩展性:全球花费了多少资源 系统处理单笔交易的处理能力、带宽和存储以及多少 交易可以合理地处理 峰值条件? 隔离性:能否满足多个人的不同需求 各方和应用程序是否可以在同一框架下达到近乎最佳的程度? 可开发性:这些工具的工作效果如何?做 API 满足了开发人员的需求吗?有教育材料吗?那里有正确的集成吗? 治理:网络能否保持灵活性 随着时间的推移而发展和适应? 决策可以是 具有足够的包容性、合法性和 透明度,以提供有效的领导 去中心化系统? 适用性:该技术本身是否真的能够满足迫切的需求?是否需要其他“中间件”来弥补差距 实际应用? 在目前的工作中,我们的目标是解决前两个问题 问题:可扩展性和隔离性。也就是说,我们相信 Polkadot 框架可以为每一类问题提供有意义的改进。 现代、高效的 blockchain 实现,例如 Parity Ethereum 客户端 [17] 可以处理超过 在高性能消费类硬件上运行时每秒处理 3,000 个事务。 然而,目前的现实世界 blockchain 网络实际上仅限于 30 个左右 每秒交易数。 这种限制主要源于当前的同步共识机制需要广泛的时间安全裕度。 预期的处理时间,这会因Polkadot:异构多链框架的愿景 草案1 2 希望支持较慢的实现。这是由于 底层共识架构:状态转换机制,或者各方核对的方式 并执行交易,其逻辑从根本上联系在一起 进入共识“规范化”机制,或者 指各方就多项协议中的一项达成一致的方式 可能的、有效的、历史的。 这同样适用于 proof-of-work (PoW) 系统,例如 Bitcoin [15] 和 Ethereum [5,23] 以及股权证明 (PoS) 系统,例如 NXT [8] 和 Bitshares [12]: 所有人最终都会遭受同样的障碍。这是一个简单的 帮助 blockchain 取得成功的策略。然而, 通过将这两种机制紧密耦合成一个单元 协议中,我们还将多个不同的协议捆绑在一起 具有不同风险状况、不同可扩展性要求和不同隐私需求的参与者和应用程序。 一种尺寸并不适合所有情况。很多时候,情况是在一个 为了获得广泛的吸引力,网络采取了一定程度的保守主义,从而导致了最低公分母 只为少数人提供最佳服务,最终导致失败 有时表现在创新、执行和适应的能力上 戏剧性地如此。 一些系统,例如Factom [21] 完全放弃了状态转换机制。然而,大部分 我们想要的效用需要能够转换状态 根据共享状态机。丢掉就可以解决 一个替代问题;它没有提供替代方案 解决方案。 因此,似乎很清楚,一个合理的方向 探索可扩展的去中心化计算的途径 平台的目的是将共识架构与 状态转换机制。而且,也许并不奇怪,这就是 Polkadot 所采用的可扩展性解决方案的策略。 2.1.协议、实施和网络。喜欢 Bitcoin 和 Ethereum、Polkadot 同时指网络协议和(迄今为止假定的)主协议 运行该协议的公共网络。 Polkadot 旨在成为一个免费和开放的项目,协议规范采用知识共享许可,并且 代码被置于 FLOSS 许可证之下。该项目是 以开放的方式开发并接受贡献 无论它们在哪里有用。 RFC 系统,与 Python 增强提案将允许一种方法 就协议变更和升级进行公开合作。 我们最初实施 Polkadot 协议 将被称为 Parity Polkadot 平台,并将 包括完整的协议实现和 API 绑定。与其他 Parity blockchain 实现一样, PPP 被设计为通用的 blockchain 技术堆栈,既不是公共网络独有的,也不是 私人/财团运营。它的发展是这样的 Far 已由多方资助,包括通过 英国政府的拨款。 尽管如此,本文仍然描述了 Polkadot 公共网络的上下文。我们在公共网络中设想的功能是公共网络中所需功能的超集 替代(例如私人和/或联盟)设置。此外,在这种情况下,Polkadot 的完整范围可以 进行更清晰的描述和讨论。这确实意味着 读者应该意识到某些机制可能 与 Polkadot 不直接相关的描述(例如与其他公共网络的互操作) 在非公开(“许可”)情况下部署时。 2.2.以前的工作。已经非正式地提议将基本共识与状态转换脱钩 私下里至少有两年的时间——马克斯·凯伊 (Max Kaye) 在公司成立之初就是这种策略的支持者。 Ethereum。 一种更复杂的可扩展解决方案,称为“链” Fibers,可追溯到 2014 年 6 月,随后首次发布 那一年1,提出了使用单个中继链和多个同质链提供透明的链间执行机制的案例。 退相干是付费的 通过交易延迟——交易需要 系统不同部分的协调将 需要更长的时间来处理。 Polkadot 的大部分架构都来自于此以及后续对话 尽管它的设计和规定有很大不同,但它却适用于不同的人。 虽然没有可与 Polkadot 相媲美的系统 实际上在生产中,有一些相关的系统 已提出建议,尽管很少有实质性的建议 细节。这些建议可以是分解成系统 它放弃或减少了全球一致的概念 状态机,那些试图提供全局的 通过同质分片实现连贯的单例机器 以及仅针对异质性的那些。 2.2.1.没有全局状态的系统。 Factom [21] 是一个无需遵循规范即可证明规范性的系统 有效性,有效地允许记录数据。由于避免全局状态和困难 通过这带来的扩展,它可以被认为是一个可扩展的解决方案。然而,正如前面提到的,集合 它解决的问题数量严格来说要小得多。 Tangle [18] 是一种新颖的共识系统方法。 它不是将交易安排到区块中并就严格链接的列表达成共识以给出状态更改的全球规范排序,而是在很大程度上放弃了高度结构化排序的想法,而是 推动依赖事务的有向无环图,其中后面的项目有助于规范化早期的项目 通过显式引用。对于任意状态变化, 这个依赖图很快就会变得棘手, 然而对于更简单的 UTXO model2 这变成 相当合理。因为系统只是松散地连贯,并且事务通常彼此独立 另外,大量的全局并行性变得相当 自然的。 使用 UTXO 模型确实有效果 将 Tangle 限制为纯粹的价值转移“货币” 系统而不是任何更通用或可扩展的东西。 此外,如果没有硬性的全球一致性,与其他系统的交互——这往往需要绝对的 对系统状态的程度了解变得不切实际。 1https://github.com/ethereum/wiki/wiki/Chain-Fibers-Redux 2未花费的交易输出,Bitcoin 使用的模型,其中状态实际上是与某个值关联的地址集; 交易将这些地址进行整理,并将其重组为一组总和相等的新地址

Polkadot:异构多链框架的愿景 草案1 3 2.2.2.异构链系统。侧链 [3] 是 提议对 Bitcoin 协议进行补充,该协议将允许主 Bitcoin 链之间进行无需信任的交互 和额外的侧链。没有任何规定 侧链之间“丰富”相互作用的程度:相互作用将仅限于允许侧链 彼此资产的托管人,在当地发挥作用 行话——双向挂钩 3. 最终愿景是建立一个可以提供 Bitcoin 货币的框架 通过挂钩附加的(如果是外围的)功能 到其他一些具有更奇特状态转换的链上 Bitcoin 协议允许的系统。从这个意义上说, 侧链解决的是可扩展性而不是可扩展性。 事实上,侧链的有效性基本上没有规定;来自一条链的 tokens(例如 Bitcoin) 代表侧链持有的数据仅由 侧链激励矿工标准化的能力 有效的转换。 Bitcoin 网络的安全 不能轻易地转为代表其他人工作 blockchains。此外,还有一个用于确保 Bitcoin 的协议 矿工合并挖矿(即将其规范化能力复制到侧链上),更重要的是,验证侧链的转换是否在 本提案的范围。 Cosmos [10] 是提议的多链系统 与侧链相同,交换了 Nakamoto PoW Jae Kwon 的 Tendermint 算法的共识方法。 本质上,它描述了多个链(在 区域),每个区域都使用 Tendermint 的单独实例,以及通过 主轮毂链。这种链间通信仅限于数字资产的传输(“具体是关于tokens”)而不是任意信息,但是这种链间通信确实有数据的返回路径, 例如向发件人报告传输状态。 分区链的验证器集,特别是 激励他们的手段,就像侧链一样,被留下了 作为一个未解决的问题。一般假设是 每个分区链本身都会持有 token 的价值,其通货膨胀用于支付 validator 的费用。仍处于早期阶段 设计方面,目前该提案缺乏关于实现可扩展的经济手段的全面细节 全球有效性的确定性。然而,区域和中心之间所需的松散一致性将允许 为分区参数提供额外的灵活性 与执行力更强的系统相比,链条 连贯性。 2.2.3.卡斯帕。迄今为止,Casper [6] 和 Polkadot 之间尚未进行全面审查或并排比较 已经制定了,尽管人们可以做出相当全面的 (因此不准确)两者的表征。 Casper 重新构想了 PoS 共识算法 可以基于参与者对哪个分叉的投注 最终将成为规范。充分考虑确保其对网络的鲁棒性 分叉,即使延长,并且在基本 Ethereum 模型之上具有一定程度的可扩展性。作为 因此,Casper 迄今为止往往是一个更 比 Polkadot 及其祖先更复杂的协议,以及 与基本 blockchain 格式有很大偏差。它 Casper 未来将如何迭代仍不得而知 以及最终部署后会是什么样子。 虽然 Casper 和 Polkadot 都代表了有趣的新协议,并且在某种意义上,增强了 Ethereum,它们之间存在显着差异 最终目标和部署路径。 卡斯帕是一个 Ethereum 最初设计的以基金会为中心的项目 是对协议的 PoS 更改,但不希望 创建一个基本可扩展的 blockchain。关键的是,它是 设计为硬分叉,而不是任何更广泛的东西,因此所有 Ethereum 客户和用户都将 需要升级或保留在不确定采用的分叉上。因此,部署变得更加困难,这是分散式项目所固有的,在这种情况下, 协调是必要的。 Polkadot 在几个方面有所不同;首先也是最重要的, Polkadot 被设计为完全可扩展和可扩展的 blockchain 开发、部署和交互测试 床。它是一款基本上面向未来的安全带,能够 同化新的blockchain无需过于复杂的去中心化协调即可使用的技术 或硬分叉。我们已经设想了几个用例,例如 如加密联盟链和高频链 出块时间非常短,这是不现实的 当前设想的 Ethereum 的任何未来版本。最后,它和Ethereum之间的耦合度非常高 松动; Ethereum 无需采取任何行动 启用两者之间的去信任交易转发 网络。 简而言之,虽然 Casper/Ethereum 2.0 和 Polkadot 有一些短暂的相似之处,我们相信他们的最终目标 本质上是不同的,而不是竞争, 这两个协议最终可能会在一个协议下共存 在可预见的未来建立互惠互利的关系。

まとめ

Polkadot は、スケーラブルな異種マルチチェーンです。これ 以前の blockchain 実装とは異なることを意味します さまざまなチェーンを単一チェーンで提供することに重点を置いています。 潜在的なアプリケーションに対する一般性の度合い、Polkadot それ自体は、アプリケーション固有の機能をまったく提供しないように設計されています。 むしろ、Polkadot が基盤を提供します 多数の検証可能な「リレーチェーン」、 グローバルに一貫性のある動的データ構造をホストできる 並んで。これらのデータ構造を「並列化」と呼びます。 チェーンまたはパラチェーン。ただし、特に必要なわけではありません。 それらは本質的にblockchainであると考えられます。 言い換えれば、Polkadot は独立したチェーンのセット (例: Ethereum、Ethereum Classic、Namecoin、および Bitcoin)、2 つの非常に重要な点を除きます。 • プールされたセキュリティ。 • トラストフリーのチェーン間取引可能性。 これらの点が、Polkadot が「スケーラブル」であると考える理由です。原則として、Polkadot にデプロイされる問題は、実質的に並列化、スケールアウトすることができます。 多数のパラチェーン。それぞれのあらゆる側面から、 パラチェーンは Polkadot ネットワークの異なるセグメントによって並行して実行される可能性があり、システムには何らかの機能があります スケールするために。 Polkadot は、かなり必要最低限の部分を提供します。 3一方向ペグとは対照的に、基本的に 1 つのチェーン内の token を破棄して、別のチェーンに token を作成します。 元の token を回復するために逆の処理を行うメカニズムPOLKADOT: 異種マルチチェーン フレームワークのビジョン ドラフト 1 4 インフラストラクチャの複雑さの多くはミドルウェア レベルで解決される必要があります。これは開発リスクを軽減することを目的とした意識的な決定であり、 必要なソフトウェアを短期間で開発する必要がある そしてそのセキュリティには十分な自信があり、 堅牢性。 3.1. Polkadot の哲学。 Polkadot すべきです 絶対的な強固な基盤を提供します。 コンセンサス システムの次の波を即座に構築する 生産可能な成熟した設計からのリスクスペクトル 初期のアイデアに。 Polkadot は、セキュリティ、分離、通信に対する強力な保証を提供することで、 パラチェーン自体をさまざまなプロパティから選択します。 実際、私たちは、賢明であると考えられるものの特性を押し上げるさまざまな実験的な blockchain を予見しています。 今日。 私たちは保守的だと考えていますが、 ~に似た高価値チェーン Bitcoin または Z-cash [20] が低額と共存 「テーマチェーン」(このようなマーケティング、非常に楽しい)とテストネット 手数料はゼロ、またはほぼゼロです。 完全に暗号化されていることがわかります。 「ダーク」、コンソーシアム チェーンが並行して運営され、さらには 高機能でオープンなチェーンへのサービスの提供 Ethereum など。実験的な新しいものを見る 主観的な時間課金型の Wasm などの VM ベースのチェーン チェーンは、より成熟したEthereumのようなチェーンから難しい計算問題をアウトソーシングする手段として使用されています または、より制限された Bitcoin のようなチェーン。 チェーン アップグレードを管理するために、Polkadot は本質的に 何らかのガバナンス構造をサポートしている可能性が高い 既存の安定した政治制度と、イエローペーパー評議会[24]と同様の二院制の側面を持っています。として 最終的な権威である、根底にあるステーカブルtoken保有者が「国民投票」のコントロールを有することになる。ユーザーの意見を反映するため 開発の必要性はあるが、開発者の正当性の必要性も考慮すると、合理的な方向性は、 両院の「ユーザー」委員会(以下で構成) validators) と「技術」委員会が設立されました 主要なクライアント開発者とエコシステムプレーヤーの数。 の token 保有者の集団は究極の正当性を維持し、この構造を強化、再パラメータ化、置き換え、または解体する超多数派を形成するでしょう。 トウェインの言葉を借りれば、最終的には次のことが必要になることを疑ってはなりません。 「おむつもおむつも頻繁に交換しなければなりませんし、 同じ理由です。」 通常、再パラメータ化は大規模なコンセンサスメカニズム内で調整するのは簡単ですが、置き換えや増強などのより質的な変更は、 おそらく、自動化されていない「軟令」(例: ブロック番号の正規化と 新しいプロトコルを正式に指定する文書の hash) あるいは、核となるコンセンサスメカニズムに、 それ自体のあらゆる側面を説明するのに十分な豊かな言語 変更する必要があるかもしれません。後者は最終的な目標ですが、 ただし、次の目的では前者が選択される可能性が高くなります。 合理的な開発スケジュールを促進します。 Polkadot の主な信条とその中のルール 私たちはすべての設計上の決定事項を次のように評価します。 最小限: Polkadot にはできる限り機能を少なくする必要があります。 シンプル: 追加の複雑さは存在すべきではありません 基本プロトコルでは合理的に考えられる以上の ミドルウェアにオフロードされ、 を通して置かれる パラチェーン、または後の最適化で導入されました。 一般: 不必要な要件や制約はありません またはパラチェーンに制限を設ける必要があります。 Polkadot は、次の方法で最適化できるコンセンサス システム開発のテスト ベッドである必要があります。 拡張機能が適合するモデルを可能な限り抽象化します。 堅牢: Polkadot は基本的に 安定したベースレイヤー。これは、経済の健全性に加えて、最小限に抑えるための分散化も意味します。 高額な報酬をもたらす攻撃のベクトル。

概括

Polkadot 是一个可扩展的异构多链。这个 意味着与之前的 blockchain 实现不同 其重点是提供不同的单一链 潜在应用的通用性程度,Polkadot 其本身根本不提供任何固有的应用程序功能。 相反,Polkadot 提供了基础 “中继链”上有大量可验证的、 可以托管全球一致的动态数据结构 并排。我们将这些数据结构称为“并行” 链或平行链,尽管没有特殊需要 它们本质上是blockchain。 换句话说, Polkadot 可以被认为等同于一组独立的链(例如包含 Ethereum、Ethereum Classic、Namecoin 和 Bitcoin),但有两点非常重要: • 集中安全; • 免信任的链间交易性。 这些点就是我们认为 Polkadot 是“可扩展的”的原因。原则上,要在 Polkadot 上部署的问题可以基本上并行化(横向扩展) 大量的平行链。由于各个方面 平行链可以由 Polkadot 网络的不同部分并行进行,系统具有一定的能力 规模化。 Polkadot 提供了一个相当简单的部分 3 与单向挂钩相反,单向挂钩本质上是销毁一条链中的 tokens 以在另一条链中创建 tokens 的操作,而无需 执行相反操作以恢复原始 tokens 的机制Polkadot:异构多链框架的愿景 草案1 4 基础设施使大部分复杂性需要在中间件级别解决。这是一个有意识的决定,旨在降低开发风险,使 需要在短时间内开发出必要的软件 并对其安全性和安全性充满信心 鲁棒性。 3.1. Polkadot 的哲学。 Polkadot 应该 提供绝对坚如磐石的基础 建立下一波共识系统,通过 可生产的成熟设计的风险范围 到新生的想法。通过提供安全、隔离和通信方面的强有力保证,Polkadot 可以允许 平行链可以从一系列属性本身中进行选择。 事实上,我们预见到各种实验性的 blockchain 会推动被认为合理的特性 今天。 我们看到保守派, 高价值链类似于 Bitcoin 或 Z-cash [20] 与较低价值共存 “主题链”(这样的营销,很有趣)和测试网 零或接近零费用。 我们看到完全加密的, “黑暗”的联盟链并肩运作,甚至 提供服务——功能强大的开放链 例如 Ethereum 之类的。我们看到实验性的新 基于虚拟机的链,例如主观计时的 wasm 链被用作从更成熟的 Ethereum 类链外包困难计算问题的手段 或更受限制的类似 Bitcoin 的链。 为了管理链升级,Polkadot 本质上将 支持某种治理结构,可能基于 现有稳定的政治制度,并具有类似于黄皮书理事会[24]的两院制。作为 作为最终权力,潜在的 token 持有者将拥有“公投”控制权。为了反映用户的 发展的需要,但开发商需要合法性,我们预计合理的方向是形成 来自“用户”委员会的两个议院(由 保税validators)和一个“技术”委员会组成 主要客户开发人员和生态系统参与者。 的 token 持有者的主体将保持最终的合法性,并形成绝对多数来扩大、重新参数化、替换或解散这个结构,我们 不要怀疑最终的需要:用吐温的话来说 “政府和尿布必须经常更换,并且为了 同样的理由”。 虽然重新参数化通常在更大的共识机制中安排起来很简单,但更多的质变(例如替换和增强)将 可能需要是非自动化的“软法令”(例如 通过块号的规范化和 正式指定新协议的文档的 hash) 或者需要核心共识机制来包含 足够丰富的语言来描述其自身的任何方面 这可能需要改变。后者是最终目标, 然而,前者更有可能被选择,以便 制定合理的开发时间表。 Polkadot 的主要原则和规则 我们评估所有设计决策是: 最小:Polkadot 应具有尽可能少的功能。 简单:不应出现额外的复杂性 在基本协议中比可以合理地 o加载到中间件中, 通过放置 平行链或在以后的优化中引入。 一般:没有不必要的要求、约束 或者应该对平行链进行限制; Polkadot 应该是共识系统开发的测试平台,可以通过以下方式进行优化: 使适合扩展的模型尽可能抽象。 稳健:Polkadot 应该提供一个基本的 稳定的基层。除了经济稳健之外,这还意味着去中心化以最大限度地减少 高回报攻击的向量。

Polkadot への参加

Polkadot の維持には 4 つの基本的な役割があります。 ネットワーク: 照合者、漁師、指名者、validator。で Polkadot の実装可能な 1 つ、後者の役割 実際には、基本的な validator と可用性の保証という 2 つの役割に分類できます。これについてはセクションで説明します 6.5.3. コレーター 漁師 バリデーター (このグループ) バリデーター (他のグループ) 承認する になる モニター レポート 悪い に対する行動 ブロックを提供します 候補者 のために 推薦者 図 1. 間の相互作用 Polkadot の 4 つの役割。 4.1.バリデーター。 validator は最高料金であり、 Polkadot ネットワーク上の新しいブロックを封印するのに役立ちます。 validator の役割は、十分に高い結合力に依存します ただし、他の保税当事者に預けられることは許可されています。 彼らのために行動する 1 人以上の validator を指名し、 validator の債券のそのような一部は、必ずしも validator 自体が所有しているわけではなく、これらの者が所有している可能性があります。 推薦者。 validator は、高可用性と帯域幅を備えたリレー チェーン クライアント実装を実行する必要があります。各ブロックで ノードは批准の役割を受け入れる準備ができていなければなりません 指定されたパラチェーン上の新しいブロック。 このプロセス 候補者の受信、検証、再公開が含まれます ブロック。指名は決定的ですが、事前に予測することは事実上不可能です。 validator はできないため、 完全な同期を維持することが合理的に期待される すべてのパラチェーンのデータベースを作成するには、validator が提案された新しいパラチェーンを考案するタスクを指名することが期待されます。 コレーターとして知られるサードパーティへのパラチェーン ブロック。 すべての新しいパラチェーン ブロックが、指定された validator サブグループ、validator によって適切に承認されると、 その後、リレーチェーンブロック自体を承認する必要があります。これには、 トランザクションキューの状態を更新する(本質的には パラチェーンの出力キューから別の出力キューにデータを移動する パラチェーンの入力キュー)、トランザクションを処理します。 承認されたリレーチェーントランザクションセットと承認 最終ブロック(最後のパラチェーン変更を含む)。POLKADOT: 異種マルチチェーン フレームワークのビジョン ドラフト 1 5 validator は合意を見つける義務を果たしていない 私たちが選択したコンセンサスアルゴリズムのルールの下では罰せられます。初期の意図しない障害の場合、これは次のとおりです。 validator の報酬を保留します。失敗が繰り返されると、セキュリティ保証金が (焼き付けによって) 減少します。二重署名や 共謀して無効なブロックを提供すると、 債券全体(部分的には燃えていますが、ほとんどが残っています) 情報提供者と誠実な関係者に)。 ある意味、validator はマイニング プールに似ています。 現在の PoW blockchain 件。 4.2.推薦者。指名者は利害関係者です validator の保証金に貢献した人。彼らは リスク資本を投入する以外に追加の役割はありません。 特定の validator (または のメンテナンスにおいて責任を持って行動すること。 ネットワーク。 比例配分された増額または減額が受けられます 債券の成長に応じて預金に入金されます。 彼らは貢献します。 照合者と合わせて、次に、推薦者もいくつかいます。 現在のPoWネットワークのマイナーと同じ感覚です。 4.3.照合者。取引照合者(略して照合者) validator が有効なものを作成するのを支援する当事者です。 パラチェーンブロック。彼らは特定のパラチェーンの「フルノード」を維持します。つまり、必要なものはすべて保持されます 新しいブロックを作成して実行できるようにするための情報 現在の PoW blockchain に対してマイナーが行うのとほぼ同じ方法でトランザクションを実行できます。通常の状況では、彼らは、 トランザクションを照合して実行し、封印されていないものを作成します をブロックし、ゼロ知識とともに提供する 現在責任を負っている 1 人以上の validator に証拠を提出します。 パラチェーンブロックを提案しています。 照合者、推薦者、validator 間の関係の正確な性質は変わる可能性があります。 時間。当初は、照合者が非常に緊密に連携することが期待されます validators は数が少ないため (おそらく 1 つだけ)トランザクション量が少ないパラチェーン。の 初期のクライアント実装には、 パラチェーン コレーター ノードは、(リレーチェーン) validator ノードに有効なパラチェーンを無条件に提供します ブロック。 同期バージョンを維持するコストとして このようなパラチェーンがすべて増加すると、さらに多くのパラチェーンが発生すると予想されます。 インフラを整備することで、 独立した経済的動機を持つ当事者に対する義務。 最終的には、 最も多くの取引手数料を徴収します。このような照合者は、報酬収益の継続的な分配のために、一定期間にわたって特定の validator を提供する契約を結ぶ可能性があります。 あるいは、「フリーランス」の照合者が単純に すぐに支払われる報酬の競争力のあるシェアと引き換えに、有効なパラチェーンブロックを提供する市場。同様に、分散型の推薦者プールでは、複数の推薦者プールが許可されます。 結束した参加者が調整し、責任を共有する validator。このプール機能により、オープンな参加が保証されます より分散化されたシステムにつながります。 4.4.漁師さんたち。他の2つのアクティブなパーティーとは異なり、 漁師はブロックオーサリングに直接関係していない プロセス。むしろ彼らは独立した「賞金稼ぎ」です。 高額な 1 回限りの報酬が動機です。 まさに、 漁師の存在を考えると、不正行為が起こることはめったになく、不正行為が起こるのは次のような場合のみであると予想されます。 結合した当事者が秘密鍵のセキュリティに不注意である、 悪意によるものではなく。名前が来る 予想される報酬の頻度、参加するための最小要件、および最終的な報酬のサイズから構成されます。 漁師は、タイムリーに次のことを証明することで報酬を得ることができます。 少なくとも一方の保税当事者が違法行為を行った。違法行為 それぞれ同じ承認された親を持つ 2 つのブロックに署名すること、またはパラチェーンの場合は無効なブロックの承認を支援することが含まれます。 ブロック。過剰な報酬や妥協を防ぐため、 セッションの秘密鍵の不正使用、基本報酬 単一の validator の違法に署名されたメッセージを提供することは、 最小限。この報酬は、増加するにつれて漸近的に増加します 他のvalidatorからの違法な署名を裏付けるものは、 本物の攻撃を暗示するもの。漸近線が設定されています 少なくとも次の基本的なセキュリティ主張に従って 66% validator の 3 分の 2 は慈善的に行動します。 フィッシャーマンは、以下の「フルノード」に似ています。 リソースが必要とする現在の blockchain システム 比較的小規模であり、安定した稼働時間を約束します 帯域幅も必要ありません。漁師の違いはこうだ 少額の保証金を支払わなければならないのと同じくらい。この絆は、 validator秒の時間と計算を無駄にするシビル攻撃 リソース。すぐに撤回可能ですが、おそらくそうではありません 数ドル相当以上の金額がかかる可能性があります 不正行為を発見することで多額の報酬を得る validator。

参与 Polkadot

Polkadot 的维护有四个基本角色 网络:整理者、渔夫、提名者和 validator。在 Polkadot 的一种可能实现,后一个角色 实际上可以分为两个角色:基本validator和可用性保证人;这将在一节中讨论 6.5.3. 校订者 渔夫 验证者 (本组) 验证者 (其他团体) 批准 变成 监视器 报告 坏 行为 提供块 候选人 为了 提名人 图 1. 之间的交互 Polkadot 的四个角色。 4.1.验证者。 validator 是最高费用, 帮助密封 Polkadot 网络上的新区块。 validator 的角色取决于足够高的债券 正在存入,尽管我们允许其他担保方 提名一名或多名 validator 代表他们行事并担任 validator 债券的此类部分不一定由 validator 本身拥有,而是由这些人拥有 提名者。 validator 必须运行具有高可用性和带宽的中继链客户端实现。在每个街区 节点必须准备好接受批准的角色 指定平行链上的新区块。 这个过程 涉及接收、验证和重新发布候选人 块。提名是确定性的,但实际上是无法提前预测的。由于 validator 不能 合理地期望保持完全同步 所有平行链的数据库,预计 validator 将提名设计一个建议的新的任务 平行链区块交给第三方,称为整理者。 一旦所有新的平行链区块都被指定的 validator 子组正确批准,validators 然后必须批准中继链区块本身。这涉及到 更新事务队列的状态(本质上是 将数据从平行链的输出队列移动到另一个 平行链的输入队列),处理交易 批准的中继链交易集并批准 最终区块,包括最终的平行链更改。Polkadot:异构多链框架的愿景 草案1 5 A validator 没有履行寻求共识的职责 根据我们选择的共识算法的规则受到惩罚。对于最初的、无意的失败,这是通过 扣留 validator 的奖励。反复失败会导致其安全保证金减少(通过销毁)。可证明的恶意行为,例如双重签名或 合谋提供无效区块导致损失 整个债券(部分被烧毁,但大部分被给予 告密者和诚实的行为者)。 从某种意义上来说,validator类似于矿池 当前 PoW blockchains。 4.2.提名人。提名人是股东 谁为 validator 的保证金出资。他们 除了投入风险资本外没有其他作用 这样表明他们信任特定的 validator (或 集)以负责任的方式维护 网络。 他们获得按比例增加或减少 根据债券的增长在存款中 他们做出了贡献。 接下来,提名者与整理者一起参与一些 感觉类似于当今 PoW 网络的矿工。 4.3.校勘者。交易整理者(简称整理者) 协助 validators 出示有效文件的各方是 平行链区块。他们为特定的平行链维护一个“全节点”;这意味着他们保留了所有必要的 能够创作新块并执行的信息 交易方式与矿工在当前 PoW blockchain 上的交易方式大致相同。正常情况下,他们 将整理并执行交易以创建未密封的 块,并与零知识一起提供它 证明,交给目前负责的一个或多个 validator 提出平行链区块。 整理者、提名者和 validator 之间关系的确切性质可能会发生变化 时间。最初,我们希望整理者能够非常密切地合作 与 validators,因为只有少数(也许 只有一个)交易量很小的平行链。的 初始客户端实现将包括 RPC,以允许 平行链整理节点无条件地向(中继链)validator 节点提供可证明有效的平行链 块。 由于维护同步版本的成本 所有此类平行链都会增加,我们预计会看到更多 基础设施到位,这将有助于分离 对独立的、有经济动机的各方的义务。 最终,我们期望看到收集者池相互竞争 收取最多的交易费用。此类整理者可能会签订合同,在一段时间内为特定的 validator 提供服务,以获得奖励收益的持续份额。 或者,“自由职业者”整理者可以简单地创建一个 市场提供有效的平行链区块,以换取立即支付的有竞争力的奖励份额。同样,去中心化的提名人池将允许多个 债券参与者协调并分担责任 validator。这种汇集能力确保了开放参与 导致更加去中心化的系统。 4.4.渔民。与另外两个活跃的政党不同, 渔民与区块创作没有直接关系 过程。相反,他们是独立的“赏金猎人” 受到巨大的一次性奖励的激励。 正是由于 由于渔民的存在,我们预计不当行为事件很少发生,而发生这种情况只是由于 担保方对密钥安全不重视, 而不是出于恶意。名字来了 从预期的奖励频率、参与的最低要求以及最终的奖励规模。 渔民通过及时证明来获得奖励 至少有一个担保方有非法行为。违法行为 包括签署两个区块,每个区块都具有相同的批准父级,或者在平行链的情况下,帮助批准无效的区块 块。为了防止过度奖励或妥协 非法使用会话的密钥,即基本奖励 提供单个 validator 的非法签名消息是 最小。随着更多的增加,这种奖励逐渐增加 证实其他 validator 的非法签名是 提供暗示真正的攻击。渐近线已设定 66% 遵循我们的基本安全主张,至少 三分之二的 validator 表现得仁慈。 渔民有点类似于“全节点” 当前的 blockchain 系统需要资源 相对较小并且承诺稳定的正常运行时间 并且不需要带宽。渔民们意见不一 就像他们必须缴纳一小笔保证金一样。这种结合可以防止 女巫攻击浪费 validators 的时间和计算 资源。可以立即撤回,可能不会 超过几美元,可能会导致 从发现不当行为中获得丰厚的回报 validator。

設計の概要

このセクションは、概要を簡単に説明することを目的としています。 システム全体として。をさらに徹底的に調査すると、 システムについては、それに続くセクションで説明します。 5.1.コンセンサス。リレーチェーン上で、Polkadot は次のことを達成します。 相互に合意された有効なセットに関する低レベルの合意 最新の非同期ビザンチン フォールトトレラント (BFT) アルゴリズムを通じてブロックします。アルゴリズムがインスピレーションを受けます シンプルな Tendermint [11] とそれ以上の機能による HoneyBadgerBFT [14] が関与しています。後者は、 恣意的なものに対する効率的でフォールトトレラントな合意 ネットワーク インフラストラクチャに欠陥があり、ほとんど無害な一連の権限または validator が指定されています。 Proof-of-Authority (PoA) スタイルのネットワークの場合、これだけで で十分ですが、Polkadot は次のようになると考えられます。 完全にオープンでパブリックなネットワークとして展開することも可能 特定の組織や信頼できる組織がない状況 それを維持するために必要な権限。 したがって、 validator のセットを決定し、奨励する手段 正直に言うと彼らは。このために、PoS ベースの選択を利用します 基準。 5.2.賭け金を証明する。ネットワークが どれくらいの「賭け金」を計測する何らかの手段を持つだろう 特定のアカウントにはあります。 比較しやすいように、 既存のシステムでは、測定単位と呼びます。 「tokens」。残念ながら、この用語は理想的なものではありません。 理由はたくさんありますが、特に単にスカラーであるということは重要です アカウントに関連付けられた値、という概念はありません。 個性。 私たちは、validator 人が選出されるのはまれであると想像しています (せいぜい 1 日に 1 回ですが、おそらく四半期に 1 回ほどの頻度で行われます)、 指名プルーフ・オブ・ステーク (NPoS) スキームを通じて。インセンティブは、比例配分によって発生します。POLKADOT: 異種マルチチェーン フレームワークのビジョン ドラフト 1 6 リレー チェーン バリデーターの群れ (それぞれの色で色分けされています) 指定されたパラチェーン) トランザクション (提出者 外部俳優) パラチェーン 橋 仮想パラチェーン (例: Ethereum) パラチェーン パラチェーン キューと I/O 伝播されたトランザクション 候補者の提出をブロックする 2次注文 リレーチェーン パラチェーンコミュニティ アカウント インバウンドトランザクション アウトバウンドトランザクション インターチェーントランザクション (validators が管理) コレーター 伝播されたブロック 漁師 図 2. Polkadot システムの概要図。これは、照合者がユーザー トランザクションを収集して伝播すること、およびブロック候補を漁師と validator に伝播することを示しています。それも アカウントがリレーチェーンを介してパラチェーンから実行されるトランザクションを投稿する方法を示します そして、別のパラチェーンに移行し、そこのアカウントへのトランザクションとして解釈できます。 token のベース拡張からの資金 (最大 100%) 年間、ただし可能性としては約 10%) 徴収される取引手数料。マネタリーベースの拡大は通常インフレにつながりますが、token の所有者全員が 参加する際には公平な機会が与えられ、token所有者は、その価値の減少に苦しむ必要はありません。 彼らが喜んで取得した場合に限り、長期にわたる保有量 コンセンサスメカニズムにおける役割。特定の割合 token 個が staking プロセスの対象となります。の 実質的なtokenベースの拡張は、次のように調整されます。 この目標を達成するための市場ベースのメカニズム。 バリデーターは、その利害関係によって強い絆で結ばれています。終了します validator の保証は、validator の職務が終了した後も長期間 (おそらく約 3 か月) 維持されます。こんなに長い 債券清算期間により、将来の不正行為が可能になる チェーンの定期的なチェックポイントまで罰せられます。 不正行為があった場合には減給などの懲罰が科せられます。 報酬を与える場合、または意図的に侵害する場合 ネットワークの整合性が失われ、validator はその一部またはすべてを失います。 他のvalidator、情報提供者、または利害関係者への利害関係 全体として(燃焼を通じて)。たとえば、validator フォークの両方のブランチを承認しようとする人 (場合によっては 「短距離」攻撃として知られる)が特定される可能性があり、 後者の方法で処罰されます。 長距離の「何も関係のない」攻撃4は、単純な「チェックポイント」ラッチによって回避され、複数の危険なチェーンの再編成を防ぎます。 特定のチェーンの深さ。 新しく同期するクライアントを確実にするには 間違ったチェーンにだまされることはありません。 「ハードフォーク」は(せいぜい同時期に)発生するだろう。 validators の債券清算)、最近のチェックポイント ブロック hashes をクライアントにハードコーディングします。これは、「有限チェーン長」または「有限チェーン長」というさらなるフットプリント削減策とうまく機能します。 ジェネシスブロックの定期的なリセット。 5.3.パラチェーンとコレーター。各パラチェーンが取得するのは、 リレーチェーンに対する同様のセキュリティ アフォーダンス: の パラチェーンのヘッダーはリレーチェーンブロック内に密封されています 確認後は、組織再編や「二重支出」が不可能であることを保証します。これは、Bitcoin のサイドチェーンとマージマイニングによって提供されるものと同様のセキュリティ保証です。ただし、Polkadot は、パラチェーンの状態遷移が有効であるという強力な保証も提供します。これ validator のセットが暗号的にランダムにサブセットに分割されることによって発生します。 1 つあたり 1 つのサブセット パラチェーンでは、サブセットはブロックごとに異なる可能性があります。これ セットアップは通常、パラチェーンのブロック時間が 少なくともリレーチェーンの長さと同じ長さにしてください。具体的な 分割を決定する手段は範囲外です 4 このような攻撃では、敵はジェネシス ブロック以降、全く新しい歴史の連鎖を作り上げます。をコントロールすることで、 オフセットでの賭け金の割合は比較的微々たるものですが、他のすべての賭け金と比べて徐々に自分の賭け金の割合を増やすことができます。 利害関係者は、彼らの代替歴史の唯一の積極的な参加者であるためです。創造物には本質的な物理的制限が存在しないため、 (実際の計算エネルギーを費やす必要がある PoW とは異なり) のブロックで、実際のチェーンよりも長いチェーンを作成できます。 比較的短い期間であり、ネットワークの正規の状態を引き継ぎ、最長かつ最良となる可能性があります。POLKADOT: 異種マルチチェーン フレームワークのビジョン ドラフト 1 7 この文書の内容は次のいずれかに基づいている可能性がありますが、 RanDAO [19] に似た commit-reveal フレームワーク、または 各パラチェーンの前のブロックから結合されたデータを使用する 暗号的に安全な hash の下で。 validator のこのようなサブセットは、 有効性が保証されているパラチェーンブロック候補( 債券没収の痛み)。有効性は 2 を中心に展開します 重要な点。第一に、それは本質的に有効であるということ、 すべての状態遷移が忠実に実行され、すべてが 参照される外部データ (トランザクションなど) は含めることができます。第二に、外部データはすべて、 外部トランザクションなどの候補は十分に高い可用性を備えているため、参加者は次のことを行うことができます。 それをダウンロードし、ブロックを手動で実行します。5 バリデーターは、外部の「トランザクション」データを含まない「null」ブロックのみを提供する場合がありますが、提供すると報酬が減額されるリスクが生じる可能性があります。彼らは一緒に働きます 照合者 (個人) とのパラチェーン ゴシップ プロトコル トランザクションをブロックに照合し、そのブロックが親の有効な子を構成することを示す非対話型のゼロ知識証明を提供します (トランザクションを取得する) 彼らのトラブルに対する料金)。 独自の指定はパラチェーン プロトコルに委ねられます。 スパム防止手段: 「コンピューティング リソースの測定」または「トランザクション料金」という基本的な概念はありません。 リレーチェーンによって課せられます。また、リレーチェーンプロトコルによってこれを直接強制することはありません(ただし、 利害関係者が採用を選択する可能性は低い まともなメカニズムを提供していないパラチェーン)。 これは、これまでとは異なるチェーンの可能性に対する明確なうなずきです。 Ethereum、例: Bitcoin のようなチェーンは、はるかに単純な料金モデル、またはその他のまだ提案されていないスパム防止モデルを備えています。 Polkadot のリレー チェーン自体はおそらく Ethereum のようなアカウントと状態チェーン (おそらく EVM__ 派生)。リレーチェーンノードは次のことを行う必要があるため、 他の重要な処理、トランザクション スループットを実行する 多額の取引手数料により部分的に最小限に抑えられる また、研究モデルでブロック サイズの制限が必要な場合もあります。 5.4.チェーン間通信。 Polkadot の重要な最終要素はチェーン間通信です。以来 パラチェーン間には何らかの情報チャネルが存在する可能性があるため、Polkadot をパラチェーンとみなすことができます。 スケーラブルなマルチチェーン。 Polkadot の場合、通信は可能な限り単純です。トランザクションは、 パラチェーンは(そのチェーンのロジックに従って)次のことができます。 トランザクションを 2 番目のパラチェーンにディスパッチします。 またはリレーチェーンの可能性もあります。外部トランザクションと同様 本番環境 blockchain では完全に非同期です そして、それらには何かを返す本質的な能力はありません。 情報の原点に戻ること。 宛先: 取得 以前のデータ ブロックのvalidator。 アカウントが投稿を受信します: エントリが削除されました イングレス Merkle tree アカウントが投稿を送信します: に置かれたエントリ 出口 Merkle tree 目的地に向けて パラチェーン 出口 出典:株式 次のブロックのデータ validators に保存されている投稿証明 パラチェーン出口マークル 木 配線された参照が配置されました 宛先パラチェーン内 イングレス Merkle tree 進入 図 3. を示す基本的な回路図 投稿のルーティングの主要部分 トランザクション (「投稿」)。 実装の複雑さを最小限に抑えるために、最小限の リスク そして 最小限の ストレートジャケット の 未来 パラチェーン アーキテクチャでは、これらのインターチェーン トランザクションは 標準の外部署名トランザクションと実質的に区別できません。 トランザクションにはオリジンセグメントがあり、パラチェーンを識別する機能を提供します。 任意のサイズのアドレス。 Bitcoin や Ethereum などの一般的な現在のシステムとは異なり、チェーン間トランザクションにはいかなる種類の手数料の「支払い」も伴いません。このような支払いは、ソースおよび宛先のパラチェーン上のネゴシエーション ロジックを通じて管理する必要があります。のために提案されているようなシステム Ethereum の Serenity リリース [7] は簡単な手段です ただし、そのようなクロスチェーンリソースの支払いを管理することは困難です やがて他の人たちが前面に出てくるかもしれないと私たちは考えています。 チェーン間トランザクションはシンプルな方法で解決されます。 Merkle tree に基づいたキューイング メカニズムにより、 忠実さ。リレーチェーンのメンテナの仕事は次のとおりです。 1 つのパラチェーンの出力キューでトランザクションを移動する 宛先パラチェーンの入力キューに追加されます。の 渡されたトランザクションはリレーチェーン上で参照されますが、相対ではありませんay-chain トランザクション自体。パラチェーンが別のパラチェーンにスパム送信するのを防ぐには トランザクション、トランザクションを送信するには、これが必要です 宛先の入力キューが大きすぎないこと 前のブロックの終了時刻。入力の場合 ブロック処理後のキューが大きすぎる場合、キューは「飽和」とみなされ、トランザクションはルーティングされません。 それは後続のブロック内で、以下に戻されるまで続きます。 限界。これらのキューはリレーチェーン上で管理されます パラチェーンが互いの飽和度を決定できるようにする ステータス。この方法では、トランザクションを投稿しようとして失敗しました 停止した宛先へのメッセージは同期的に報告される場合があります。 (ただし、リターンパスが存在しないため、その理由でセカンダリトランザクションが失敗した場合、それを報告することはできません) 元の呼び出し元とその他の回復手段に送信します。 開催しなければならないだろう。) 5.5. Polkadot と Ethereum。 Ethereum のチューリング完全性により、Polkadot と Ethereum が相互運用できる可能性が十分にあると予想されます。 少なくとも、容易に推測できるセキュリティの範囲内では、相互に影響を及ぼします。つまり、私たちは次のようなトランザクションを想定しています。 Polkadot は validators によって署名され、 5このようなタスクは、validator 間で共有される場合もあれば、強く結合された validator のセットの指定タスクになる場合もあります。 可用性の保証人。

POLKADOT: 異種マルチチェーン フレームワークのビジョン ドラフト 1 8 Ethereum によって解釈および実行できます。 トランザクション転送契約。反対方向では、 特別にフォーマットされたログ (イベント) の使用が予想されます。 これは、特定のメッセージを転送する必要があるかどうかを迅速に検証できるようにするための「ブレークアウト コントラクト」に由来しています。 5.5.1. Polkadot から Ethereum まで。の選択を通じて、 BFT コンセンサス メカニズムと validator から形成された 承認投票を通じて決定された一連の利害関係者 このメカニズムにより、安全な合意を得ることができます。 変更頻度は低く、validator の数は控えめです。 合計 144 validator のシステムでは、ブロック時間は 4 秒、900 ブロックのフィナリティ (悪意のある攻撃を許可) 二重投票などの行為は通報され処罰される および修復される)、ブロックの有効性は合理的に判断できます。 わずか 97 件の署名 (144 件の 3 分の 2 に 1 件を加えたもの) と、異議申し立てが提出されないその後の 60 分間の検証期間を通じて証明されたとみなされます。 Ethereum は「不法侵入契約」をホストできます。 144 の署名者を維持し、次の者によって制御されることができます。 彼ら。 EVM では、楕円曲線デジタル署名 (ECDSA) の回復に必要なガスは 3,000 ガスのみであるため、 おそらく検証は、 validator の超過半数 (完全な全会一致ではなく)、 Ethereum の基本コスト、命令が実行されたことを確認 Polkadot ネットワークからのガスは 300,000 ガス以下であることが適切に検証されており、その割合はわずか 6% です。 総ブロックガス制限は5.5Mです。 validator の数を増やす (問題に対処するために必要なため) 数十のチェーン) は必然的にこのコストを増加させますが、 技術が成熟するにつれて、Ethereum のトランザクション帯域幅は時間の経過とともに増加すると広く予想されています。 インフラが改善されます。そうではないという事実とともに、 すべての validator が関与する必要があります (例: 最高の validator のみ) ステークされた validator は、そのようなタスクのために呼び出される可能性があります) このメカニズムの限界はかなり拡張されます。 このような validator が毎日ローテーションすると仮定します (これは かなり保守的であり、毎週または毎月でも許容される場合があります)、その後、ネットワークの維持コストがかかります。 このEthereum-転送ブリッジは約540,000になります 1 日あたりのガソリン、または現在のガス価格では年間 45 ドルです。基本的なトランザクションを単独でブリッジ経由で転送するとコストがかかります 約0.11ドル。追加の契約計算には費用がかかります もちろんもっとです。トランザクションのバッファリングとバンドルによる 合わせて、侵入許可コストは簡単に計算できます。 共有され、トランザクションごとのコストが大幅に削減されます。 転送する前に 20 個のトランザクションが必要な場合、 基本的なトランザクションの転送コストは次のようになります。 約0.01ドル。 この複数署名契約モデルに代わる、興味深い、より安価な代替手段の 1 つは、多国間所有権のセマンティクスを実現するためにしきい値署名を使用することです。 ECDSA のしきい値署名スキーム 他のスキームの場合は計算コストが高くなります Schnorr 署名などは非常に合理的です。 Ethereum そのようなものを作るプリミティブを導入する予定です 今後の Metropolis ハードフォークで安価に使用できるスキーム。このような手段が利用できれば、ガス代は Polkadot トランザクションを Ethereum に転送するため ネットワークは大幅にゼロ近くまで削減されるでしょう 検証のための基本コストを超えるオーバーヘッド 署名し、基礎となるトランザクションを実行します。 このモデルでは、Polkadot の validator ノードは次のようになります。 メッセージに署名する以外に何もすることはありません。トランザクションを実際に Ethereum ネットワークにルーティングするには、次のようにします。 どちらかの validator 自体も存在すると仮定します。 Ethereum ネットワーク、またはおそらくその少額の報奨金 メッセージを転送した最初のアクターにオファーされます ネットワークに送信します(報奨金は簡単に支払われる可能性があります) トランザクションの発信者)。 5.5.2. Ethereum から Polkadot まで。トランザクションを取得する Ethereum から Polkadot への転送では、ログという単純な概念が使用されます。 Ethereum コントラクトが Polkadot の特定のパラチェーンにトランザクションをディスパッチしたい場合、 特別な「ブレイクアウト契約」を結ぶだけで済みます。 ブレイクアウト契約では、以下のような支払いが発生します。 マークル証明と対応するブロックのヘッダーが有効であるというアサーションによってその存在が証明されるように、ロギング命令を発行します。 正規の。 後の 2 つの条件のうち、おそらく有効性が最も重要です。 証明するのが最も簡単です。原則として、唯一の要件は、証明が必要な各 Polkadot ノードに対して (つまり、指定された validator ノード) は、標準の Ethereum ノードの完全に同期されたインスタンスを実行します。残念ながら、これ自体はかなり重い依存関係です。さらに 軽量な方法は、次のような単純な証明を使用することです。 ヘッダーは、 適切に実行するために必要な Ethereum の状態トライの一部 ブロック内のトランザクションを確認し、ログ (ブロック レシートに含まれる) が有効であることを確認します。そんな「SPVらしさ」6 証明にはまだかなりの量の情報が必要になる場合があります。都合の良いことに、通常は必要ありません。 all: Polkadot 内の結合システムにより結合が可能になります。 サードパーティは、ヘッダーを失う危険を冒してヘッダーを送信する必要があります。 債券は、他の第三者 (「漁師」など、6.2.3 を参照) がヘッダーが無効であるという証拠を提供した場合に限ります。 (具体的には、状態ルートまたは領収書のルートが偽者であったこと)。 Ethereum のようなファイナライズされていない PoW ネットワークでは、 正規性を決定的に証明することは不可能です。 これに対処するために、あらゆる種類のものに依存しようとするアプリケーションは、 チェーン依存の因果関係は、多数の「確認」を待つか、依存するトランザクションが一定のレベルに達するまで待ちます。 チェーン内の特定の深さ。 Ethereum に、これは 深さは、既知のネットワーク問題がない最も価値の低いトランザクションの 1 ブロックから、従来の 1200 ブロックまで変化します。 交換用の最初のフロンティアリリース時のケース。 安定した「Homestead」ネットワークでは、この数字は次の位置にあります。 ほとんどの取引所では 120 ブロックかかりますが、おそらくかかるでしょう。 同様のパラメータ。 それで 私たち できる 想像してください 私たちの Polkadot側 Ethereumインターフェイスにはいくつかの簡単な機能があります: Ethereum ネットワークから新しいヘッダーを受け入れ、PoW を検証して、何らかの証拠を受け入れることができるようにします。 特定のログは、十分な深さのヘッダー (および前方) の Ethereum 側のブレークアウト コントラクトによって発行されました。 Polkadot 内の対応するメッセージ)、そして最後に 以前に受け入れられた証拠を受け入れることができるようになりますが、 まだ制定されていないヘッダーには無効なレシート ルートが含まれています。 実際に Ethereum ヘッダー データ自体を取得するには (そして SPV の証明または有効性/正規性の反駁) Polkadot ネットワーク、転送の奨励 6SPV は、Bitcoin の簡易支払検証を指し、クライアントがトランザクションのみを保持しながら検証する方法を説明します。 最長の PoW チェーンのすべてのブロック ヘッダーのコピー。POLKADOT: 異種マルチチェーン フレームワークのビジョン ドラフト 1 9 データが必要です。 これは支払いと同じくらい簡単です (Ethereum 側で徴収された料金から賄われます) 支払われました ヘッダーが次のような有用なブロックを転送できる人 有効です。検証者は、次の目的で最後の数千ブロックに関する情報を保持することが求められます。 何らかのプロトコル固有の手段または上で維持されるコントラクトを通じて、フォークを管理できる。 リレーチェーン。 5.6. Polkadot そして Bitcoin。 Bitcoin 相互運用 Polkadot には興味深い課題が提示されています。 「双方向ペグ」は便利なインフラになる 両方のネットワーク側に置く必要があります。ただし、理由により、 Bitcoin の制限により、そのようなペグを安全に提供するには、 簡単ではない仕事。からのトランザクションの配信 Bitcoin から Polkadot までは、原則として Ethereum と同様のプロセスで実行できます。 「ブレークアウトアドレス」 Polkadot validator によって何らかの方法で制御される可能性があります 転送された token (およびそれらと一緒に送信されたデータ) を受信します。 SPV 証明は、インセンティブ付きの oracle によって提供できます。 確認期間とともに、報奨金が与えられます。 トランザクションを暗示する非正規ブロックを特定する 「二重支出」されている。 token はすべて 「ブレークアウト アドレス」は、原則として、後の分散のために同じ validator によって制御されます。 しかし、問題は、回転する validator セットから堆積物をどのように安全に制御できるかということです。 とは異なります Ethereum に基づいて任意の決定を下すことができます 署名の組み合わせにより、Bitcoin は実質的に さらに制限があり、ほとんどのクライアントは最大 3 者とのマルチシグネチャ トランザクションのみを受け入れます。これを 36、実際には最終的に望まれる数千まで拡張することは、現在のプロトコルでは不可能です。 1 つのオプションは、Bitcoin プロトコルを変更して有効にすることです。 このような機能は、いわゆる「ハードフォーク」と呼ばれるものですが、 Bitcoin 最近の試みから判断すると、世界を調整するのは困難です。可能性の 1 つは、しきい値署名の使用です。 単一識別可能な公衆を許可する暗号化スキーム 鍵は複数の秘密「部分」によって効果的に制御されます。 有効な署名を作成するには、その一部またはすべてを利用する必要があります。 残念ながら、しきい値署名と互換性があります Bitcoin の ECDSA は計算コストが高くつきます 多項式の複雑さを作成します。その他のスキームとしては、 Schnorr 署名はコストがはるかに低くなりますが、 Bitcoin に導入される可能性のあるタイムライン プロトコルは不明です。 預金の最終的な安全性は次のとおりです。 多数の validator を結合する、もう 1 つのオプションは、 マルチサインキーホルダーを大幅に削減 合計 validator の結合されたサブセット (しきい値など) 署名が実行可能になります (または、最悪の場合、Bitcoin のネイティブ マルチ署名も可能です)。 これにより、当然のことながら、 validator が違法行為を行った場合に賠償金として差し引かれる可能性がある保証金の総額ですが、これは はグレースフル デグラデーションであり、単に上限を設定するだけです 間で安全に運用できる資金の量。 2 つのネットワーク (実際、攻撃による損失の割合) validator からは成功します)。 そのため、合理的に安全な Bitcoin 相互運用性の「仮想パラチェーン」を配置することは非現実的ではないと考えています。 2 つのネットワーク間での作業はかなりの努力が必要ですが、スケジュールは不確実であり、可能性は十分にあります。 その中で利害関係者の協力を必要とする ネットワーク。

设计概述

本节旨在简要概述 系统作为一个整体。更彻底的探索 系统在后面的部分中给出。 5.1.共识。在中继链上,Polkadot实现了 就一组共同商定的有效规则达成低级别共识 通过现代异步拜占庭容错 (BFT) 算法进行阻止。算法将受到启发 通过简单的 Tendermint [11] 和更多 涉及蜜獾BFT [14]。后者提供了一个 对任意的问题达成有效且容错的共识 有缺陷的网络基础设施,给定一组大多良性的权威或 validators。 对于权威证明(PoA)风格的网络来说,仅此一点 就足够了,但是 Polkadot 被认为是 也可以作为完全开放和公共的网络进行部署 没有任何特定组织或信任的情况 维护它所需的权限。 因此我们需要一个 确定一组 validator 并进行激励的方法 他们说实话。为此,我们利用基于 PoS 的选择 标准。 5.2.证明赌注。我们假设网络 将有一些方法来衡量“赌注”的程度 任何特定帐户都有。 为了便于比较 预先存在的系统,我们称之为测量单位 “tokens”。不幸的是,这个词对于 有很多原因,尤其是简单的标量 与账户相关的价值,没有概念 个性。 我们想象 validator 很少被选举(最多 每天一次,但可能少至每季度一次), 通过指定股权证明(NPoS)计划。激励可以通过按比例分配来实现Polkadot:异构多链框架的愿景 草案1 6 继电器 链条 验证者群体 (每个颜色由其 指定平行链) 交易 (提交者: 外部演员) 平行链 桥 虚拟平行链 (例如 Ethereum) 平行链 平行链 队列和 I/O 传播交易 阻止候选人提交 二阶 中继链 平行链社区 账户 入境交易 出境交易 链间交易 (由 validators 管理) 校订者 传播块 渔夫 图 2. Polkadot 系统的概要示意图。这显示了整理者收集和传播用户交易,以及向渔民和 validator 传播候选区块。它还 显示账户如何通过中继链发布在其平行链中执行的交易 然后进入另一个平行链,可以将其解释为那里账户的交易。 来自 token 基地扩张的资金(最多 100% 每年,尽管更有可能在 10% 左右)以及 收取的任何交易费用。虽然基础货币扩张通常会导致通货膨胀,但由于所有 token 所有者 将有公平的参与机会,任何token持有者都不需要遭受其价值的减少 随着时间的推移,只要他们乐意接受 在共识机制中的作用。特定比例 token 的目标将是 staking 进程;的 有效的 token 碱基扩展将通过以下方式进行调整 以市场为基础的机制来实现这一目标。 验证者的权益与他们紧密相连;退出 在 validator 的职责终止后很长一段时间(可能大约 3 个月),validator 的债券仍然有效。这么长 债券清算期允许未来的不当行为 受到惩罚,直到链的定期检查点为止。 不当行为会导致惩罚,例如减少 奖励,或者在故意损害的情况下 网络的完整性,validator 失去部分或全部 向其他validator、线人或利益相关者提供股份 作为一个整体(通过燃烧)。例如,validator 谁试图批准分叉的两个分支(有时 被称为“短程”攻击)可以被识别并且 按后一种方式处罚。 远程“无利害关系”攻击4可以通过一个简单的“检查点”闩锁来规避,该闩锁可以防止超过一个的危险链重组。 特定的链深度。 确保新同步的客户端 不能被骗到错误的链上,常规的 “硬分叉”将会发生(最多在同一时期) validators 的债券清算)将最近的检查点块 hashes 硬编码到客户端中。这与进一步减少足迹的“有限链长”措施或 创世块的定期重置。 5.3.平行链和收集者。每个平行链都会获得 与中继链类似的安全功能: 的 平行链的标头被密封在中继链区块内 确保确认后不可能进行重组或“双重支出”。这与 Bitcoin 的侧链和合并挖矿提供的安全保证类似。然而,Polkadot 也提供了平行链状态转换有效的有力保证。这个 通过将 validator 集合以加密方式随机分割成子集而发生;每一个子集 平行链,每个块的子集可能不同。这个 设置通常意味着平行链的区块时间将 至少与中继链一样长。具体的 确定分区的方法超出了范围 4这种攻击是对手从创世区块开始打造一条全新的历史链的地方。通过控制一个 尽管他们的股权比例相对较小,但他们能够相对于所有其他人逐步增加自己的股权比例 利益相关者,因为他们是另类历史中唯一的积极参与者。由于创作不存在内在的物理限制 区块(与必须花费相当真实的计算能量的 PoW 不同),他们能够在 相对较短的时间跨度,并有可能使其成为最长和最好的,接管网络的规范状态。Polkadot:异构多链框架的愿景 草案1 7 本文件的但可能基于 类似于 RanDAO [19] 的提交-显示框架或 使用每个平行链的先前区块组合的数据 在加密安全的 hash 下。 validator 的此类子集需要提供 保证有效的平行链候选区块(在 债券被没收的痛苦)。有效性围绕两个 要点;首先,它本质上是有效的—— 所有状态转换均忠实执行,并且所有 引用的外部数据(即交易)对于包含有效。其次,任何与其无关的数据 候选者,例如那些外部交易,具有足够高的可用性,以便参与者能够 下载它并手动执行该块。5 验证者可能只提供一个不包含外部“交易”数据的“空”块,但如果这样做,可能会面临奖励减少的风险。他们并肩工作 与收集者(个人)的平行链八卦协议 他们将交易整理成区块,并提供非交互式、零知识证明,证明该区块构成其父区块的有效子区块(并采取任何交易) 为他们的麻烦付费)。 由平行链协议来指定自己的 预防垃圾邮件的手段:没有“计算资源计量”或“交易费用”的基本概念 由中继链强加。中继链协议也没有对此进行直接强制执行(尽管它 利益相关者不太可能选择采用 一条没有提供像样机制的平行链)。 这是对链条可能性的明确认可,与链条不同 Ethereum,例如类似 Bitcoin 的链,具有更简单的费用模型或其他一些尚未提出的垃圾邮件预防模型。 Polkadot 的中继链本身可能会作为一个 类似 Ethereum 的账户和状态链,可能是 EVM 的衍生品。由于中继链节点需要 进行大量其他处理、事务吞吐量 将通过巨额交易费用部分最小化 并且,如果我们的研究模型需要区块大小限制。 5.4.链间通信。 Polkadot 的最后一个关键要素是链间通信。自从 平行链之间可以有某种信息通道,我们允许自己考虑 Polkadot a 可扩展的多链。在 Polkadot 的情况下,通信非常简单:在 平行链(根据该链的逻辑)能够 影响将交易分派到第二条平行链中 或者,可能是中继链。就像外部交易一样 在生产 blockchains 上,它们是完全异步的 他们没有内在能力返回任何 某种信息回到其起源。 目的地:获取 之前的数据 块的 validators。 帐户收到邮件: 条目已删除自 入口 Merkle tree 帐户发送帖子: 条目放置在 出口 Merkle tree 目的地 平行链 出口 来源:股票 下一个块的数据 validators 邮寄证明存储在 平行链出口 Merkle 树 已放置路由参考 在目的地平行链中 入口 Merkle tree 入口 图 3. 基本示意图 发布路由的主要部分 交易(“帖子”)。 为了确保最小的实现复杂性,最小 风险 和 最小的 直夹克 的 未来 平行链架构中,这些链间交易是 与标准的外部签名交易实际上没有区别。 该交易有一个原始段,提供识别平行链的能力,并且 可以是任意大小的地址。与 Bitcoin 和 Ethereum 等常见的当前系统不同,链间交易不附带任何类型的相关费用“支付”;任何此类支付都必须通过源平行链和目标平行链上的协商逻辑进行管理。诸如提议的系统 Ethereum 的 Serenity 版本 [7] 将是一个简单的方法 管理这样的跨链资源支付,但是 我们假设其他人可能会在适当的时候脱颖而出。 链间交易通过简单的方式解决 基于 Merkle tree 的排队机制以确保 保真度。中继链维护者的任务是 将交易移动到一个平行链的输出队列上 进入目标平行链的输入队列。的 传递的交易在中继链上被引用,但不是相关的y-chain 交易本身。为了防止平行链向另一个平行链发送垃圾邮件 交易,对于要发送的交易,需要 目的地的输入队列不要太大 前一个块的结束时间。如果输入 块处理后队列太大,那么它被认为是“饱和”并且没有事务可以路由到 它在后续块中,直到降回低于 限制。这些队列在中继链上进行管理 允许平行链确定彼此的饱和度 状态;这样尝试发布交易失败 可以同步报告到停止的目的地。 (尽管由于不存在返回路径,如果辅助交易因此失败,则无法报告回来 发送给原始调用者以及其他一些恢复方式 必须发生。) 5.5. Polkadot 和 Ethereum。由于 Ethereum 的图灵完备性,我们预计 Polkadot 和 Ethereum 有足够的机会与 彼此,至少在一些容易推断的安全范围内。简而言之,我们预计交易来自 Polkadot 可以由 validators 签名,然后送入 5这样的任务可能在 validator 之间共享,或者可能成为一组紧密结合的 validator 的指定任务,称为 可用性保证人。

Polkadot:异构多链框架的愿景 草案1 8 Ethereum 可以由以下人员解释和制定 交易转发合约。在另一个方向上, 我们预计会使用特殊格式的日志(事件) 来自“突破合同”,以允许快速验证是否应转发特定消息。 5.5.1. Polkadot 至 Ethereum。通过选择一个 BFT 共识机制由 validator 组成 通过批准投票确定的一组利益相关者 机制,我们能够与 validator 的变化不频繁且数量适中。 在总共 144 validators 的系统中,出块时间为 4 秒和 900 个区块的最终结果(允许恶意 双重投票等行为须举报、处罚 并修复),块的有效性可以合理地表示 仅需 97 个签名(144 个签名的三分之二加 1)以及随后 60 分钟的验证期(不存在任何质疑)即可被视为已得到验证。 Ethereum 能够主持一份“闯入合同” 可以维持144个签署者并由其控制 他们。由于椭圆曲线数字签名 (ECDSA) 恢复在 EVM 下仅需要 3,000 个 Gas,并且由于 我们可能只希望验证发生在 validator 的绝大多数(而不是完全一致), Ethereum 的基本成本确认一条指令 经过正确验证,来自 Polkadot 网络的 Gas 不会超过 300,000,仅占 6% 总区块 Gas 限制为 5.5M。增加 validator 的数量(对于处理 然而,数十家连锁店)不可避免地增加了这一成本 人们普遍预计 Ethereum 的交易带宽会随着技术的成熟而增长 基础设施改善。再加上事实并非如此 所有 validator 都需要参与(例如,只有最高的 可能会要求质押的 validators 来执行此类任务) 这种机制的局限性相当好。 假设每天轮换此类 validator(即 相当保守——每周甚至每月都可以接受),那么维护网络的成本 这个 Ethereum-转发桥大约有 540,000 每天天然气,或者目前的天然气价格为每年 45 美元。单独通过桥转发的基本交易将花费 约 0.11 美元;额外的合同计算将花费 当然还有更多。通过缓冲和捆绑交易 总之,闯入授权成本可以很容易地计算出来 共享,大幅降低每笔交易的成本; 如果转发前需要 20 笔交易,则 转发基本交易的成本将降至 约 0.01 美元。 这种多重签名合约模型的一种有趣且更便宜的替代方案是使用门​​限签名来实现多边所有权语义。而 ECDSA 的门限签名方案 与其他方案相比,计算成本较高 比如Schnorr签名就非常合理。 Ethereum 计划引入原语,这将使这样的 在即将到来的 Metropolis 硬分叉中使用成本低廉的方案。如果能够使用这种手段,天然气成本 用于将 Polkadot 交易转发到 Ethereum 网络将急剧减少到接近于零 超出验证基本成本的开销 签名并执行基础交易。 在此模型中,Polkadot 的 validator 节点将具有 除了签署消息之外别无其他。为了让交易实际路由到 Ethereum 网络上,我们 假设 validator 本身也将驻留在 Ethereum 网络,或者更有可能的是,小额赏金 被提供给第一个转发消息的参与者 到网络(赏金可以简单地支付给 交易发起人)。 5.5.2. Ethereum 至 Polkadot。让交易成为 从 Ethereum 转发到 Polkadot 使用日志的简单概念。当 Ethereum 合约希望将交易分派到 Polkadot 的特定平行链时, 它只需要签订一份特殊的“突破合同”即可。 突破合同将收取任何可能的付款 被要求并发出记录指令,以便可以通过 Merkle 证明和相应块头有效的断言来证明其存在,并且 规范的。 在后两个条件中,有效性可能是最重要的 最容易证明。原则上,唯一的要求是对于每个需要证明的 Polkadot 节点 (即指定的 validator 节点)运行标准 Ethereum 节点的完全同步实例。不幸的是,这本身就是一个相当严重的依赖。一个更多 轻量级方法是使用一个简单的证明 通过仅提供 正确执行所需的 Ethereum 状态树的一部分 块中的交易并检查日志(包含在块收据中)是否有效。这种“类似 SPV”6 证明可能还需要大量信息;方便的是,通常不需要它们 all:Polkadot 内的绑定系统将允许绑定 第三方提交标头可能会面临丢失其标头的风险 bond 如果其他第三方(例如“渔夫”,参见 6.2.3)提供标头无效的证明 (具体来说,州根或收据根是冒名顶替者)。 在像 Ethereum 这样的非最终 PoW 网络上, 规范性无法得到最终证明。 为了解决这个问题,尝试依赖任何类型的应用程序 链相关的因果关系等待多个“确认”,或者直到相关交易处于某个状态 链内的特定深度。 在 Ethereum 上,这 深度从 1 个区块(无已知网络问题的最不有价值的交易)到 1200 个区块不等 Frontier 首次发布交易所期间的情况。 在稳定的“Homestead”网络上,这个数字位于 大多数交易所需要 120 个区块,我们可能会采取 类似的参数。 所以 我们 可以 想象 我们的 Polkadot-侧 Ethereum接口有一些简单的功能:能够 接受来自 Ethereum 网络的新标头并验证 PoW,以便能够接受一些证明 Ethereum 侧突破合约发出了特定的日志,以获得足够深度的标头(并且向前 Polkadot 中的相应消息),最后 能够接受先前接受过的证据,但 尚未制定的标头包含无效的收据根。 实际获取 Ethereum 标头数据本身(以及 任何 SPV 证明或有效性/规范性反驳) Polkadot 网络,转发激励 6SPV 指的是 Bitcoin 中的简化支付验证,并描述了一种让客户端验证交易的方法,同时只保留 最长 PoW 链的所有区块头的副本。Polkadot:异构多链框架的愿景 草案1 9 需要数据。 这可以像付款一样简单 (funded from fees collected on the Ethereum side) paid to anyone able to forward a useful block whose header is 有效。验证者将被要求保留与最后几千个区块相关的信息,以便 be able to manage forks, either through some protocolintrinsic means or through a contract maintained on the 中继链。 5.6. Polkadot 和 Bitcoin。 Bitcoin 互操作 presents an interesting challenge for Polkadot: a so-called “双向挂钩”将是一个有用的基础设施 两个网络都有。然而,由于 the limitations of Bitcoin, providing such a peg securely is 这是一项不平凡的事业。交付交易自 Bitcoin to Polkadot can in principle be done with a process similar to that for Ethereum; “突破地址” controlled in some way by the Polkadot validators could receive transferred tokens (and data sent alongside them). SPV 证明可以通过激励 oracle 提供,并且, together with a confirmation period, a bounty given for 识别暗示交易的非规范区块 已被“双花”。然后拥有的任何 tokens “break-out address” would then, in principle, be controlled by those same validators for later dispersal. 然而问题是如何通过旋转的 validator 装置安全地控制存款。 不像 Ethereum 能够根据 upon combinations of signatures, Bitcoin is substantially 更有限,大多数客户仅接受最多 3 方的多重签名交易。 Extending this to 36, or indeed thousands as might ultimately be desired, is impossible under the current protocol.一种选择是更改 Bitcoin 协议以启用 此类功能,但是所谓的“硬分叉” 从最近的尝试来看,Bitcoin 世界很难安排。一种可能性是使用门限签名, 允许单一可识别公众的加密方案 密钥由多个秘密“部分”有效控制, 必须使用其中的部分或全部来创建有效的签名。 不幸的是,阈值签名兼容 使用 Bitcoin 的 ECDSA 的计算成本很高 创建多项式复杂度的 和 。其他方案如 a Schnorr 签名的成本要低得多,但是 它们可能被引入 Bitcoin 的时间表 协议是不确定的。 由于存款的最终安全取决于 多个绑定的 validator,另一种选择是 将多重签名密钥持有者减少到仅大量 bonded subset of the total validators such that threshold 签名变得可行(或者,在最坏的情况下,Bitcoin 的原生 多重签名是可能的)。 这当然减少了 如果 validator 的行为违法,则可以在赔偿中扣除的保证金总额,但是这 是一种优雅的降级,只需设置一个上限 可以在两者之间安全运行的资金量 两个网络(或者实际上,攻击造成的损失百分比 从 validator 成功)。 因此,我们认为放置一个相当安全的 Bitcoin 互操作性“虚拟平行链”并非不现实 两个网络之间,尽管仍然需要付出巨大的努力,但时间表不确定,而且很可能 需要利益相关者的合作 网络。

プロトコルの詳細

プロトコルは大きく 3 つに分類できます。 部分: コンセンサスメカニズム、パラチェーンインターフェイス そしてチェーン間トランザクションルーティング。 6.1.リレーチェーン 操作。の リレーチェーン するだろう おそらく、Ethereum とほぼ同様のチェーンである可能性があります。 アドレスをアカウントにマッピングする状態を伴う状態ベースです 情報、主に残高と(リプレイを防ぐため) トランザクションカウンター。ここにアカウントを配置することで、アイデンティティが持つアカウントを提供するという 1 つの目的が達成されます。 システム内のステークの量。7 ただし、顕著な違いがあります。 • コントラクトはトランザクションを通じて展開できません。リレーチェーン上のアプリケーション機能を回避したいという要望から、それは行われません。 契約の公的展開をサポートします。 • コンピューティング リソースの使用量 (「ガス」) は考慮されません。 公的に使用できる唯一の機能であるため、 ガス会計の背後にある理論的根拠は修正されるでしょう もう成立しません。そのため、定額料金が適用されます すべてのケースで、より高いパフォーマンスを可能にします。 動的コードの実行が必要になる場合があります よりシンプルなトランザクション形式。 • リストされたコントラクトでは、自動実行とネットワークメッセージ出力を可能にする特別な機能がサポートされています。 リレーチェーンに VM があり、それが EVM をベースにしているため、最大限の簡素化を実現するために多くの変更が加えられています。 おそらく 多くの組み込みコントラクトがあります ( Ethereum のアドレス 1 ~ 4) を使用して、プラットフォーム固有の コンセンサス契約を含む管理すべき義務、 validator コントラクトとパラチェーン コントラクト。 EVM でない場合は、WebAssembly [2] (wasm) バックエンドが最も可能性の高い代替手段です。この場合は全体的に 構造は似ていますが、その必要はありません Wasm が実行可能なターゲットである組み込みコントラクトの場合 未熟な言語ではなく汎用言語向け EVM の言語は限定されています。 現在の Ethereum プロトコルからのその他の逸脱も十分に考えられます。たとえば、 同じブロック内で競合しないトランザクションを並列実行できるトランザクション受信形式。 Serenity シリーズの変更で提案されているとおりです。 可能性は低いですが、セレニティのようなものである可能性があります。 「純粋な」チェーンをリレー チェーンとして展開できるため、 staking token のようなものを管理するための特定の契約 それを基本的な部分にするのではなく、バランスを取る チェーンのプロトコル。現時点では、その可能性は低いと考えています 十分に優れたプロトコルの簡素化を提供します。 さらなる複雑さと不確実性が伴う価値がある それを開発する上で。 7 特定の保有者がシステム全体のセキュリティに対して責任を負う金額を表す手段として、これらのステーク アカウントは、 必然的に何らかの経済的価値をエンコードします。ただし、このような値を使用する意図はありませんので、ご理解ください。 いかなる方法であっても、現実世界の商品やサービスと交換することを目的とする場合、token を次のものに喩えるものではないことに注意してください。 通貨であるため、リレーチェーンはアプリケーションに関する虚無的な哲学を保持しています。POLKADOT: 異種マルチチェーン フレームワークのビジョン ドラフト 1 10 コンセンサス メカニズム、validator セット、検証メカニズム、およびパラチェーンを管理するために必要な機能の小さな部分が多数あります。これら モノリシックプロトコルの下で一緒に実装できます。ただし、モジュール性を高めるため、これらをリレーチェーンの「契約」と呼びます。これは、 それらはオブジェクトであることを意味すると解釈されます(という意味で) オブジェクト指向プログラミング)はリレーチェーンのコンセンサスメカニズムによって管理されますが、必ずしもそうではありません これらは、EVM のようなオペコードのプログラムとして定義されていません。 たとえそれらが アカウントシステム。 6.2.ステーキング契約。このコントラクトは validator セットを維持します。以下を管理します。 • 現在 validator であるアカウント。 • 短くするとvalidatorsになる可能性があります 気づいてください。 • どのアカウントが指名権を賭けているか validator; • staking ボリューム、許容可能なペイアウト率とアドレス、および短期 (セッション) ID を含むそれぞれのプロパティ。 アカウントがなりたいという願望を登録できるようになります。 結合された validator (その要件とともに)、何らかのアイデンティティを指名し、既存の結合された validator がこのステータスを終了する希望を登録します。それも 検証および正規化メカニズムのための機構自体が含まれています。 6.2.1.ステーク - token 流動性。一般的に望ましいのは、 合計 staking token をできるだけ多くする ネットワーク保守業務に関与して以来 これは、ネットワーク セキュリティを staking token 全体の「時価総額」に直接結び付けることになります。これは簡単にできます 通貨を吊り上げ、validator として参加する人に収益を分配することでインセンティブが与えられます。ただし、これを行うと問題が発生します。token 減額の罰を受けてステーキングコントラクトに固定されているのに、どうすればかなりの部分が十分に残るのでしょうか 価格発見を可能にするために液体を使用しますか? これに対する 1 つの答えは、単純なデリバティブ契約を許可し、基礎となるステーク済み token 上で代替可能な token を確保することです。これを信頼性のない方法で手配するのは困難です。 さらに、これらのデリバティブ token は、異なるユーロ圏政府の債券が代替不可能であるのと同じ理由で同等に扱うことができません。 原資産が故障して、 無価値。ユーロ圏各国政府では、 デフォルト。 validator でステーキングされた token では、validator が 悪意を持って行動し、罰せられます。 私たちの理念に従い、すべての token を賭けるわけではないという最も単純な解決策を選択します。これはつまり、 token の一部 (おそらく 20%) は強制的に液体のままになります。これはセキュリティの観点からは不完全ですが、根本的な違いを生む可能性は低いです。 ネットワークのセキュリティ。保釈金没収によって可能な賠償金の80%はまだ支払えるだろう 100% staking の「完璧なケース」と比較します。 ステーキングされたtokenとリキッドtokenの比率は、リバース オークション メカニズムを通じて非常に簡単に目標とすることができます。 基本的に、token 保有者は、validator になることに興味があります。 それぞれが、staking 契約に次のようなオファーを投稿します。 要求される最低ペイアウト率 部分。 各セッションの開始時 (セッションは 定期的に、おそらく 1 時間に 1 回程度の頻度で発生します) validator スロットは、それぞれの希望に応じて埋められます validator の賭け金とペイアウト率。考えられるアルゴリズムの 1 つ というのは、これは最低のオファーを持った人たちを採用することになるからです。 目標とする合計賭け金を超えない賭け金を表す スロット数で割った値であり、その半分の下限以上となります。スロットが埋まらない場合は、 下限は、満足するために、何らかの係数によって繰り返し削減される可能性があります。 6.2.2.指名する。信頼性の高い指名が可能 staking token をアクティブな validator に与えます。 validator の職務の責任。作品のノミネート 承認投票システムを通じて。各推薦者候補者は、staking 契約に指示を投稿できます。 1 つ以上の validator アイデンティティを表現し、その下に 彼らは自分たちの絆を託す用意があるという責任を持っています。 各セッションでは、推薦者の絆が分散されます。 1 つ以上の validator で表されます。分散アルゴリズムは、合計が等しい validator のセットを最適化します。 絆。指名者の債券は、validator a の有効な責任の下に置かれます。利息を得るか、苦しむか それに応じて刑罰も軽減される。 6.2.3.保証金の没収/バーニング。特定のvalidator行動により、懲罰的に絆が減らされます。もし ボンドが許容最小値を下回った場合、 セッションが途中で終了し、別のセッションが開始されました。罰せられるvalidatorの不正行為のリストはすべてではありませんが、次のとおりです。 • パラチェーングループの一員であるため、提供できない パラチェーンブロックの有効性についてのコンセンサス。 • 無効なファイルの有効性を確認するために積極的に署名する。 パラチェーンブロック。 • 以前は出力ペイロードを提供できなかった 利用可能として投票しました。 • 合意プロセス中の非アクティブ。 • 競合するフォーク上のリレーチェーンブロックを検証する。 不正行為の一部のケースでは、ネットワークの完全性が脅かされ(無効なパラチェーン ブロックへの署名やフォークの複数の側面の検証など)、その結果、ボンドの全体的な削減を通じて実質的な追放が発生します。で その他、それほど深刻ではないケース (例: コンセンサスにおける不活動) プロセス)、または責任を正確に割り当てることができない場合(非効率なグループの一員である場合)、ごく一部 代わりに、債券の全額に罰金が課される場合があります。後者の場合、これは サブグループのチャーンとうまく連携して、悪意のある行為が確実に行われるようにします。 ノードは、巻き添えで被害を受けた善良なノードよりも大幅に多くの損失を被ります。 場合によっては (マルチフォーク検証や無効な場合など) サブブロック署名) validator は定期的に検証されるため、互いの不正行為をそれ自体で簡単に検出できません。 各パラチェーンブロックの作成は非常に困難な作業になります。ここ 社外の関係者の支援を得る必要がある そのような不正行為を検証して報告するための検証プロセス。当事者は、そのような活動を報告すると報酬を受け取ります。彼らの「漁師」という言葉は、ありそうもないことに由来しています。 そのような報酬の。 通常、これらの事件は非常に深刻であるため、私たちは、没収された保証金から報酬が簡単に支払われることを想定しています。 一般に、燃焼のバランスをとることを好みます。 (つまり、ゼロに減らす) ではなく、再割り当てを使用します。 大規模な再配分を試みています。これには次のような効果があります

POLKADOT: 異種マルチチェーン フレームワークのビジョン ドラフト 1 11 token の全体的な値を増やし、 特定のネットワークではなく、ある程度のネットワーク全般 発見に関与した当事者。 これは主に安全のためです メカニズム: 大量のものが関与するため、すべてが揃った場合、極端かつ急性の行動の奨励につながる可能性があります。 単一の対象に与えられます。 一般に、報酬は、ネットワークにとって検証を価値のあるものにするのに十分な額であることが重要ですが、ネットワークのフロントにかかるコストを相殺できるほど大きくないことが重要です。 資金力があり、巧妙に組織された「業界レベル」の犯罪者 不運な validator に対してハッキング攻撃を行い、不正行為を強制します。 このようにして、請求額は通常、ゼロになるはずです。 誤ったvalidatorの直接結合より大きい。 不正行為をしたり、報奨金を得るために自分自身を報告したりすることによって生じる倒錯的なインセンティブ。これは明示的に対処できます になるための最低直接債券要件を通じて validator または、保証金がほとんど預けられていない validator には大きなインセンティブがないことを推薦者に教育することによって暗黙的に 行儀よく振る舞うこと。 6.3.パラチェーンレジストリ。各パラチェーンは次のように定義されます。 このレジストリ。これは比較的単純なデータベースのような構造であり、静的情報と動的情報の両方を保持します。 各チェーン。 静的情報には、チェーン インデックス (単純な 整数)、検証プロトコル ID とともに、 異なるクラスを区別する手段 パラチェーンを使用することで、正しい検証アルゴリズムを実現できます。 有効な候補者を推薦するよう委託されたvalidatorsによって運営されています。最初の概念実証では、配置に焦点を当てます。 新しい検証アルゴリズムがクライアント自体に組み込まれるため、事実上、毎回プロトコルのハードフォークが必要になります。 チェーンの追加クラスが追加されました。結局のところ、 検証アルゴリズムを指定できる場合があります。 クライアントが安心して利用できるよう、厳密かつ効率的な方法です。 新しいパラチェーンを効果的に操作できる ハードフォーク。これに対する考えられる手段の 1 つは、次のように指定することです。 十分に確立されたパラチェーン検証アルゴリズム、 WebAssembly など、ネイティブにコンパイルされたプラットフォームに依存しない言語。判断するには追加の調査が必要です これが本当に実現可能かどうかはわかりませんが、もし可能であれば、 これにより、ハードフォークを排除するという大きな利点が得られます 永遠に。 動的情報には、グローバルな合意が必要なトランザクション ルーティング システムの側面が含まれます。 パラチェーンの入力キューとして(セクション6.6で説明)。 レジストリにはパラチェーンのみを追加できます 国民投票の完全な投票を通じて。これはなんとかなるだろう 内部に配置されますが、外部に配置される可能性が高くなります。 再利用を容易にするための住民投票契約 より一般的なガバナンスコンポーネント。パラメータは 投票要件 (例: 必要な定足数、過半数 必須)追加チェーンの登録など、 あまり正式ではないシステムのアップグレードは「マスター」で規定されます。 憲法」に従うが、かなり伝統的なものに従う可能性が高い 少なくとも最初はパス。正確な配合はできていない 現在の作業の範囲ですが、例:システム全体の 3 分の 1 以上で可決する 3 分の 2 の圧倒的多数 積極的に投票することが賢明な出発点かもしれません。 追加の操作には、パラチェーンの一時停止と削除が含まれます。 サスペンションは願わくば決してないでしょう しかし、それは最低限の安全策として設計されています パラチェーンの検証システムには解決しがたい問題があります。それが起こる可能性がある最も明白な例は、 必要なのは、実装間のコンセンサスが重要な違いであるため、validator は同意できない 有効性またはブロック。バリデーターは使用することをお勧めします。 複数のクライアント実装を可能にするために 保釈金を没収される前にそのような問題を発見すること。 停止は緊急措置なので、 むしろ動的なvalidator投票の後援の下で 住民投票よりも。再インストールはどちらも可能です validators または住民投票から。 パラチェーンの完全な除去は、 国民投票の後、それに伴い、 ~への秩序ある移行を可能にするための実質的な猶予期間 スタンドアロンのチェーンか、他のチェーンの一部になるかのどちらか コンセンサスシステム。 猶予期間はおそらく次のとおりです 数か月のオーダーで、異なる順序でパラチェーン レジストリにチェーンごとに設定される可能性があります。 パラチェーンは、以下に応じてさまざまな猶予期間を楽しむことができます。 彼らの必要性。 6.4.リレーブロックの密閉。シーリングとは、本質的には、 正規化のプロセスへ。つまり基礎データです どれを変換するオリジナルを根本的に特異で意味のあるものにマッピングします。 PoW チェーンの下では、 封印は事実上採掘と同義です。私たちの場合、 これには、validators からの、有効性、可用性、正規性に関する署名付きステートメントの収集が含まれます。 特定のリレーチェーン ブロックとパラチェーン ブロック それは表します。 基礎となる BFT コンセンサス アルゴリズムの仕組みは、現在の作業の範囲外です。 させていただきます 代わりに、を想定するプリミティブを使用してそれを記述します。 合意形成ステートマシン。最終的に私たちが期待するのは、 多くの有望なBFTコンセンサスに触発される コア内のアルゴリズム。 Tangaora [9] (BFT の亜種) ラフト [16])、テンダーミント [11]、ハニーバジャーBFT [14]。 アルゴリズムは複数のパラチェーンで並行して合意に達する必要があるため、通常のアルゴリズムとは異なります。 blockchain コンセンサス メカニズム。一度は コンセンサスに達した場合、そのコンセンサスを記録することができます 以下のいずれかによって提供できる反駁できない証拠において 参加者はそれに参加します。不正行為も想定されます プロトコル内では通常、小さな値に減らすことができます。 不正行為を行った参加者を含むグループを最小限に抑える 罰を与える際の巻き添え被害。8 私たちの署名済みステートメントの形式をとった証明は、リレーチェーンブロックのヘッダーに一緒に配置されます 他の特定のフィールド、特にリレーチェーンのステートトライルートとトランザクショントライルート。 の 封印 プロセス かかります 場所 下 ある 独身 合意形成 仕組み アドレス指定 両方 の リレーチェーンのブロックとパラチェーンのブロック リレーのコンテンツの一部: パラチェーンはサブグループによって個別に「コミット」されてから照合されるわけではありません 後で。これにより、リレーチェーンのプロセスがより複雑になりますが、システム全体のコンセンサスを 1 つの段階で完了できるため、遅延が最小限に抑えられ、 非常に複雑なデータ可用性要件に対応します。 以下のルーティング プロセスに役立ちます。 8 Tendermint BFT やオリジナルの Slasher などの既存の PoS ベースの BFT コンセンサス スキームは、これらの主張を満たしています。

POLKADOT: 異種マルチチェーン フレームワークのビジョン ドラフト 1 12 各参加者のコンセンサスマシンの状態は、 単純な (2 次元) テーブルとしてモデル化できます。各参加者 (validator) は、次の形式で一連の情報を持っています。 各パラチェーン ブロック候補およびリレーチェーン ブロック候補に関する他の参加者からの署名付きステートメント (「投票」) の合計。情報のセットは 2 つです データの: 可用性: あります これ validator 持っています 出口 このブロックからのトランザクションポスト情報なので、 次のブロックのパラチェーン候補を適切に検証できますか?彼らは投票するかもしれない 1 (既知) または 0 (まだ不明)。かつて彼らは 1 票を投じる場合、彼らは同様に投票することを約束します。 このプロセスの残りの部分。そうでない後の投票 これが処罰の理由であることを尊重してください。 有効性: パラチェーン ブロックは有効であり、すべて有効です。 外部参照データ (例: 取引) 利用可能ですか?これは、投票しているパラチェーンに割り当てられている validator にのみ関係します。 1 (有効)、-1 (無効)、または 0 のいずれかに投票できます。 (まだ知られていません)。一度非ゼロに投票すると、 残りの期間もこの方法で投票することを約束します プロセス。これを尊重しない後の投票 が処罰の根拠となります。 すべての validator は投票を提出する必要があります。投票は上記のルールに従って再提出することができます。の進行状況 コンセンサスは、各パラチェーン上で並行して発生する複数の標準 BFT コンセンサス アルゴリズムとしてモデル化できます。これらは相対的な要因によって潜在的に妨げられるため、 少数の悪意のある攻撃者が集中している 単一のパラチェーン グループでは、全体的なコンセンサスが存在します。 バックストップを確立し、最悪のシナリオを制限します。 1 つまたは複数の無効なパラチェーン ブロックのみでデッドロック (および 責任者には一連の懲罰を科す)。 個々のブロックの有効性に関する基本規則 (これにより、validator の合計セットが全体として次のようになります) 独自のパラチェーン候補となることで合意 正規リレーから参照されます): • validator の少なくとも 3 分の 2 が肯定的に投票し、否定的に投票する人がいない必要があります。 • 出力キュー情報の利用可能性に肯定的に投票している validator が 3 分の 1 を超えている必要があります。 有効性に関して少なくとも 1 つの肯定的な投票と少なくとも 1 つの否定的な投票がある場合、例外条件が作成されます。 validator のセット全体が投票して決定する必要があります 悪意のある当事者がいる場合、または事故があった場合 フォーク。有効・無効以外の第三の投票 これは両方に投票することと同等です。つまり、 ノードには矛盾した意見があります。この原因として考えられるのは、 ノードの所有者は複数の実装を実行しています。 一致しない場合は、プロトコルに曖昧さがある可能性があることを示しています。 すべての投票が完全な validator セットからカウントされた後、次の場合 負けた意見は少なくともある程度の割合を占める( パラメータ化される。多くても半分、おそらく大幅に少ない) 勝利意見の投票のうち、次のように仮定されます。 偶発的にパラチェーンがフォークされた場合、パラチェーンはコンセンサスプロセスから自動的に一時停止されます。そうでない場合は、悪質な行為とみなし、処罰します。 反対意見に投票した少数派。 結論は、次のことを示す一連の署名です。 正規性。その後、リレーチェーンブロックを密閉することができます そして次のブロックを封印するプロセスが始まりました。 6.5.シールリレーブロックの改良。その間 このシール方法はシステムの動作を強力に保証しますが、スケールアウトはあまりうまくいきません すべてのパラチェーンの鍵情報には、 すべての validator の 3 分の 1 以上で可用性が保証されています。 これは、すべての validator の責任の足跡が チェーンが追加されると増加します。 オープンコンセンサスネットワーク内でのデータの可用性 これは本質的に未解決の問題ですが、validator ノードにかかるオーバーヘッドを軽減する方法はあります。シンプルな 1 つの 解決策は、validators が負担しなければならないことを認識することです データの可用性に対して責任を負うため、データ自体を実際に保存、通信、複製する必要はありません。 セカンダリ データ サイロ。おそらく関連する (あるいは、まさに 同じ)このデータを編集する照合者は、 validator が利息/収入の一部を支払いとして提供することで、利用可能性を保証するというタスク。 ただし、これによりある程度の中間的なスケーラビリティは得られるかもしれませんが、それでも根本的な問題の解決にはなりません。それ以来 チェーンを追加するには、通常、追加の validator が必要となり、継続的なネットワーク リソースの消費 (特に帯域幅の点で) は の 2 乗で増加します。 の鎖は長期的には維持できない性質です。 結局のところ、我々は頭を打ち続けることになるだろう という基本的な制限に反して、 安全に利用できるとみなされるコンセンサスネットワーク、 継続的な帯域幅要件は合計のオーダーに相当します validators 倍の合計入力情報。これは次の理由によるものです 信頼できないネットワークでは、データ ストレージのタスクを多くのノードに適切に分散できず、 処理という非常に分散可能なタスクは別として。 6.5.1.レイテンシーの紹介。これを和らげる一つの手段 ルールは、即時性の概念を緩和することです。 可用性に関して 33%+1 validators の投票をすぐにではなく最終的にのみ要求することで、指数関数的なデータ伝播をより効果的に活用し、データ交換のピークを平準化することができます。 合理的な平等(証明されていないが) 次のようになります: (1) レイテンシ = 参加者 × チェーン 現在のモデルでは、システムのサイズが拡大します 処理が確実に行われるようにチェーンの数を設定します。 配布された。各チェーンには少なくとも 1 つの validator が必要であり、可用性証明書を定数に固定するためです。 validator の割合が増加すると、参加者も同様に増加します チェーンの数で。最終的には次のようになります。 (2) レイテンシ = サイズ2 つまり、システムが成長するにつれて、必要な帯域幅と可用性が得られるまでの遅延がシステム全体で判明します。 ネットワーク。番号としても特徴付けられます。 ファイナリティ前のブロックの数は、その二乗に応じて増加します。これは これは実質的な成長要因であるが、それが顕著な障害となり、私たちを「非フラット」パラダイムに追い込む可能性がある 複数の「Polkadot」を階層に構成するなど リレーチェーンのツリーを介したポストのマルチレベルルーティング用。

POLKADOT: 異種マルチチェーン フレームワークのビジョン ドラフト 1 13 6.5.2.一般参加。もう一つ考えられる方向性 それは、プロセスへの一般の参加を求めることです。 マイクロクレームシステム。漁師と同じように、 主張するvalidatorを取り締まる外部の関係者である可能性があります 可用性。 彼らの任務は、そのような能力を証明できないと思われる人物を見つけることです。 そうすることで彼らは 他の validator に対してマイクロ苦情を申し立てることができます。捕虜か シビル攻撃を軽減するためにステーキングボンドが使用される可能性があります そうなるとシステムはほとんど役に立たなくなります。 6.5.3.可用性の保証者。最終的なルートは次のとおりです 結合された validator の 2 番目のセットを「可用性」として指名します。 保証人」。これらは通常の validator と同様に結合され、同じセットから取得されることもあります (ただし、その場合、少なくともセッションごとに、長期にわたって選択されることになります)。通常の validator とは異なり、 パラチェーン間で切り替えるのではなく、 すべての重要なチェーン間データの可用性を証明するために単一のグループを形成します。 これには、参加者とチェーン間の等価性が緩和されるという利点があります。 基本的に、チェーンは次のことができます。 (元のチェーン validator セットとともに) 成長しますが、 参加者、特にデータ可用性の証明に参加する人々は、少なくとも準線形性を維持できます。 そしておそらく一定です。 6.5.4.照合者の設定。この重要な側面の 1 つは、 このシステムは、健全な選択が行われることを保証することを目的としています。 特定のパラチェーンでブロックを作成するコレーター。もし 単一の照合者がパラチェーンを支配し、その後いくつかの攻撃を行った が不足する可能性が高いため、より実現可能になります。 外部データの利用可能性はそれほど明らかではありません。 1 つのオプションは、パラチェーン ブロックに人工的に重み付けすることです。 さまざまな照合者を優先するための擬似ランダム メカニズム。まず第一に、次のようにします。 validators が支持するコンセンサス メカニズムの一部として パラチェーンブロック候補は「より重い」と判定されました。 同様に、validator に次のことを試みるよう奨励する必要があります。 見つけられる最も重いブロックを提案します。これはおそらく これは、報酬の一部を候補者の体重に比例させることで行われます。 照合者に合理的な公平性が与えられるようにするため 彼らの候補者が勝利者として選ばれる可能性 候補者が合意に達した場合、私たちは特定の重要性を決定します。 パラチェーンブロック候補は、各照合器に接続されたランダム関数で決定されます。 たとえば、 照合者の住所間の XOR 距離測定値 および暗号的に安全な擬似乱数 ブロックが作成されるポイントの近くで決定される (概念的な「当たりチケット」)。これにより、それぞれに効果的な効果が得られます。 照合者 (より具体的には、各照合者の住所) 候補ブロックが「勝つ」ランダムな確率 他のすべて。 単一の照合者によるシビル攻撃を軽減するために、当選チケットに近いアドレスを「マイニング」し、 各ブロックをお気に入りにするには、照合者のアドレスに慣性を追加します。これは、それらを要求するのと同じくらい簡単かもしれません アドレスにベースライン金額の資金が含まれていること。さらに エレガントなアプローチは、 に駐車した金額の当選チケット 問題のアドレス。まだモデリングは終わっていないのですが、 このメカニズムにより、非常に 小規模な利害関係者が照合者として貢献します。 6.5.5.太り過ぎのブロック。 validator セットが侵害された場合、ブロックを作成して提案する可能性がありますが、 有効ですが、実行に膨大な時間がかかり、 検証します。 validator グループは次のような可能性があるため、これは問題です。 非常に長い時間がかかるブロックを合理的に形成する ショートカットを許可する特定の情報がすでにわかっている場合を除き、実行します。大きな因数分解 プライム。 もし 1 人の照合者がその情報を知っていたとしたら、 彼らは自分たちで手に入れたほうが明らかに有利だろう 他の候補者は、古いブロックの処理で忙しい限り受け入れられました。これらのブロックをオーバーウェイトと呼びます。 これらのブロックの送信と検証を行う validator に対する保護は、主に、 無効なブロックですが、追加の警告があります: ブロックの実行にかかった時間 (およびそのステータス) 太りすぎ)は主観的なものであり、投票の最終結果は 不正行為は基本的に 3 つのグループに分類されます。 1 つ 可能性としては、ブロックが明らかに太りすぎではないということです。 この場合、3分の2以上が「できる」と宣言している。 ある制限内でブロックを実行します (例: ブロック間に許可される合計時間の 50%)。 もう一つは、 ブロックはdです間違いなく太りすぎです。これは、以下の場合に当てはまります。 3 分の 2 がブロックを実行できなかったと宣言 上記制限内で。 最後の可能性はほぼ等しいです validator の間で意見が分かれています。この場合、私たちは、 相応の罰を与えることを選択します。 validator がいつそうなるかを確実に予測できるようにするため オーバーウェイトブロックを提案する場合、各ブロックのパフォーマンスに関する情報を公開するよう要求するのが賢明かもしれません。十分な期間を経て、 これにより、処理速度のプロファイリングが可能になるはずです 彼らを判断するであろう仲間と比較して。 6.5.6.コレーター保険。 validators には次の問題が 1 つ残っています。 PoW ネットワークとは異なり、照合者の 有効性を確保するためにブロックを作成するには、実際にその中でトランザクションを実行する必要があります。悪意のある照合者は、無効なブロックや重量超過のブロックを validator にフィードして、彼らを苦しめる (無駄な) 可能性があります。 彼らのリソース)、潜在的にかなりの機会費用がかかることになります。 これを軽減するために、私たちは、 validator の一部。まず、パラチェーンブロック候補が送信されました validator へはリレー チェーン アカウントから署名する必要があります 資金を使って。そうでない場合は、validator がドロップされるはずです それはすぐに。第二に、そのような候補は、次の組み合わせ(乗算など)によって優先順位を付ける必要があります。 アカウント内の資金の量が一定の上限まで、 照合者が過去に提案に成功した以前のブロックの数 (以前のブロックは言うまでもありません) 罰)、および勝利への近接要因 前述したようにチケット。キャップも同じはず この事件でvalidatorに支払われた懲罰的損害賠償金として うちは無効なブロックを送信しています。 照合者が無効または過大なブロック候補を validator に送信することを妨げるために、validator は次のことを行うことができます。 次のブロックに、不正行為を主張する問題ブロックを含むトランザクションを配置し、不正行為を行った照合者の資金の一部または全部を転送する 被害を受けたvalidatorにアカウントを送信します。 このタイプのトランザクションは、照合者が確実に実行できないように、他のトランザクションよりも優先して実行されます。 処罰の前に資金を削除してください。の量 損害賠償として送金される資金はまだ動的パラメータです

POLKADOT: 異種マルチチェーン フレームワークのビジョン ドラフト 1 14 モデル化される予定ですが、引き起こされた悲しみのレベルを反映するvalidatorブロック報酬の割合になる可能性があります。へ 悪意のある validator が照合者の資金を恣意的に没収するのを防ぐため、照合者はその代わりにランダムに選ばれた validator からなる陪審を招いて validator の決定に対して上訴することができます 少額の入金のため。 彼らが validator に有利であると判断した場合、デポジットは彼らによって消費されます。そうでない場合は、 デポジットは返還され、validator には罰金が科せられます( validator ははるかにアーチ型の位置にあり、罰金は おそらくかなり重いでしょう)。 6.6.インターチェーン トランザクション ルーティング。インターチェーン トランザクション ルーティングは重要なメンテナンスの 1 つです リレーチェーンのタスクとそのvalidator。 これは、 投稿されたトランザクション (多くの場合、単に「投稿」と短縮される) が望ましい出力になるまでの過程を制御するロジック あるソースパラチェーンから、信頼を持たない別の宛先パラチェーンの交渉不可能な入力になるまで 要件。 上記の文言は慎重に選択しています。特に私たちは ソース内にトランザクションが存在する必要はありません parachain はこの投稿を明示的に承認しました。唯一の 私たちがモデルに課す制約は、パラチェーンです。 ブロック全体の一部としてパッケージ化して提供する必要があります 処理出力、その結果である投稿 ブロックの実行。 これらのポストは、複数の FIFO キューとして構造化されています。の リストの数はルーティング ベースとして知られており、 およそ 16。注目すべきことに、この数字は数量を表します。 に頼ることなくサポートできるパラチェーンの数 マルチフェーズルーティング。当初、Polkadot はこれをサポートします 一種の直接ルーティングですが、考えられる 1 つの概要を説明します。 手段としてのマルチフェーズ配線プロセス (「ハイパー配線」) パラチェーンの初期セットをはるかに超えてスケールアウトします。 私たち 仮定する それ すべて 参加者 知っています の 次の 2 つのブロック n、n + 1 のサブグループ化。要約すると、 ルーティング システムは次の段階に従います。 • CollatorS: Validators[n][S] のメンバーに連絡します。 • CollatorS: サブグループごとに: で確認します。 V alidators[n][s] の少なくとも 1 人のメンバーが接触中 • コレーター: 各サブグループについて: 仮定する egress[n −1][s][S] が利用可能です (すべての受信ポスト 最後のブロックから「S」へのデータ) • コレーター: S のブロック候補 b を構成します。 (b.header、b.ext、b.proof、b.receipt、b.egress) • コレーター: 送信 証拠 情報 proof[S] = (b.header、b.ext、b.proof、b.receipt) から バリデーター[n][S] • CollatorS: 外部トランザクション データ b.ext を保証します。 他の照合者とvalidatorが利用できるようになります • コレーター: のための それぞれ サブグループ s: 送信 出口 情報 出口[n][S][s] = (b.header、b.receipt、b.egress[s]) に の 受信 サブグループの メンバー の 次へ ブロック バリデータ[n + 1][s] • ValidatorV : すべての同じセットのメンバーを事前接続します 次のブロックの場合: N = Chain[n + 1][V ]; とします。接続する Chain[n + 1][v] = N となるすべての validators v • バリデーター V : このためのすべてのデータ入力を照合します ブロック: のための それぞれ サブグループ s: 取得 egress[n −1][s][Chain[n][V ]]、Chain[n][v] = Chain[n][V ] となるように他の validators v から取得します。 おそらく、試みの証拠として、ランダムに選択された他の validator を経由します。 • バリデーター V : これに対する候補証明を受け入れる ブロックプルーフ[Chain[n][V ]]。投票ブロックの有効性 • バリデーター V : の候補出力データを受け入れる 次のブロック: サブグループごとに、受け入れます 出口[n][s][N]。投票ブロック出力の可用性。関心のある validator 間で再公開します。 チェーン[n + 1][v] = チェーン[n + 1][V ]。 • ValidatorV : コンセンサスが得られるまで ここで: egress[n][from][to] は現在の出力キューです。 パラチェーン「from」から~への投稿に関する情報 ブロック番号「n」のパラチェーン「to」。 Collat​​orS は、パラチェーン S の照合器です。V alidators[n][s] は、ブロック番号 n のパラチェーンの validator のセットです。逆に、 Chain[n][v] は、ブロック番号 n で validator v が割り当てられるパラチェーンです。 block.egress[to] は出口です パラチェーンブロックからの投稿のキュー。 パラチェーンの目的地は です。 照合者は以下に基づいて(取引)手数料を徴収するため、 彼らのブロックが正規化されることを奨励されている 次のブロックの宛先ごとに、サブグループの メンバーには現在からの出力キューが通知されます ブロック。バリデーターは、(パラチェーン)ブロックに関する合意形成のみを目的としており、それ自体はほとんど気にしません。 どの照合者のブロックが最終的に正規となるのか。で 原則として、validator は照合者と同盟を結び、他の照合者が犯罪に関与する可能性を減らすために共謀する可能性があります。 ブロックが正規化されますが、これは両方とも困難です ランダムセレのため手配しますvalidator のアクション パラチェーンは、持続するパラチェーンブロックに支払われる手数料を削減することで防御できる可能性があります。 コンセンサスプロセス。 6.6.1.外部データの可用性。パラチェーンの確保 外部データが実際に利用できるかどうかは、永続的な問題です ワークロードを分散することを目的とした分散型システム ネットワーク。問題の中心は可用性です どちらも不可能であるため、 非インタラクティブな可用性の証明などを作成する BFT システムが適切に利用できないことの証明 正確さが依存する遷移を検証します。 一部の外部データの利用可能性、最大数 許容可能なビザンチン ノードの数とシステムの 1 つ データが利用可能であることを証明する必要があります。 Polkadot のように、システムが適切にスケールアウトするには、これ 問題が発生します: validators の割合が一定の場合 データの可用性を証明する必要があり、次のように仮定します。 validators は、データが利用可能であると主張する前に実際にデータを保存したいと考えている場合、どうすれば回避できますか? システムのサイズ (したがって validator の数) に応じて増加する帯域幅/ストレージ要件の問題はありますか?考えられる答えの 1 つは、別のセットを用意することです。 validator 件 (在庫保証者)、注文は増加中 全体として Polkadot のサイズでサブリニアに。これは 6.5.3 で説明されています。 二次的なトリックもあります。 グループとしての照合者には、すべてのデータが確実に収集されるようにするという本質的なインセンティブがあります。 選択したパラチェーンがなければ利用可能です。 それ以上のブロックを作成できません。 取引手数料を徴収します。照合者もグループを形成しますが、そのメンバーは (ランダムな性質のため) 様々です。 パラチェーン validator グループ) 入力は簡単ではありません

POLKADOT: 異種マルチチェーン フレームワークのビジョン ドラフト 1 15 証明するために。したがって、最近の照合者 (おそらく最後の数千ブロック) は、 特定のパラチェーンの外部データの利用可能性 小規模な結合の場合は validators までブロックします。 検証者は、明らかに違反している validator サブグループの証言者に連絡し、データを取得して照合者に返すか、検証をエスカレーションする必要があります。 利用可能性が欠如していることを証言することで問題を解決する (データの提供を直接拒否することは保釈金没収犯罪としてカウントされるため、不正行為を行った validator はおそらくただの罪になるだろう) 接続を切断します)、追加の validator に連絡します 同じテストを実行します。後者の場合、担保保証金 が返されます。 このような利用不能の証言を行うことができる validator の定足数に達すると、解放され、 不正行為をしたサブグループは罰せられ、ブロックは元に戻されます。 6.6.2.投稿ルーティング。各パラチェーンヘッダーには、 出口トライルート;これは、を含むトライのルートです。 ルーティングベースのビン。各ビンは連結されたリストです 出口ポストの数。 マークル証明はさまざまな場所で提供される可能性があります parachain validators は、特定のパラチェーンの ブロックには、特定の宛先パラチェーンに対する特定の出力キューがありました。 パラチェーンブロックの処理の開始時に、それぞれの 当該ブロックに向かう他のパラチェーンの出力キューは ブロックの入力キューにマージされました。私たちは強いと仮定しますが、 おそらく CSPR9、サブブロックの順序付けにより、どのサブブロックにも優先順位が与えられない決定論的な操作を実現します。 パラチェーンブロックペアリング。照合者は新しいキューを計算します パラチェーンに従って出力キューを排出します ロジック。 入力キューの内容は明示的に書き込まれます。 パラチェーンブロックに入れます。 これには主に次の 2 つの目的があります。 まず、これはパラチェーンが他のパラチェーンから独立してトラストレスに同期できることを意味します。第二に、 イングレス全体が発生した場合のデータロジスティクスを簡素化します。 キューを単一のブロックで処理することはできません。 validator と照合者は次のブロックを処理できます キューのデータを特別に取得する必要はありません。 パラチェーンの入力キューがしきい値を超えている場合 ブロック処理の終了時に量がマークされる リレーチェーン上で飽和状態になり、それ以上のメッセージは送信できなくなります クリアされるまで配信されます。 マークル証明は、 照合者の操作の忠実性を実証するために使用されます。 パラチェーンブロックの証拠。 6.6.3.批評。この基本に関する小さな欠陥が 1 つあります メカニズムは爆弾後攻撃です。 ここがすべての場所です パラチェーンは可能な限り最大量の投稿を送信します 特定のパラチェーンに。これによりターゲットが拘束される一方で、 キューを一度に入力しても、何度繰り返してもダメージはありません 標準的なトランザクション DoS 攻撃。 正常に動作しており、十分に同期されており、 悪意のないコレーターと validator (N 個のパラチェーンの場合)、 パラチェーンごとに合計 N × M validator と L 個の照合器があり、 ブロックごとの合計データ経路を次のように分類できます。 バリデータ: M −1+L+L: 他の validator の場合は M −1 パラチェーン セットでは、候補パラチェーン ブロックを提供する各コレーターに L、各コレーターに 2 番目の L 前のブロックの出力ペイロードを必要とする次のブロックの。 (後者は実際には最悪のケースに近いです) 照合者がそのようなものを共有する可能性が高いため、 データです。) Collator: M +kN: M (関連するそれぞれへの接続用) パラチェーン ブロック validator、各パラチェーン validator グループのサブセットに出力ペイロードをシードするための kN 次のブロック (およびおそらくお気に入りの照合者)。 そのため、ノードごとのデータ パスウェイは直線的に増加します。 システム全体の複雑さによります。これがある間、 システムが数百または数千のパラチェーンにスケールアップされると、ある程度の通信遅延が発生する可能性があるのは当然です。 複雑さの増加率を下げる代わりに吸収されます。 この場合、マルチフェーズルーティングアルゴリズムが使用される可能性があります。 瞬間的な経路の数を減らすため その代償として、ストレージ バッファとレイテンシが発生します。 6.6.4.ハイパーキューブルーティング。ハイパーキューブ ルーティングは、主に、 上で説明した基本的なルーティング メカニズム。 本質的には、 パラチェーンやサブグループノードの数に応じてノード接続を増やすのではなく、 パラチェーンの対数。投稿は次の間を通過する可能性があります 最終配送に向かういくつかのパラチェーンのキュー。 ルーティング自体は決定的でシンプルです。まずは、 入力/出力キュー内のビンの数を制限します。 パラチェーンの総数ではなく、 はルーティングベース (b) 。これは数値として固定されます パラチェーンの変更が行われ、代わりにルーティング指数 (e) が増加します。このモデルでは、メッセージ量は O(be) とともに成長し、経路は一定のまま およびレイテンシー (または配信に必要なブロック数) O(e)で。 私たちのルーティング モデルは e 次元の超立方体です。 立方体の各側面には b 個の可能な位置があります。 各ブロックでは、単一の軸に沿ってメッセージをルーティングします。私たち ラウンドロビン方式で軸を交互に切り替えることで、ブロックの最悪の場合の配信時間が保証されます。 パラチェーン処理の一部として、外部バインド 入力キューで見つかったメッセージは、適切な出力キューのビンに直ちにルーティングされます。 現在のブロック番号 (および配線次元)。これ このプロセスではホップごとに追加のデータ転送が必要になります 配送ルート上だが、それ自体が問題 何らかの代替手段を使用することで軽減できる可能性があります データ ペイロード配信の、参照のみを含む、 ポストトライのポストの完全なペイロードではなく。 システムのハイパーキューブ ルーティングの例 パラチェーンが 4 つある場合、b = 2 および e = 2 は次のようになります。 フェーズ 0、各メッセージ M: • sub0: if Mdest ∈{2, 3} then sendTo(2) else keep • sub1: if Mdest ∈{2, 3} then sendTo(3) else keep • sub2: if Mdest ∈{0, 1} then sendTo(0) else keep • sub3: if Mdest ∈{0, 1} then sendTo(1) else keep フェーズ 1、各メッセージ M: • sub0: if Mdest ∈{1, 3} then sendTo(1) else keep • sub1: if Mdest ∈{0, 2} then sendTo(0) else keep • sub2: if Mdest ∈{1, 3} then sendTo(3) else keep • sub3: if Mdest ∈{0, 2} then sendTo(2) else keep ここでの 2 つの次元は、最初に見るのが簡単です。 宛先インデックスの 2 ビット。最初のブロックでは、 上位ビットのみが使用されます。 2 番目のブロックの取引 下位ビットを使用します。両方が発生すると(任意で) 順序)、投稿はルーティングされます。 9暗号的に安全な擬似ランダム

POLKADOT: 異種マルチチェーン フレームワークのビジョン ドラフト 1 16 6.6.5.セレンディピティを最大化する。基本的なものを1つ変更すると、 プロポーザルでは、固定合計 c2 −c validators が表示されます。 各サブグループに c−1 validator 個。各ブロックではなく、 validator の非構造化再パーティション化が存在します パラチェーン間ではなく、パラチェーンのサブグループごとに、 各 validator は、一意の異なる名前に割り当てられます。 次のブロックのパラチェーン サブグループ。これは 任意の 2 つのブロック間の不変式を導出します。 パラチェーンの 2 つのペアには、2 つの validator が存在します。 パラチェーンの責任を交換しました。これを使用して可用性を絶対に保証することはできませんが、 (単一の validator は、たとえ 有益)、それでも一般的なケースを最適化できます。 このアプローチには複雑さが伴います。パラチェーンの追加には再組織化も必要になる validator セットの。さらに、validator の数はパラチェーンの数の 2 乗に関連付けられ、 最初は非常に小さく始まり、最終的には大きく成長します 速すぎて、約 50 パラチェーンを超えると維持できなくなります。 これらはいずれも根本的な問題ではありません。最初のケースでは、 validator セットの再編成は必ず実行する必要があります。 とにかく定期的に行われます。 validatorのサイズについて 設定が小さすぎる場合、複数の validator が割り当てられる可能性があります 同じパラチェーンに整数係数を適用します。 全体の合計は validator です。 6.6.4 で説明したハイパーキューブ ルーティングなどのマルチフェーズ ルーティング メカニズムは、次のようになります。 多数の validator の要件を軽減します チェーン数が多い場合。 6.7.パラチェーンの検証。 validator の主な目的 絆の強い俳優として、パラチェーンの ブロックは有効です。これには、状態遷移、含まれる外部トランザクション、実行が含まれますが、これらに限定されません。 入力キュー内の待機中のポストと最終状態 出力キューの。 プロセス自体は非常に簡単です。 validator が前のブロックを封印すると、それらは解放されます パラチェーンブロックの候補を提供する作業を開始する 次のコンセンサスラウンドの候補者。 最初に、validator は、パラチェーン コレーター (次に説明します) または 1 つのパラメーターを通じてパラチェーン ブロック候補を見つけます。 その共同validatorの。パラチェーンブロック候補データ ブロックのヘッダー、前のブロックのヘッダー、 含まれる外部入力データ (Ethereum および Bitcoin の場合、そのようなデータはトランザクションと呼ばれますが、原則として任意の目的のための任意のデータ構造が含まれる場合があります)、出力キュー データおよび状態遷移の妥当性を証明する内部データ (Ethereum の場合) これは、各トランザクションを実行するために必要なさまざまな状態/ストレージ トライ ノードになります)。 実験的証拠は、最近の Ethereum ブロックのこの完全なデータセットを示しています 最大でも数百 KiB です。 同時に、まだ完了していない場合は、validator が実行されます。 前のブロックの遷移に関する情報を、最初は前のブロックから取得しようとします。 validator 以降、すべての validator が署名しています データの可用性。 validator がそのような候補ブロックを受信すると、 次に、それをローカルで検証します。検証プロセスは、パラチェーン クラスの validator モジュール内に含まれています。 作成する必要があるコンセンサス重視のソフトウェア モジュール Polkadot の実装の場合 (原則的には C ABI を備えたライブラリでは、単一のライブラリで次のことが可能になります。 適切な実装間で共有される 「参照」実装が 1 つだけであることから安全性が低下します)。 このプロセスは前のブロックのヘッダーを取得し、最近合意されたリレーチェーンを通じてそのアイデンティティを検証します。 hash が記録されるブロック。親ヘッダーの有効性が確認されると、特定のパラチェーンが クラスの検証関数が呼び出される可能性があります。これは、多数のデータ フィールドを受け入れる単一の関数です (おおよそ 前に与えられたもの)、単純なブール値を返します ブロックの有効性を宣言します。 このような検証関数のほとんどは、最初に から直接派生できるヘッダーフィールド 親ブロック (例: 親 hash、番号)。フォロー中 これにより、内部データ構造が次のように設定されます。 トランザクションや投稿を処理するために必要です。 Ethereum のようなチェーンの場合、これは に必要なノードを含むデータベースを試してください。 トランザクションの完全な実行。他のチェーンタイプには、 その他のp修復メカニズム。 完了すると、イングレス投稿と外部トランザクション (または外部データが表すもの) は次のようになります。 チェーンの仕様に従って制定され、バランスがとれています。 (A 賢明なデフォルトは、すべての入力ポストを要求することかもしれません 外部トランザクションがサービスされる前に処理されますが、これはパラチェーンのロジックが決定する必要があります。) この制定により、一連の出力投稿は 作成され、これらが実際に一致することが検証されます 照合者の候補者。最後に、適切に設定された ヘッダーは候補者のヘッダーと照合されます。 完全に検証された候補ブロックでは、validator その後、ヘッダーの hash に投票し、必要な検証情報をすべてそのサブグループ内の co-validator に送信できます。 6.7.1.パラチェーンコレーター。パラチェーンの照合者は、マイナーのタスクの多くを実行する、拘束されていないオペレーターです。 現在のblockchainネットワーク上で。それらは具体的です 特定のパラチェーンに。操作するには、次のことを行う必要があります。 リレーチェーンと完全に同期されたものの両方を維持する パラチェーン。 「完全に同期」の正確な意味はパラチェーンのクラスによって異なりますが、パラチェーンの入力キューの現在の状態が常に含まれます。 Ethereum の場合、少なくともメンテナンスも必要です 最後の数ブロックのマークルツリー データベースですが、 ブルームを含む他のさまざまなデータ構造も含まれます アカウントの存在、家族情報、ログ記録用のフィルター ブロック番号の出力と逆引き参照テーブル。 2 つのチェーンの同期を維持するだけでなく、 トランザクションキューを維持し、適切に検証されたトランザクションを受け入れることによって、トランザクションを「フィッシング」する必要もあります パブリックネットワークから。キューとチェーンでは、 各ブロックで選択された validator の新しい候補ブロック (リレーチェーンが同期されているため、その ID がわかっている) を作成し、それらを 有効性の証明などのさまざまな付随情報。 ピアネットワーク。 その厄介な問題として、含まれる取引に関連するすべての手数料を徴収します。これに関してはさまざまな経済学が浮かんでいる アレンジメント。競争の激しい市場では、 担保者が余っているため、取引が行われる可能性があります。 インセンティブを与えるために手数料をパラチェーン validators と共有する 特定の照合者のブロックを含めること。 同様に、

POLKADOT: 異種マルチチェーン フレームワークのビジョン ドラフト 1 17 一部の照合者は、必要な手数料を徴収する場合もあります。 ブロックをより魅力的なものにするために支払われる validator秒。 この場合、自然な市場が形成されるはずです トランザクションはキューをスキップして高い手数料を支払う そして、より早くチェーンに組み込まれるようになります。 6.8.ネットワーキング。従来の blockchain でのネットワーキング Ethereum や Bitcoin などの要件はかなり単純です。 すべてのトランザクションとブロックは、単純な方向性のないゴシップでブロードキャストされます。同期は特に複雑です。 Ethereum を使用していますが、実際には、このロジックは いくつかの要求および応答メッセージ タイプを中心に解決するプロトコル自体ではなく、ピア戦略。 Ethereum は、devp2p プロトコルを使用して現在のプロトコルの提供を進めました。これにより、多くの機能が可能になりました。 サブプロトコルは単一のピア接続上で多重化されるため、同じピア オーバーレイを多数サポートします。 p2p プロトコルと同時に、Ethereum 部分 プロトコルはまだ比較的単純なままであり、p2p 議定書はしばらくの間、重要な作業が完了していないため、 QoS サポートなどの機能がありません。悲しいことに、よりユビキタスな「Web 3」プロトコルを作成したいという願望は主に 失敗しました。明示的に使用しているのはプロジェクトだけです Ethereum クラウドセールから資金を調達しました。 Polkadot の要件はかなり厳密です。完全に均一なネットワークではなく、Polkadot 数種類の参加者がおり、それぞれのピア構成や複数のネットワークに対して異なる要件があります。 参加者が会話する傾向がある「通り」 特定のデータ。これは、実質的により構造化されたネットワーク オーバーレイ、およびそれをサポートするプロトコルを意味します。 おそらく必要になるだろう。さらに、新しい種類の「チェーン」など、将来の追加を容易にする拡張性も備えています。 それら自体には新しいオーバーレイ構造が必要です。 ネットワーキングの仕組みについて徹底的に議論しながら、 プロトコルはこの文書の範囲外であるように見えるかもしれませんが、一部の要件分析は合理的です。できます ネットワーク参加者を大まかに 2 つのセットに分類します (リレーチェーン、パラチェーン) 3 つのサブセットのそれぞれ。できます また、各パラチェーン参加者は、 ではなく、自分たち同士で会話することに興味がある 他のパラチェーンの参加者: • リレーチェーン参加者: • バリデータ: P、それぞれのサブセット P[s] に分割 パラチェーン • 可用性保証者: A (これは、プロトコルの基本形式のバリデーターによって表される場合があります) • リレーチェーンクライアント: M (各メンバーのメンバーに注意してください) パラチェーン セットも M のメンバーになる傾向があります) • パラチェーン参加者: • パラチェーン コレーター: C[0]、C[1]、. 。 。 • パラチェーン漁師: F[0]、F[1]、 。 。 。 • パラチェーン クライアント: S[0]、S[1]、. 。 。 • パラチェーン ライトクライアント: L[0]、L[1]、. 。 。 一般に、私たちはコミュニケーションの特定のクラスに名前を付けます これらのセットのメンバー間で発生する傾向があります。 •P |あ <-> P |答え: の いっぱい セット の validators/保証人 しなければならない なる よくつながっている に コンセンサスを得る。 • P[s] <-> C[s] | P[s]: 特定のパラチェーン グループのメンバーとしての各 validator は噂話をする傾向があります 他の同様のメンバーおよび照合者とともに そのパラチェーンのブロック候補を発見して共有します。 • A <-> P[s] | C | A:各空室保証人 コンセンサスに敏感なクロスチェーンを収集する必要がある validator からのデータが割り当てられています。照合者 また、彼らの合意形成の可能性を最適化する可能性もあります。 可用性保証者に通知することでブロックします。 データを取得すると、データは次の企業に支払われます。 合意を促進するための他のそのような保証人。 • P[s] <-> A | P[s']: パラチェーン validators は 以前の validator セットまたは可用性保証者から追加の入力データを収集する必要があります。 • F[s] <-> P: 漁師は報告する際、 参加者に対するクレーム。 • M <-> M | P | A: 一般的なリレー チェーン クライアントは、validator と保証人からデータを支払います。 • S[s] <-> S[s] | P[s] | A: パラチェーンのクライアントは、validator/保証人からデータを支払います。 • L[s] <-> L[s] | S[s]: パラチェーン ライト クライアント 完全なクライアントからデータを分配します。 効率的な輸送メカニズムを確保するために、「フラット」 オーバーレイ ネットワーク (Ethereum の devp2p など) ノードは、そのノードの適合性を (恣意的にではなく) 区別しません。 同僚が適切である可能性は低いです。適度に拡張可能な ピアの選択と検出のメカニズムが必要になる可能性があります 積極的であると同時にプロトコルに含まれること 適切な種類のピアを確保するための先読みを計画する 偶然にも適切なタイミングで実行されました。 ピアメイクの正確な戦略は、参加者のクラスごとに異なります。 マルチチェーンの場合、照合者は継続的に実行する必要があります。 それに応じて選出された validator に再接続するか、 validator のサブセットとの継続的な契約が必要です validator が役に立たないほとんどの時間で切断されないようにするためです。照合者も当然、その情報を維持しようとします。 または可用性保証者へのより安定した接続 コンセンサスに敏感な情報を迅速に広めることを保証するために設定されています。 データ。 可用性の保証者は主に、 相互および validators への安定した接続 (コンセンサスおよびコンセンサスが重要なパラチェーン データの場合) 彼らは証明します)、そして一部の照合者(パラチェーンの場合)も証明します データ)と一部の漁師と完全な顧客(分散のため) 情報)。バリデーターは、他の validator、特に同じサブグループ内のvalidator を探す傾向があります。 パラチェーンブロック候補を提供できる照合者。 漁師、一般的なリレーチェーン、パラチェーンなど クライアントは通常、接続をオープンな状態に保つことを目的とします。 validator または保証人ですが、他の多くの同様のノード そうでなければ自分自身に。パラチェーンのライトクライアントも同様に、パラチェーンの完全なクライアントに接続することを目指します。 他のパラチェーンライトクライアントだけではないにしても。 6.8.1.ピアチャーンの問題。基本的なプロトコルの提案では、これらの各サブセットは、検証するために割り当てられた validator として各ブロックとともに常にランダムに変化します。 パラチェーン遷移はランダムに選択されます。これはできる 異種 (非ピア) ノードが問題となる可能性があります。 相互にデータを渡します。どちらかに頼らなければなりません 公平に分散され、適切に接続されたピア ネットワーク

POLKADOT: 異種マルチチェーン フレームワークのビジョン ドラフト 1 18 ホップ距離 (したがって最悪の場合の遅延) がネットワーク サイズの対数に応じてのみ増加するようにする (Kademlia のようなプロトコル [13] がここで役立つかもしれません)、または、次のことを行う必要があります。 ピアセットを維持するために必要な接続ネゴシエーションを実行できるようにするために、より長いブロック時間を導入します。 ノードの現在の通信ニーズを反映します。 どちらも優れた解決策ではありません: ブロック時間が長い ネットワークに強制的にアクセスすると、ネットワークが役に立たなくなる可能性があります。 特定のアプリケーションとチェーン。完全に公平であっても ネットワークに接続すると、かなりの無駄が発生します 関心のないノードにより拡張される帯域幅の減少 彼らにとって役に立たないデータを転送するため。 両方の方向がソリューションの一部を形成する可能性がありますが、 レイテンシーを最小限に抑えるために合理的な最適化を行うと、 これらのパラチェーンのボラティリティを制限するためです validator 一連のブロック間でのみメンバーシップを再割り当てするセット (例: 15 個のグループ、4 秒ごと) ブロック時間は、接続を 1 回につき 1 回だけ変更することを意味します。 分)、またはメンバーシップを段階的にローテーションすることによって(例:一度に 1 人のメンバーによって変更されます (例: 各パラチェーンに 15 validator が割り当てられている場合、完全に一意なパラチェーン間の間隔は平均で丸 1 分になります。 セット)。ピアのチャーンの量を制限し、有利なピア接続が適切に確立されるようにすることで、 パラチェーンの部分的な予測可能性を通じて進歩する セットを使用すると、各ノードが永続的に保持されるようにすることができます。 偶然の仲間選び。 6.8.2.効果的なネットワーク プロトコルへのパス。おそらく、 最も効果的かつ合理的な開発努力は、ローリングではなく既存のプロトコルの利用に焦点を当てます。 私たち自身の。 いくつかのピアツーピアベースプロトコルが存在します。 Ethereum 独自の devp2p を使用または拡張する場合があります [22]、IPFS の libp2p [1]、GNU の GNUnet [4]。これらのプロトコルとその構築との関連性を完全にレビューします。 特定の構造保証、動的ピアステアリング、および拡張可能なサブプロトコルをサポートするモジュラーピアネットワーク この文書の範囲をはるかに超えていますが、 Polkadot の実装における重要なステップ。 7. プロトコルの実用性 7.1.インターチェーントランザクション支払い。素晴らしい一方で、 Ethereum のガスのような総合的な計算リソース アカウンティング フレームワークの必要性をなくすことで、かなりの自由とシンプルさが得られますが、これは重要な疑問を引き起こします。ガスがなければ、パラチェーンはどのように機能するのでしょうか。 別のパラチェーンが強制的に計算を実行するのを避けますか?トランザクション後の入力キューに依存することもできますが、 あるチェーンが別のチェーンにスパム送信するのを防ぐためのバッファー トランザクション データの場合、トランザクション処理のスパムを防止するための同等のメカニズムがプロトコルによって提供されることはありません。 これはより高いレベルに委ねられる問題です。チェーン以来 受信メッセージに任意のセマンティクスを自由に付加できる トランザクション後のデータを使用すると、計算が確実に行われるようになります。 開始前に料金を支払う必要があります。同じような流れで、 Ethereum Serenity が支持するモデル、想像できます パラチェーン内の「侵入」契約により、 validator と引き換えに支払いが保証されます。 特定の量の処理リソースの提供。 これらのリソースはガスのようなもので測定される可能性があります。 しかし、主観的な実行時間や Bitcoin のような定額料金モデルなど、まったく新しいモデルである可能性もあります。 オフチェーンの呼び出し元が利用できるとはすぐには想定できないため、これ自体はあまり役に立ちません。 侵入によって認識されるあらゆる価値メカニズム 契約。ただし、ソースチェーン内に二次的な「ブレイクアウト」コントラクトが存在することは想像できます。 2 つの契約は共に橋を形成し、お互いを認識し、 価値の同等性を提供します。 (ステーキング-tokens、利用可能 それぞれを国際収支の決済に使用できます。) 別のそのようなチェーンを呼び出すことはプロキシを意味します この橋を通って、 チェーン間での価値の移転を交渉して、 宛先パラチェーンで必要な計算リソースの料金を支払います。 7.2.追加 チェーン。その間 の 追加 の ある パラチェーンは比較的安価な操作ですが、無料ではありません。 パラチェーンが増えると、パラチェーンあたりの validator が少なくなります そして最終的には、それぞれが 平均債券の減少。パラチェーンを攻撃するための強制コストが小さいという問題は、次のように軽減されます。 漁師の皆さん、validator セットの成長は本質的に、 基礎となるコンセンサスの仕組みにより、レイテンシが高くなるそーだ。さらに各パラチェーン validators を悲しませる可能性があります。 負担の大きい検証アルゴリズム。 したがって、validator の「価格」が発生することになります。 および/または利害関係者コミュニティが、 新しいパラチェーンの追加。このチェーン市場は、 おそらく次のいずれかが追加されているのがわかります。 • 一部となる可能性が高い(staking tokens のロックアップまたはバーンアウトに関して)正味拠出金の支払いがゼロのチェーン(コンソーシアム チェーンなど) Doge チェーン、アプリ固有のチェーン)。 • ネットワークに本質的な価値を提供するチェーン 特定の機能を追加するのが難しい 他の場所(機密性、内部拡張性、サービス提携など)を取得するため。 基本的に、利害関係者のコミュニティは次のことを行う必要があります。 経済的または経済的に子チェーンを追加するよう奨励される リレーに機能的なチェーンを追加したいという願望を通じて。 新しいチェーンが追加されると、非常に大きな影響を受けることが想定されます。 削除の通知期間が短いため、新しいチェーンを使用できます。 妥協するリスクなしに実験できる 中長期的な価値提案。 8. 結論 私たちは、著者が取ることができる方向性を概説しました。 特定の既存のプロトコルとの下位互換性がある可能性のある、スケーラブルな異種マルチチェーン プロトコル blockchain ネットワーク。このようなプロトコルの下では、参加者は 賢明な自己利益に基づいて、既存ユーザーに通常のコストをかけずに、非常に自由な方法で拡張できるシステム全体を作成します。 標準の blockchain デザインから来ています。私たちは与えました 必要となるアーキテクチャの大まかな概要 参加者の性質、経済的インセンティブ そして彼らが関与しなければならないプロセス。私たちは持っています 基本設計を特定し、その長所について議論し、 制限;したがって、さらなる方向性があります。 これらの制限が緩和され、完全にスケーラブルな blockchain ソリューションに向けてさらに前進する可能性があります。POLKADOT: 異種マルチチェーン フレームワークのビジョン ドラフト 1 19 8.1.不足している資料と未解決の質問。プロトコルの実装が異なる場合、ネットワークの分岐が常に発生する可能性があります。そんな状態からの回復 例外的な状況については議論されなかった。ネットワークには必然的にゼロ以外のファイナライゼーション期間があると仮定すると、 リレーチェーンの分岐から回復することは大きな問題ではありませんが、慎重に統合する必要があります。 コンセンサスプロトコル。 保証金の没収と逆に報酬の提供は、 深くは研究されていません。現時点では報酬を想定しています 勝者総取りの原則に基づいて提供されます。これは当てはまらない場合があります。 漁師に最適な奨励モデルを提供する。短期間のコミットと公開のプロセスにより、多くの漁師が許可されるでしょう。 賞品をより公平に分配して賞品を受け取るため、 ただし、このプロセスにより、追加のレイテンシーが発生する可能性があります。 不正行為の発見。 8.2.謝辞。皆様、本当にありがとうございました これを漠然と理解するのに協力してくれた校正者 存在感のある形状。 特にピーター・ツァバン、ビョルン ワーグナー、ケン・カプラー、ロバート・ハーバマイヤー、ヴィタリック・ブテリン、レト・トリンクラー、ジャック・ピーターソン。 皆さんのおかげで アイデアや始まりに貢献した人々 その中で、マレク・コテヴィッチとアーロン・ブキャナンは特に言及に値する。そして、助けてくれた他の皆さんにも感謝します 途中で。すべての間違いは私自身のものです。 の初期研究を含むこの研究の一部 コンセンサスアルゴリズムの一部は英国によって資金提供されました。 Innovate UK プログラムに基づく政府。

协议详细信息

该协议大致可以分为三部分 部分:共识机制、平行链接口 和链间交易路由。 6.1.中继链 操作。的 中继链 会 可能是一个与 Ethereum 大致相似的链,因为它 是基于状态的,将状态映射地址到帐户 信息,主要是余额和(防止重播) 交易柜台。在这里放置账户可以实现一个目的:提供身份所拥有的记账服务 系统中的权益数量是多少。7 不过,会有显着差异: • 合约不能通过交易来部署;由于希望避免中继链上的应用程序功能,因此不会 支持合约的公开部署。 • 不计算计算资源使用量(“gas”); 因为唯一可供公众使用的功能 将被修复,天然气核算背后的基本原理 不再成立。因此,将收取固定费用 所有情况下,允许从任何情况下获得更多性能 可能需要完成的动态代码执行 以及更简单的交易格式。 • 列出的合约支持特殊功能,允许自动执行和网络消息输出。 如果中继链有一个虚拟机并且它是 基于 EVM,它将进行许多修改以确保最大程度的简单性。 很可能会 有许多内置合约(类似于 地址 Ethereum 中的 1-4)以允许特定于平台的 要管理的职责包括共识合同、 validator 合约和平行链合约。 如果不是 EVM,那么 WebAssembly [2] (wasm) 后端是最有可能的替代方案;在这种情况下总体 结构类似,但没有必要 以 Wasm 为可行目标的内置合约 适用于通用语言而不是不成熟的语言 以及 EVM 的有限语言。 与当前 Ethereum 协议的其他可能偏差也是很可能的,例如对 交易收据格式允许在同一块内并行执行非冲突交易, 正如针对 Serenity 系列变更所提议的那样。 尽管不太可能,但有可能出现类似宁静的情况 “纯”链被部署为中继链,允许 管理 staking token 等事物的特定合同 平衡而不是使其成为一个基本部分 链的协议。目前我们觉得这种可能性不大 将提供足够好的协议简化 值得承担额外的复杂性和不确定性 在开发它的过程中。 7作为代表特定持有人对系统整体安全负责的金额的一种方式,这些权益账户将 不可避免地编码了一些经济价值。然而,应该理解的是,由于无意将这些值用于 以任何方式交换现实世界的商品和服务,应相应注意的是 token 不能比作 货币和中继链保留了其关于应用的虚无主义哲学。Polkadot:异构多链框架的愿景 草案1 10 管理共识机制、validator 集、验证机制和平行链需要许多小功能。这些 可以在单一协议下一起实现。然而,出于模块化的原因,我们将这些描述为中继链的“合约”。这应该 被认为意味着它们是对象(在某种意义上 面向对象编程)由中继链的共识机制管理,但不一定 它们被定义为类似于 EVM 的操作码中的程序,也不 即使它们可以通过 帐户系统。 6.2.质押合约。该合约维护 validator 集。它管理: • 当前哪些帐户是validator; • 短期内可成为validators 通知; • 哪些账户已下注股权提名 validator; • 每个属性包括staking 数量、可接受的支付率和地址以及短期(会话)身份。 它允许帐户注册成为 保税 validator (及其要求),提名某些身份,并让先前存在的保税 validator 登记其退出此状态的愿望。它还 包括用于验证和规范化机制的机制本身。 6.2.1.股权-token 流动性。通常希望 拥有尽可能多的 staking token 总数 自从在网络维护操作中投入以来 这将网络安全与 staking token 的整体“市值”直接联系起来。这可以轻松地 通过货币膨胀并将收益分发给以 validators 身份参与的人来获得激励。然而,这样做会带来一个问题:如果 token 被锁在Stake合约中,受到减持惩罚,如何才能保留足够的大部分 流动性以便发现价格? 对此的一个答案是允许直接的衍生品合约,在基础质押的 token 上确保可替代的 token。这很难以无信任的方式进行安排。 此外,这些衍生品 token 不能受到同等对待,原因与不同欧元区政府的债券不可互换的原因相同: 是标的资产失败并成为的机会 毫无价值。对于欧元区政府来说,可能会有 默认。通过 validator 质押 token,validator 可能会 做出恶意行为并受到惩罚。 遵循我们的原则,我们选择最简单的解决方案:并非所有 token 都被质押。这意味着 token 的一定比例(可能是 20%)将强制保持液态。尽管从安全角度来看这并不完美,但它不太可能对安全产生根本性的影响。 网络的安全; 80% 的债券没收赔偿仍可得到 与 100% staking 的“完美情况”相比。 通过反向拍卖机制可以相当简单地确定质押和流动 token 之间的比率。 本质上,token 持有者有兴趣成为 validator 每个人都会向 staking 合同发布一份报价,说明 他们需要采取的最低支付率 部分。 在每次会议开始时(会议将 定期发生,也许每小时一次) validator 槽位将根据每个潜在的 validator 的股份和支付率。一种可能的算法 因为这将是接受那些出价最低的人 所代表的股份不高于目标股份总额 除以插槽数量,且不低于该数量一半的下限。如果槽位无法填满, 下限可以通过某个因子反复减小以满足。 6.2.2.提名。可以不信任地提名 staking tokens 到活跃的 validator,给他们 validator 的职责。提名作品 通过批准投票系统。每个潜在提名人都可以向 staking 合约发布指令 表达一个或多个 validator 身份 他们准备将责任托付给他们。 每届会议,提名人的债券都被分散到 由一个或多个 validator 表示。分散算法针对一组 validator 的等效总数进行优化 债券。提名人的债券由 validator a 负责并获得利益或遭受 相应减轻处罚。 6.2.3.债券没收/烧毁。某些 validator 行为会导致其债券受到惩罚性减少。如果 债券减少到允许的最低限度以下, 会议提前结束,另一个会议开始。应受惩罚的 validator 不当行为的非详尽清单包括: • 作为平行链团体的一部分,无法提供 对平行链区块有效性的共识; • 主动签署无效的有效性 平行链区块; • 之前无法提供出口有效负载 投票为可用; • 在共识过程中不活动; • 验证竞争分叉上的中继链区块。 某些不当行为会威胁到网络的完整性(例如签署无效的平行链区块和验证分叉的多个侧面),并因此通过债券的总量减少而导致有效的流放。在 其他不太严重的情况(例如,共识中不活跃) 过程)或无法精确分配责任的情况(作为无效群体的一部分),一小部分 债券的金额可能会被罚款。在后一种情况下,这 与子组流失配合良好,以确保恶意 节点遭受的损失比附带损坏的仁慈节点要大得多。 在某些情况下(例如多分叉验证和无效 子块签名)validators 本身无法轻易检测到彼此的不当行为,因为不断进行验证 分析每个平行链区块的任务太艰巨了。这里 需要争取外部各方的支持 验证和报告此类不当行为的验证过程。当事人因举报此类活动而获得奖励;他们的术语“渔民”源于不可能 的这样的奖励。 由于这些案件通常非常严重,我们预计任何奖励都可以轻松地从没收的债券中支付。 一般来说,我们更喜欢平衡燃烧 (即减少到零)通过重新分配,而不是 尝试大规模重新分配。这有以下效果:

Polkadot:异构多链框架的愿景 草案1 11 增加 token 的整体价值,补偿 在某种程度上,网络是一般性的,而不是特定的 参与发现的一方。 这主要是为了安全 机制:如果涉及的金额很大,可能会导致极端和剧烈的行为激励 授予单一目标。 一般来说,重要的是奖励足够大以使网络验证值得,但又不能大到抵消正面验证的成本。 资金充足、精心策划的“工业级”犯罪 对一些不幸的 validator 进行黑客攻击,以强制其行为不当。 这样一来,索赔的金额一般应该是没有的 大于错误 validator 的直接键,以免 行为不端和举报自己以获得赏金会产生不正当的激励。这可以明确地解决 通过最低直接债券要求成为 validator 或通过教育提名人隐含地表明,存入少量债券的 validator 没有很大的激励 表现良好。 6.3.平行链注册表。每个平行链的定义如下 这个注册表。它是一个相对简单的类似数据库的结构,并且保存静态和动态信息 每条链。 静态信息包括链索引(一个简单的 整数),以及验证协议身份, 区分不同类别的方法 平行链,以便可以使用正确的验证算法 由 validators 运行,负责提出有效的候选人。最初的概念验证将侧重于放置 将新的验证算法引入客户端本身,实际上每次都需要对协议进行硬分叉 添加了额外的链条类别。但最终, 可以在中指定验证算法 一种既严格又有效的方式,让客户 能够有效地使用新的平行链,而无需 硬分叉。一种可能的途径是指定 平行链验证算法采用完善的、 本机编译的、平台中立的语言,例如 WebAssembly。需要额外的研究来确定 这是否真的可行,但如果是的话,它可能会带来 随之而来的是消除硬分叉的巨大优势 永远。 动态信息包括交易路由系统的各个方面,这些系统必须具有全局协议,例如 作为平行链的入口队列(第 6.6 节中描述)。 注册表只能添加平行链 通过全民公决投票;这是可以管理的 内部,但更可能被放置在外部 公投合同,以促进重新使用 更一般的治理组件。参数为 投票要求(例如所需的任何法定人数、多数票 需要)用于注册附加链和其他, 不太正式的系统升级将在“主版本”中列出 宪法”,但很可能遵循相当传统的 路径,至少最初是这样。精确的公式是由 当前工作的范围,但是例如三分之二的绝对多数通过,超过整个系统的三分之一 积极投票可能是一个明智的起点。 其他操作包括暂停和删除平行链。 希望永远不会被暂停 发生,但它的设计目的是最少的保障 平行链的验证系统中存在一些棘手的问题。最明显的例子可能是 需要的是导致 validators 无法达成一致的实现之间的共识关键差异 有效性或块。鼓励验证者使用 多个客户端实现,以便他们能够 在没收债券之前发现此类问题。 由于暂停是紧急措施,因此 在动态 validator 投票的支持下 比公投。两者都可以恢复 来自 validators 或公投。 完全删除平行链只会发生 公投后,需要 相当长的宽限期,以允许有序过渡 要么是一个独立的链,要么成为其他链的一部分 共识系统。 宽限期可能是 几个月的顺序,并且可能会在平行链注册表中以每个链为基础进行设置,以便不同的 平行链可以根据情况享受不同的宽限期 他们的需要。 6.4.密封继电器块。密封本质上是指, 规范化过程;也就是一个基本数据 变换哪个将原作映射为根本上独特且有意义的东西。在 PoW 链下, 密封实际上是采矿的同义词。在我们的例子中, 它涉及收集 validators 就某项的有效性、可用性和规范性签署的声明 特定的中继链区块和平行链区块 它代表。 底层 BFT 共识算法的机制超出了当前工作的范围。 我们会 相反,使用原语来描述它,该原语假设 创造共识的状态机。最终我们期望 受到许多有希望的 BFT 共识的启发 核心算法; Tangaora [9] (BFT 变体 Raft [16])、Tendermint [11] 和 HoneyBadgerBFT [14]。 该算法必须并行地在多个平行链上达成一致,因此与通常的算法不同 blockchain 共识机制。我们假设有一次 达成共识,我们可以记录共识 任何人都可以提供无可辩驳的证据 其参与者。我们还假设不当行为 协议内通常可以减少到一个小的 包含行为不端的参与者的小组,以尽量减少 实施惩罚时的附带损害。8 证明采用我们签名声明的形式,一起放置在中继链区块的标头中 某些其他字段,尤其是中继链的状态树根和交易树根。 的 密封 过程 需要 地方 下 一个 单身 达成共识 机制 寻址 两者 的 中继链的区块和平行链的区块使得 转发部分内容:平行链不是由其子组单独“提交”然后整理的 稍后。这导致中继链的过程更加复杂,但允许我们在一个阶段完成整个系统的共识,最大限度地减少延迟并允许 对于相当复杂的数据可用性要求 对下面的路由过程有帮助。 8现有的基于 PoS 的 BFT 共识方案(例如 Tendermint BFT 和原始的 Slasher)满足了这些断言。

Polkadot:异构多链框架的愿景 草案1 12 每个参与者共识机的状态可能 被建模为一个简单的(二维)表。每个参与者 (validator) 都有一组信息,格式为 来自其他参与者的关于每个平行链候选块以及中继链候选块的签名声明(“投票”)。该组信息有两部分 数据: 可用性: 确实 这个 validator 有 出口 来自该块的交易发布信息 他们能够在下一个区块上正确验证平行链候选者吗?他们可能会投票 1(已知)或 0(未知)。一旦他们 投票 1,他们承诺同样投票给 这个过程的其余部分。后来的投票没有 尊重这一点是惩罚的理由。 有效性:平行链区块是否有效,是否全部 外部参考数据(例如 交易) 可用吗?这仅与分配给其投票的平行链的 validator 相关。 他们可以投票 1(有效)、-1(无效)或 0 (尚不清楚)。一旦他们投票非零,他们 致力于以这种方式为其余的人投票 的过程。后来的投票不尊重这一点 是惩罚的理由。 所有 validator 必须提交投票;符合上述规则的投票可以重新提交。的进展 共识可以建模为并行发生的每个平行链上的多个标准 BFT 共识算法。由于这些可能会受到相对 少数恶意行为者集中在 单个平行链组,存在总体共识 建立后盾,限制最坏情况的发生 死锁仅限于一个或多个无效平行链区块(以及 对相关责任人进行一轮处罚)。 The basic rules for validity of the individual blocks (这使得 validator 的总集合作为一个整体来达到 一致认为它成为唯一的平行链候选者 从规范继电器中引用): • 必须有至少三分之二的validator 投票赞成,且无投票反对; • 必须有超过三分之一的validator 对出口队列信息的可用性进行积极投票。 如果对有效性有至少一票赞成票和至少一票反对票,则创建特殊条件 并且整个 validator 集合必须投票决定 如有恶意或意外 叉子。除了有效票和无效票之外,还有第三种票 被允许,相当于投票给两者,这意味着 节点有相互矛盾的意见。这可能是由于 节点的所有者运行多个实现,这些实现 not agree, indicating a possible ambiguity in the protocol. 从完整的 validator 集中计算所有选票后,如果 失败的意见至少有一小部分(到 被参数化;最多一半,也许少得多) 获胜意见的票数,那么假设 be an accidental parachain fork and the parachain is automatically suspended from the consensus process. Otherwise, we assume it is a malicious act and punish the minority who were voting for the dissenting opinion. The conclusion is a set of signatures demonstrating 规范性。然后可以密封中继链区块 并开始密封下一个区块的过程。 6.5.密封继电器块的改进。同时 this sealing method gives strong guarantees over the system’s operation, it does not scale out particularly well 因为每条平行链的关键信息都必须有其 availability guaranteed by over one-third of all validators. This means that every validator’s responsibility footprint 随着更多连锁店的添加而增长。 While data availability within open consensus networks 本质上是一个未解决的问题,有一些方法可以减轻 validator 节点上的开销。一个简单的 solution is to realise that while validators must shoulder the responsibility for data availability, they need not actually store, communicate or replicate the data themselves. Secondary data silos, possibly related to (or even the very same) collators who compile this data, may manage the task of guaranteeing availability with the validators providing a portion of their interest/income in payment. However, while this might buy some intermediate scalability, it still doesn’t help the underlying problem;自从 添加更多链通常需要额外的 validators,持续的网络资源消耗(特别是在带宽方面)随着 的链条,从长远来看是难以维持的财产。 最终,我们可能会不断地摇头 反对基本限制,即 一个被认为可用安全的共识网络, 持续的带宽需求是总带宽的数量级 validators 次输入信息总量。这是由于 不受信任的网络无法在许多节点之间正确分配数据存储任务,这就是 除了明显可分配的处理任务之外。 6.5.1.引入延迟。软化这种情况的一种方法 规则是放松即时性的概念。 通过仅最终而不是立即要求 33%+1 validators 对可用性进行投票,我们可以更好地利用指数数据传播并帮助平衡数据交换的峰值。 合理的平等(尽管未经证实) 可能是: (1) 延迟=参与者×链 在当前模型下,系统规模可扩展 与链的数量,以确保处理是 分布式;因为每个链至少需要一个 validator 并且我们将可用性证明固定为一个常量 validators 的比例,那么参与者同样会增长 与链的数量。我们最终得到: (2) 延迟 = 大小2 这意味着随着系统的增长,整个系统都知道可用性所需的带宽和延迟 网络,也可以表征为数字 最终确定之前的区块数量随其平方增加。这是 一个重要的增长因素,可能会成为一个显着的障碍,迫使我们进入“非扁平”范式 比如将几个“Polkadotes”组成一个层次结构 用于通过中继链树对帖子进行多级路由。

Polkadot:异构多链框架的愿景 草案1 13 6.5.2.公众参与。又一个可能的方向 是通过一种方式让公众参与这一过程 微投诉系统。和渔民一样, 可能是外部人士对声称的 validator 进行监管 可用性。 他们的任务是找到一个似乎无法表现出这种可用性的人。 在这样做的过程中,他们 可以向其他 validator 提出微投诉。工作量证明或 质押债券可用于减轻女巫攻击 这将使该系统基本上毫无用处。 6.5.3.可用性保证人。最终路线是 指定第二组保税 validator 作为“可用性” 担保人”。这些将像普通的 validator 一样进行绑定,甚至可以取自同一组 (尽管如果是这样,他们将在长期内被选择,至少在每次会议中)。与正常的 validator 不同,它们 不会在平行链之间切换,而是会 组成一个小组来证明所有重要的链间数据的可用性。 这样做的好处是放宽了参与者和链之间的等价性。 本质上,链条可以 增长(与原始链 validator 集一起),而 参与者,特别是那些参与数据可用性测试的人,可以至少保持亚线性 并且很可能是恒定的。 6.5.4.校对者偏好。这其中的一个重要方面 系统的目的是确保有一个健康的选择 整理者在任何给定的平行链中创建区块。如果一个 单个整理者主导了一条平行链,然后发生了一些攻击 变得更加可行,因为缺乏的可能性 外部数据的可用性不太明显。 一种选择是对平行链区块进行人工加权 一种伪随机机制,以支持各种整理者。在第一种情况下,我们需要 作为 validator 青睐的共识机制的一部分 平行链候选区块被确定为“更重”。 同样,我们必须激励 validators 尝试 建议他们能找到的最重的块——这可能是 通过将一部分奖励与候选人的体重成比例来完成。 确保给予整理者合理的公平 他们的候选人被选为获胜者的机会 在协商一致的候选人中,我们给出了一个特定的权重 平行链区块候选由与每个收集者连接的随机函数确定。 例如,采取 整理者地址之间的 XOR 距离度量 和一些加密安全的伪随机数 确定在靠近正在创建的块的点处 (名义上的“中奖彩票”)。这有效地为每个 整理者(或者更具体地说,每个整理者的地址) 他们的候选区块“获胜”的随机机会 所有其他人。 为了减轻单个核对者“挖掘”靠近中奖彩票的地址的女巫攻击,从而 对于每个最喜欢的块,我们都会为整理者的地址添加一些惯性。这可能就像要求他们一样简单 地址中有基准资金量。一个更多 优雅的方法是权衡与 中奖彩票的金额与停放在 有问题的地址。虽然模型还没有完成, 这种机制很可能甚至可以使非常 小利益相关者作为整理者做出贡献。 6.5.5。超重块。如果 validator 集合受到损害,他们可能会创建并提出一个块,尽管 有效,需要大量时间来执行并且 验证。这是一个问题,因为 validator 组可能 合理地形成一个块需要很长时间 执行,除非已知某些特定信息,允许走捷径,例如因式分解大 总理。 如果单个整理者知道该信息,那么 他们在拥有自己的产品方面将拥有明显的优势 只要其他人忙于处理旧区块,候选人就会接受。我们称这些块为超重。 针对 validator 提交和验证这些块的保护很大程度上与 无效块,但有一个额外的警告:因为 执行一个块所花费的时间(因此它的状态为 超重)是主观的,投票的最终结果 不当行为基本上可分为三个阵营。一 可能性是该块绝对没有超重—— 在这种情况下,超过三分之二的人宣称他们可以 在一定限制内执行块(例如块之间允许的总时间的 50%)。 另一个是 块是d绝对超重——如果超过 三分之二的人声明他们无法执行该块 在上述限度内。 最后一种可能性是相当平等的 validator 之间存在意见分歧。在这种情况下,我们可以 选择做一些相应的惩罚。 确保 validators 能够预测它们何时会出现 提议超重区块时,要求他们发布每个区块的性能信息可能是明智的。在足够长的时间内, 这应该允许他们分析他们的处理速度 相对于评判他们的同行。 6.5.6。整理者保险。 validators 仍存在一个问题: 与 PoW 网络不同,检查整理者的 为了保证区块的有效性,他们必须实际执行其中的交易。恶意整理者可以向 validator 提供无效或超重的块,导致他们悲伤(浪费 他们的资源)并要求潜在的巨大机会成本。 为了缓解这个问题,我们提出了一个简单的策略 validators 的一部分。首先,平行链候选区块发送 至 validators 必须由中继链账户签名 有资金;如果不是,那么 validator 应该下降 立即吧。其次,这些候选者应该通过组合(例如乘法)进行优先排序 帐户中的资金金额达到一定上限, 整理者过去成功提议的先前区块的数量(更不用说任何先前的区块) 惩罚),以及与获胜者的接近因素 如前所述。帽子应该是一样的 作为本案中向 validator 支付的惩罚性赔偿 其中发送了无效块。 为了阻止整理者向 validator 发送无效或超重的区块候选者,任何 validator 都可以 在下一个区块中放置一项交易,其中包括涉嫌不当行为的违规区块,其结果是转移行为不当的整理者的部分或全部资金 向受害人 validator 负责。 这种类型的交易优先于任何其他交易,以确保整理者无法 在处罚前移走资金。金额 作为损害赔偿转移的资金仍是一个动态参数

Polkadot:异构多链框架的愿景 草案1 14 进行建模,但可能是 validator 区块奖励的一部分,以反映造成的悲伤程度。至 为了防止恶意 validator 任意没收整理者的资金,整理者可以对 validator 的决定提出上诉,并由随机选择的 validator 组成的陪审团作为回报 用于存入小额存款。 如果他们发现 validator 对他们有利,则押金将被他们消耗。如果没有,则 押金被退回,validator 被罚款(因为 validator 处于更加拱形的位置,罚款将 可能相当重)。 6.6.跨链 交易 路由。跨链 交易路由是必不可少的维护之一 中继链及其 validator 的任务。 这是 控制已发布交易(通常简称为“发布”)如何成为所需输出的逻辑 从一个源平行链到成为另一个目标平行链的不可协商的输入,无需任何信任 要求。 我们仔细选择了上面的措辞;尤其是我们 不要求源中存在交易 平行链明确批准了这篇文章。唯一的 我们对模型施加的约束是平行链 必须提供,打包为整体块的一部分 处理输出,帖子是结果 块的执行。 这些帖子被构造为几个 FIFO 队列;的 列表的数量称为路由基础,可以是 16 左右。值得注意的是,这个数字代表的是数量 我们无需求助即可支持的平行链数量 多阶段路由。最初,Polkadot 将支持此 一种直接路由,但是我们将概述一种可能的 多阶段路由过程(“超级路由”)作为一种手段 远远超出最初的一组平行链。 我们 假设 那个 全部 参与者 知道 的 接下来的两个块 n, n + 1 的子组。总而言之, 路由系统遵循以下阶段: • CollatorS:验证者的联系成员[n][S] • 整理者:对于每个子组:确保 至少 1 名 V 验证者[n][s] 成员保持联系 • 整理者: 对于每个子组: 假设 egress[n −1][s][S] 可用(所有传入帖子 数据从最后一个块到“S”) • 整理者: 为 S 构建候选块 b: (b.标头、b.ext、b.proof、b.receipt、b.egress) • 整理者: 发送 证明 信息 证明[S] = (b.header, b.ext, b.proof, b.receipt) 到 验证器[n][S] • CollatorS:确保外部交易数据b.ext 可供其他整理者和 validators 使用 • 整理者: 为 每个 子群 s: 发送 出口 信息 出口[n][S][s] = (b.标头、b.收据、b.出口[s]) 到 的 接收 子组的 会员 的 下一个 块 验证器[n + 1][s] • ValidatorV:预连接所有同组成员 对于下一个块:让 N = Chain[n + 1][V ];连接 所有 validators v 使得 Chain[n + 1][v] = N • 验证器V: 为此整理所有数据入口 块: 为 每个 子群 s: 检索 egress[n −1][s][Chain[n][V ]],从其他 validators v 获取,使得 Chain[n][v] = Chain[n][V ]。 可能会通过随机选择的其他 validator 作为尝试证明。 • 验证器V: 接受候选人的证明 区块证明[Chain[n][V]]。投票块有效性 • 验证器V: 接受候选出口数据 下一个块: 对于每个子组,接受 出口[n][s][N]。投票区块出口可用性;在感兴趣的 validators v 中重新发布,以便 链[n + 1][v] = 链[n + 1][V ]。 • 验证器V:直到达成共识 其中: egress[n][from][to] 是当前的出口队列 从平行链‘from’到的帖子信息 平行链“to”位于区块号“n”中。 Collat​​orS 是平行链 S 的整理者。Validators[n][s] 是区块编号 n 处平行链 s 的 validators 集合。相反, Chain[n][v] 是在区块号 n 上分配 validator v 的平行链。 block.egress[to] 是出口 来自某个平行链区块的帖子队列,其 目的地平行链是 to。 由于整理者收取(交易)费用是基于 他们的区块成为规范,他们受到激励 确保对于每个下一个块目的地,子组的 成员被告知当前的出口队列 块。验证者只会被激励在(平行链)区块上达成共识,因此他们很少关心 哪个整理者的区块最终成为规范。在 原则上,validator 可以与整理者结盟,并合谋减少其他整理者的机会 区块成为规范,但这都很困难 由于随机选择而安排validators 的作用 平行链,并且可以通过减少维持平行链区块的应付费用来防御 共识过程。 6.6.1.外部数据可用性。确保平行链的 外部数据实际上可用是一个长期存在的问题 去中心化系统旨在将工作负载分配给 网络。问题的核心是可用性 问题指出,因为不可能 进行非交互式可用性证明或任何类型的证明 不可用性的证明,以便 BFT 系统正确地 验证其正确性依赖于的任何转换 一些外部数据的可用性,最大数量 系统中可接受的拜占庭节点数,再加上一个 必须证明数据可用。 对于正确扩展的系统,例如 Polkadot,这 引发一个问题:如果 validators 的比例恒定 必须证明数据的可用性,并假设 validators 在断言数据可用之前想要实际存储数据,那么我们如何避免 带宽/存储需求随着系统规模(以及 validator 数量)的增加而增加的问题?一个可能的答案是拥有一套单独的 validators(可用性保证人),其订单不断增长 与 Polkadot 的整体大小呈次线性关系。这是 6.5.3 中描述。 我们还有第二个技巧。 作为一个群体,整理者有一种内在的动机来确保所有数据都是正确的 可用于他们选择的平行链,因为没有它他们 无法创作更多的区块 收取交易费用。收集者也形成一个团体,其成员是多种多样的(由于随机性) 平行链 validator 组)的输入并不简单且简单

Polkadot:异构多链框架的愿景 草案1 15 来证明。因此,最近的整理者(也许是最后几千个区块)被允许向 特定平行链的外部数据的可用性 阻止 validators 以获得少量债券。 验证者必须联系那些来自明显违规的 validator 小组的作证者,要么获取数据并将其返回给整理者,要么升级 通过证明缺乏可用性来解决问题(直接拒绝提供数据将被视为没收债券的罪行,因此行为不当的 validator 可能只是 断开连接)并联系其他 validators 运行相同的测试。在后一种情况下,整理人的保证金 被返回。 一旦达到可以做出此类不可用性证明的 validator 的法定人数,他们就会被释放, 行为不当的子组会受到惩罚,并且区块会被恢复。 6.6.2.帖子路由。每个平行链标头都包含一个 出口特里树根;这是包含以下内容的 trie 的根 路由基础 bin,每个 bin 都是一个串联列表 出口职位。 Merkle 证明可以跨 平行链 validators 来证明特定平行链的 区块对于特定的目标平行链有一个特定的出口队列。 在处理平行链区块开始时,每个 其他平行链的出口队列绑定到该块是 合并到我们块的入口队列中。我们假设强, 可能是 CSPR9,子块排序以实现确定性操作,在任何操作之间都没有偏袒 平行链区块配对。整理者计算新队列 并根据平行链排出出口队列 逻辑。 显式写入入口队列的内容 进入平行链区块。 这样做有两个主要目的: 首先,这意味着平行链可以与其他平行链隔离地进行无需信任的同步。其次, 它简化了整个入口的数据逻辑 队列无法在单个块中处理; validators 和整理者能够处理以下块 无需专门获取队列的数据。 如果平行链的入口队列高于阈值 块处理结束时的金额,然后对其进行标记 中继链饱和,无法再发送任何消息 交付给它,直到它被清除为止。 默克尔证明是 用于证明整理者操作的保真度 平行链区块的证明。 6.6.3.批判。与此基本相关的一个小缺陷 机制是炸弹后攻击。 这就是所有 平行链发送尽可能多的帖子 到特定的平行链。虽然这会限制目标的 立即进入队列,不会造成任何损坏 标准事务 DoS 攻击。 运行正常,具有一组良好同步和 非恶意收集者和 validators,对于 N 个平行链, 每个平行链共有 N × M validator 和 L 个整理者,我们 可以将每个块的总数据路径分解为: 验证者:M −1+L+L:其他 validator 为 M −1 在平行链集合中,L 代表每个提供候选平行链区块的收集者,第二个 L 代表每个收集者 下一个块需要前一个块的出口有效负载。 (后者实际上更像是最坏情况 操作,因为整理者很可能会共享此类 数据。) Collator: M +kN: M 用于连接到每个相关的 平行链块 validator,kN 用于将出口有效负载播种到每个平行链 validator 组的某个子集 下一个区块(可能还有一些受青睐的整理者)。 因此,每个节点的数据路径呈线性增长 与系统的整体复杂性。虽然这是 合理的,当系统扩展到数百或数千条平行链时,可能会出现一些通信延迟 吸收以换取较低的复杂性增长率。 在这种情况下,可以使用多阶段路由算法 为了减少瞬时路径的数量 以引入存储缓冲区和延迟为代价。 6.6.4.超立方体路由。超立方体路由是一种机制,主要可以作为对 基本路由机制如上所述。 本质上, 我们不是通过平行链和子组节点的数量来增加节点连接性,而是仅通过 平行链的对数。帖子可能会在以下之间传输 几个平行链的队列正在等待最终交付。 路由本身是确定性的且简单的。我们从 限制入口/出口队列中的垃圾箱数量; 它们不是平行链的总数,而是 是路由基础 (b) 。这将被固定为数字 平行链的数量发生了变化,路由指数 (e) 反而被提高。在这个模型下,我们的消息量 随着 O(be) 增长,路径保持不变 和延迟(或交付所需的块数) 与 O(e)。 我们的路由模型是 e 维的超立方体, 立方体的每一面都有 b 个可能的位置。 每个块,我们沿着单个轴路由消息。我们 以循环方式交替轴,从而保证 e 块在最坏情况下的交付时间。 作为平行链处理的一部分,国外绑定 在入口队列中找到的消息将立即路由到适当的出口队列的容器,给定 当前块号(以及路由尺寸)。这个 过程需要为每一跳进行额外的数据传输 在送货路线上,但这本身就是一个问题 可以通过使用一些替代方法来缓解 数据有效负载传输并且仅包括参考, 而不是 post-trie 中帖子的完整有效负载。 此类系统超立方体路由的示例 对于 4 个平行链,b = 2 且 e = 2 可能是: 阶段 0,在每条消息 M 上: • sub0: 如果 Mdest ∈{2, 3} 则 sendTo(2) 否则保留 • sub1: 如果 Mdest ∈{2, 3} 则 sendTo(3) 否则保留 • sub2:如果 Mdest ∈{0, 1} 则 sendTo(0),否则保留 • sub3:如果 Mdest ∈{0, 1} 则 sendTo(1),否则保留 第 1 阶段,在每条消息 M 上: • sub0:如果 Mdest ∈{1, 3} 则 sendTo(1),否则保留 • sub1:如果 Mdest ∈{0, 2} 则 sendTo(0),否则保留 • sub2:如果 Mdest ∈{1, 3} 则 sendTo(3),否则保留 • sub3:如果 Mdest ∈{0, 2} 则 sendTo(2),否则保留 这里的两个维度很容易看出,就像第一个维度一样 目标索引的两位;对于第一个块, 单独使用高阶位。 第二块交易 与低位。一旦两者都发生(任意 order)然后帖子将被路由。 9加密安全的伪随机

Polkadot:异构多链框架的愿景 草案1 16 6.6.5。最大化偶然性。基本的一处改动 提案将看到 c2 −c validators 的固定总数,其中 每个子组中有 c−1 validators。每个块,而不是 validators 存在非结构化重新分区 在平行链之间,而不是对于每个平行链子组, 每个 validator 将被分配给一个唯一且不同的 以下区块上的平行链子组。这会 导致任意两个块之间的不变性,对于任意 两对平行链,存在两个 validator 交换了平行链的职责。虽然这不能用于获得可用性的绝对保证 (单个 validator 有时会掉线,即使 仁慈的),但它仍然可以优化一般情况。 这种方法并非没有并发症。添加平行链也需要进行重组 validator 组的。此外,validator 的数量与平行链数量的平方相关, 最初会很小,最终会长得很远 太快了,大约 50 个平行链后就变得难以维持。 这些都不是根本问题。在第一种情况下, validator 集的重组是必须的 无论如何,定期进行。关于 validator 的大小 设置,当太小时,可能会分配多个 validator 对于同一个平行链,将整数因子应用于 总计 validators。 6.6.4 中讨论的多阶段路由机制(例如超立方路由)将 减轻对大量 validator 的要求 当链条数量较多时。 6.7.平行链验证。 validator 的主要目的 是作为一个关系良好的参与者来证明平行链的 区块有效,包括但不限于任何状态转换、任何外部交易、执行 入口队列中的任何等待帖子和最终状态 出口队列的。 这个过程本身相当简单。 一旦 validator 密封了前一个区块,它们就自由了 开始努力提供候选平行链区块 下一轮共识的候选人。 最初,validator 通过平行链整理器(如下所述)或一个找到平行链区块候选者 其共同validators。平行链区块候选数据 包括块的标头、前一个块的标头, 包括任何外部输入数据(对于 Ethereum 和 Bitcoin,此类数据将被称为事务,但原则上它们可以包括用于任意目的的任意数据结构)、出口队列数据和内部数据以证明状态转换有效性(对于 Ethereum 这将是执行每个事务所需的各种状态/存储特里节点)。 实验证据显示了最近 Ethereum 区块的完整数据集 最多几百 KiB。 同时,如果尚未完成,validator 将是 尝试检索与前一个块的转换有关的信息,最初是从前一个块的 validators 及之后所有 validators 签署 数据的可用性。 一旦 validator 收到这样的候选块, 然后他们在本地验证它。验证过程包含在平行链类的 validator 模块中, 必须编写的共识敏感软件模块 对于 Polkadot 的任何实现(尽管原则上 具有 C ABI 的库可以使单个库能够 与适当的实现之间共享 由于只有一个“参考”实施而导致安全性降低)。 该过程获取前一个块的标头并通过最近商定的中继链验证其身份 应记录其 hash 的块。一旦确定了父标头的有效性,特定的平行链 可以调用类的验证函数。这是一个接受多个数据字段(大致为 那些之前给出的)并返回一个简单的布尔值 宣告区块的有效性。 大多数此类验证函数将首先检查 可以直接派生的头字段 父块(例如父块 hash,编号)。正在关注 这样,他们将填充任何内部数据结构 处理交易和/或过账所必需的。 对于类似 Ethereum 的链,这相当于填充 包含所需节点的 trie 数据库 交易的全面执行。其他链条类型可能有 其他p修复机制。 完成后,入口帖子和外部交易(或外部数据代表的任何内容)将被 根据链的规范制定、平衡。 (一 明智的默认设置可能是要求所有入口帖子 在提供外部交易服务之前进行处理,但这应该由平行链的逻辑来决定。) 通过这项立法,一系列出口岗位将被 创建并且将验证它们确实匹配 整理者的候选人。最后,正确填充 标题将与候选人的标题进行检查。 有了经过充分验证的候选块,validator 然后可以对其标头的 hash 进行投票,并将所有必需的验证信息发送到其子组中的 co-validator。 6.7.1.平行链整理者。平行链整理者是无约束的运营商,他们完成了矿工的大部分任务 在当今的 blockchain 网络上。它们是具体的 到特定的平行链。为了运作,他们必须 保持中继链和完全同步 平行链。 “完全同步”的确切含义将取决于平行链的类别,但始终包括平行链入口队列的当前状态。 在 Ethereum 的情况下,它还至少涉及维护 最后几个区块的默克尔树数据库,但可能 还包括各种其他数据结构,包括 Bloom 过滤帐户存在、家庭信息、日志记录 块号的输出和反向查找表。 除了保持两条链同步之外,它 还必须通过维护交易队列并接受经过正确验证的交易来“钓鱼”交易 来自公共网络。有了队列和链,就是 能够为每个区块选择的 validator 创建新的候选区块(由于中继链已同步,其身份是已知的),并将它们与 各种辅助信息,例如有效性证明,通过 对等网络。 为了避免麻烦,它收取与其所包含的交易相关的所有费用。各种经济学都围绕这个展开 安排。在竞争激烈的市场中 整理者有剩余,有可能交易 与平行链 validators 共享费用以激励 包含特定整理者的块。 相似地,

Polkadot:异构多链框架的愿景 草案1 17 号 一些整理者甚至可能会提高所需的费用 为了使该区块更具吸引力而支付 validators。 在这种情况下,就应该形成一个自然市场 支付更高费用的交易无需排队 并更快地融入链条中。 6.8。联网。传统 blockchain 上的网络 像 Ethereum 和 Bitcoin 有相当简单的要求。 所有交易和区块都以简单的无向八卦形式广播。同步涉及的比较多,尤其是 与 Ethereum 但实际上这个逻辑包含在 对等策略而不是协议本身,它围绕一些请求和应答消息类型进行解析。 虽然 Ethereum 通过 devp2p 协议在当前协议产品上取得了进展,这使得许多 子协议在单个对等连接上复用,因此具有相同的对等覆盖支持许多 同时使用 p2p 协议,Ethereum 部分 协议仍然相对简单,p2p 协议暂时尚未完成,其中有重要内容 缺少 QoS 支持等功能。可悲的是,创建一个更普遍的“web 3”协议的愿望在很大程度上 失败了,唯一使用它的项目是那些明确的项目 由 Ethereum 众筹资助。 Polkadot 的要求相当严格。而不是一个完全统一的网络,Polkadot 有多种类型的参与者,每种类型对其同伴构成和多个网络都有不同的要求 参与者倾向于谈论的“途径” 特定数据。这意味着一个更加结构化的网络覆盖——以及支持该网络的协议—— 可能是必要的。此外,可扩展性可以促进未来的添加,例如新型“链” 它们本身需要一种新颖的覆盖结构。 在深入讨论如何网络化的同时 协议可能看起来超出了本文档的范围,但某些需求分析是合理的。我们可以 粗略地将我们的网络参与者分为两组 (中继链、平行链)三个子集中的每一个。我们可以 还声明每个平行链参与者都只是 对彼此之间的交谈感兴趣,而不是 其他平行链的参与者: • 中继链参与者: • 验证者: P,分成子集 P[s],每个 平行链 • 可用性保证人:A(这可以由协议基本形式中的验证人表示) • 中继链客户端: M(注意每个成员 平行链集合也往往是 M 的成员) • 平行链参与者: • 平行链整理者:C[0]、C[1]、。 。 。 • 平行链渔民:F[0]、F[1]、。 。 。 • 平行链客户端:S[0]、S[1]、。 。 。 • 平行链轻客户端:L[0]、L[1]、。 。 。 一般来说,我们命名特定类别的通信 往往会发生在这些集合的成员之间: • P |一个 <-> 普 |答: 的 满 设置 的 validators/担保人 必须 是 人脉广泛 到 达成共识。 • P[s] <-> C[s] | P[s]:每个 validator 作为给定平行链组的成员都会倾向于八卦 与其他此类成员以及整理者 该平行链的发现和共享候选块。 • A <-> P[s] | C | A:每个可用性保证人 需要收集共识敏感的跨链 来自分配给它的 validator 的数据;整理者 也可能会优化他们达成共识的机会 通过将其广告给可用性保证人来阻止。 一旦他们获得了数据,数据将被分配给 其他此类担保人以促进达成共识。 • P[s] <-> A | P[s']:平行链 validators 将 需要从前一组 validator 或可用性保证人收集额外的输入数据。 • F[s] <-> P:报告时,渔民可以将 向任何参与者提出索赔。 • M <-> M |普 |答:一般中继链客户端从 validator 和担保人那里分配数据。 • S[s] <-> S[s] | P[s] |答:平行链客户从 validator/担保人分配数据。 • L[s] <-> L[s] | S[s]:平行链轻客户端 分配来自完整客户的数据。 为确保高效的运输机制,“扁平化” 覆盖网络 - 就像 Ethereum 的 devp2p - 其中每个 节点不会(非任意地)区分其适应度 同行不太可能适合。一个合理可扩展的 对等选择和发现机制可能需要 包含在协议中以及积极的 规划前瞻性以确保正确的同行类型 是“偶然”连接在正确的时间进行了治疗。 对于每一类参与者,同伴组成的精确策略将有所不同:为了适当地横向扩展 多链,整理者要么需要连续 重新连接到相应选择的 validators,或者将 需要与 validator 的子集达成持续协议 以确保它们在绝大多数时间内不会断开连接,因为它们对于 validator 毫无用处。整理者自然也会尝试维护一个 或更稳定的连接到可用性保证人 旨在确保其共识敏感的迅速传播 数据。 可用性保证人的主要目标是维持 彼此之间以及与 validators 的稳定连接(用于共识以及对共识至关重要的平行链数据 他们证明),以及一些整理者(对于平行链 数据)和一些渔民和完整的客户(用于分散 信息)。验证者会倾向于寻找其他 validator,特别是那些在同一子组中的以及任何 可以为他们提供平行链候选区块的整理者。 渔民,以及一般中继链和平行链 客户通常会致力于保持连接开放 validator 或担保人,但还有很多其他类似的节点 否则对他们自己来说。平行链轻客户端同样致力于连接到平行链的完整客户端, 如果不仅仅是其他平行链轻客户端。 6.8.1.同行流失问题。在基本协议提案中,每个子集随着分配给验证的 validators 不断随机改变每个块 平行链转换是随机选择的。这个可以 不同(非对等)节点需要 相互之间传递数据。一个人必须要么依赖 一个公平分布且连接良好的对等网络

Polkadot:异构多链框架的愿景 草案1 18 确保跳跃距离(以及最坏情况下的延迟)仅随着网络大小的对数而增长 (类似 Kademlia 的协议 [13] 可能会有所帮助),或者必须 引入更长的阻塞时间,以允许进行必要的连接协商,以保持对等组 反映节点当前的通信需求。 这些都不是很好的解决方案:阻塞时间长 强制网络可能会使其无用 特定的应用程序和链条。即使是完全公平的 和连接的网络将导致大量的浪费 由于不感兴趣的节点具有扩展带宽 转发对他们无用的数据。 虽然两个方向都可能构成解决方案的一部分, 合理的优化有助于最大限度地减少延迟 是为了限制这些平行链validator的波动性 集,或者仅在一系列块之间重新分配成员资格(例如,以 15 个为一组,在 4 秒后 阻塞时间意味着每次只改变一次连接 分钟)或以增量方式轮换成员资格,例如一次由一名成员更改(例如,如果有 为每个平行链分配了 15 个 validator,那么平均而言,完全唯一的之间将需要整整一分钟的时间 集)。通过限制对等点的流失量,并确保有利的对等点连接在 通过平行链的部分可预测性取得进展 集,我们可以帮助确保每个节点永久保留 偶然选择的同伴。 6.8.2.有效网络协议的路径。很可能是 最有效和合理的开发工作将集中于利用预先存在的协议而不是滚动 我们自己的。 存在多种点对点基本协议 我们可以使用或增强包括 Ethereum 自己的 devp2p [22]、IPFS 的 libp2p [1] 和 GNU 的 GNUnet [4]。对这些协议及其与构建 支持某些结构保证、动态对等引导和可扩展子协议的模块化对等网络 远远超出了本文档的范围,但将是一个 实施 Polkadot 的重要一步。 7. 议定书的实用性 7.1.链间交易支付。虽然一个伟大的 通过放弃对像 Ethereum 的 Gas 这样的整体计算资源核算框架的需求,可以获得大量的自由和简单性,这确实提出了一个重要的问题:没有 Gas,一条平行链如何运作? 避免另一个平行链强迫它进行计算?虽然我们可以依赖事务后入口队列 缓冲区以防止一条链向另一条链发送垃圾邮件 交易数据,协议没有提供等效机制来防止交易处理的垃圾邮件。 这是留给上级的问题。自连锁 可以自由地将任意语义附加到传入的 交易后数据,我们可以确保计算 必须在开始前付款。与此类似 Ethereum Serenity所拥护的模型,我们可以想象 平行链内的“闯入”合约允许 validator 保证付款以换取 提供特定数量的处理资源。 这些资源可以用天然气之类的东西来衡量, 但也可能是一些全新的模型,例如主观执行时间或类似 Bitcoin 的固定费用模型。 就其本身而言,这并不是那么有用,因为我们不能轻易假设链外调用者可以使用它们 闯入所识别的任何价值机制 合同。然而,我们可以想象源链中存在二次“突破”合约。两份合同共同构成一座桥梁,相互承认并 提供价值对等。 (质押-tokens,可用于 每一个都可以用来结算国际收支。) 调用另一个这样的链将意味着代理 通过这座桥,这将提供 协商链之间的价值转移,以便 支付目标平行链上所需的计算资源。 7.2.附加 链子。同时 的 加法 的 一个 平行链是一种相对便宜的操作,它不是免费的。 更多平行链意味着每个平行链更少的 validator 最终,会产生大量 validator,每个都有一个 平均债券减少。虽然攻击平行链的强制成本较小的问题可以通过 渔民们,不断增长的 validator 组本质上迫使 由于底层共识的机制,延迟程度较高方法。此外,每个平行链 它有可能使 validators 悲伤 过于繁琐的验证算法。 因此,将会有一些“价格”,validators 和/或利益相关团体将提取 添加新的平行链。这个连锁市场将 可能会看到添加以下任一内容: • 可能净贡献为零的链(就锁定或燃烧 staking token 而言)将成为其中的一部分(例如联盟链、 Doge 链、特定于应用程序的链); • 为网络提供内在价值的链 通过添加特定的功能困难 到其他地方(例如保密性、内部可扩展性、服务捆绑)。 从本质上讲,利益相关者社区需要 被激励添加子链——无论是经济上还是 通过向中继添加功能链的愿望。 预计新添加的连锁店将具有非常大的 拆除通知期很短,允许新的连锁店 进行试验,没有任何妥协的风险 中期或长期价值主张。 八、结论 我们已经概述了人们可以采取的方向来创作 可扩展的异构多链协议,具有向后兼容某些预先存在的潜力 blockchain 网络。在这样的协议下,参与者 本着开明的自身利益创建一个整体系统,该系统可以以极其自由的方式进行扩展,并且无需为现有用户支付通常的成本 来自标准 blockchain 设计。我们已经给了 所需架构的粗略轮廓,包括 参与者的性质,他们的经济动机 以及他们必须参与的流程。我们有 确定了基本设计并讨论了其优点和 限制;因此我们有进一步的指示 可以缓解这些限制,并进一步为完全可扩展的 blockchain 解决方案奠定基础。Polkadot:异构多链框架的愿景 草案1 19 8.1.缺少材料和悬而未决的问题。协议的不同实现始终有可能导致网络分叉。从这样的情况中恢复 没有讨论特殊情况。鉴于网络必然有一个非零的终结周期, 从中继链分叉中恢复应该不是一个大问题,但是需要仔细集成 共识协议。 债券没收和相反的奖励规定 没有被深入探讨。目前我们假设奖励 在赢家通吃的基础上提供:这可能不会 为渔民提供最佳的激励模式。短期的提交-披露过程将允许许多渔民 为了获得更公平的奖励分配奖品, 然而,该过程可能会导致额外的延迟 发现不当行为。 8.2.致谢。非常感谢所有的 校对员帮助将其模糊化 美观的形状。 特别是 Peter Czaban、Bjorn 瓦格纳、肯·卡普勒、罗伯特·哈伯迈尔、维塔利克·布特林、雷托·特林克勒和杰克·彼得森。 感谢大家 贡献想法或开端的人 其中,Marek Kotewicz 和 Aeron Buchanan 值得特别提及。感谢其他人的帮助 一路上。所有错误都是我自己造成的。 这项工作的部分内容,包括初步研究 共识算法,部分由英国资助 政府根据创新英国计划。