Polkadot:异构多链框架的愿景

Tác giả Gavin Wood · 2016

Tóm tắt

POLKADOT: TẦM NHÌN VỀ KHUNG KHUNG ĐA CHUỖI KHÔNG ĐỒNG THỂ DỰ THẢO 1 DR. GỖ GAVIN NGƯỜI SÁNG LẬP, ETHEREUM & PARITY [email protected] Trừu tượng. Các kiến ​​trúc blockchain ngày nay đều gặp phải một số vấn đề, đặc biệt là các phương tiện thực tế về khả năng mở rộng và khả năng mở rộng. Chúng tôi tin rằng điều này bắt nguồn từ việc ràng buộc hai phần rất quan trọng của cấu trúc đồng thuận, đó là tính chuẩn tắc và tính giá trị quá chặt chẽ với nhau. Bài viết này giới thiệu một kiến trúc đa chuỗi không đồng nhất, về cơ bản làm cho hai điều này trở nên khác biệt. Trong việc chia thành hai phần này và bằng cách giữ cho chức năng tổng thể được cung cấp ở mức tối thiểu về an ninh và vận tải, chúng tôi giới thiệu các phương tiện thực tế về khả năng mở rộng cốt lõi tại chỗ. Khả năng mở rộng được giải quyết thông qua một cách tiếp cận phân chia và chinh phục đối với hai chức năng này, mở rộng ra khỏi cốt lõi liên kết của nó thông qua việc khuyến khích các nút công khai không đáng tin cậy. Bản chất không đồng nhất của kiến trúc này cho phép nhiều loại hệ thống đồng thuận rất khác nhau tương tác trong một “liên đoàn” phi tập trung hoàn toàn, không cần tin cậy, cho phép các mạng mở và đóng có quyền truy cập không cần tin cậy vào lẫn nhau. Chúng tôi đưa ra phương tiện cung cấp khả năng tương thích ngược với một hoặc nhiều mạng có sẵn như Ethereum. Chúng tôi tin rằng một hệ thống như vậy cung cấp một thành phần cấp cơ sở hữu ích trong việc tìm kiếm tổng thể một giải pháp thực tế. hệ thống có thể triển khai có khả năng đạt được mức độ thương mại toàn cầu về khả năng mở rộng và quyền riêng tư. 1. Lời nói đầu Đây được coi là bản tóm tắt “tầm nhìn” kỹ thuật về một hướng khả thi có thể được thực hiện để phát triển hơn nữa mô hình blockchain cùng với một số lý do căn bản giải thích tại sao hướng này lại hợp lý. Nó đặt ra trong càng nhiều chi tiết càng tốt ở giai đoạn phát triển này một hệ thống có thể mang lại sự cải thiện cụ thể về số khía cạnh của công nghệ blockchain. Nó không nhằm mục đích cụ thể hóa, hình thức hay cách khác. Nó không nhằm mục đích toàn diện cũng như không phải là một thiết kế cuối cùng. Nó không nhằm mục đích bao gồm các khía cạnh không cốt lõi của khung như API, ràng buộc, ngôn ngữ và cách sử dụng. Điều này đáng chú ý là mang tính thử nghiệm; thông số ở đâu được chỉ định, chúng có thể thay đổi. Cơ chế sẽ được thêm vào, tinh chỉnh và loại bỏ để đáp ứng với cộng đồng ý tưởng và phê bình. Phần lớn của bài viết này có thể sẽ được sửa đổi như bằng chứng thực nghiệm và nguyên mẫu cung cấp cho chúng tôi thông tin về điều gì sẽ hiệu quả và điều gì không. Tài liệu này bao gồm mô tả cốt lõi của giao thức cùng với các ý tưởng về các hướng dẫn có thể được thực hiện để cải thiện các khía cạnh khác nhau. Người ta hình dung rằng cốt lõi mô tả sẽ được sử dụng làm điểm bắt đầu cho lần đầu tiên một loạt các bằng chứng về khái niệm. “Phiên bản 1.0” cuối cùng sẽ là dựa trên giao thức được cải tiến này cùng với các ý tưởng bổ sung đã được chứng minh và quyết tâm thực hiện cần thiết để dự án đạt được mục tiêu của nó. 1.1. Lịch sử. • 10/09/2016: 0.1.0-proof1 • 20/10/2016: 0.1.0-proof2 • 11/01/2016: 0.1.0-proof3 • 11/10/2016: 0.1.0 2. Giới thiệu Blockchain đã chứng tỏ nhiều hứa hẹn về tiện ích trên một số lĩnh vực bao gồm “Internet of Things” (IoT), tài chính, quản trị, quản lý danh tính, phân quyền web và theo dõi tài sản. Tuy nhiên, mặc dù hứa hẹn về công nghệ và những cuộc nói chuyện hoành tráng, chúng ta vẫn chưa thấy triển khai đáng kể trong thế giới thực của công nghệ hiện tại. Chúng tôi tin rằng đây là do năm thất bại chính của hiện tại. ngăn xếp công nghệ: Khả năng mở rộng: Bao nhiêu tài nguyên được chi tiêu trên toàn cầu về xử lý, băng thông và lưu trữ để hệ thống xử lý một giao dịch và có bao nhiêu giao dịch giao dịch có thể được xử lý hợp lý theo điều kiện cao điểm? Tính cô lập: Liệu nhu cầu khác nhau của nhiều người có thể các bên và đơn đăng ký có được giải quyết ở mức độ gần như tối ưu trong cùng một khuôn khổ không? Khả năng phát triển: Các công cụ này hoạt động tốt như thế nào? làm API có giải quyết được nhu cầu của nhà phát triển không? Tài liệu giáo dục có sẵn không? Có sự tích hợp phù hợp ở đó không? Quản trị: Mạng có thể duy trì tính linh hoạt để phát triển và thích nghi theo thời gian? Liệu các quyết định có thể được được thực hiện với tính toàn diện, hợp pháp và minh bạch để cung cấp sự lãnh đạo hiệu quả của một hệ thống phi tập trung? Khả năng ứng dụng: Công nghệ này có thực sự giải quyết được nhu cầu cấp bách không? “Phần mềm trung gian” khác có cần thiết để thu hẹp khoảng cách với ứng dụng thực tế? Trong công việc hiện tại, chúng tôi mong muốn giải quyết hai vấn đề đầu tiên vấn đề: khả năng mở rộng và khả năng cô lập. Điều đó nói lên rằng, chúng tôi tin khuôn khổ Polkadot có thể cung cấp những cải tiến có ý nghĩa cho từng loại vấn đề này. Triển khai blockchain hiện đại, hiệu quả như ứng dụng Parity Ethereum [17] có thể sản xuấtess vượt quá 3.000 giao dịch mỗi giây khi chạy trên phần cứng tiêu dùng hiệu suất cao. Tuy nhiên, thực tế hiện nay blockchain mạng thực tế bị giới hạn ở khoảng 30 giao dịch mỗi giây. Hạn chế này chủ yếu bắt nguồn từ thực tế là các cơ chế đồng thuận đồng bộ hiện tại yêu cầu biên độ an toàn về thời gian rộng. thời gian xử lý dự kiến, điều này càng trở nên trầm trọng hơn do 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

Giới thiệu

Blockchain đã chứng tỏ nhiều hứa hẹn về tiện ích trên một số lĩnh vực bao gồm “Internet of Things” (IoT), tài chính, quản trị, quản lý danh tính, phân quyền web và theo dõi tài sản. Tuy nhiên, mặc dù hứa hẹn về công nghệ và những cuộc nói chuyện hoành tráng, chúng ta vẫn chưa thấy triển khai đáng kể trong thế giới thực của công nghệ hiện tại. Chúng tôi tin rằng đây là do năm thất bại chính của hiện tại. ngăn xếp công nghệ: Khả năng mở rộng: Bao nhiêu tài nguyên được chi tiêu trên toàn cầu về xử lý, băng thông và lưu trữ để hệ thống xử lý một giao dịch và có bao nhiêu giao dịch giao dịch có thể được xử lý hợp lý theo điều kiện cao điểm? Tính cô lập: Liệu nhu cầu khác nhau của nhiều người có thể các bên và đơn đăng ký có được giải quyết ở mức độ gần như tối ưu trong cùng một khuôn khổ không? Khả năng phát triển: Các công cụ này hoạt động tốt như thế nào? làm API có giải quyết được nhu cầu của nhà phát triển không? Tài liệu giáo dục có sẵn không? Có sự tích hợp phù hợp ở đó không? Quản trị: Mạng có thể duy trì tính linh hoạt để phát triển và thích nghi theo thời gian? Liệu các quyết định có thể được được thực hiện với tính toàn diện, hợp pháp và minh bạch để cung cấp sự lãnh đạo hiệu quả của một hệ thống phi tập trung? Khả năng ứng dụng: Công nghệ này có thực sự giải quyết được nhu cầu cấp bách không? “Phần mềm trung gian” khác có cần thiết để thu hẹp khoảng cách với ứng dụng thực tế? Trong công việc hiện tại, chúng tôi mong muốn giải quyết hai vấn đề đầu tiên vấn đề: khả năng mở rộng và khả năng cô lập. Điều đó nói lên rằng, chúng tôi tin khuôn khổ Polkadot có thể cung cấp những cải tiến có ý nghĩa cho từng loại vấn đề này. Triển khai blockchain hiện đại, hiệu quả như ứng dụng Parity Ethereum [17] có thể xử lý vượt quá 3.000 giao dịch mỗi giây khi chạy trên phần cứng tiêu dùng hiệu suất cao. Tuy nhiên, thực tế hiện nay blockchain mạng thực tế bị giới hạn ở khoảng 30 giao dịch mỗi giây. Hạn chế này chủ yếu bắt nguồn từ thực tế là các cơ chế đồng thuận đồng bộ hiện tại yêu cầu biên độ an toàn về thời gian rộng. thời gian xử lý dự kiến, điều này càng trở nên trầm trọng hơn doPOLKADOT: TẦM NHÌN VỀ KHUNG KHUNG ĐA CHUỖI KHÔNG ĐỒNG THỂ DỰ THẢO 1 2 mong muốn hỗ trợ việc triển khai chậm hơn. Điều này là do kiến trúc đồng thuận cơ bản: cơ chế chuyển đổi trạng thái hoặc phương tiện để các bên đối chiếu và thực hiện các giao dịch, về cơ bản logic của nó gắn liền với vào cơ chế “chuẩn hóa” đồng thuận, hoặc có nghĩa là các bên đồng ý về một trong số các có thể, hợp lệ, lịch sử. Điều này áp dụng như nhau cho cả hai hệ thống proof-of-work (PoW) như Bitcoin [15] và Ethereum [5,23] và các hệ thống bằng chứng cổ phần (PoS) như NXT [8] và Bitshares [12]: cuối cùng tất cả đều phải chịu đựng những bất lợi giống nhau. Nó đơn giản chiến lược đã giúp blockchain thành công. Tuy nhiên, bằng cách kết hợp chặt chẽ hai cơ chế này thành một đơn vị duy nhất của giao thức, chúng tôi cũng kết hợp nhiều giao thức khác nhau các tác nhân và ứng dụng có hồ sơ rủi ro khác nhau, yêu cầu về khả năng mở rộng khác nhau và nhu cầu riêng tư khác nhau. Một kích thước không phù hợp với tất cả. Trường hợp này thường xảy ra là trong một mong muốn thu hút rộng rãi, mạng lưới áp dụng một mức độ bảo thủ dẫn đến mẫu số chung thấp nhất phục vụ tối ưu cho một số ít và cuối cùng dẫn đến thất bại trong khả năng đổi mới, thực hiện và thích ứng, đôi khi đột ngột như vậy. Một số hệ thống như v.d. Factom [21] bỏ hoàn toàn cơ chế chuyển trạng thái. Tuy nhiên, phần lớn các tiện ích mà chúng tôi mong muốn đòi hỏi khả năng chuyển trạng thái theo một máy trạng thái dùng chung. Bỏ nó đi là giải quyết được một vấn đề thay thế; nó không cung cấp một sự thay thế giải pháp. Do đó, có vẻ rõ ràng rằng một hướng đi hợp lý để khám phá như một lộ trình dẫn đến một máy tính phi tập trung có thể mở rộng nền tảng là tách rời kiến trúc đồng thuận khỏi cơ chế chuyển trạng thái. Và có lẽ không có gì đáng ngạc nhiên, đây là chiến lược mà Polkadot áp dụng như một giải pháp cho khả năng mở rộng. 2.1. Giao thức, triển khai và mạng. thích Bitcoin và Ethereum, Polkadot đề cập ngay đến giao thức mạng và giao thức chính (cho đến nay được giả định trước) mạng công cộng chạy giao thức này. Polkadot được dự định là một dự án mở và miễn phí, đặc tả giao thức theo giấy phép Creative Commons và mã được đặt theo giấy phép FLOSS. Dự án là được phát triển một cách cởi mở và chấp nhận sự đóng góp bất cứ nơi nào chúng hữu ích. Một hệ thống RFC, không khác gì Đề xuất cải tiến Python, sẽ cho phép một phương tiện cộng tác công khai về các thay đổi và nâng cấp giao thức. Triển khai ban đầu của chúng tôi về giao thức Polkadot sẽ được gọi là Nền tảng chẵn lẻ Polkadot và sẽ bao gồm việc triển khai giao thức đầy đủ cùng với API ràng buộc. Giống như các triển khai Parity blockchain khác, PPP được thiết kế để trở thành một ngăn xếp công nghệ blockchain có mục đích chung, không dành riêng cho mạng công cộng cũng như cho hoạt động tư nhân/liên doanh. Sự phát triển của nó vì thế cho đến nay đã được tài trợ bởi một số bên bao gồm thông qua một khoản trợ cấp từ chính phủ Anh. Tuy nhiên, bài viết này mô tả Polkadot theo bối cảnh của một mạng công cộng. Chức năng mà chúng ta hình dung trong một mạng công cộng là một tập hợp siêu chức năng được yêu cầu trong cài đặt thay thế (ví dụ: tư nhân và/hoặc tập đoàn). Hơn nữa, trong bối cảnh này, phạm vi đầy đủ của Polkadot có thể được mô tả và thảo luận rõ ràng hơn. Điều này có nghĩa người đọc nên biết rằng một số cơ chế nhất định có thể được mô tả (ví dụ: tương tác với các mạng công cộng khác) không liên quan trực tiếp đến Polkadot khi được triển khai trong các tình huống không công khai (“được phép”). 2.2. Công việc trước đây. Việc tách rời sự đồng thuận cơ bản khỏi quá trình chuyển đổi trạng thái đã được đề xuất một cách không chính thức riêng tư trong ít nhất hai năm—Max Kaye là người đề xuất chiến lược như vậy trong những ngày đầu của Ethereum. Một giải pháp có thể mở rộng phức tạp hơn được gọi là Chuỗi bers, có từ tháng 6 năm 2014 và được xuất bản lần đầu sau đó Năm đó1, đã đưa ra trường hợp về một chuỗi chuyển tiếp duy nhất và nhiều chuỗi đồng nhất cung cấp cơ chế thực thi liên chuỗi minh bạch. Sự mất kết hợp đã được trả giá cho thông qua độ trễ giao dịch—các giao dịch yêu cầu sự phối hợp của các phần khác nhau của hệ thống sẽ mất nhiều thời gian hơn để xử lý. Polkadot lấy phần lớn kiến trúc của nó từ đó và các cuộc trò chuyện tiếp theo với nhiều người khác nhau, mặc dù nó khác nhau rất nhiều về phần lớn thiết kế và quy định. Mặc dù không có hệ thống nào có thể so sánh được với Polkadot thực tế trong sản xuất, một số hệ thống có liên quan đã được đề xuất, mặc dù rất ít ở mức độ đáng kể chi tiết. Những đề xuất này có thểchia thành các hệ thống loại bỏ hoặc làm giảm khái niệm về một hệ thống thống nhất toàn cầu máy trạng thái, những máy cố gắng cung cấp một cách toàn cầu máy đơn kết hợp thông qua các mảnh đồng nhất và những mục tiêu chỉ nhắm đến sự không đồng nhất. 2.2.1. Hệ thống không có trạng thái toàn cầu. Factom [21] là một hệ thống thể hiện tính chuẩn mực mà không cần tuân theo giá trị, cho phép ghi chép dữ liệu một cách hiệu quả. Bởi vì sự tránh né trạng thái toàn cầu và những khó khăn với khả năng mở rộng mà điều này mang lại, nó có thể được coi là một giải pháp có thể mở rộng. Tuy nhiên, như đã đề cập trước đó, bộ số vấn đề mà nó giải quyết được nhỏ hơn đáng kể và nghiêm ngặt. Tangle [18] là một cách tiếp cận mới đối với các hệ thống đồng thuận. Thay vì sắp xếp các giao dịch thành các khối và hình thành sự đồng thuận về một danh sách được liên kết chặt chẽ để đưa ra thứ tự chuẩn mực toàn cầu về các thay đổi trạng thái, nó phần lớn từ bỏ ý tưởng về một trật tự có cấu trúc chặt chẽ và thay vào đó thúc đẩy biểu đồ tuần hoàn có hướng của các giao dịch phụ thuộc với các mục sau giúp chuẩn hóa các mục trước đó thông qua tài liệu tham khảo rõ ràng. Đối với những thay đổi trạng thái tùy ý, biểu đồ phụ thuộc này sẽ nhanh chóng trở nên khó hiểu, tuy nhiên đối với UTXO model2 đơn giản hơn nhiều thì điều này trở thành khá hợp lý. Bởi vì hệ thống chỉ có tính mạch lạc lỏng lẻo và các giao dịch thường độc lập với nhau. mặt khác, một lượng lớn sự song song toàn cầu trở nên khá tự nhiên. Sử dụng mô hình UTXO có tác dụng về việc giới hạn Tangle thành một loại “tiền tệ” chuyển giao giá trị thuần túy hệ thống hơn là bất cứ điều gì chung chung hoặc có thể mở rộng. Hơn nữa, nếu không có sự gắn kết chặt chẽ toàn cầu, sự tương tác với các hệ thống khác có xu hướng cần một sự kết nối tuyệt đối. kiến thức về trạng thái hệ thống—trở nên không thực tế. 1https://github.com/ethereum/wiki/wiki/Chain-Fibers-Redux 2đầu ra giao dịch chưa được chi tiêu, mô hình mà Bitcoin sử dụng, theo đó trạng thái thực sự là tập hợp địa chỉ được liên kết với một số giá trị; các giao dịch đối chiếu các địa chỉ đó và cải tổ chúng thành một bộ địa chỉ mới có tổng số tiền tương đương

POLKADOT: TẦM NHÌN VỀ KHUNG KHUNG ĐA CHUỖI KHÔNG ĐỒNG THỂ DỰ THẢO 1 3 2.2.2. Hệ thống chuỗi không đồng nhất. Chuỗi bên [3] là một đề xuất bổ sung vào giao thức Bitcoin sẽ cho phép tương tác không đáng tin cậy giữa chuỗi Bitcoin chính và các chuỗi bên bổ sung. Không có quy định nào cho bất kỳ mức độ tương tác 'phong phú' giữa các chuỗi bên: sự tương tác sẽ bị giới hạn ở việc cho phép các chuỗi bên được người giám sát tài sản của nhau, có hiệu lực—ở địa phương biệt ngữ—một chốt hai chiều 3. Tầm nhìn cuối cùng là về một khuôn khổ trong đó loại tiền tệ Bitcoin có thể được cung cấp chức năng bổ sung, nếu là ngoại vi, thông qua việc chốt nó lên một số chuỗi khác với sự chuyển đổi trạng thái kỳ lạ hơn hệ thống hơn giao thức Bitcoin cho phép. Theo nghĩa này, chuỗi bên giải quyết khả năng mở rộng hơn là khả năng mở rộng. Thật vậy, về cơ bản không có quy định nào về tính hợp lệ của chuỗi bên; tokens từ một chuỗi (ví dụ: Bitcoin) được tổ chức thay mặt cho chuỗi bên chỉ được bảo mật bởi khả năng của chuỗi bên để khuyến khích các thợ mỏ chuẩn hóa chuyển tiếp hợp lệ. Tính bảo mật của mạng Bitcoin không thể dễ dàng chuyển sang làm việc thay mặt cho người khác blockchains. Hơn nữa, một giao thức để đảm bảo Bitcoin các công cụ khai thác hợp nhất khai thác (nghĩa là nhân đôi sức mạnh chuẩn hóa của họ lên sức mạnh của chuỗi bên) và quan trọng hơn là xác thực các chuyển đổi của chuỗi bên nằm ngoài phạm vi phạm vi của đề xuất này. Cosmos [10] là một hệ thống đa chuỗi được đề xuất trong cùng một mạch với chuỗi bên, hoán đổi Nakamoto PoW phương pháp đồng thuận cho thuật toán Tendermint của Jae Kwon. Về cơ bản, nó mô tả nhiều chuỗi (hoạt động trong vùng) mỗi vùng sử dụng các phiên bản riêng lẻ của Tendermint, cùng với phương tiện liên lạc không tin cậy thông qua chuỗi trung tâm chính. Giao tiếp giữa các chuỗi này được giới hạn ở việc chuyển giao tài sản kỹ thuật số (“cụ thể là về tokens”) thay vì thông tin tùy ý, tuy nhiên, giao tiếp giữa các chuỗi như vậy có đường dẫn trở lại cho dữ liệu, ví dụ: để báo cáo cho người gửi về tình trạng chuyển tiền. Bộ xác thực cho các chuỗi được khoanh vùng và đặc biệt phương tiện khuyến khích họ, giống như chuỗi bên, được để lại như một bài toán chưa được giải quyết. Giả định chung là mỗi chuỗi được phân vùng sẽ tự giữ token giá trị mà lạm phát được sử dụng để thanh toán cho validators. Vẫn đang ở giai đoạn đầu về thiết kế, hiện tại đề xuất thiếu chi tiết toàn diện về các phương tiện kinh tế để đạt được khả năng mở rộng sự chắc chắn về giá trị toàn cầu. Tuy nhiên, sự gắn kết lỏng lẻo cần có giữa các vùng và trung tâm sẽ cho phép để có thêm tính linh hoạt đối với các tham số của vùng được khoanh vùng chuỗi so với chuỗi của một hệ thống thực thi mạnh hơn sự mạch lạc. 2.2.3. Casper. Chưa có đánh giá toàn diện hoặc so sánh song song giữa Casper [6] và Polkadot đã được thực hiện, mặc dù người ta có thể thực hiện khá sâu rộng (và do đó không chính xác) đặc tính của cả hai. Casper là sự mô phỏng lại cách thức thuật toán đồng thuận PoS có thể dựa trên việc người tham gia đặt cược vào ngã ba nào cuối cùng sẽ trở thành kinh điển. Sự xem xét đáng kể đã được đưa ra để đảm bảo rằng nó mạnh mẽ cho mạng phân nhánh, ngay cả khi được kéo dài và có một số mức độ mở rộng bổ sung dựa trên mô hình Ethereum cơ bản. Như như vậy, Casper cho đến nay có xu hướng trở thành một giải pháp đáng kể hơn giao thức phức tạp hơn Polkadot và các giao thức trước đó của nó, và một sai lệch đáng kể so với định dạng blockchain cơ bản. Nó vẫn chưa rõ Casper sẽ lặp lại như thế nào trong tương lai và cuối cùng nó sẽ trông như thế nào nếu được triển khai. Trong khi Casper và Polkadot đều đại diện cho các giao thức mới thú vị và, theo một nghĩa nào đó, là sự gia tăng của Ethereum, có sự khác biệt đáng kể giữa chúng mục tiêu cuối cùng và con đường để triển khai. Casper là một Ethereum Dự án lấy nền tảng làm trung tâm được thiết kế ban đầu là một sự thay đổi PoS đối với giao thức mà không mong muốn về cơ bản tạo ra blockchain có thể mở rộng quy mô. Điều quan trọng là nó được thiết kế để trở thành một hard-fork, thay vì bất kỳ thứ gì mở rộng hơn và do đó tất cả khách hàng và người dùng Ethereum sẽ cần phải nâng cấp hoặc duy trì một nhánh của việc áp dụng không chắc chắn. Do đó, việc triển khai trở nên khó khăn hơn đáng kể như vốn có trong một dự án phi tập trung có yêu cầu chặt chẽ. sự phối hợp là cần thiết. Polkadot khác nhau ở một số điểm; đầu tiên và quan trọng nhất, Polkadot được thiết kế để có thể mở rộng và thay đổi quy mô hoàn toàn blockchain thử nghiệm phát triển, triển khai và tương tác giường. Nó được chế tạo để trở thành một dây đai an toàn cho tương lai, có khả năng đồng hóa mới blockchaincông nghệ khi nó trở nên sẵn có mà không cần sự phối hợp phi tập trung quá phức tạp hoặc hard fork. Chúng tôi đã hình dung ra một số trường hợp sử dụng như như chuỗi liên minh được mã hóa và chuỗi tần số cao với thời gian chặn rất thấp, điều này không thực tế để thực hiện trong bất kỳ phiên bản tương lai nào của Ethereum hiện được hình dung. Cuối cùng, sự kết hợp giữa nó và Ethereum là vô cùng lỏng lẻo; không cần thực hiện hành động nào từ phía Ethereum để cho phép chuyển tiếp giao dịch không đáng tin cậy giữa hai mạng. Tóm lại, trong khi Casper/Ethereum 2.0 và Polkadot chia sẻ một số điểm tương đồng thoáng qua mà chúng tôi tin rằng mục tiêu cuối cùng của họ về cơ bản là khác nhau và thay vì cạnh tranh, hai giao thức cuối cùng có khả năng cùng tồn tại dưới một mối quan hệ đôi bên cùng có lợi trong tương lai gần.

介绍

区块链在包括“物联网”在内的多个领域展示了巨大的实用前景 (物联网)、财务、治理、身份管理、网络去中心化和资产跟踪。然而,尽管 技术承诺和宏大的言论,我们还没有看到 当前技术在现实世界中的重大部署。 我们认为,这归因于当前的五个关键失败 技术栈: 可扩展性:全球花费了多少资源 系统处理单笔交易的处理能力、带宽和存储以及多少 交易可以合理地处理 峰值条件? 隔离性:能否满足多个人的不同需求 各方和应用程序是否可以在同一框架下达到近乎最佳的程度? 可开发性:这些工具的工作效果如何?做 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 有一些短暂的相似之处,我们相信他们的最终目标 本质上是不同的,而不是竞争, 这两个协议最终可能会在一个协议下共存 在可预见的未来建立互惠互利的关系。

Bản tóm tắt

Polkadot là một chuỗi đa chuỗi không đồng nhất có thể mở rộng. Cái này có nghĩa là không giống như các lần triển khai blockchain trước đây đã tập trung vào việc cung cấp một chuỗi duy nhất các sản phẩm khác nhau mức độ tổng quát về các ứng dụng tiềm năng, Polkadot bản thân nó được thiết kế để không cung cấp chức năng ứng dụng vốn có nào cả. Đúng hơn, Polkadot cung cấp nền tảng “chuỗi chuyển tiếp” trên đó có một số lượng lớn các thông tin có thể xác nhận, cấu trúc dữ liệu động mạch lạc toàn cầu có thể được lưu trữ bên cạnh nhau. Chúng tôi gọi những cấu trúc dữ liệu này là “song song” chuỗi hoặc parachain, mặc dù không có nhu cầu cụ thể về về bản chất chúng là blockchain. Nói cách khác, Polkadot có thể được coi là tương đương với một tập hợp các chuỗi độc lập (ví dụ: tập hợp chứa Ethereum, Ethereum Classic, Namecoin và Bitcoin) ngoại trừ hai điểm rất quan trọng: • Bảo mật tổng hợp; • khả năng giao dịch liên chuỗi không cần tin cậy. Những điểm này là lý do tại sao chúng tôi coi Polkadot là “có thể mở rộng”. Về nguyên tắc, một vấn đề được triển khai trên Polkadot có thể được thực hiện song song—mở rộng quy mô—trên một số lượng lớn parachain. Vì tất cả các khía cạnh của mỗi parachain có thể được tiến hành song song bởi một phân đoạn khác nhau của mạng Polkadot, hệ thống có một số khả năng để mở rộng quy mô. Polkadot cung cấp một thông tin khá đơn giản 3trái ngược với chốt một chiều về cơ bản là hành động phá hủy tokens trong một chuỗi để tạo tokens trong một chuỗi khác mà không có cơ chế thực hiện ngược lại để khôi phục tokens ban đầuPOLKADOT: TẦM NHÌN VỀ KHUNG KHUNG ĐA CHUỖI KHÔNG ĐỒNG THỂ DỰ THẢO 1 4 cơ sở hạ tầng khiến phần lớn sự phức tạp phải được giải quyết ở cấp độ phần mềm trung gian. Đây là một quyết định có ý thức nhằm giảm thiểu rủi ro phát triển, tạo điều kiện cho phần mềm cần thiết được phát triển trong một khoảng thời gian ngắn và với mức độ tin cậy cao về tính bảo mật và sự vững chãi. 3.1. Triết lý của Polkadot. Polkadot nên cung cấp một nền tảng vững chắc tuyệt đối để xây dựng làn sóng hệ thống đồng thuận tiếp theo, ngay thông qua phổ rủi ro từ các thiết kế trưởng thành có khả năng sản xuất đến những ý tưởng non trẻ. Bằng cách cung cấp sự đảm bảo mạnh mẽ về bảo mật, cách ly và liên lạc, Polkadot có thể cho phép parachains để tự mình chọn từ một loạt thuộc tính. Thật vậy, chúng tôi đã thấy trước nhiều blockchain thử nghiệm khác nhau sẽ thúc đẩy các thuộc tính của những gì có thể được coi là hợp lý hôm nay. Chúng tôi thấy bảo thủ, chuỗi giá trị cao tương tự như Bitcoin hoặc Z-cash [20] cùng tồn tại cùng với giá trị thấp hơn “chuỗi chủ đề” (tiếp thị như vậy, rất thú vị) và mạng thử nghiệm với mức phí bằng 0 hoặc gần bằng 0. Chúng tôi thấy được mã hóa đầy đủ, “đen tối”, các chuỗi liên minh hoạt động song song—và thậm chí cung cấp dịch vụ cho—các chuỗi mở và có chức năng cao chẳng hạn như những thứ như Ethereum. Chúng tôi thấy thử nghiệm mới Các chuỗi dựa trên VM chẳng hạn như wasm tính phí theo thời gian chủ quan chuỗi đang được sử dụng như một phương tiện để gia công các vấn đề tính toán khó khăn từ chuỗi giống Ethereum hoàn thiện hơn hoặc một chuỗi giống Bitcoin bị hạn chế hơn. Để quản lý việc nâng cấp chuỗi, Polkadot vốn sẽ hỗ trợ một số loại cơ cấu quản trị, có thể dựa trên về các hệ thống chính trị ổn định hiện có và có khía cạnh lưỡng viện tương tự như Hội đồng Sách Vàng [24]. Như có thẩm quyền tối cao, những người nắm giữ token có thể đặt cược cơ bản sẽ có quyền kiểm soát "trưng cầu dân ý". Để phản ánh ý kiến của người dùng nhu cầu phát triển nhưng nhà phát triển cần tính hợp pháp, chúng tôi mong đợi một hướng đi hợp lý sẽ hình thành hai viện từ một ủy ban “người sử dụng” (gồm ngoại quan validators) và một ủy ban “kỹ thuật” được thành lập của các nhà phát triển khách hàng lớn và người chơi trong hệ sinh thái. các nhóm chủ sở hữu token sẽ duy trì tính hợp pháp cao nhất và hình thành đại đa số để tăng cường, điều chỉnh lại tham số, thay thế hoặc giải thể cấu trúc này, điều mà chúng tôi đừng nghi ngờ sự cần thiết cuối cùng của: theo lời của Twain “Chính phủ và tã lót phải được thay đổi thường xuyên, và để lý do giống nhau”. Trong khi việc tái tham số hóa thường không quan trọng để sắp xếp trong một cơ chế đồng thuận lớn hơn, thì những thay đổi về chất hơn như thay thế và tăng cường sẽ có thể cần phải là “nghị định mềm” không tự động hóa (ví dụ: thông qua việc chuẩn hóa số khối và hash của tài liệu chỉ định chính thức giao thức mới) hoặc yêu cầu cơ chế đồng thuận cốt lõi để chứa một ngôn ngữ đủ phong phú để mô tả bất kỳ khía cạnh nào của chính nó mà có thể cần phải thay đổi. Cái sau là mục đích cuối cùng, tuy nhiên, cái trước có nhiều khả năng được chọn hơn để tạo điều kiện cho một mốc thời gian phát triển hợp lý. Nguyên lý chính của Polkadot và các quy tắc trong đó chúng tôi đánh giá mọi quyết định thiết kế là: Tối thiểu: Polkadot phải có càng ít chức năng càng tốt. Đơn giản: không có sự phức tạp bổ sung nào trong giao thức cơ sở hơn mức có thể hợp lý được tải vào phần mềm trung gian, được đặt thông qua một parachain hoặc được giới thiệu trong lần tối ưu hóa sau này. Tổng quát: không có yêu cầu, ràng buộc không cần thiết hoặc nên áp dụng giới hạn đối với parachain; Polkadot phải là nơi thử nghiệm để phát triển hệ thống đồng thuận có thể được tối ưu hóa thông qua làm cho mô hình có phần mở rộng phù hợp càng trừu tượng càng tốt. Mạnh mẽ: Polkadot sẽ cung cấp cơ bản lớp nền ổn định. Ngoài sự lành mạnh về kinh tế, điều này còn có nghĩa là phân cấp để giảm thiểu các vectơ cho các cuộc tấn công có phần thưởng cao.

概括

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 应该提供一个基本的 稳定的基层。除了经济稳健之外,这还意味着去中心化以最大限度地减少 高回报攻击的向量。

Tham gia Polkadot

Có bốn vai trò cơ bản trong việc duy trì Polkadot mạng: người đối chiếu, ngư dân, người đề cử và validator. trong một khả năng triển khai Polkadot, vai trò thứ hai thực tế có thể được chia thành hai vai trò: validator cơ bản và người bảo đảm tính sẵn có; điều này được thảo luận trong phần 6.5.3. đối chiếu ngư dân Trình xác nhận (nhóm này) Trình xác nhận (các nhóm khác) chấp thuận trở thành màn hình báo cáo xấu hành vi để cung cấp khối ứng viên cho Người đề cử Hình 1. Sự tương tác giữa bốn vai trò của Polkadot. 4.1. Trình xác nhận. validator là mức phí cao nhất và giúp niêm phong các khối mới trên mạng Polkadot. Vai trò của validator phụ thuộc vào mức độ liên kết đủ cao được ký gửi, mặc dù chúng tôi cho phép các bên liên kết khác đề cử một hoặc nhiều validator hành động thay mặt họ và với tư cách là một phần nào đó trong trái phiếu của validator có thể không nhất thiết phải thuộc sở hữu của chính validator mà là của những người này người đề cử. validator phải chạy triển khai ứng dụng khách chuỗi chuyển tiếp với độ khả dụng và băng thông cao. Tại mỗi khối nút phải sẵn sàng chấp nhận vai trò phê chuẩn một khối mới trên parachain được chỉ định. Quá trình này liên quan đến việc tiếp nhận, xác nhận và xuất bản lại ứng cử viên khối. Việc đề cử mang tính quyết định nhưng hầu như không thể đoán trước được nhiều. Vì validator không thể được mong đợi một cách hợp lý là sẽ duy trì một hệ thống được đồng bộ hóa hoàn toàn cơ sở dữ liệu của tất cả các parachain, dự kiến validator sẽ chỉ định nhiệm vụ đưa ra một đề xuất mới khối parachain cho bên thứ ba, được gọi là đối tác. Sau khi tất cả các khối parachain mới đã được phê duyệt hợp lệ bởi các nhóm con validator được chỉ định của chúng, validators sau đó phải phê chuẩn chính khối chuỗi chuyển tiếp. Điều này liên quan đến cập nhật trạng thái của hàng đợi giao dịch (về cơ bản di chuyển dữ liệu từ hàng đợi đầu ra của parachain sang hàng đợi khác hàng đợi đầu vào của parachain), xử lý các giao dịch của bộ giao dịch chuỗi chuyển tiếp đã được phê duyệt và phê chuẩn khối cuối cùng, bao gồm cả những thay đổi cuối cùng của parachain.POLKADOT: TẦM NHÌN VỀ KHUNG KHUNG ĐA CHUỖI KHÔNG ĐỒNG THỂ DỰ THẢO 1 5 validator không hoàn thành nghĩa vụ tìm kiếm sự đồng thuận theo các quy tắc của thuật toán đồng thuận đã chọn của chúng tôi sẽ bị trừng phạt. Đối với những thất bại ban đầu, không chủ ý, điều này là thông qua giữ lại phần thưởng của validator. Những thất bại lặp đi lặp lại dẫn đến việc giảm liên kết bảo mật của họ (thông qua việc đốt cháy). Các hành động có hại có thể xảy ra như ký hai lần hoặc âm mưu cung cấp một khối không hợp lệ dẫn đến việc mất toàn bộ trái phiếu (bị đốt cháy một phần nhưng phần lớn được trao cho cho người cung cấp thông tin và người trung thực). Theo một nghĩa nào đó, validator tương tự như nhóm khai thác của PoW hiện tại blockchains. 4.2. Người đề cử. Người được đề cử là bên nắm giữ cổ phần người đóng góp vào trái phiếu bảo đảm của validator. Họ không có vai trò bổ sung nào ngoại trừ việc bố trí vốn rủi ro và như như vậy để báo hiệu rằng họ tin tưởng một validator cụ thể (hoặc được thiết lập) để hành động có trách nhiệm trong việc duy trì mạng. Họ nhận được sự tăng hoặc giảm theo tỷ lệ trong khoản tiền gửi của họ tùy theo mức tăng trưởng của trái phiếu họ đóng góp. Cùng với những người đối chiếu, tiếp theo, những người được đề cử nằm trong một số có ý nghĩa tương tự như các công cụ khai thác của mạng PoW ngày nay. 4.3. Người hợp tác. Đối chiếu giao dịch (gọi tắt là đối chiếu) là các bên hỗ trợ validator tạo ra các khối parachain. Họ duy trì một “nút đầy đủ” cho một parachain cụ thể; có nghĩa là họ giữ lại tất cả những gì cần thiết thông tin để có thể tạo các khối mới và thực thi giao dịch theo cách tương tự như cách các thợ mỏ thực hiện trên PoW blockchain hiện tại. Trong hoàn cảnh bình thường, họ sẽ đối chiếu và thực hiện các giao dịch để tạo ra một bản ghi chưa được niêm phong chặn và cung cấp nó cùng với kiến thức bằng không bằng chứng cho một hoặc nhiều validator hiện chịu trách nhiệm về đề xuất một khối parachain. Bản chất chính xác của mối quan hệ giữa người đối chiếu, người đề cử và validator có thể sẽ thay đổi theo thời gian. Ban đầu, chúng tôi mong đợi những người cộng tác sẽ hợp tác rất chặt chẽ với validators, vì sẽ chỉ có một vài (có lẽ chỉ một) parachain với khối lượng giao dịch ít. các Việc triển khai ứng dụng khách ban đầu sẽ bao gồm các RPC để cho phép nút đối chiếu parachain để cung cấp vô điều kiện nút (chuỗi chuyển tiếp) validator với một parachain hợp lệ có thể được chứng minh khối. Vì chi phí duy trì phiên bản được đồng bộ hóa của tất cả các parachain như vậy đều tăng lên, chúng tôi hy vọng sẽ thấy thêm cơ sở hạ tầng sẵn có sẽ giúp tách biệt các nghĩa vụ đối với các đảng độc lập, có động cơ kinh tế. Cuối cùng, chúng tôi hy vọng sẽ thấy các nhóm đối tác cạnh tranh thu nhiều phí giao dịch nhất. Những người đối chiếu như vậy có thể ký hợp đồng để phục vụ validator cụ thể trong một khoảng thời gian để được chia sẻ liên tục trong số tiền thưởng. Ngoài ra, những người cộng tác “tự do” có thể chỉ cần tạo một thị trường cung cấp các khối parachain hợp lệ để đổi lấy phần thưởng cạnh tranh được trả ngay lập tức. Tương tự, nhóm đề cử phi tập trung sẽ cho phép nhiều những người tham gia liên kết để phối hợp và chia sẻ nhiệm vụ của một validator. Khả năng tập hợp này đảm bảo sự tham gia cởi mở dẫn đến một hệ thống phi tập trung hơn. 4.4. Ngư dân. Không giống như hai bên hoạt động còn lại, ngư dân không liên quan trực tiếp đến việc tạo khối quá trình. Đúng hơn họ là những “thợ săn tiền thưởng” độc lập được thúc đẩy bởi một phần thưởng lớn. Chính xác là do sự tồn tại của ngư dân, chúng tôi cho rằng những hành vi sai trái hiếm khi xảy ra và khi chúng xảy ra chỉ do bên liên quan bất cẩn với việc bảo mật khóa bí mật, chứ không phải thông qua mục đích xấu. Cái tên đến từ tần suất thưởng dự kiến, yêu cầu tối thiểu để tham gia và quy mô phần thưởng cuối cùng. Ngư dân nhận được phần thưởng thông qua việc chứng minh kịp thời rằng ít nhất một bên liên quan đã hành động trái pháp luật. Hành động trái pháp luật bao gồm việc ký hai khối với cùng một khối gốc đã được phê duyệt hoặc, trong trường hợp của parachain, giúp phê chuẩn một khối không hợp lệ khối. Để ngăn chặn việc khen thưởng quá mức hoặc sự thỏa hiệp và sử dụng trái phép khóa bí mật của phiên, phần thưởng cơ bản cho việc cung cấp tin nhắn được ký bất hợp pháp của một validator là tối thiểu. Phần thưởng này tăng tiệm cận khi càng nhiều chứng thực chữ ký bất hợp pháp từ validator khác là được cung cấp ngụ ý một cuộc tấn công thực sự. Đường tiệm cận được thiết lập ở mức 66% theo khẳng định bảo mật cơ sở của chúng tôi rằng ít nhất hai phần ba validator hành động nhân từ. Fishermen có phần giống với “các nút đầy đủ” trong hệ thống blockchain ngày nay mà tài nguyên cần thiết tương đối nhỏ và cam kết về thời gian hoạt động ổn định và băng thông là không cần thiết. Ngư dân có sự khác biệt ở điểm này nhiều như họ phải đăng một trái phiếu nhỏ.Liên kết này ngăn cản các cuộc tấn công sybil do lãng phí validators thời gian và tính toán tài nguyên. Có thể rút ngay lập tức, có lẽ là không nhiều hơn số tiền tương đương với một vài đô la và có thể dẫn đến để gặt hái một phần thưởng khổng lồ từ việc phát hiện ra hành vi sai trái 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。

Tổng quan về thiết kế

Phần này nhằm mục đích cung cấp một cái nhìn tổng quan ngắn gọn về toàn bộ hệ thống. Sự thăm dò kỹ lưỡng hơn về hệ thống được đưa ra trong phần tiếp theo nó. 5.1. Sự đồng thuận. Trên chuỗi chuyển tiếp, Polkadot đạt được sự đồng thuận ở mức độ thấp đối với một tập hợp các thông tin có giá trị được các bên đồng ý chặn thông qua thuật toán chịu lỗi Byzantine không đồng bộ hiện đại (BFT). Thuật toán sẽ được lấy cảm hứng bởi Tendermint đơn giản [11] và hơn thế nữa có liên quan đến HoneyBadgerBFT [14]. Cái sau cung cấp một sự đồng thuận hiệu quả và có khả năng chấp nhận sai sót đối với một hành động tùy tiện cơ sở hạ tầng mạng bị lỗi, được cung cấp một tập hợp các cơ quan có thẩm quyền hầu như lành tính hoặc validator. Đối với mạng kiểu bằng chứng xác thực (PoA), riêng điều này sẽ là đủ, tuy nhiên Polkadot được cho là cũng có thể triển khai như một mạng hoàn toàn mở và công khai tình huống mà không có bất kỳ tổ chức cụ thể hoặc đáng tin cậy nào thẩm quyền cần thiết để duy trì nó. Như vậy chúng ta cần một phương tiện xác định một tập hợp validator và khuyến khích họ phải thành thật. Đối với điều này, chúng tôi sử dụng lựa chọn dựa trên PoS tiêu chí. 5.2. Chứng minh tiền đặt cược. Chúng tôi giả sử rằng mạng sẽ có một số phương tiện để đo lường “cổ phần” là bao nhiêu bất kỳ tài khoản cụ thể nào cũng có. Để dễ so sánh với các hệ thống có sẵn, chúng ta sẽ gọi đơn vị đo là “tokens”. Thật không may, thuật ngữ này ít lý tưởng hơn cho một nhiều lý do, nhất là việc chỉ đơn giản là một đại lượng vô hướng giá trị liên quan đến một tài khoản, không có khái niệm về tính cá nhân. Chúng tôi cho rằng validator sẽ được bầu không thường xuyên (nhiều nhất là một lần mỗi ngày nhưng có lẽ hiếm khi một lần mỗi quý), thông qua chương trình Bằng chứng cổ phần được đề cử (NPoS). Việc khuyến khích có thể xảy ra thông qua việc phân bổ theo tỷ lệPOLKADOT: TẦM NHÌN VỀ KHUNG KHUNG ĐA CHUỖI KHÔNG ĐỒNG THỂ DỰ THẢO 1 6 Rơle chuỗi Nhóm xác thực (mỗi màu được tô màu bởi nó parachain được chỉ định) Giao dịch (gửi bởi tác nhân bên ngoài) Parachain cầu parachain ảo (ví dụ: Ethereum) Parachain Parachain hàng đợi và I/O Giao dịch lan truyền Chặn việc nộp hồ sơ ứng viên đơn hàng thứ 2 Chuỗi rơle cộng đồng parachain Tài khoản Giao dịch trong nước Giao dịch đi Giao dịch liên chuỗi (được quản lý bởi validators) đối chiếu Khối lan truyền ngư dân Hình 2. Sơ đồ tóm tắt của hệ thống Polkadot. Điều này cho thấy các bộ đối chiếu đang thu thập và truyền bá các giao dịch của người dùng, cũng như truyền bá các ứng cử viên khối cho ngư dân và validators. Nó cũng cho thấy cách một tài khoản có thể đăng một giao dịch được thực hiện từ parachain của nó, thông qua chuỗi chuyển tiếp và vào một parachain khác, nơi nó có thể được hiểu là một giao dịch đối với một tài khoản ở đó. số tiền đến từ việc mở rộng cơ sở token (tối đa 100% mỗi năm, mặc dù nhiều khả năng là khoảng 10%) cùng với bất kỳ khoản phí giao dịch nào được thu thập. Trong khi việc mở rộng cơ sở tiền tệ thường dẫn đến lạm phát, vì tất cả chủ sở hữu token sẽ có cơ hội tham gia công bằng, không chủ sở hữu token nào sẽ phải chịu sự giảm giá trị tài sản của mình nắm giữ theo thời gian miễn là họ vui vẻ chấp nhận vai trò trong cơ chế đồng thuận Một tỷ lệ cụ thể trong số token sẽ được nhắm mục tiêu cho quy trình staking; cái việc mở rộng cơ sở token hiệu quả sẽ được điều chỉnh thông qua một cơ chế dựa trên thị trường để đạt được mục tiêu này. Những người xác nhận được liên kết chặt chẽ bởi cổ phần của họ; thoát ra Trái phiếu của validator vẫn được giữ nguyên lâu sau khi nhiệm vụ của validator chấm dứt (có thể là khoảng 3 tháng). Dài thế này thời gian thanh lý trái phiếu cho phép hành vi sai trái trong tương lai có thể xảy ra bị trừng phạt cho đến khi kiểm tra dây chuyền định kỳ. Hành vi sai trái dẫn đến hình phạt, chẳng hạn như giảm thưởng hoặc, trong trường hợp cố ý làm tổn hại đến tính toàn vẹn của mạng, validator mất một phần hoặc toàn bộ cổ phần cho validator khác, người cung cấp thông tin hoặc các bên liên quan nói chung (thông qua việc đốt cháy). Ví dụ: validator người cố gắng phê chuẩn cả hai nhánh của một ngã ba (đôi khi được gọi là cuộc tấn công “tầm ngắn”) có thể được xác định và bị trừng phạt theo cách thứ hai. Các cuộc tấn công tầm xa “không có gì đáng đe dọa”4 bị phá vỡ thông qua một chốt “điểm kiểm tra” đơn giản nhằm ngăn chặn việc tổ chức lại chuỗi nguy hiểm của nhiều hơn một độ sâu chuỗi cụ thể. Để đảm bảo các máy khách mới được đồng bộ hóa không thể bị lừa vào chuỗi sai, thường xuyên “hard fork” sẽ xảy ra (nhiều nhất là trong cùng thời kỳ của validators' thanh lý trái phiếu) mã hóa cứng khối điểm kiểm tra gần đây hash vào khách hàng. Điều này hoạt động tốt với một biện pháp giảm dấu chân hơn nữa là “độ dài chuỗi hữu hạn” hoặc thiết lập lại định kỳ khối Genesis. 5.3. Parachains và Collators. Mỗi parachain được các điều kiện bảo mật tương tự như chuỗi chuyển tiếp: cái Các tiêu đề của parachains được niêm phong trong khối chuỗi chuyển tiếp đảm bảo không tổ chức lại hoặc "chi tiêu gấp đôi" sau khi được xác nhận. Đây là sự đảm bảo an ninh tương tự như sự đảm bảo an ninh được cung cấp bởi chuỗi bên và hoạt động khai thác hợp nhất của Bitcoin. Tuy nhiên, Polkadot cũng cung cấp sự đảm bảo mạnh mẽ rằng việc chuyển đổi trạng thái của parachain là hợp lệ. Cái này xảy ra thông qua tập hợp validator được phân chia ngẫu nhiên bằng mật mã thành các tập hợp con; một tập hợp con cho mỗi parachain, các tập hợp con có khả năng khác nhau trên mỗi khối. Cái này thiết lập thường ngụ ý rằng thời gian chặn của parachains sẽ ít nhất phải dài bằng chuỗi chuyển tiếp. cụ thể phương tiện xác định phân vùng nằm ngoài phạm vi 4Cuộc tấn công như vậy là lúc đối thủ tạo ra một chuỗi lịch sử hoàn toàn mới từ khối khởi đầu trở đi. Thông qua việc kiểm soát một phần cổ phần tương đối không đáng kể khi bù đắp, họ có thể tăng dần phần cổ phần của mình so với tất cả những người khác các bên liên quan vì họ là những người tham gia tích cực duy nhất trong lịch sử thay thế của họ. Vì không có giới hạn vật lý nội tại nào tồn tại trong quá trình tạo ra của các khối (không giống như PoW nơi phải tiêu tốn năng lượng tính toán khá thực), họ có thể tạo ra một chuỗi dài hơn chuỗi thực trong một khoảng thời gian tương đối ngắn và có khả năng làm cho nó dài nhất và tốt nhất, tiếp quản trạng thái chuẩn của mạng.POLKADOT: TẦM NHÌN VỀ KHUNG KHUNG ĐA CHUỖI KHÔNG ĐỒNG THỂ DỰ THẢO 1 7 của tài liệu này nhưng có thể sẽ dựa trên khung tiết lộ cam kết tương tự như RanDAO [19] hoặc sử dụng dữ liệu kết hợp từ các khối trước của mỗi parachain theo mật mã hash được bảo mật. Các tập hợp con validator như vậy được yêu cầu để cung cấp ứng cử viên khối parachain được đảm bảo hợp lệ (trên nỗi đau của sự tịch thu trái phiếu). Hiệu lực xoay quanh hai điểm quan trọng; trước hết là nó có giá trị về bản chất—rằng tất cả các chuyển đổi trạng thái đều được thực hiện một cách trung thực và tất cả dữ liệu bên ngoài được tham chiếu (tức là các giao dịch) có giá trị để đưa vào. Thứ hai, bất kỳ dữ liệu nào nằm ngoài phạm vi của nó ứng viên, chẳng hạn như các giao dịch bên ngoài, có tính sẵn sàng cao để người tham gia có thể tải xuống và thực thi khối theo cách thủ công.5 Người xác thực chỉ có thể cung cấp khối “null” không chứa dữ liệu “giao dịch” bên ngoài, nhưng có thể gặp rủi ro bị giảm phần thưởng nếu họ làm như vậy. Họ làm việc bên cạnh một giao thức tin đồn parachain với các đối tác—các cá nhân người đối chiếu các giao dịch thành các khối và cung cấp bằng chứng không tương tác, không có kiến thức rằng khối đó cấu thành một phần tử con hợp lệ của phần tử mẹ của nó (và thực hiện bất kỳ giao dịch nào phí cho rắc rối của họ). Các giao thức parachain phải tự xác định phương tiện ngăn chặn thư rác: không có khái niệm cơ bản nào về “đo lường tài nguyên máy tính” hoặc “phí giao dịch” được áp đặt bởi chuỗi chuyển tiếp. Giao thức chuỗi chuyển tiếp cũng không có sự thực thi trực tiếp nào về vấn đề này (mặc dù nó khó có khả năng các bên liên quan sẽ chọn áp dụng một parachain không cung cấp một cơ chế phù hợp). Đây là một sự đồng ý rõ ràng về khả năng của các chuỗi không giống như Ethereum, ví dụ: một chuỗi giống Bitcoin có mô hình tính phí đơn giản hơn nhiều hoặc một số mô hình ngăn chặn thư rác khác chưa được đề xuất. Bản thân chuỗi chuyển tiếp của Polkadot có thể sẽ tồn tại dưới dạng Ethereum giống như tài khoản và chuỗi trạng thái, có thể là phái sinh EVM. Vì các nút chuỗi chuyển tiếp sẽ được yêu cầu thực hiện các xử lý đáng kể khác, thông lượng giao dịch sẽ được giảm thiểu một phần thông qua phí giao dịch lớn và nếu mô hình nghiên cứu của chúng tôi yêu cầu, giới hạn kích thước khối. 5.4. Truyền thông liên chuỗi. Thành phần quan trọng cuối cùng của Polkadot là giao tiếp giữa các chuỗi. Kể từ khi parachains có thể có một số loại kênh thông tin giữa chúng, chúng tôi cho phép mình xem xét Polkadot một đa chuỗi có thể mở rộng. Trong trường hợp Polkadot, việc giao tiếp càng đơn giản càng tốt: các giao dịch được thực hiện trong một parachain (theo logic của chuỗi đó) có thể ảnh hưởng đến việc gửi một giao dịch vào parachain thứ hai hoặc có thể là chuỗi chuyển tiếp. Giống như các giao dịch bên ngoài trên blockchains sản xuất, chúng hoàn toàn không đồng bộ và không có khả năng nội tại để họ trả lại bất kỳ loại thông tin trở lại nguồn gốc của nó. Điểm đến: được dữ liệu từ trước validator của khối. Tài khoản nhận được bài viết: mục nhập bị xóa khỏi xâm nhập Merkle tree Tài khoản gửi bài: mục được đặt trong đi ra Merkle tree cho điểm đến parachain đi ra Nguồn: chia sẻ dữ liệu với khối tiếp theo validators bằng chứng của bài viết được lưu trữ trong lối ra parachain Merkle cây tham chiếu định tuyến được đặt trong parachain đích xâm nhập Merkle tree xâm nhập Hình 3. Sơ đồ cơ bản thể hiện các phần chính của định tuyến cho bài đăng giao dịch (“bài đăng”). Để đảm bảo độ phức tạp thực hiện tối thiểu, tối thiểu rủi ro và tối thiểu áo khoác thẳng của tương lai kiến trúc parachain, các giao dịch liên chuỗi này được thực sự không thể phân biệt được với các giao dịch được ký kết bên ngoài tiêu chuẩn. Giao dịch có phân đoạn gốc, cung cấp khả năng xác định parachain và một địa chỉ có thể có kích thước tùy ý. Không giống như các hệ thống phổ biến hiện nay như Bitcoin và Ethereum, các giao dịch liên chuỗi không đi kèm với bất kỳ hình thức “thanh toán” phí liên quan nào; mọi khoản thanh toán như vậy phải được quản lý thông qua logic đàm phán trên parachain nguồn và đích. Một hệ thống như vậy được đề xuất cho Bản phát hành Serenity của Ethereum [7] sẽ là một phương tiện đơn giản Tuy nhiên, việc quản lý việc thanh toán tài nguyên xuyên chuỗi như vậy chúng tôi cho rằng những người khác có thể chiếm ưu thế vào thời điểm thích hợp. Các giao dịch liên chuỗi được giải quyết bằng cách sử dụng một cách đơn giản cơ chế xếp hàng dựa trên Merkle tree để đảm bảo sự chính xác. Nhiệm vụ của người bảo trì chuỗi chuyển tiếp là di chuyển các giao dịch trên hàng đợi đầu ra của một parachain vào hàng đợi đầu vào của parachain đích. các các giao dịch đã được thông qua sẽ được tham chiếu trên chuỗi chuyển tiếp, tuy nhiên không liên quanbản thân các giao dịch chuỗi ay. Để ngăn chặn một parachain gửi thư rác cho một parachain khác bằng giao dịch, để một giao dịch được gửi đi, cần phải có hàng đợi đầu vào của đích không quá lớn thời điểm kết thúc khối trước đó. Nếu đầu vào hàng đợi quá lớn sau khi xử lý khối thì nó được coi là “bão hòa” và không có giao dịch nào có thể được chuyển đến nó trong các khối tiếp theo cho đến khi giảm trở lại dưới mức giới hạn. Những hàng đợi này được quản lý trên chuỗi chuyển tiếp cho phép các parachain xác định độ bão hòa của nhau tình trạng; theo cách này, một nỗ lực thất bại trong việc đăng một giao dịch đến một đích bị đình trệ có thể được báo cáo đồng bộ. (Mặc dù không có đường dẫn trở lại tồn tại nên nếu giao dịch thứ cấp không thành công vì lý do đó thì nó không thể được báo cáo lại tới người gọi ban đầu và một số phương tiện phục hồi khác sẽ phải diễn ra.) 5.5. Polkadot và Ethereum. Do tính hoàn thiện Turing của Ethereum, chúng tôi hy vọng có nhiều cơ hội để Polkadot và Ethereum có thể tương tác với nhau, ít nhất là trong một số giới hạn an ninh dễ dàng được khấu trừ. Nói tóm lại, chúng tôi hình dung rằng các giao dịch từ Polkadot có thể được ký bởi validators và sau đó được đưa vào 5Nhiệm vụ như vậy có thể được chia sẻ giữa các validator hoặc có thể trở thành nhiệm vụ được chỉ định của một tập hợp các validator được liên kết chặt chẽ được gọi là người bảo đảm sẵn có.

POLKADOT: TẦM NHÌN VỀ KHUNG KHUNG ĐA CHUỖI KHÔNG ĐỒNG THỂ DỰ THẢO 1 8 Ethereum nơi chúng có thể được diễn giải và ban hành bởi một hợp đồng chuyển tiếp giao dịch. Ở hướng khác, chúng tôi thấy trước việc sử dụng nhật ký (sự kiện) được định dạng đặc biệt đến từ một “hợp đồng đột phá” để cho phép xác minh nhanh chóng rằng một tin nhắn cụ thể sẽ được chuyển tiếp. 5.5.1. Polkadot đến Ethereum. Thông qua việc lựa chọn một BFT cơ chế đồng thuận với validator được hình thành từ một tập hợp các bên liên quan được xác định thông qua bỏ phiếu phê duyệt cơ chế, chúng ta có thể đạt được sự đồng thuận an toàn với một thay đổi không thường xuyên và số lượng khiêm tốn validators. Trong một hệ thống có tổng cộng 144 validators, thời gian khối là 4 giây và độ chính xác 900 khối (cho phép mã độc hành vi như bỏ phiếu hai lần sẽ bị báo cáo, bị trừng phạt và được sửa chữa), tính hợp lệ của một khối có thể được xác định một cách hợp lý được coi là đã được chứng minh thông qua ít nhất 97 chữ ký (hai phần ba của 144 cộng một) và thời gian xác minh kéo dài 60 phút sau đó mà không có khiếu nại nào được đưa ra. Ethereum có thể lưu trữ một “hợp đồng đột nhập” có thể duy trì 144 bên ký kết và được kiểm soát bởi họ. Vì việc khôi phục chữ ký số theo đường cong elip (ECDSA) chỉ mất 3.000 gas trong EVM và kể từ đó chúng tôi có thể chỉ muốn việc xác thực diễn ra trên một siêu đa số validators (thay vì hoàn toàn nhất trí), chi phí cơ bản của Ethereum xác nhận rằng một lệnh đã được xác thực hợp lệ vì đến từ mạng Polkadot sẽ tiêu tốn không quá 300.000 gas—chỉ 6% trong số đó tổng giới hạn khí khối ở mức 5,5M. Tăng số lượng validators (cần thiết để xử lý hàng chục chuỗi) chắc chắn sẽ làm tăng chi phí này, tuy nhiên Người ta mong đợi băng thông giao dịch của Ethereum sẽ tăng theo thời gian khi công nghệ hoàn thiện và cơ sở hạ tầng được cải thiện. Cùng với thực tế là không tất cả validator đều cần được tham gia (ví dụ: chỉ có mức cao nhất validator đã đặt cược có thể được yêu cầu thực hiện một nhiệm vụ như vậy) giới hạn của cơ chế này mở rộng khá tốt. Giả sử luân chuyển hàng ngày validators như vậy (tức là khá thận trọng—hàng tuần hoặc thậm chí hàng tháng có thể được chấp nhận), thì chi phí cho mạng lưới duy trì cầu chuyển tiếp Ethereum này sẽ có giá khoảng 540.000 gas mỗi ngày hoặc, theo giá gas hiện tại, là 45 USD mỗi năm. Một giao dịch cơ bản được chuyển tiếp qua cầu sẽ có chi phí khoảng 0,11 USD; việc tính toán hợp đồng bổ sung sẽ tốn kém tất nhiên là nhiều hơn nữa. Bằng cách đệm và đóng gói các giao dịch cùng với nhau, chi phí ủy quyền đột nhập có thể dễ dàng được tính toán được chia sẻ, giảm đáng kể chi phí cho mỗi giao dịch; nếu cần 20 giao dịch trước khi chuyển tiếp thì chi phí để chuyển tiếp một giao dịch cơ bản sẽ giảm xuống khoảng 0,01 USD. Một giải pháp thay thế thú vị và rẻ hơn cho mô hình hợp đồng đa chữ ký này là sử dụng chữ ký ngưỡng để đạt được ngữ nghĩa quyền sở hữu đa phương. Trong khi các sơ đồ chữ ký ngưỡng cho ECDSA đắt tiền về mặt tính toán, đối với các chương trình khác chẳng hạn như chữ ký Schnorr là rất hợp lý. Ethereum có kế hoạch giới thiệu những thứ nguyên thủy sẽ tạo ra những thứ như vậy các chương trình rẻ tiền để sử dụng trong đợt hardfork Metropolis sắp tới. Nếu một phương tiện như vậy có thể được sử dụng, chi phí khí đốt để chuyển tiếp giao dịch Polkadot vào Ethereum mạng sẽ giảm đáng kể xuống gần bằng không chi phí chung vượt quá chi phí cơ bản để xác nhận ký và thực hiện giao dịch cơ bản. Trong mô hình này, các nút validator của Polkadot sẽ có không làm gì khác ngoài việc ký tin nhắn. Để các giao dịch thực sự được định tuyến trên mạng Ethereum, chúng tôi giả sử chính validator cũng sẽ cư trú trên mạng Ethereum hoặc nhiều khả năng là những khoản tiền thưởng nhỏ đó được cung cấp cho tác nhân đầu tiên chuyển tiếp tin nhắn trên vào mạng (tiền thưởng có thể được trả một cách tầm thường cho người khởi tạo giao dịch). 5.5.2. Ethereum tới Polkadot. Bắt các giao dịch được thực hiện được chuyển tiếp từ Ethereum đến Polkadot sử dụng khái niệm nhật ký đơn giản. Khi hợp đồng Ethereum muốn gửi giao dịch đến một parachain cụ thể của Polkadot, nó chỉ cần gọi đến một “hợp đồng đột phá” đặc biệt. Hợp đồng đột phá sẽ nhận bất kỳ khoản thanh toán nào có thể được yêu cầu và đưa ra hướng dẫn ghi nhật ký để sự tồn tại của nó có thể được chứng minh thông qua bằng chứng Merkle và xác nhận rằng tiêu đề của khối tương ứng là hợp lệ và kinh điển. Trong hai điều kiện sau, tính hợp lệ có lẽ là điều kiện dễ chứng minh nhất. Về nguyên tắc, yêu cầu duy nhất làcho mỗi nút Polkadot cần bằng chứng (tức là các nút validator được chỉ định) để chạy một phiên bản được đồng bộ hóa hoàn toàn của nút Ethereum tiêu chuẩn. Thật không may, bản thân điều này lại là một sự phụ thuộc khá nặng nề. Thêm nữa phương pháp nhẹ nhàng sẽ là sử dụng một bằng chứng đơn giản rằng tiêu đề được đánh giá chính xác thông qua việc chỉ cung cấp cần có một phần trạng thái của Ethereum để thực thi đúng cách các giao dịch trong khối và kiểm tra xem nhật ký (có trong biên lai khối) có hợp lệ hay không. Những thứ “giống SPV”6 bằng chứng có thể vẫn yêu cầu một lượng thông tin đáng kể; một cách thuận tiện, chúng thường không cần thiết ở tất cả: hệ thống liên kết bên trong Polkadot sẽ cho phép liên kết bên thứ ba gửi tiêu đề có nguy cơ bị mất mối ràng buộc nếu một số bên thứ ba khác (chẳng hạn như “ngư dân”, xem 6.2.3) cung cấp bằng chứng rằng tiêu đề không hợp lệ (cụ thể là gốc nhà nước hoặc gốc nhận là kẻ mạo danh). Trên mạng PoW chưa hoàn thiện như Ethereum, tính kinh điển không thể được chứng minh một cách thuyết phục. Để giải quyết vấn đề này, các ứng dụng cố gắng dựa vào bất kỳ loại nguyên nhân-kết quả phụ thuộc vào chuỗi, hãy đợi một số “xác nhận” hoặc cho đến khi giao dịch phụ thuộc ở một mức nào đó độ sâu cụ thể trong chuỗi. Vào Ethereum, cái này độ sâu thay đổi từ 1 khối đối với các giao dịch ít giá trị nhất mà không có sự cố mạng nào được xác định đến 1200 khối như trước đây trường hợp này trong lần phát hành Frontier đầu tiên cho các sàn giao dịch. Trên mạng “Homestead” ổn định, hình này nằm ở 120 khối cho hầu hết các sàn giao dịch và chúng tôi có thể sẽ lấy một tham số tương tự. Vì vậy chúng tôi có thể tưởng tượng của chúng tôi Polkadot bên Ethereumgiao diện có một số chức năng đơn giản: có thể chấp nhận tiêu đề mới từ mạng Ethereum và xác thực PoW, để có thể chấp nhận một số bằng chứng cho thấy nhật ký cụ thể được phát ra bởi hợp đồng đột phá bên Ethereum cho tiêu đề có đủ độ sâu (và chuyển tiếp tin nhắn tương ứng trong Polkadot) và cuối cùng để có thể chấp nhận bằng chứng rằng một bằng chứng đã được chấp nhận trước đó nhưng tiêu đề chưa được ban hành chứa gốc biên nhận không hợp lệ. Để thực sự có được dữ liệu tiêu đề Ethereum (và bất kỳ bằng chứng SPV hoặc sự bác bỏ tính hợp lệ/kinh điển nào) vào mạng Polkadot, một sự khuyến khích chuyển tiếp 6SPV đề cập đến Xác minh thanh toán đơn giản hóa trong Bitcoin và mô tả phương pháp để khách hàng xác minh giao dịch trong khi chỉ giữ lại một bản sao của tất cả các tiêu đề khối của chuỗi PoW dài nhất.POLKADOT: TẦM NHÌN VỀ KHUNG KHUNG ĐA CHUỖI KHÔNG ĐỒNG THỂ DỰ THẢO 1 9 dữ liệu là cần thiết. Điều này có thể đơn giản như một khoản thanh toán (được tài trợ từ phí thu được từ phía Ethereum) đã thanh toán cho bất kỳ ai có thể chuyển tiếp một khối hữu ích có tiêu đề là hợp lệ. Người xác thực sẽ được yêu cầu lưu giữ thông tin liên quan đến vài nghìn khối cuối cùng để có thể quản lý các nhánh, thông qua một số phương tiện giao thức nội tại hoặc thông qua hợp đồng được duy trì trên chuỗi rơle. 5.6. Polkadot và Bitcoin. Bitcoin tương tác đưa ra một thử thách thú vị dành cho Polkadot: cái gọi là “chốt hai chiều” sẽ là một phần cơ sở hạ tầng hữu ích có ở phía của cả hai mạng. Tuy nhiên, do những hạn chế của Bitcoin, việc cung cấp chốt như vậy một cách an toàn là một công việc không tầm thường. Thực hiện giao dịch từ Bitcoin tới Polkadot về nguyên tắc có thể được thực hiện bằng quy trình tương tự như quy trình dành cho Ethereum; một “địa chỉ đột phá” được kiểm soát theo cách nào đó bởi Polkadot validator có thể nhận token được chuyển (và dữ liệu được gửi cùng với chúng). Bằng chứng SPV có thể được cung cấp bởi oracle được khuyến khích và, cùng với thời gian xác nhận, tiền thưởng được trao cho xác định các khối không chuẩn ngụ ý giao dịch đã được “chi tiêu gấp đôi”. Bất kỳ token nào sau đó được sở hữu trong Về nguyên tắc, “địa chỉ đột phá” sẽ được kiểm soát bởi chính validator đó để phân tán sau này. Tuy nhiên, vấn đề là làm thế nào để có thể kiểm soát khoản tiền gửi một cách an toàn từ bộ validator luân phiên. Không giống Ethereum có thể đưa ra quyết định tùy ý dựa trên dựa trên sự kết hợp của chữ ký, Bitcoin về cơ bản là hạn chế hơn, với hầu hết khách hàng chỉ chấp nhận các giao dịch đa chữ ký với tối đa 3 bên. Việc mở rộng con số này lên 36, hoặc thậm chí hàng nghìn như mong muốn cuối cùng, là không thể theo giao thức hiện tại. Một tùy chọn là thay đổi giao thức Bitcoin để kích hoạt chức năng như vậy, tuy nhiên cái gọi là “hard fork” trong Bitcoin thế giới rất khó sắp xếp việc đánh giá bằng những nỗ lực gần đây. Một khả năng là việc sử dụng chữ ký ngưỡng, các sơ đồ mật mã cho phép một công chúng có thể nhận dạng được một cách duy nhất khóa được kiểm soát hiệu quả bởi nhiều “bộ phận” bí mật, một số hoặc tất cả trong số đó phải được sử dụng để tạo chữ ký hợp lệ. Thật không may, chữ ký ngưỡng tương thích với ECDSA của Bitcoin rất tốn kém về mặt tính toán tạo và có độ phức tạp đa thức. Các phương án khác như chữ ký Schnorr mang lại chi phí thấp hơn nhiều, tuy nhiên dòng thời gian mà chúng có thể được đưa vào Bitcoin giao thức không chắc chắn. Vì sự an toàn cuối cùng của tiền gửi phụ thuộc vào một số validator được liên kết, một tùy chọn khác là giảm số lượng người nắm giữ khóa đa chữ ký xuống chỉ còn rất nhiều tập hợp con liên kết của tổng validators sao cho ngưỡng đó chữ ký trở nên khả thi (hoặc tệ nhất là chữ ký gốc của Bitcoin có thể có nhiều chữ ký). Điều này tất nhiên làm giảm tổng số tiền trái phiếu có thể được khấu trừ để bồi thường nếu validator hành xử bất hợp pháp, tuy nhiên điều này là một sự xuống cấp duyên dáng, chỉ đơn giản là thiết lập giới hạn trên của số tiền có thể chạy một cách an toàn giữa hai mạng (hoặc thực tế là trên % tổn thất nếu một cuộc tấn công từ validators thành công). Vì vậy, chúng tôi tin rằng sẽ không phi thực tế khi đặt một “parachain ảo” có khả năng tương tác an toàn hợp lý Bitcoin giữa hai mạng, mặc dù vậy vẫn là một nỗ lực đáng kể với thời gian không chắc chắn và hoàn toàn có thể đòi hỏi sự hợp tác của các bên liên quan trong đó mạng.

设计概述

本节旨在简要概述 系统作为一个整体。更彻底的探索 系统在后面的部分中给出。 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 互操作性“虚拟平行链”并非不现实 两个网络之间,尽管仍然需要付出巨大的努力,但时间表不确定,而且很可能 需要利益相关者的合作 网络。

Giao thức chi tiết

Giao thức có thể được chia đại khái thành ba các bộ phận: cơ chế đồng thuận, giao diện parachain và định tuyến giao dịch liên chuỗi. 6.1. Chuỗi rơle Hoạt động. các chuỗi chuyển tiếp sẽ có thể là một chuỗi tương tự như Ethereum ở chỗ nó dựa trên trạng thái với địa chỉ ánh xạ trạng thái tới tài khoản thông tin, chủ yếu là số dư và (để tránh lặp lại) quầy giao dịch. Việc đặt tài khoản ở đây nhằm đáp ứng một mục đích: cung cấp thông tin kế toán mà danh tính sở hữu số lượng cổ phần trong hệ thống là bao nhiêu.7 Tuy nhiên, sẽ có những khác biệt đáng chú ý: • Hợp đồng không thể triển khai thông qua giao dịch; xuất phát từ mong muốn tránh chức năng ứng dụng trên chuỗi chuyển tiếp, nó sẽ không hỗ trợ triển khai công khai các hợp đồng. • Tính toán việc sử dụng tài nguyên (“gas”) không được tính; vì các chức năng duy nhất có sẵn cho mục đích sử dụng công cộng sẽ được khắc phục, cơ sở lý luận đằng sau việc tính toán khí đốt không còn giữ được nữa. Do đó, một khoản phí cố định sẽ được áp dụng trong mọi trường hợp, cho phép đạt được hiệu suất cao hơn từ bất kỳ thực thi mã động có thể cần phải được thực hiện và một hình thức giao dịch đơn giản hơn. • Chức năng đặc biệt được hỗ trợ cho các hợp đồng được liệt kê cho phép thực hiện tự động và xuất ra thông báo mạng. Trong trường hợp chuỗi chuyển tiếp có VM và nó được dựa trên EVM, nó sẽ có một số sửa đổi để đảm bảo tính đơn giản tối đa. Nó có thể sẽ có một số hợp đồng được xây dựng sẵn (tương tự như ở địa chỉ 1-4 trong Ethereum) để cho phép nền tảng cụ thể nhiệm vụ phải được quản lý bao gồm một hợp đồng đồng thuận, một hợp đồng validator và hợp đồng parachain. Nếu không phải là EVM thì phần phụ trợ WebAssembly [2] (wasm) là lựa chọn thay thế phù hợp nhất; trong trường hợp này tổng thể cấu trúc sẽ tương tự, nhưng sẽ không cần vì các hợp đồng tích hợp với Wasm là mục tiêu khả thi cho các ngôn ngữ có mục đích chung hơn là ngôn ngữ chưa trưởng thành và ngôn ngữ hạn chế cho EVM. Những sai lệch có thể xảy ra khác so với giao thức Ethereum hiện tại là hoàn toàn có thể xảy ra, ví dụ như việc đơn giản hóa định dạng biên nhận giao dịch cho phép thực hiện song song các giao dịch không xung đột trong cùng một khối, như đề xuất cho chuỗi thay đổi Serenity. Có thể, mặc dù không chắc chắn, rằng một thứ giống như Serenity Chuỗi “thuần túy” được triển khai như chuỗi chuyển tiếp, cho phép hợp đồng cụ thể để quản lý những thứ như staking token cân đối hơn là biến nó thành một phần cơ bản của giao thức của chuỗi. Hiện tại, chúng tôi cảm thấy điều này khó có thể xảy ra sẽ cung cấp một sự đơn giản hóa giao thức đủ lớn để đáng giá thêm sự phức tạp và sự không chắc chắn liên quan trong việc phát triển nó. 7Là phương tiện thể hiện số tiền mà một chủ sở hữu nhất định chịu trách nhiệm về tính bảo mật chung của hệ thống, các tài khoản cổ phần này sẽ chắc chắn mã hóa một số giá trị kinh tế. Tuy nhiên, cần hiểu rằng vì không có ý định sử dụng những giá trị đó trong bằng bất kỳ cách nào nhằm mục đích trao đổi hàng hóa và dịch vụ trong thế giới thực, cần lưu ý rằng token không được so sánh với tiền tệ và do đó, chuỗi chuyển tiếp vẫn giữ nguyên triết lý hư vô về các ứng dụng.POLKADOT: TẦM NHÌN VỀ KHUNG KHUNG ĐA CHUỖI KHÔNG ĐỒNG THỂ DỰ THẢO 1 10 Có một số phần chức năng nhỏ cần thiết để quản lý cơ chế đồng thuận, bộ validator, cơ chế xác thực và parachain. Những cái này có thể được thực hiện cùng nhau theo một giao thức nguyên khối. Tuy nhiên, vì lý do tăng cường tính mô-đun, chúng tôi mô tả đây là “hợp đồng” của chuỗi chuyển tiếp. Điều này nên được hiểu là chúng là đối tượng (theo nghĩa lập trình hướng đối tượng) được quản lý bởi cơ chế đồng thuận của chuỗi chuyển tiếp, nhưng không nhất thiết phải như vậy chúng được định nghĩa là các chương trình có mã opcode giống EVM, cũng như thậm chí chúng có thể được định địa chỉ riêng lẻ thông qua hệ thống tài khoản. 6.2. Hợp đồng đặt cọc. Hợp đồng này duy trì bộ validator. Nó quản lý: • tài khoản nào hiện là validators; • có sẵn để trở thành validator trong thời gian ngắn thông báo; • tài khoản nào đã đặt cược đề cử vào một validator; • thuộc tính của từng loại bao gồm staking khối lượng, tỷ lệ thanh toán và địa chỉ được chấp nhận cũng như danh tính (phiên) ngắn hạn. Nó cho phép một tài khoản đăng ký mong muốn trở thành một validator được liên kết (cùng với các yêu cầu của nó), để đề cử một số danh tính và để các validator được liên kết trước đó đăng ký mong muốn thoát khỏi trạng thái này. Nó cũng bao gồm chính bộ máy dành cho cơ chế xác nhận và chuẩn hóa. 6.2.1. Cổ phần-token Thanh khoản. Nói chung là mong muốn có tổng số staking token càng nhiều càng tốt tham gia vào các hoạt động bảo trì mạng kể từ điều này liên kết trực tiếp an ninh mạng với “vốn hóa thị trường” tổng thể của staking token. Điều này có thể dễ dàng được khuyến khích thông qua việc lạm phát tiền tệ và trao số tiền thu được cho những người tham gia với tư cách validators. Tuy nhiên, làm như vậy sẽ có một vấn đề: nếu token bị khóa trong Hợp đồng đặt cược với hình phạt giảm bớt, làm sao một phần đáng kể có thể vẫn còn đủ thanh khoản để cho phép khám phá giá? Một câu trả lời cho vấn đề này là cho phép một hợp đồng phái sinh chuyển tiếp thẳng, đảm bảo token có thể thay thế được trên token đặt cược cơ bản. Điều này rất khó để sắp xếp một cách không tin cậy. Hơn nữa, các token phái sinh này không thể được đối xử bình đẳng vì cùng một lý do khiến các trái phiếu chính phủ khác nhau của các chính phủ Eurozone không thể thay thế được: ở đó là khả năng tài sản cơ bản thất bại và trở thành vô giá trị. Với các chính phủ khu vực đồng Euro, có thể có một mặc định. Với validator đặt cọc token, validator có thể hành động ác ý và bị trừng phạt. Tuân thủ các nguyên lý của mình, chúng tôi chọn giải pháp đơn giản nhất: không phải tất cả token đều được đặt cược. Điều này có nghĩa là một số tỷ lệ (có lẽ là 20%) trong số token sẽ buộc phải duy trì trạng thái thanh khoản. Mặc dù điều này không hoàn hảo xét từ góc độ bảo mật nhưng nó khó có thể tạo ra sự khác biệt cơ bản trong sự an toàn của mạng; 80% số tiền bồi thường có thể từ việc tịch thu trái phiếu vẫn có thể được thực hiện so với “trường hợp hoàn hảo” 100% staking. Tỷ lệ giữa số tiền đặt cọc và số tiền thanh khoản token có thể được nhắm mục tiêu khá đơn giản thông qua cơ chế đấu giá ngược. Về cơ bản, những người nắm giữ token quan tâm đến việc trở thành validator mỗi người sẽ đăng một lời đề nghị cho hợp đồng staking nêu rõ tỷ lệ thanh toán tối thiểu mà họ sẽ yêu cầu thực hiện một phần. Vào đầu mỗi buổi học (các buổi học sẽ xảy ra thường xuyên, có lẽ thường xuyên như một lần mỗi giờ) validator các vị trí sẽ được lấp đầy theo từng vị trí validator cổ phần và tỷ lệ xuất chi. Một thuật toán có thể vì điều này có nghĩa là sẽ nhận những người có giá chào hàng thấp nhất đại diện cho số cổ phần không cao hơn tổng số cổ phần được nhắm mục tiêu chia cho số lượng vị trí và không thấp hơn giới hạn dưới của một nửa số tiền đó. Nếu các khe không thể lấp đầy, giới hạn dưới có thể được giảm đi nhiều lần bởi một số yếu tố để thỏa mãn. 6.2.2. Đề cử. Có thể đề cử một cách đáng tin cậy những cái staking token thành validator đang hoạt động, mang lại cho chúng trách nhiệm về nhiệm vụ của validator. Đề cử tác phẩm thông qua hệ thống bỏ phiếu phê duyệt. Mỗi người đề cử tương lai có thể đăng hướng dẫn lên hợp đồng staking thể hiện một hoặc nhiều validator danh tính dưới quyền của ai trách nhiệm mà họ sẵn sàng giao phó mối quan hệ của mình. Mỗi phiên, trái phiếu của người đề cử được phân tán để được đại diện bởi một hoặc nhiều validators. Thuật toán phân tán tối ưu hóa cho tập hợp validator có tổng số tương đương trái phiếu. Trái phiếu của người đề cử trở thành trách nhiệm thực sự của validator avà thu được lãi suất hoặc phải gánh chịu một giảm nhẹ hình phạt cho phù hợp. 6.2.3. Tịch thu/đốt trái phiếu. Một số hành vi validator nhất định dẫn đến việc giảm bớt mối quan hệ ràng buộc của họ. Nếu trái phiếu bị giảm xuống dưới mức tối thiểu cho phép, phiên kết thúc sớm và một phiên khác bắt đầu. Danh sách không đầy đủ các hành vi sai trái validator có thể bị trừng phạt bao gồm: • Là thành viên của nhóm parachain không thể cung cấp sự đồng thuận về tính hợp lệ của khối parachain; • chủ động ký xác nhận tính hợp lệ của giấy tờ không hợp lệ khối parachain; • không có khả năng cung cấp tải trọng đầu ra trước đó được bình chọn là có sẵn; • không hoạt động trong quá trình đồng thuận; • xác nhận các khối chuỗi chuyển tiếp trên các nhánh cạnh tranh. Một số trường hợp hành vi sai trái đe dọa tính toàn vẹn của mạng (chẳng hạn như ký các khối parachain không hợp lệ và xác thực nhiều mặt của một fork) và do đó dẫn đến việc bị lưu đày hiệu quả thông qua việc giảm tổng số trái phiếu. trong các trường hợp khác ít nghiêm trọng hơn (ví dụ: không hoạt động trong thỏa thuận đồng thuận quy trình) hoặc những trường hợp trách nhiệm không được phân bổ một cách chính xác (là một phần của một nhóm kém hiệu quả), một phần nhỏ thay vào đó, trái phiếu có thể bị phạt. Trong trường hợp sau, điều này hoạt động tốt với việc rời bỏ nhóm phụ để đảm bảo rằng các nút chịu thiệt hại nhiều hơn đáng kể so với các nút nhân từ bị thiệt hại tài sản thế chấp. Trong một số trường hợp (ví dụ: xác thực nhiều nhánh và không hợp lệ ký khối phụ) validator bản thân họ không thể dễ dàng phát hiện hành vi sai trái của nhau do việc xác minh liên tục của mỗi khối parachain sẽ là một nhiệm vụ quá khó khăn. đây cần tranh thủ sự ủng hộ của các bên bên ngoài quá trình xác nhận để xác minh và báo cáo hành vi sai trái đó. Các bên nhận được phần thưởng khi báo cáo hoạt động đó; thuật ngữ của họ, “ngư dân” bắt nguồn từ sự khó có thể xảy ra về phần thưởng như vậy. Vì những trường hợp này thường rất nghiêm trọng nên chúng tôi hình dung rằng bất kỳ phần thưởng nào cũng có thể được thanh toán dễ dàng từ trái phiếu bị tịch thu. Nói chung, chúng tôi muốn cân bằng việc đốt cháy (tức là giảm xuống không có gì) bằng cách tái phân bổ, thay vì đang cố gắng tái phân bổ bán buôn. Điều này có tác dụng

POLKADOT: TẦM NHÌN VỀ KHUNG KHUNG ĐA CHUỖI KHÔNG ĐỒNG THỂ DỰ THẢO 1 11 tăng giá trị tổng thể của token, bù đắp cho mạng nói chung ở một mức độ nào đó hơn là cụ thể bên tham gia khám phá. Điều này chủ yếu là để đảm bảo an toàn cơ chế: số lượng lớn có liên quan có thể dẫn đến việc khuyến khích hành vi cực đoan và gay gắt ban cho một mục tiêu duy nhất. Nói chung, điều quan trọng là phần thưởng phải đủ lớn để khiến việc xác minh trở nên có giá trị đối với mạng, nhưng không quá lớn để bù đắp chi phí cho việc trả trước một tội phạm "cấp công nghiệp" được tài trợ tốt, được tổ chức tốt hack tấn công vào một số validator không may mắn để ép buộc hành vi sai trái. Bằng cách này, số tiền yêu cầu nói chung sẽ là không lớn hơn mối ràng buộc trực tiếp của người phạm tội validator, kẻo động cơ sai trái phát sinh từ hành vi sai trái và báo cáo bản thân để nhận tiền thưởng. Điều này có thể được giải quyết một cách rõ ràng thông qua yêu cầu trái phiếu trực tiếp tối thiểu để trở thành một validator hoặc ngầm giáo dục những người được đề cử rằng validator với ít trái phiếu được ký gửi sẽ không có động lực lớn để cư xử tốt. 6.3. Cơ quan đăng ký Parachain. Mỗi parachain được xác định trong sổ đăng ký này. Nó là một cấu trúc giống cơ sở dữ liệu tương đối đơn giản và chứa cả thông tin tĩnh và động trên mỗi chuỗi. Thông tin tĩnh bao gồm chỉ số chuỗi (một cách đơn giản số nguyên), cùng với nhận dạng giao thức xác nhận, một phương pháp phân biệt giữa các loại khác nhau của parachain để có thể có được thuật toán xác thực chính xác được điều hành bởi validators được giao nhiệm vụ đưa ra một ứng cử viên hợp lệ. Bằng chứng khái niệm ban đầu sẽ tập trung vào việc đặt các thuật toán xác thực mới vào chính các máy khách, đòi hỏi phải có một phân nhánh cứng của giao thức mỗi lần lớp chuỗi bổ sung đã được thêm vào. Tuy nhiên, cuối cùng, có thể chỉ định thuật toán xác nhận trong một cách vừa nghiêm ngặt vừa hiệu quả để khách hàng có thể có thể làm việc hiệu quả với các parachain mới mà không cần cái nĩa cứng. Một con đường khả thi cho việc này là chỉ định thuật toán xác thực parachain được thiết lập tốt, ngôn ngữ trung lập về nền tảng, được biên dịch nguyên bản như WebAssembly. Nghiên cứu bổ sung là cần thiết để xác định liệu điều này có thực sự khả thi hay không, tuy nhiên nếu vậy, nó có thể mang lại cùng với đó là lợi thế to lớn của việc loại bỏ hard fork mãi mãi. Thông tin động bao gồm các khía cạnh của hệ thống định tuyến giao dịch phải có sự thống nhất toàn cầu như như hàng đợi vào của parachain (được mô tả trong phần 6.6). Cơ quan đăng ký chỉ có thể thêm parachains thông qua bỏ phiếu trưng cầu dân ý đầy đủ; điều này có thể được quản lý nội bộ nhưng nhiều khả năng sẽ được đặt ở bên ngoài hợp đồng trưng cầu dân ý để tạo thuận lợi cho việc tái sử dụng theo các thành phần quản trị tổng quát hơn. Các thông số để yêu cầu bỏ phiếu (ví dụ: bất kỳ số đại biểu cần thiết, đa số bắt buộc) để đăng ký chuỗi bổ sung và các chuỗi khác, nâng cấp hệ thống ít chính thức hơn sẽ được đặt ra trong một “bản chính hiến pháp” nhưng có khả năng tuân theo một cách khá truyền thống con đường, ít nhất là ban đầu. Công thức chính xác không còn nữa phạm vi cho công việc hiện tại, nhưng ví dụ: hai phần ba đại đa số sẽ vượt qua với hơn một phần ba tổng số hệ thống bỏ phiếu tích cực có thể là điểm khởi đầu hợp lý. Các hoạt động bổ sung bao gồm việc đình chỉ và loại bỏ parachains. Việc đình chỉ hy vọng sẽ không bao giờ xảy ra, tuy nhiên nó được thiết kế để ít nhất là một biện pháp bảo vệ có một số vấn đề khó giải quyết trong hệ thống xác thực của parachain. Ví dụ rõ ràng nhất nơi nó có thể cần có sự khác biệt quan trọng về mặt đồng thuận giữa các cách triển khai khiến validator không thể đồng ý về tính hợp lệ hoặc khối. Người xác nhận sẽ được khuyến khích sử dụng triển khai nhiều ứng dụng khách để họ có thể để phát hiện vấn đề như vậy trước khi tịch thu trái phiếu. Vì đình chỉ là một biện pháp khẩn cấp nên nó sẽ dưới sự bảo trợ của validator-bỏ phiếu năng động hơn một cuộc trưng cầu dân ý. Có thể cài đặt lại cả hai từ validator hoặc một cuộc trưng cầu dân ý. Việc loại bỏ hoàn toàn parachain sẽ chỉ đến sau một cuộc trưng cầu dân ý và với điều đó sẽ được yêu cầu thời gian ân hạn đáng kể để cho phép chuyển đổi có trật tự sang hoặc là một chuỗi độc lập hoặc trở thành một phần của chuỗi khác hệ thống đồng thuận. Thời gian ân hạn có thể sẽ là thứ tự các tháng và có thể được đặt ra trên cơ sở perchain trong sổ đăng ký parachain theo thứ tự khác nhau parachains có thể tận hưởng thời gian ân hạn khác nhau tùy theo nhu cầu của họ. 6.4. Niêm phong khối chuyển tiếp. Về bản chất, niêm phong đề cập đến đến quá trình phong thánh hóa; tức là dữ liệu cơ bản biến đổi cái nàoánh xạ bản gốc thành một cái gì đó về cơ bản là duy nhất và có ý nghĩa. Trong chuỗi PoW, niêm phong thực sự là một từ đồng nghĩa với khai thác mỏ. Trong trường hợp của chúng tôi, nó liên quan đến việc thu thập các tuyên bố đã được ký từ validator về tính hợp lệ, tính sẵn có và tính chuẩn mực của một khối chuỗi chuyển tiếp cụ thể và các khối parachain nó đại diện. Cơ chế của thuật toán đồng thuận BFT cơ bản nằm ngoài phạm vi của công việc hiện tại. chúng tôi sẽ thay vào đó hãy mô tả nó bằng cách sử dụng một nguyên thủy giả định một máy trạng thái tạo ra sự đồng thuận. Cuối cùng chúng tôi mong đợi được truyền cảm hứng từ một số sự đồng thuận đầy hứa hẹn BFT các thuật toán trong lõi; Tangaora [9] (một biến thể BFT của Bè [16]), Tendermint [11] và HoneyBadgerBFT [14]. Thuật toán sẽ phải đạt được thỏa thuận song song trên nhiều parachain, do đó khác với thông thường blockchain cơ chế đồng thuận. Chúng tôi cho rằng một lần đạt được sự đồng thuận, chúng tôi có thể ghi lại sự đồng thuận bằng chứng không thể chối cãi có thể được cung cấp bởi bất kỳ ai trong số những người tham gia vào nó. Chúng tôi cũng cho rằng hành vi sai trái trong giao thức nói chung có thể được giảm xuống một lượng nhỏ nhóm chứa những người tham gia có hành vi sai trái để giảm thiểu thiệt hại tài sản thế chấp khi xử lý hình phạt.8 Bằng chứng, ở dạng tuyên bố đã ký của chúng tôi, được đặt cùng nhau trong tiêu đề của khối chuỗi chuyển tiếp với một số trường nhất định khác, nhất là gốc trạng thái và gốc tri giao dịch của chuỗi chuyển tiếp. các niêm phong quá trình mất địa điểm dưới một độc thân tạo sự đồng thuận cơ chế địa chỉ cả hai cái khối chuỗi chuyển tiếp và khối parachains tạo nên một phần nội dung của chuyển tiếp: parachains không được các nhóm phụ của chúng “cam kết” riêng biệt và sau đó được đối chiếu sau này. Điều này dẫn đến một quy trình phức tạp hơn cho chuỗi chuyển tiếp, nhưng cho phép chúng tôi hoàn thành sự đồng thuận của toàn bộ hệ thống trong một giai đoạn duy nhất, giảm thiểu độ trễ và cho phép đối với các yêu cầu về tính sẵn có của dữ liệu khá phức tạp, hữu ích cho quá trình định tuyến dưới đây. 8Các chương trình đồng thuận BFT dựa trên PoS hiện có như Tendermint BFT và Slasher ban đầu đáp ứng các xác nhận này.

POLKADOT: TẦM NHÌN VỀ KHUNG KHUNG ĐA CHUỖI KHÔNG ĐỒNG THỂ DỰ THẢO 1 12 Trạng thái của máy đồng thuận của mỗi người tham gia có thể được mô hình hóa dưới dạng bảng (2 chiều) đơn giản. Mỗi người tham gia (validator) có một tập hợp thông tin, ở dạng các tuyên bố đã ký (“phiếu bầu”) từ những người tham gia khác, liên quan đến từng ứng cử viên khối parachain cũng như ứng cử viên khối chuỗi chuyển tiếp. Tập hợp thông tin gồm hai phần của dữ liệu: Sẵn có: có cái này validator có đi ra thông tin bài đăng giao dịch từ khối này vì vậy họ có thể xác thực chính xác các ứng cử viên parachain trên khối sau không? Họ có thể bỏ phiếu 1 (đã biết) hoặc 0 (chưa biết). Một khi họ bỏ phiếu 1, họ cam kết bỏ phiếu tương tự cho phần còn lại của quá trình này. Phiếu bầu sau đó không tôn trọng điều này là căn cứ để trừng phạt. Hiệu lực: khối parachain có hợp lệ không và là tất cả dữ liệu được tham chiếu bên ngoài (ví dụ: giao dịch) có sẵn? Điều này chỉ liên quan đến validator được chỉ định cho parachain mà họ đang bỏ phiếu. Họ có thể bỏ phiếu 1 (hợp lệ), -1 (không hợp lệ) hoặc 0 (chưa biết). Một khi họ bỏ phiếu khác 0, họ cam kết bỏ phiếu theo cách này cho phần còn lại của quá trình này. Những phiếu bầu sau này không tôn trọng điều này là căn cứ để xử phạt. Tất cả validator phải gửi phiếu bầu; phiếu bầu có thể được gửi lại, đủ điều kiện theo các quy tắc trên. Sự tiến triển của sự đồng thuận có thể được mô hình hóa thành nhiều thuật toán đồng thuận BFT tiêu chuẩn trên mỗi parachain diễn ra song song. Vì những điều này có khả năng bị cản trở bởi một tương đối thiểu số nhỏ các tác nhân độc hại tập trung ở một nhóm parachain duy nhất, có sự đồng thuận chung thiết lập một điểm dừng, hạn chế trường hợp xấu nhất xảy ra bế tắc đối với chỉ một hoặc nhiều khối parachain trống (và một hình phạt dành cho những người có trách nhiệm). Các quy tắc cơ bản về tính hợp lệ của các khối riêng lẻ (cho phép toàn bộ tập hợp validator đạt tới sự đồng thuận về việc nó trở thành ứng cử viên parachain duy nhất được tham chiếu từ rơle chính tắc): • phải có ít nhất hai phần ba số validator bỏ phiếu tích cực và không có phiếu bầu tiêu cực; • phải có hơn một phần ba validator bỏ phiếu ủng hộ tính khả dụng của thông tin hàng đợi đi ra. Nếu có ít nhất một phiếu thuận và ít nhất một phiếu phản đối về tính hợp lệ thì một điều kiện ngoại lệ sẽ được tạo và toàn bộ validator phải bỏ phiếu để xác định nếu có các bên có ác ý hoặc nếu có sự cố tình cờ cái nĩa. Ngoài loại phiếu hợp lệ và không hợp lệ, còn có loại phiếu bầu thứ ba được phép, tương đương với việc bỏ phiếu cho cả hai, nghĩa là nút có những ý kiến trái ngược nhau. Điều này có thể là do chủ sở hữu của nút đang chạy nhiều triển khai không đồng ý, cho thấy có thể có sự mơ hồ trong giao thức. Sau khi tất cả phiếu bầu được tính từ bộ validator đầy đủ, nếu ý kiến thua cuộc ít nhất cũng có một tỷ lệ nhỏ nào đó (so với được tham số hóa; nhiều nhất là một nửa, có lẽ ít hơn đáng kể) số phiếu của ý kiến thắng cuộc thì được coi là là một sự phân nhánh parachain ngẫu nhiên và parachain đó sẽ tự động bị đình chỉ khỏi quá trình đồng thuận. Nếu không, chúng tôi cho rằng đó là hành động ác ý và trừng phạt thiểu số bỏ phiếu cho ý kiến bất đồng. Kết luận là một tập hợp các chữ ký chứng minh tính kinh điển. Khối chuỗi chuyển tiếp sau đó có thể được niêm phong và quá trình niêm phong khối tiếp theo bắt đầu. 6.5. Những cải tiến cho khối chuyển tiếp niêm phong. Trong khi phương pháp niêm phong này mang lại sự đảm bảo chắc chắn cho hoạt động của hệ thống, nhưng nó không mở rộng quy mô một cách đặc biệt vì thông tin chính của mỗi parachain phải có tính khả dụng được đảm bảo bởi hơn một phần ba tổng số validator. Điều này có nghĩa là dấu ấn trách nhiệm của mỗi validator phát triển khi có nhiều chuỗi được thêm vào. Mặc dù tính sẵn có của dữ liệu trong các mạng đồng thuận mở về cơ bản là một vấn đề chưa được giải quyết, có nhiều cách để giảm thiểu chi phí hoạt động trên các nút validator. Một điều đơn giản giải pháp là nhận ra rằng trong khi validator phải gánh vác trách nhiệm về tính sẵn có của dữ liệu, họ không thực sự cần phải lưu trữ, truyền đạt hoặc sao chép dữ liệu. Kho chứa dữ liệu thứ cấp, có thể liên quan đến (hoặc thậm chí chính tương tự) những người đối chiếu biên soạn dữ liệu này, có thể quản lý nhiệm vụ đảm bảo tính khả dụng với validator cung cấp một phần tiền lãi/thu nhập của họ để thanh toán. Tuy nhiên, mặc dù điều này có thể mang lại khả năng mở rộng trung gian nhưng nó vẫn không giúp giải quyết được vấn đề cơ bản; kể từ khi việc thêm nhiều chuỗi nói chung sẽ yêu cầu thêm validators, mức tiêu thụ tài nguyên mạng liên tục (đặc biệt là về băng thông) sẽ tăng theo bình phương của cáidây chuyền, một tài sản không thể bảo vệ được về lâu dài. Cuối cùng, chúng ta có xu hướng tiếp tục đập đầu mình chống lại giới hạn cơ bản nói rằng đối với một mạng lưới đồng thuận được coi là có sẵn an toàn, các yêu cầu về băng thông hiện tại có tổng số validators lần tổng thông tin đầu vào. Điều này là do mạng không đáng tin cậy không có khả năng phân phối hợp lý nhiệm vụ lưu trữ dữ liệu trên nhiều nút. ngoài nhiệm vụ xử lý được phân phối rõ ràng. 6.5.1. Giới thiệu độ trễ. Một phương tiện để làm dịu đi điều này quy tắc là để nới lỏng khái niệm về tính tức thời. Bằng cách yêu cầu 33%+1 validator bỏ phiếu cho tính khả dụng cuối cùng chứ không phải ngay lập tức, chúng tôi có thể tận dụng tốt hơn việc truyền dữ liệu theo cấp số nhân và thậm chí giúp đạt được mức cao nhất trong trao đổi dữ liệu. Một sự bình đẳng hợp lý (mặc dù chưa được chứng minh) có thể là: (1) độ trễ = người tham gia × chuỗi Theo mô hình hiện tại, quy mô của hệ thống với số lượng chuỗi để đảm bảo rằng quá trình xử lý được thực hiện phân phối; vì mỗi chuỗi sẽ yêu cầu ít nhất một validator và chúng tôi cố định chứng thực tính khả dụng thành một hằng số tỷ lệ validator giây thì số người tham gia sẽ tăng lên tương tự với số lượng chuỗi. Chúng tôi kết thúc với: (2) độ trễ = kích thước2 Có nghĩa là khi hệ thống phát triển, băng thông được yêu cầu và độ trễ cho đến khi biết được tính khả dụng trên toàn mạng. mạng, cũng có thể được mô tả là số của các khối trước khối cuối cùng, tăng theo bình phương của nó. Đây là một yếu tố tăng trưởng đáng kể và có thể trở thành vật cản đường đáng chú ý và buộc chúng ta đi vào các mô hình “không phẳng” chẳng hạn như soạn một số “Polkadotes” thành một hệ thống phân cấp để định tuyến các bài đăng đa cấp thông qua một cây chuỗi chuyển tiếp.

POLKADOT: TẦM NHÌN VỀ KHUNG KHUNG ĐA CHUỖI KHÔNG ĐỒNG THỂ DỰ THẢO 1 13 6.5.2. Sự tham gia của công chúng. Một hướng đi khả thi hơn là huy động sự tham gia của công chúng vào quá trình này thông qua một hệ thống khiếu nại vi mô. Tương tự như các ngư dân, có có thể là các bên bên ngoài để giám sát validator những người khiếu nại sự sẵn có. Nhiệm vụ của họ là tìm ra một người dường như không thể chứng minh được khả năng sẵn sàng đó. Khi làm như vậy họ có thể gửi khiếu nại vi mô tới validators khác. PoW hoặc một trái phiếu đặt cược có thể được sử dụng để giảm thiểu cuộc tấn công sybil điều này sẽ khiến hệ thống phần lớn trở nên vô dụng. 6.5.3. Người bảo lãnh sẵn có. Con đường cuối cùng sẽ là chỉ định một bộ validator ngoại quan thứ hai là “khả năng sẵn sàng người bảo lãnh”. Chúng sẽ được liên kết giống như validators bình thường và thậm chí có thể được lấy từ cùng một bộ (mặc dù nếu vậy, chúng sẽ được chọn trong thời gian dài, ít nhất là mỗi phiên). Không giống như validator thông thường, chúng sẽ không chuyển đổi giữa các parachain mà thay vào đó sẽ thành lập một nhóm duy nhất để chứng thực sự sẵn có của tất cả dữ liệu liên chuỗi quan trọng. Điều này có ưu điểm là nới lỏng sự tương đương giữa người tham gia và chuỗi. Về cơ bản, chuỗi có thể phát triển (cùng với chuỗi ban đầu validator được đặt), trong khi những người tham gia, và cụ thể là những người tham gia vào chứng thực tính sẵn có của dữ liệu, có thể duy trì ở mức độ tuyến tính ít nhất và có thể là hằng số. 6.5.4. Tùy chọn Collator. Một khía cạnh quan trọng của điều này Hệ thống là đảm bảo rằng có sự lựa chọn lành mạnh các người đối chiếu tạo các khối trong bất kỳ parachain cụ thể nào. Nếu một người đối chiếu duy nhất thống trị một parachain sau đó một số cuộc tấn công trở nên khả thi hơn vì khả năng thiếu sự sẵn có của dữ liệu bên ngoài sẽ ít rõ ràng hơn. Một lựa chọn là cân các khối parachain một cách giả tạo một cơ chế giả ngẫu nhiên để hỗ trợ nhiều loại đối chiếu. Trong trường hợp đầu tiên, chúng tôi sẽ yêu cầu như một phần của cơ chế đồng thuận mà validator ủng hộ Các ứng cử viên khối parachain được xác định là “nặng hơn”. Tương tự, chúng ta phải khuyến khích validator cố gắng đề xuất khối nặng nhất mà họ có thể tìm thấy—đây có thể là được thực hiện thông qua việc chia một phần phần thưởng tương ứng với trọng lượng của ứng cử viên của họ. Để đảm bảo rằng các nhà đối chiếu được hưởng sự công bằng hợp lý cơ hội ứng cử viên của họ được chọn là người chiến thắng ứng cử viên đồng thuận, chúng tôi đưa ra trọng số cụ thể của Ứng viên khối parachain xác định dựa trên một hàm ngẫu nhiên được kết nối với mỗi bộ đối chiếu. Ví dụ, lấy thước đo khoảng cách XOR giữa địa chỉ của đối chiếu và một số số giả ngẫu nhiên được bảo mật bằng mật mã được xác định gần với điểm của khối được tạo (một “vé trúng thưởng” mang tính khái niệm). Điều này mang lại hiệu quả cho mỗi người đối chiếu (hoặc cụ thể hơn là địa chỉ của mỗi người đối chiếu) a cơ hội ngẫu nhiên để khối ứng cử viên của họ “chiến thắng” tất cả những người khác. Để giảm thiểu cuộc tấn công sybil của một người đối chiếu duy nhất “khai thác” một địa chỉ gần với vé trúng thưởng và do đó mỗi khối được yêu thích, chúng tôi sẽ thêm một số quán tính vào địa chỉ của người đối chiếu. Điều này có thể đơn giản như việc yêu cầu họ để có số tiền cơ bản trong địa chỉ. Thêm nữa cách tiếp cận tao nhã sẽ là cân nhắc sự gần gũi với vé trúng thưởng với số tiền đậu tại địa chỉ trong câu hỏi. Trong khi việc lập mô hình vẫn chưa được thực hiện, rất có thể cơ chế này cho phép thậm chí rất các bên liên quan nhỏ đóng góp với tư cách là người đối chiếu. 6.5.5. Khối thừa cân. Nếu bộ validator bị xâm phạm, họ có thể tạo và đề xuất một khối, tuy nhiên hợp lệ, mất nhiều thời gian để thực hiện và xác thực. Đây là sự cố vì nhóm validator có thể hợp lý tạo thành một khối mà phải mất một thời gian rất dài để thực thi trừ khi một số thông tin cụ thể đã được biết cho phép cắt ngắn, ví dụ: bao thanh toán lớn nguyên tố. Nếu một người đối chiếu biết thông tin đó thì họ sẽ có lợi thế rõ ràng trong việc có được các ứng cử viên được chấp nhận miễn là những người khác đang bận xử lý khối cũ. Chúng tôi gọi những khối này là thừa cân. Việc bảo vệ chống lại việc validator gửi và xác thực các khối này phần lớn có cùng chiêu bài như đối với các khối không hợp lệ, mặc dù có một cảnh báo bổ sung: Vì thời gian thực hiện một khối (và do đó trạng thái của nó là thừa cân) mang tính chủ quan, kết quả cuối cùng của cuộc bỏ phiếu về hành vi sai trái về cơ bản sẽ rơi vào ba phe. một khả năng là khối đó chắc chắn không nặng— trong trường hợp này hơn hai phần ba tuyên bố rằng họ có thể thực thi khối trong một số giới hạn (ví dụ: 50% tổng thời gian được phép giữa các khối). Một điều nữa là khối là dchắc chắn là thừa cân—điều này sẽ xảy ra nếu nhiều hơn hai phần ba tuyên bố rằng họ không thể thực thi khối trong giới hạn nói trên. Một khả năng cuối cùng là khá bình đẳng sự chia rẽ quan điểm giữa validators. Trong trường hợp này, chúng ta có thể chọn thực hiện một số hình phạt tương xứng. Để đảm bảo validator có thể dự đoán khi nào họ có thể đề xuất một khối thừa cân, có thể hợp lý nếu yêu cầu họ công bố thông tin về hiệu suất của chính họ đối với từng khối. Trong một khoảng thời gian đủ dài, điều này sẽ cho phép họ lập hồ sơ tốc độ xử lý của mình so với những người ngang hàng sẽ đánh giá họ. 6.5.6. Bảo hiểm Collator. Vẫn còn một vấn đề đối với validators: không giống như mạng PoW, để kiểm tra khối để có hiệu lực, họ phải thực sự thực hiện các giao dịch trong đó. Những người đối chiếu độc hại có thể cung cấp các khối không hợp lệ hoặc thừa cân cho validator khiến họ đau buồn (lãng phí nguồn lực của họ) và đòi hỏi chi phí cơ hội tiềm tàng đáng kể. Để giảm thiểu điều này, chúng tôi đề xuất một chiến lược đơn giản về một phần của validators. Đầu tiên, các ứng cử viên khối parachain đã gửi tới validator phải được ký từ tài khoản chuỗi chuyển tiếp bằng tiền; nếu không thì validator sẽ bị loại bỏ nó ngay lập tức. Thứ hai, các ứng cử viên như vậy nên được sắp xếp thứ tự ưu tiên bằng cách kết hợp (ví dụ: phép nhân) của số tiền trong tài khoản lên đến một giới hạn nhất định, số khối trước đó mà đối chiếu đã đề xuất thành công trong quá khứ (chưa kể bất kỳ khối nào trước đó hình phạt), và yếu tố gần gũi với chiến thắng vé như đã thảo luận trước đó. Mũ phải giống nhau như số tiền bồi thường mang tính trừng phạt được trả cho validator trong vụ án trong số họ gửi một khối không hợp lệ. Để ngăn cản người cộng tác gửi các ứng cử viên bị chặn không hợp lệ hoặc thừa cân tới validator, bất kỳ validator nào cũng có thể đặt vào khối tiếp theo một giao dịch bao gồm khối vi phạm cáo buộc hành vi sai trái dẫn đến việc chuyển một phần hoặc toàn bộ số tiền vào tài khoản của người đối chiếu có hành vi sai trái. tài khoản cho người bị hại validator. Loại giao dịch này chạy trước bất kỳ giao dịch nào khác để đảm bảo người đối chiếu không thể rút tiền trước khi bị trừng phạt. Số lượng của tiền được chuyển dưới dạng thiệt hại là một tham số động

POLKADOT: TẦM NHÌN VỀ KHUNG KHUNG ĐA CHUỖI KHÔNG ĐỒNG THỂ DỰ THẢO 1 14 được mô hình hóa nhưng có thể sẽ là một phần của phần thưởng khối validator để phản ánh mức độ đau buồn gây ra. Đến ngăn chặn validator độc hại tự ý tịch thu quỹ của người cộng tác, người cộng tác có thể kháng cáo quyết định của validator với bồi thẩm đoàn gồm validator được chọn ngẫu nhiên để đổi lại để đặt một khoản tiền gửi nhỏ. Nếu họ có lợi cho validator, họ sẽ tiêu hết số tiền đặt cọc. Nếu không, tiền đặt cọc được trả lại và validator bị phạt (vì validator ở vị trí hình vòm hơn nhiều, mức phạt sẽ có thể là khá nặng). 6.6. liên chuỗi Giao dịch Định tuyến. liên chuỗi định tuyến giao dịch là một trong những công việc bảo trì thiết yếu nhiệm vụ của chuỗi chuyển tiếp và validator của nó. Đây là logic chi phối cách một giao dịch được đăng (thường được rút ngắn thành “đăng”) để trở thành đầu ra mong muốn từ một parachain nguồn trở thành đầu vào không thể thương lượng của một parachain đích khác mà không có bất kỳ sự tin tưởng nào yêu cầu. Chúng tôi chọn từ ngữ ở trên một cách cẩn thận; đáng chú ý là chúng tôi không yêu cầu phải có giao dịch trong nguồn parachain đã phê chuẩn rõ ràng bài đăng này. duy nhất những hạn chế mà chúng tôi đặt ra cho mô hình của mình là parachains phải cung cấp, đóng gói như một phần của khối tổng thể của họ xử lý đầu ra, các bài đăng là kết quả của việc thực thi khối. Những bài đăng này được cấu trúc như một số hàng đợi FIFO; cái số lượng danh sách được gọi là cơ sở định tuyến và có thể khoảng 16. Đáng chú ý, con số này thể hiện số lượng của parachains mà chúng ta có thể hỗ trợ mà không cần phải dùng đến định tuyến nhiều pha. Ban đầu, Polkadot sẽ hỗ trợ việc này loại định tuyến trực tiếp, tuy nhiên chúng tôi sẽ phác thảo một cách có thể quá trình định tuyến nhiều pha (“siêu định tuyến”) như một phương tiện mở rộng quy mô vượt xa nhóm parachain ban đầu. Chúng tôi giả sử đó tất cả người tham gia biết cái các nhóm con cho hai khối tiếp theo n, n + 1. Tóm lại, Hệ thống định tuyến trải qua các giai đoạn sau: • CollatorS: Liên hệ với các thành viên của V alidators[n][S] • Đối chiếu: CHO MỖI nhóm con: đảm bảo tại ít nhất 1 thành viên của V alidators[n][s] có liên hệ • Người hợp tác: ĐỐI VỚI MỖI nhóm con: giả sử egress[n −1][s][S] có sẵn (tất cả bài đăng đến dữ liệu đến 'S' từ khối cuối cùng) • Người hợp tác: Soạn đề cử khối b cho S: (b.header, b.ext, b.proof, b.receipt, b.egress) • Người hợp tác: Gửi bằng chứng thông tin proof[S] = (b.header, b.ext, b.proof, b.receipt) thành Trình xác thực V[n][S] • CollatorS: Đảm bảo dữ liệu giao dịch bên ngoài b.ext được cung cấp cho những người đối chiếu khác và validators • Người hợp tác: CHO MỖI nhóm con s: Gửi đi ra thông tin đi ra[n][S][s] = (b.header, b.receipt, b.egress[s]) để cái nhận được nhóm phụ thành viên của tiếp theo khối Trình xác thực V[n + 1][s] • V alidatorV : Kết nối trước tất cả các thành viên cùng tập hợp đối với khối tiếp theo: đặt N = Chuỗi[n + 1][V ]; kết nối tất cả validators v sao cho Chuỗi[n + 1][v] = N • V alidatorV : Đối chiếu tất cả dữ liệu nhập vào cho việc này khối: CHO MỖI nhóm con s: Truy xuất egress[n −1][s][Chain[n][V ]], lấy từ validators v khác sao cho Chain[n][v] = Chain[n][V ]. Có thể đi qua các validator khác được chọn ngẫu nhiên để làm bằng chứng cho nỗ lực. • V alidatorV : Chấp nhận bằng chứng ứng cử viên cho việc này bằng chứng khối[Chuỗi[n][V ]]. Hiệu lực của khối biểu quyết • V alidatorV : Chấp nhận dữ liệu đầu ra của ứng viên cho khối tiếp theo: CHO MỖI nhóm con, chấp nhận đi ra[n][s][N]. Tính khả dụng của khối bỏ phiếu đầu ra; xuất bản lại giữa những validators quan tâm sao cho Chuỗi[n + 1][v] = Chuỗi[n + 1][V ]. • V alidatorV : ĐẾN ĐẾN ĐỒNG Ý Trong đó: egress[n][from][to] là hàng đợi đi ra hiện tại thông tin cho các bài đăng từ parachain ‘from‘, đến parachain ‘to‘ trong số khối ‘n‘. CollatorS là một công cụ đối chiếu cho parachain S. V alidators[n][s] là tập hợp validators cho parachain s ở số khối n. Ngược lại, Chain[n][v] là parachain mà validator v được gán trên số khối n. block.egress[to] là lối ra hàng bài đăng từ một số khối khối parachain có đích đến là parachain. Vì người đối chiếu thu phí (giao dịch) dựa trên các khối của họ trở thành chuẩn, họ được khuyến khích đảm bảo rằng đối với mỗi đích đến của khối tiếp theo, nhóm con các thành viên được thông báo về hàng đợi đi ra từ hiện tại khối. Người xác thực chỉ được khuyến khích để hình thành sự đồng thuận về một khối (parachain), vì vậy họ ít quan tâm đến khối đối chiếu nào cuối cùng sẽ trở thành chuẩn. trong về nguyên tắc, validator có thể hình thành lòng trung thành với người đối chiếu và âm mưu làm giảm cơ hội của những người đối chiếu khác' các khối trở thành chuẩn, tuy nhiên điều này vừa khó khăn sắp xếp do chọn ngẫu nhiênhành động của validator giây cho parachains và có thể được bảo vệ bằng cách giảm phí phải trả cho các khối parachain tồn tại quá trình đồng thuận. 6.6.1. Tính sẵn có của dữ liệu bên ngoài. Đảm bảo parachain dữ liệu bên ngoài thực sự có sẵn là một vấn đề lâu năm với các hệ thống phi tập trung nhằm phân phối khối lượng công việc trên mạng lưới. Trọng tâm của vấn đề là sự sẵn có vấn đề nói rằng vì không thể tạo bằng chứng không tương tác về tính khả dụng cũng như bất kỳ loại nào bằng chứng về tính không khả dụng để hệ thống BFT hoạt động bình thường xác nhận bất kỳ quá trình chuyển đổi nào có tính chính xác phụ thuộc vào sự sẵn có của một số dữ liệu bên ngoài, số lượng tối đa của các nút Byzantine có thể chấp nhận được, cộng với một, của hệ thống phải chứng thực dữ liệu có sẵn. Để hệ thống có thể mở rộng quy mô đúng cách, như Polkadot, điều này gây ra sự cố: nếu tỷ lệ cố định validators phải chứng thực sự sẵn có của dữ liệu và giả sử validator thực sự muốn lưu trữ dữ liệu trước khi xác nhận rằng nó có sẵn, thì làm cách nào để chúng ta tránh được vấn đề về yêu cầu băng thông/lưu trữ ngày càng tăng theo kích thước hệ thống (và do đó là số validators)? Một câu trả lời có thể là có một bộ riêng trong số validators (người bảo đảm tính sẵn có), có đơn đặt hàng tăng lên tuyến tính với kích thước tổng thể là Polkadot. Đây là được mô tả trong 6.5.3. Chúng tôi cũng có một thủ thuật phụ. Với tư cách là một nhóm, những người đối chiếu có động lực nội tại để đảm bảo rằng tất cả dữ liệu đều được có sẵn cho parachain đã chọn của họ vì nếu không có nó thì họ không thể tạo thêm các khối để từ đó họ có thể thu phí giao dịch. Những người cộng tác cũng tạo thành một nhóm, thành viên trong đó rất đa dạng (do tính chất ngẫu nhiên của parachain validator nhóm) không tầm thường để tham gia và dễ dàng

POLKADOT: TẦM NHÌN VỀ KHUNG KHUNG ĐA CHUỖI KHÔNG ĐỒNG THỂ DỰ THẢO 1 15 để chứng minh. Do đó, các nhà đối chiếu gần đây (có lẽ trong số vài nghìn khối cuối cùng) được phép đưa ra các thách thức đối với sự sẵn có của dữ liệu bên ngoài cho một parachain cụ thể chặn tới validators để có một trái phiếu nhỏ. Người xác thực phải liên hệ với những người thuộc nhóm phụ validator có vẻ vi phạm đã làm chứng và thu thập cũng như trả lại dữ liệu cho người đối chiếu hoặc chuyển lên cấp trên vấn đề bằng cách chứng minh sự thiếu sẵn có (từ chối trực tiếp cung cấp dữ liệu được coi là hành vi phạm tội tịch thu trái phiếu, do đó hành vi sai trái validator có thể sẽ chỉ ngắt kết nối) và liên hệ với validators khác để chạy thử nghiệm tương tự. Trong trường hợp sau, trái phiếu thế chấp được trả lại. Khi đã đạt đến số đại biểu validator người có thể đưa ra những lời chứng thực không có sẵn như vậy, họ sẽ được giải phóng, nhóm phụ có hành vi sai trái sẽ bị trừng phạt và khối được hoàn nguyên. 6.6.2. Định tuyến bài viết. Mỗi tiêu đề parachain bao gồm một đi ra-trie-root; đây là gốc của một thử nghiệm có chứa các thùng cơ sở định tuyến, mỗi thùng là một danh sách được nối của bài viết đi ra. Bằng chứng Merkle có thể được cung cấp trên parachain validators để chứng minh rằng một parachain cụ thể khối có một hàng đợi đầu ra cụ thể cho một parachain đích cụ thể. Khi bắt đầu xử lý một khối parachain, mỗi khối hàng đợi đầu ra của parachain khác bị ràng buộc cho khối nói trên là đã được hợp nhất vào hàng đợi vào của khối của chúng tôi. Chúng tôi cho rằng mạnh mẽ, có lẽ là CSPR9, thứ tự khối phụ để đạt được một hoạt động xác định không mang lại sự thiên vị giữa bất kỳ ghép nối khối parachain. Collators tính toán hàng đợi mới và rút hết hàng đợi đi ra theo parachain logic. Nội dung của hàng đợi vào được viết rõ ràng vào khối parachain. Điều này có hai mục đích chính: đầu tiên, điều đó có nghĩa là parachain có thể được đồng bộ hóa một cách đáng tin cậy và tách biệt với các parachain khác. Thứ hai, nó đơn giản hóa việc hậu cần dữ liệu nên toàn bộ quá trình xâm nhập hàng đợi không thể được xử lý trong một khối duy nhất; validators và người đối chiếu có thể xử lý các khối sau mà không cần phải tìm nguồn dữ liệu đặc biệt của hàng đợi. Nếu hàng đợi vào của parachain vượt quá ngưỡng số tiền ở cuối quá trình xử lý khối, sau đó nó được đánh dấu đã bão hòa trên chuỗi chuyển tiếp và không có thông báo nào khác có thể được thực hiện được chuyển đến nó cho đến khi nó được thông quan. Bằng chứng Merkle là được sử dụng để chứng minh tính chính xác của hoạt động của bộ đối chiếu trong bằng chứng của khối parachain. 6.6.3. Phê bình. Một sai sót nhỏ liên quan đến cơ bản này cơ chế là cuộc tấn công sau bom. Đây là nơi tất cả parachains gửi số lượng bài viết tối đa có thể đến một parachain cụ thể. Trong khi điều này ràng buộc mục tiêu hàng đợi vào cùng một lúc, không có thiệt hại nào xảy ra nhiều lần một cuộc tấn công DoS giao dịch tiêu chuẩn. Hoạt động bình thường, với bộ thiết bị đồng bộ tốt và trình đối chiếu không độc hại và validators, dành cho N parachain, Tổng cộng N × M validator số bộ đối chiếu và L trên mỗi parachain, chúng tôi có thể chia nhỏ tổng đường dẫn dữ liệu trên mỗi khối thành: Trình xác thực: M −1+L+L: M −1 cho validators khác trong bộ parachain, L cho mỗi bộ đối chiếu cung cấp khối parachain ứng cử viên và L thứ hai cho mỗi bộ đối chiếu của khối tiếp theo yêu cầu tải trọng đầu ra của khối trước đó. (Cái sau thực sự giống trường hợp xấu nhất hoạt động vì có khả năng các nhà đối chiếu sẽ chia sẻ những điều đó dữ liệu.) Collator: M +kN: M để kết nối với từng liên quan khối parachain validator, kN để gieo tải trọng đầu ra vào một số tập hợp con của mỗi nhóm parachain validator cho khối tiếp theo (và có thể một số đối chiếu được ưa thích). Như vậy, các đường dẫn dữ liệu trên mỗi nút phát triển tuyến tính với độ phức tạp tổng thể của hệ thống. Trong khi đây là hợp lý, vì hệ thống có quy mô thành hàng trăm hoặc hàng nghìn parachain, một số độ trễ giao tiếp có thể được hấp thụ để đổi lấy tốc độ tăng trưởng phức tạp thấp hơn. Trong trường hợp này, thuật toán định tuyến nhiều pha có thể được sử dụng để giảm số lượng đường truyền tức thời với chi phí giới thiệu bộ đệm lưu trữ và độ trễ. 6.6.4. Định tuyến siêu khối. Định tuyến siêu khối là một cơ chế có thể được xây dựng chủ yếu như một phần mở rộng cho cơ chế định tuyến cơ bản được mô tả ở trên. Về cơ bản, thay vì phát triển khả năng kết nối nút bằng số lượng nút parachain và nút nhóm phụ, chúng tôi chỉ phát triển với logarit của parachains. Bài viết có thể chuyển tiếp giữa hàng đợi của một số parachains đang trên đường đến khâu giao hàng cuối cùng. Bản thân việc định tuyến là xác định và đơn giản. Chúng tôi bắt đầu bằng giới hạn số lượng thùng trong hàng đợi vào/ra; thay vì là tổng số parachain, chúng làcơ sở định tuyến (b) . Điều này sẽ được cố định là số thay đổi của parachain, với số mũ định tuyến (e) thay vào đó được nâng lên. Theo mô hình này, khối lượng tin nhắn của chúng tôi phát triển với O(be), với đường đi không đổi và độ trễ (hoặc số khối cần thiết để phân phối) với O(e). Mô hình định tuyến của chúng tôi là một siêu khối có kích thước e, với mỗi cạnh của khối lập phương có b vị trí có thể. Mỗi khối, chúng tôi định tuyến tin nhắn dọc theo một trục. Chúng tôi luân phiên trục theo kiểu vòng tròn, do đó đảm bảo thời gian giao hàng trong trường hợp xấu nhất của các khối e. Là một phần của quá trình xử lý parachain, liên kết nước ngoài các tin nhắn được tìm thấy trong hàng đợi đi vào sẽ được chuyển ngay đến thùng của hàng đợi đi ra thích hợp, với điều kiện là số khối hiện tại (và do đó kích thước định tuyến). Cái này quá trình yêu cầu truyền dữ liệu bổ sung cho mỗi bước nhảy trên đường giao hàng, tuy nhiên bản thân đây cũng là một vấn đề có thể được giảm thiểu bằng cách sử dụng một số phương tiện thay thế phân phối tải trọng dữ liệu và chỉ bao gồm một tài liệu tham khảo, thay vì toàn bộ tải trọng của bài đăng trong lần thử sau. Một ví dụ về định tuyến siêu khối cho hệ thống với 4 parachain, b = 2 và e = 2 có thể là: Giai đoạn 0, trên mỗi tin nhắn M: • sub0: nếu Mdest ∈{2, 3} thì sendTo(2) nếu không giữ nguyên • sub1: nếu Mdest ∈{2, 3} thì sendTo(3) nếu không giữ nguyên • sub2: nếu Mdest ∈{0, 1} thì sendTo(0) nếu không giữ nguyên • sub3: nếu Mdest ∈{0, 1} thì sendTo(1) nếu không giữ nguyên Giai đoạn 1, trên mỗi tin nhắn M: • sub0: nếu Mdest ∈{1, 3} thì sendTo(1) nếu không giữ nguyên • sub1: nếu Mdest ∈{0, 2} thì sendTo(0) nếu không giữ nguyên • sub2: nếu Mdest ∈{1, 3} thì sendTo(3) nếu không giữ nguyên • sub3: nếu Mdest ∈{0, 2} thì sendTo(2) nếu không giữ nguyên Hai chiều ở đây dễ dàng được coi là chiều đầu tiên hai bit của chỉ mục đích; đối với khối đầu tiên, chỉ bit bậc cao hơn được sử dụng. Giao dịch khối thứ hai với bit bậc thấp. Một khi cả hai xảy ra (tùy ý order) thì bài viết sẽ được định tuyến. 9 giả ngẫu nhiên an toàn bằng mật mã

POLKADOT: TẦM NHÌN VỀ KHUNG KHUNG ĐA CHUỖI KHÔNG ĐỒNG THỂ DỰ THẢO 1 16 6.6.5. Tối đa hóa sự may mắn. Một sự thay đổi cơ bản đề xuất sẽ có tổng số cố định là c2 −c validators, với c−1 validators trong mỗi nhóm phụ. Mỗi khối, thay vì đang có sự phân vùng lại không có cấu trúc của validators giữa các parachain, thay vào đó cho từng nhóm con parachain, mỗi validator sẽ được gán cho một địa chỉ duy nhất và khác nhau nhóm con parachain trên khối sau. Điều này sẽ dẫn đến bất biến giữa hai khối bất kỳ, đối với bất kỳ khối nào hai cặp parachain, tồn tại hai validators đã hoán đổi trách nhiệm của parachain. Mặc dù điều này không thể được sử dụng để đạt được sự đảm bảo tuyệt đối về tính khả dụng (một validator thỉnh thoảng sẽ ngừng hoạt động, ngay cả khi nhân từ), tuy nhiên nó có thể tối ưu hóa trường hợp chung. Cách tiếp cận này không phải là không có biến chứng. Việc bổ sung parachain cũng sẽ đòi hỏi phải tổ chức lại của bộ validator. Hơn nữa, số validator, được gắn với bình phương của số lượng parachain, ban đầu sẽ bắt đầu rất nhỏ và cuối cùng phát triển xa quá nhanh, trở nên không thể trụ được sau khoảng 50 parachain. Không có vấn đề nào trong số này là vấn đề cơ bản. Trong trường hợp đầu tiên, việc sắp xếp lại các bộ validator là điều cần phải làm dù sao cũng được thực hiện thường xuyên. Về kích thước của validator được đặt, khi quá nhỏ, nhiều validator có thể được chỉ định cho cùng một parachain, áp dụng hệ số nguyên cho tổng cộng là validator giây. Cơ chế định tuyến nhiều pha như Định tuyến Hypercube, được thảo luận trong phần 6.6.4 sẽ giảm bớt yêu cầu về số lượng lớn validators khi có một số lượng lớn các chuỗi. 6.7. Xác thực Parachain. Mục đích chính của validator là để chứng minh, với tư cách là một tác nhân có mối quan hệ tốt, rằng hoạt động của parachain khối là hợp lệ, bao gồm nhưng không giới hạn ở bất kỳ chuyển đổi trạng thái nào, bao gồm mọi giao dịch bên ngoài, việc thực hiện bất kỳ bài đăng đang chờ nào trong hàng đợi vào và trạng thái cuối cùng của hàng đợi đi ra. Quá trình này khá đơn giản. Khi validator đã niêm phong khối trước đó, chúng sẽ miễn phí bắt đầu làm việc để cung cấp khối parachain ứng viên ứng cử viên cho vòng đồng thuận tiếp theo. Ban đầu, validator tìm thấy ứng viên khối parachain thông qua bộ đối chiếu parachain (mô tả tiếp theo) hoặc một trong số đồngvalidator của nó. Dữ liệu ứng cử viên khối parachain bao gồm tiêu đề của khối, tiêu đề của khối trước đó, bất kỳ dữ liệu đầu vào bên ngoài nào được bao gồm (đối với Ethereum và Bitcoin, dữ liệu đó sẽ được gọi là giao dịch, tuy nhiên về nguyên tắc, chúng có thể bao gồm các cấu trúc dữ liệu tùy ý cho các mục đích tùy ý), dữ liệu hàng đợi đầu ra và dữ liệu nội bộ để chứng minh tính hợp lệ của quá trình chuyển đổi trạng thái (đối với Ethereum đây sẽ là các nút trie trạng thái/lưu trữ khác nhau cần thiết để thực hiện mỗi giao dịch). Bằng chứng thực nghiệm cho thấy tập dữ liệu đầy đủ này cho khối Ethereum gần đây nhiều nhất là vài trăm KiB. Đồng thời, nếu chưa thực hiện thì validator sẽ là cố gắng truy xuất thông tin liên quan đến quá trình chuyển đổi của khối trước đó, ban đầu từ khối trước đó validator giây trở đi từ tất cả validator ký kết sự sẵn có của dữ liệu. Khi validator đã nhận được khối ứng cử viên như vậy, sau đó họ xác nhận nó tại địa phương. Quá trình xác thực được chứa trong mô-đun validator của lớp parachain, một mô-đun phần mềm nhạy cảm với sự đồng thuận phải được viết đối với bất kỳ việc triển khai Polkadot nào (mặc dù về nguyên tắc một thư viện có C ABI có thể cho phép một thư viện duy nhất được chia sẻ giữa các lần thực hiện với giảm độ an toàn do chỉ thực hiện một “tài liệu tham khảo” duy nhất). Quá trình lấy tiêu đề của khối trước đó và xác minh danh tính của nó thông qua chuỗi chuyển tiếp đã được thống nhất gần đây khối trong đó hash của nó sẽ được ghi lại. Khi tính hợp lệ của tiêu đề gốc được xác định chắc chắn, parachain cụ thể chức năng xác nhận của lớp có thể được gọi. Đây là một hàm duy nhất chấp nhận một số trường dữ liệu (khoảng những cái đã cho trước đó) và trả về một giá trị Boolean đơn giản công bố tính hợp lệ của khối. Hầu hết các chức năng xác nhận như vậy trước tiên sẽ kiểm tra các trường tiêu đề có thể được lấy trực tiếp từ khối cha (ví dụ: cha hash, số). Đang theo dõi điều này, họ sẽ điền bất kỳ cấu trúc dữ liệu nội bộ nào dưới dạng cần thiết để xử lý các giao dịch và/hoặc bài viết. Đối với một chuỗi giống Ethereum, điều này tương đương với việc điền vào một thử cơ sở dữ liệu với các nút sẽ cần thiết cho thực hiện đầy đủ các giao dịch. Các loại chuỗi khác có thể có p kháccác cơ chế khắc phục. Sau khi hoàn tất, các bài đăng nhập và các giao dịch bên ngoài (hoặc bất kỳ dữ liệu bên ngoài nào thể hiện) sẽ được được ban hành, cân bằng theo đặc điểm kỹ thuật của chuỗi. (A mặc định hợp lý có thể là yêu cầu tất cả các bài viết xâm nhập phải được được xử lý trước khi các giao dịch bên ngoài được thực hiện, tuy nhiên điều này phải do logic của parachain quyết định.) Thông qua đạo luật này, một loạt các bài đăng đi ra sẽ được được tạo ra và nó sẽ được xác minh rằng những điều này thực sự phù hợp ứng cử viên của người đối chiếu. Cuối cùng, dân số hợp lý tiêu đề sẽ được kiểm tra dựa trên tiêu đề của ứng viên. Với khối ứng cử viên được xác thực đầy đủ, validator sau đó có thể bỏ phiếu cho hash của tiêu đề của nó và gửi tất cả thông tin xác thực cần thiết đến các co-validator trong nhóm con của nó. 6.7.1. Bộ sưu tập Parachain. Người đối chiếu Parachain là những người vận hành không liên kết, hoàn thành phần lớn nhiệm vụ của người khai thác trên các mạng blockchain ngày nay. Chúng cụ thể đến một parachain cụ thể. Để hoạt động họ phải duy trì cả chuỗi chuyển tiếp và đồng bộ hóa hoàn toàn parachain. Ý nghĩa chính xác của “được đồng bộ hóa hoàn toàn” sẽ phụ thuộc vào loại parachain, mặc dù sẽ luôn bao gồm trạng thái hiện tại của hàng đợi vào của parachain. Trong trường hợp của Ethereum, ít nhất nó cũng liên quan đến việc duy trì cơ sở dữ liệu cây Merkle của vài khối cuối cùng, nhưng có thể cũng bao gồm nhiều cấu trúc dữ liệu khác bao gồm Bloom bộ lọc để tồn tại tài khoản, thông tin gia đình, ghi nhật ký kết quả đầu ra và bảng tra cứu ngược cho số khối. Ngoài việc giữ cho hai chuỗi được đồng bộ hóa, nó cũng phải “câu” các giao dịch bằng cách duy trì hàng đợi giao dịch và chấp nhận các giao dịch được xác thực hợp lệ từ mạng công cộng. Với hàng đợi và chuỗi, nó là có thể tạo các khối ứng cử viên mới cho validator được chọn ở mỗi khối (có danh tính được biết do chuỗi chuyển tiếp được đồng bộ hóa) và gửi chúng cùng với thông tin phụ trợ khác nhau như bằng chứng về tính hợp lệ, thông qua mạng ngang hàng. Vì rắc rối của mình, nó thu tất cả các khoản phí liên quan đến các giao dịch mà nó bao gồm. Nhiều nền kinh tế khác nhau xoay quanh vấn đề này sắp xếp. Trong một thị trường cạnh tranh khốc liệt, nơi có là sự dư thừa của người đối chiếu, có thể giao dịch phí được chia sẻ với parachain validators để khuyến khích sự bao gồm của một khối đối chiếu cụ thể. Tương tự,

POLKADOT: TẦM NHÌN VỀ KHUNG KHUNG ĐA CHUỖI KHÔNG ĐỒNG THỂ DỰ THẢO 1 17 một số đối tác thậm chí có thể tăng các khoản phí cần thiết được trả tiền để làm cho khối này trở nên hấp dẫn hơn đối với validator giây. Trong trường hợp này, một thị trường tự nhiên sẽ hình thành với các giao dịch trả phí cao hơn, bỏ qua hàng đợi và tham gia vào chuỗi nhanh hơn. 6.8. Kết nối mạng. Kết nối mạng trên blockchains truyền thống như Ethereum và Bitcoin có những yêu cầu khá đơn giản. Tất cả các giao dịch và khối được phát đi trong một tin đồn đơn giản, không có định hướng. Đồng bộ hóa được tham gia nhiều hơn, đặc biệt là với Ethereum nhưng trên thực tế logic này được chứa trong chiến lược ngang hàng thay vì chính giao thức giải quyết xung quanh một số loại thông báo yêu cầu và trả lời. Trong khi Ethereum đã đạt được tiến bộ trong việc cung cấp giao thức hiện tại với giao thức devp2p, điều này cho phép nhiều các giao thức con được ghép kênh trên một kết nối ngang hàng duy nhất và do đó có cùng lớp phủ ngang hàng hỗ trợ nhiều p2p đồng thời, phần Ethereum của giao thức vẫn còn tương đối đơn giản và p2p giao thức trong một thời gian vẫn chưa được hoàn thành với những điều quan trọng thiếu chức năng như hỗ trợ QoS. Đáng buồn thay, mong muốn tạo ra một giao thức “web 3” phổ biến hơn phần lớn đã thất bại, với những dự án duy nhất sử dụng nó là những dự án rõ ràng được tài trợ từ đợt bán hàng cộng đồng Ethereum. Các yêu cầu đối với Polkadot khá quan trọng hơn. Thay vào đó là một mạng thống nhất hoàn toàn, Polkadot có nhiều loại người tham gia, mỗi loại có những yêu cầu khác nhau về thành phần ngang hàng của họ và một số mạng lưới “đại lộ” mà những người tham gia sẽ có xu hướng thảo luận về dữ liệu cụ thể. Điều này có nghĩa là lớp phủ mạng có cấu trúc chặt chẽ hơn—và một giao thức hỗ trợ điều đó— có thể sẽ cần thiết. Hơn nữa, khả năng mở rộng để tạo thuận lợi cho việc bổ sung trong tương lai chẳng hạn như các loại “chuỗi” mới có thể bản thân chúng đòi hỏi một cấu trúc lớp phủ mới. Trong khi thảo luận chuyên sâu về cách mạng giao thức có thể nằm ngoài phạm vi của tài liệu này, một số phân tích yêu cầu là hợp lý. Chúng tôi có thể chia nhỏ những người tham gia mạng lưới của chúng tôi thành hai nhóm (chuỗi chuyển tiếp, chuỗi parachain) mỗi tập hợp con trong số ba tập hợp con. Chúng tôi có thể cũng tuyên bố rằng mỗi người tham gia parachain chỉ quan tâm đến việc trò chuyện giữa họ chứ không phải người tham gia các parachain khác: • Những người tham gia chuỗi chuyển tiếp: • Trình xác nhận: P, chia thành các tập con P[s] cho mỗi tập parachain • Người bảo đảm tính khả dụng: A (điều này có thể được thể hiện bởi Người xác nhận ở dạng cơ bản của giao thức) • Máy khách chuỗi chuyển tiếp: M (lưu ý các thành viên của mỗi bộ parachain cũng sẽ có xu hướng là thành viên của M) • Người tham gia Parachain: • Bộ hợp tác Parachain: C[0], C[1], . . . • Ngư dân Parachain: F[0], F[1], . . . • Khách hàng Parachain: S[0], S[1], . . . • Các ứng dụng khách nhẹ của Parachain: L[0], L[1], . . . Nói chung, chúng tôi đặt tên cho các lớp giao tiếp cụ thể sẽ có xu hướng diễn ra giữa các thành viên của các tập hợp này: • P | A <-> P | Đáp: các đầy đủ đặt của validators/người bảo lãnh phải được kết nối tốt để đạt được sự đồng thuận. • P[s] <-> C[s] | P[s]: Mỗi validator với tư cách là thành viên của một nhóm parachain nhất định sẽ có xu hướng buôn chuyện với các thành viên khác cũng như các đối tác của parachain đó để khám phá và chia sẻ các ứng cử viên khối. • A <-> P[s] | C | A: Mỗi người bảo đảm tính sẵn có sẽ cần thu thập chuỗi chéo nhạy cảm với sự đồng thuận dữ liệu từ validator được gán cho nó; người đối chiếu cũng có thể tối ưu hóa cơ hội đồng thuận về chặn bằng cách quảng cáo nó cho những người bảo đảm tính sẵn có. Sau khi họ có nó, dữ liệu sẽ được chuyển tới người bảo lãnh khác để tạo thuận lợi cho sự đồng thuận. • P[s] <-> A | P[s']: Parachain validators sẽ cần thu thập dữ liệu đầu vào bổ sung từ tập validator trước đó hoặc những người bảo đảm tính khả dụng. • F[s] <-> P: Khi báo cáo, ngư dân có thể đặt một yêu cầu với bất kỳ người tham gia. • M <-> M | P | Đáp: Các khách hàng chuỗi chuyển tiếp chung giải ngân dữ liệu từ validator và người bảo lãnh. • S[s] <-> S[s] | P[s] | Trả lời: Khách hàng Parachain giải ngân dữ liệu từ validator/người bảo lãnh. • L[s] <-> L[s] | S[s]: Máy khách nhẹ Parachain giải ngân dữ liệu từ các khách hàng đầy đủ. Để đảm bảo một cơ chế vận chuyển hiệu quả, một “phẳng” mạng lớp phủ—như devp2p của Ethereum—trong đó mỗi mạng nút không (không tùy ý) phân biệt tính phù hợp của nó đồng nghiệp có thể sẽ không phù hợp. Có khả năng mở rộng hợp lý cơ chế lựa chọn và khám phá ngang hàng có thể sẽ cần được đưa vào trong giao thức cũng như tích cực lập kế hoạch nhìn về phía trước để đảm bảo chọn đúng loại đồng nghiệp là một cách tình cờct vào đúng thời điểm. Chiến lược chính xác của việc thành lập bạn bè sẽ khác nhau đối với mỗi lớp người tham gia: để có quy mô phù hợp đa chuỗi, các bộ đối chiếu sẽ cần phải liên tục kết nối lại với validator được bầu tương ứng, hoặc sẽ cần các thỏa thuận đang diễn ra với một tập hợp con validators để đảm bảo chúng không bị ngắt kết nối trong phần lớn thời gian chúng vô dụng đối với validator đó. Người hợp tác đương nhiên cũng sẽ cố gắng duy trì một hoặc kết nối ổn định hơn vào người bảo đảm sẵn có được thiết lập để đảm bảo truyền bá nhanh chóng các thông tin nhạy cảm với sự đồng thuận của họ dữ liệu. Những người bảo đảm tính sẵn sàng sẽ chủ yếu nhằm mục đích duy trì một kết nối ổn định với nhau và với validators (để có được sự đồng thuận và dữ liệu parachain quan trọng đồng thuận mà họ chứng thực), cũng như với một số đối tác (đối với parachain dữ liệu) và một số ngư dân và khách hàng đầy đủ (để phân tán thông tin). Người xác nhận sẽ có xu hướng tìm kiếm validator khác, đặc biệt là những người trong cùng một nhóm phụ và bất kỳ các đối tác có thể cung cấp cho họ các ứng viên khối parachain. Ngư dân, cũng như chuỗi chuyển tiếp và parachain nói chung khách hàng thường sẽ hướng tới mục tiêu duy trì kết nối mở cho một validator hoặc người bảo lãnh, nhưng có nhiều nút khác tương tự đối với chính họ bằng cách khác. Tương tự, các máy khách nhẹ của Parachain sẽ hướng tới mục tiêu được kết nối với một máy khách đầy đủ của parachain, nếu không chỉ các client ánh sáng parachain khác. 6.8.1. Vấn đề về sự rời bỏ ngang hàng. Trong đề xuất giao thức cơ bản, mỗi tập hợp con này liên tục thay đổi ngẫu nhiên theo từng khối dưới dạng validator được chỉ định để xác minh quá trình chuyển đổi parachain được chọn ngẫu nhiên. Điều này có thể là một vấn đề nên các nút khác nhau (không ngang hàng) cần phải truyền dữ liệu cho nhau. Người ta hoặc phải dựa vào một mạng ngang hàng được phân phối khá tốt và được kết nối tốt với

POLKADOT: TẦM NHÌN VỀ KHUNG KHUNG ĐA CHUỖI KHÔNG ĐỒNG THỂ DỰ THẢO 1 18 đảm bảo rằng khoảng cách hop (và do đó độ trễ trong trường hợp xấu nhất) chỉ tăng theo logarit của kích thước mạng (giao thức giống Kademlia [13] có thể hữu ích ở đây) hoặc người ta phải giới thiệu thời gian chặn dài hơn để cho phép diễn ra quá trình đàm phán kết nối cần thiết nhằm duy trì một tập hợp ngang hàng phản ánh nhu cầu liên lạc hiện tại của nút. Cả hai đều không phải là giải pháp tuyệt vời: thời gian chặn dài bị ép buộc vào mạng có thể khiến nó trở nên vô dụng đối với các ứng dụng và chuỗi cụ thể. Thậm chí là hoàn toàn công bằng và mạng được kết nối sẽ gây lãng phí đáng kể băng thông khi nó tăng quy mô do các nút không quan tâm có để chuyển tiếp dữ liệu vô dụng cho họ. Mặc dù cả hai hướng có thể tạo thành một phần của giải pháp, tối ưu hóa hợp lý để giúp giảm thiểu độ trễ sẽ nhằm hạn chế tính biến động của các parachain này validator các bộ, hoặc chỉ gán lại tư cách thành viên giữa các chuỗi khối (ví dụ: trong nhóm 15, với tốc độ 4 giây thời gian chặn có nghĩa là chỉ thay đổi kết nối một lần mỗi lần phút) hoặc bằng cách luân phiên thành viên theo kiểu tăng dần, ví dụ: thay đổi bởi một thành viên tại một thời điểm (ví dụ: nếu có là 15 validator được gán cho mỗi parachain, thì trung bình sẽ mất trọn một phút giữa các chuỗi hoàn toàn duy nhất bộ). Bằng cách hạn chế số lượng rời bỏ ngang hàng và đảm bảo rằng các kết nối ngang hàng thuận lợi được thực hiện tốt trong tiến lên nhờ khả năng dự đoán một phần của parachain các bộ, chúng tôi có thể giúp đảm bảo mỗi nút duy trì vĩnh viễn sự lựa chọn tình cờ của các đồng nghiệp. 6.8.2. Đường dẫn đến một giao thức mạng hiệu quả. Có khả năng nỗ lực phát triển hợp lý và hiệu quả nhất sẽ tập trung vào việc sử dụng giao thức có sẵn thay vì triển khai của riêng chúng tôi. Một số giao thức cơ sở ngang hàng tồn tại chúng tôi có thể sử dụng hoặc bổ sung thêm devp2p của chính Ethereum [22], libp2p [1] của IPFS và GNUnet [4] của GNU. Đánh giá đầy đủ về các giao thức này và sự liên quan của chúng đối với việc xây dựng một mạng ngang hàng mô-đun hỗ trợ các đảm bảo về cấu trúc nhất định, định hướng ngang hàng năng động và các giao thức phụ có thể mở rộng vượt xa phạm vi của tài liệu này nhưng sẽ là một bước quan trọng trong việc triển khai Polkadot. 7. Tính thực tiễn của Nghị định thư 7.1. Thanh toán giao dịch liên chuỗi. Trong khi tuyệt vời mức độ tự do và đơn giản đạt được thông qua việc loại bỏ nhu cầu về khung kế toán tài nguyên tính toán tổng thể như gas của Ethereum, điều này đặt ra một câu hỏi quan trọng: không có gas, làm thế nào một parachain tránh việc parachain khác buộc nó thực hiện tính toán? Mặc dù chúng ta có thể dựa vào hàng đợi nhập sau giao dịch bộ đệm để ngăn chặn một chuỗi gửi thư rác cho một chuỗi khác bằng dữ liệu giao dịch, không có cơ chế tương đương nào được cung cấp bởi giao thức để ngăn chặn việc gửi thư rác trong quá trình xử lý giao dịch. Đây là một vấn đề còn lại ở cấp độ cao hơn. Vì chuỗi được tự do đính kèm ngữ nghĩa tùy ý vào dữ liệu đến dữ liệu sau giao dịch, chúng tôi có thể đảm bảo rằng việc tính toán phải được thanh toán trước khi bắt đầu. Theo cách tương tự như người mẫu được tán thành bởi Ethereum Serenity, chúng ta có thể tưởng tượng một hợp đồng “đột nhập” trong parachain cho phép validator được đảm bảo thanh toán để đổi lấy cung cấp một khối lượng tài nguyên xử lý cụ thể. Những tài nguyên này có thể được đo bằng thứ gì đó như khí đốt, nhưng cũng có thể là một số mô hình hoàn toàn mới, chẳng hạn như thời gian thực hiện chủ quan hoặc mô hình phí cố định giống Bitcoin. Bản thân điều này không hữu ích lắm vì chúng ta không thể dễ dàng cho rằng người gọi ngoài chuỗi có sẵn cho họ bất kỳ cơ chế giá trị nào được nhận ra khi đột nhập hợp đồng. Tuy nhiên, chúng ta có thể tưởng tượng một hợp đồng “đột phá” thứ cấp trong chuỗi nguồn. Hai bản hợp đồng với nhau sẽ tạo thành cầu nối, nhận biết nhau và cung cấp giá trị tương đương. (Stake-tokens, có sẵn cho mỗi khoản, có thể được sử dụng để giải quyết cán cân thanh toán.) Gọi vào một chuỗi khác như vậy có nghĩa là ủy quyền thông qua cây cầu này, nó sẽ cung cấp phương tiện đàm phán về việc chuyển giao giá trị giữa các chuỗi để trả tiền cho các tài nguyên tính toán cần thiết trên parachain đích. 7.2. bổ sung Dây chuyền. Trong khi cái phép cộng của một parachain là một hoạt động tương đối rẻ và không miễn phí. Nhiều parachain hơn có nghĩa là ít validator trên mỗi parachain hơn và cuối cùng, số lượng validator lớn hơn, mỗi số có một trái phiếu trung bình giảm. Mặc dù vấn đề về chi phí ép buộc nhỏ hơn khi tấn công parachain được giảm thiểu thông qua ngư dân, bộ validator ngày càng tăng về cơ bản buộc phải độ trễ cao hơn do cơ chế đồng thuận cơ bản của tôithod. Hơn nữa, mỗi parachain mang theo nó khả năng gây đau buồn cho validator với một thuật toán xác nhận quá nặng nề. Như vậy sẽ có một số “giá” validators và/hoặc cộng đồng nắm giữ cổ phần sẽ khai thác để bổ sung một parachain mới. Thị trường dây chuyền này sẽ có thể thấy việc bổ sung một trong hai: • Các chuỗi có khả năng không đóng góp ròng (về mặt khóa hoặc đốt staking tokens) để trở thành một phần (ví dụ: chuỗi liên minh, Chuỗi Doge, chuỗi dành riêng cho ứng dụng); • chuỗi mang lại giá trị nội tại cho mạng thông qua việc thêm chức năng cụ thể khó khăn để đi nơi khác (ví dụ: tính bảo mật, khả năng mở rộng nội bộ, liên kết dịch vụ). Về cơ bản, cộng đồng các bên liên quan sẽ cần phải được khuyến khích thêm các chuỗi con—về mặt tài chính hoặc thông qua mong muốn bổ sung thêm các chuỗi tính năng vào rơle. Người ta hình dung rằng các chuỗi mới được thêm vào sẽ có tác dụng rất thời gian thông báo ngắn để loại bỏ, cho phép các chuỗi mới được thử nghiệm mà không có bất kỳ nguy cơ ảnh hưởng nào đề xuất giá trị trung hoặc dài hạn. 8. Kết luận Chúng tôi đã vạch ra một hướng đi mà người ta có thể thực hiện để viết một giao thức đa chuỗi không đồng nhất, có thể mở rộng, có khả năng tương thích ngược với một số giao thức nhất định đã tồn tại từ trước blockchain mạng. Theo một giao thức như vậy, những người tham gia làm việc vì lợi ích cá nhân rõ ràng để tạo ra một hệ thống tổng thể có thể được mở rộng theo cách đặc biệt miễn phí và không phải trả chi phí thông thường cho người dùng hiện tại đến từ thiết kế blockchain tiêu chuẩn. Chúng tôi đã đưa ra một phác thảo sơ bộ về kiến trúc cần bao gồm bản chất của những người tham gia, động cơ kinh tế của họ và các quá trình mà họ phải tham gia. Chúng tôi có xác định một thiết kế cơ bản và thảo luận về điểm mạnh và những hạn chế; theo đó chúng tôi có thêm hướng dẫn có thể giảm bớt những hạn chế đó và mang lại nền tảng vững chắc hơn cho giải pháp blockchain có thể mở rộng hoàn toàn.POLKADOT: TẦM NHÌN VỀ KHUNG KHUNG ĐA CHUỖI KHÔNG ĐỒNG THỂ DỰ THẢO 1 19 8.1. Thiếu tài liệu và câu hỏi mở. Việc phân nhánh mạng luôn có thể xảy ra do việc triển khai giao thức khác nhau. Sự phục hồi từ tình trạng như vậy tình trạng đặc biệt đã không được thảo luận. Do mạng nhất thiết phải có thời gian hoàn thiện khác 0, việc khôi phục sau quá trình phân nhánh chuỗi chuyển tiếp không phải là vấn đề lớn, tuy nhiên sẽ yêu cầu tích hợp cẩn thận vào giao thức đồng thuận. Việc tịch thu trái phiếu và ngược lại, cung cấp phần thưởng có chưa được tìm hiểu sâu. Hiện tại chúng tôi giả định phần thưởng được cung cấp theo nguyên tắc người thắng được tất cả: điều này có thể không đưa ra mô hình khuyến khích tốt nhất cho ngư dân. Một quá trình tiết lộ cam kết trong thời gian ngắn sẽ cho phép nhiều ngư dân để nhận giải thưởng và phân phối phần thưởng công bằng hơn, tuy nhiên quá trình này có thể dẫn đến độ trễ bổ sung trong việc phát hiện hành vi sai trái. 8.2. Lời cảm ơn. Rất cám ơn tất cả các những người đọc thử đã giúp giải quyết vấn đề này một cách mơ hồ hình dạng có thể trình bày. Đặc biệt, Peter Czaban, Bj¨orn Wagner, Ken Kappler, Robert Habermeier, Vitalik Buterin, Reto Trinkler và Jack Petersson. Cảm ơn tất cả những người đã đóng góp ý tưởng hoặc sự khởi đầu vì vậy, Marek Kotewicz và Aeron Buchanan xứng đáng được đề cập đặc biệt. Và cảm ơn mọi người vì sự giúp đỡ của họ trên đường đi. Tất cả các lỗi là của riêng tôi. Các phần của công việc này, bao gồm cả nghiên cứu ban đầu về thuật toán đồng thuận, được tài trợ một phần bởi người Anh Chính phủ theo chương trình Đổi mới của Vương quốc Anh.

协议详细信息

该协议大致可以分为三部分 部分:共识机制、平行链接口 和链间交易路由。 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 值得特别提及。感谢其他人的帮助 一路上。所有错误都是我自己造成的。 这项工作的部分内容,包括初步研究 共识算法,部分由英国资助 政府根据创新英国计划。