Cosmos: Ein Netzwerk verteilter Ledger

Tác giả Jae Kwon and Ethan Buchman · 2016

Giới thiệu

Sự thành công tổng hợp của hệ sinh thái nguồn mở, chia sẻ yle phi tập trung và tiền điện tử công cộng có truyền cảm hứng cho sự hiểu biết rằng các giao thức internet phi tập trung có thể được sử dụng để cải thiện triệt để cơ sở hạ tầng kinh tế xã hội. Chúng tôi đã thấy các ứng dụng blockchain chuyên dụng như Bitcoin [1] (a tiền điện tử), Zerocash [2] (tiền điện tử bảo mật) và nền tảng smart contract tổng quát như Ethereum [3], với vô số ứng dụng được phân phối cho Etherium Virtual Máy (EVM) như Augur (thị trường dự đoán) và TheDAO [4] (câu lạc bộ đầu tư). Tuy nhiên, cho đến nay, blockchain này đã gặp phải một số vấn đề về những hạn chế, bao gồm cả sự kém hiệu quả về năng lượng, kém hoặc hiệu quả hoạt động còn hạn chế và cơ chế quản trị chưa trưởng thành. Đề xuất mở rộng quy mô thông lượng giao dịch của Bitcoin, chẳng hạn như Nhân chứng tách biệt [5] và BitcoinNG [6], có tỷ lệ theo chiều dọc các giải pháp vẫn bị giới hạn bởi khả năng của một thiết bị vật lý duy nhất máy, để đảm bảo tính chất có thể kiểm toán hoàn chỉnh. Lightning Network [7] có thể giúp mở rộng quy mô giao dịch Bitcoin

khối lượng bằng cách loại bỏ hoàn toàn một số giao dịch khỏi sổ cái, và rất phù hợp cho các khoản thanh toán vi mô và bảo vệ quyền riêng tư đường ray thanh toán, nhưng có thể không phù hợp cho tổng quát hơn nhu cầu mở rộng quy mô. Giải pháp lý tưởng là giải pháp cho phép nhiều blockchains song song tương tác trong khi vẫn giữ được các đặc tính bảo mật của chúng. Cái này có đã được chứng minh là khó khăn, nếu không nói là không thể, với proof-of-work. Đã hợp nhất ví dụ: khai thác mỏ cho phép công việc được thực hiện để bảo đảm cấp độ cha mẹ chuỗi được tái sử dụng trên chuỗi con, nhưng các giao dịch vẫn phải được thực hiện được xác thực theo thứ tự theo từng nút và blockchain được khai thác hợp nhất dễ bị tấn công nếu phần lớn nguồn điện hash trên cha mẹ không tích cực khai thác hợp nhất đứa trẻ. Một đánh giá học thuật kiến trúc mạng blockchain thay thế được cung cấp cho bối cảnh bổ sung và chúng tôi cung cấp bản tóm tắt các đề xuất khác và những hạn chế của chúng trong Công việc liên quan. Ở đây chúng tôi giới thiệu Cosmos, một kiến trúc mạng blockchain mới lạ đó giải quyết tất cả những vấn đề này. Cosmos là một mạng lưới gồm nhiều blockchain độc lập, được gọi là vùng. Các khu vực được cung cấp năng lượng bởi Tendermint Core [8], cung cấp hiệu suất cao, công cụ đồng thuận giống như PBFT nhất quán, an toàn, trong đó trách nhiệm phân tách nghiêm ngặt đảm bảo duy trì hành vi độc hại diễn viên. Thuật toán đồng thuận BFT của Tendermint Core rất phù hợp để mở rộng quy mô công khai proof-of-stake blockchains. Vùng đầu tiên trên Cosmos được gọi là Cosmos Hub. Cosmos Hub là một loại tiền điện tử proof-of-stake đa tài sản với cách thức đơn giản Cơ chế quản trị cho phép mạng thích ứng và nâng cấp. Ngoài ra, Cosmos Hub có thể được mở rộng bằng cách kết nối các khu vực khác. Trung tâm và các vùng của mạng Cosmos giao tiếp với với nhau thông qua giao thức liên lạc giữa blockchain (IBC), một loại UDP hoặc TCP ảo cho blockchains. Token có thể chuyển từ vùng này sang vùng khác một cách an toàn và nhanh chóngmà không cần trao đổi thanh khoản giữa các khu vực. Thay vào đó, tất cả các giao dịch chuyển khoản liên vùng token đều đi qua Trung tâm Cosmos. theo dõi tổng số token được nắm giữ bởi mỗi khu vực. các hub cô lập từng vùng khỏi sự thất bại của các vùng khác. Bởi vì bất kỳ ai cũng có thể kết nối một vùng mới với Cosmos Hub, các vùng cho phép để có khả năng tương thích trong tương lai với những cải tiến blockchain mới. Trong phần này chúng tôi mô tả giao thức đồng thuận Tendermint và giao diện được sử dụng để xây dựng các ứng dụng với nó. Để biết thêm chi tiết xem phụ lục. Trong thuật toán chịu lỗi Byzantine cổ điển (BFT), mỗi nút có cùng trọng lượng. Trong Tendermint, các nút có giá trị không âm số lượng quyền biểu quyết và các nút có biểu quyết tích cực sức mạnh được gọi là validators. Người xác nhận tham gia vào giao thức đồng thuận bằng cách phát sóng chữ ký mật mã, hoặc phiếu bầu, để thống nhất khối tiếp theo. Quyền biểu quyết của người xác nhận được xác định ngay từ đầu hoặc được thay đổi một cách xác định bởi blockchain, tùy thuộc vào ứng dụng. Ví dụ: trong ứng dụng proof-of-stake chẳng hạn như Trung tâm Cosmos, quyền biểu quyết có thể được xác định bởi số tiền staking token được thế chấp làm tài sản thế chấp. LƯU Ý: Các phân số như ⅔ và ⅓ đề cập đến các phân số của tổng số phiếu bầu công suất, không bao giờ là tổng số validator giây, trừ khi tất cả validators có trọng lượng bằng nhau. >⅔ có nghĩa là “hơn ⅔”, ≥⅓ có nghĩa là “ít nhất ⅓”. Tendermint là giao thức đồng thuận BFT đồng bộ một phần bắt nguồn từ thuật toán đồng thuận DLS [20]. bạc hà là

đáng chú ý vì tính đơn giản, hiệu suất và trách nhiệm giải trình của nó. Giao thức yêu cầu một tập hợp validator đã biết yxed, trong đó mỗi validator được xác định bằng khóa chung của họ. Người xác thực cố gắng đạt được sự đồng thuận về từng khối một, trong đó khối là một danh sách của các giao dịch. Việc bỏ phiếu cho sự đồng thuận về một khối tiến hành trong vòng. Mỗi vòng có một người đứng đầu hoặc người đề xuất, người này đề xuất một khối. Sau đó, validator sẽ bỏ phiếu theo từng giai đoạn về việc liệu chấp nhận khối được đề xuất hoặc chuyển sang vòng tiếp theo. các người đề xuất cho một vòng được chọn một cách xác định từ thứ tự danh sách validator, tương ứng với quyền biểu quyết của họ. Các chi tiết đầy đủ của giao thức được mô tả ở đây. Tính bảo mật của Tendermint bắt nguồn từ việc sử dụng Byzantine tối ưu khả năng chịu lỗi thông qua biểu quyết siêu đa số (>⅔) và khóa cơ chế. Cùng nhau, họ đảm bảo rằng: ≥⅓ quyền biểu quyết phải thuộc về Byzantine mới có thể vi phạm an toàn, trong đó có nhiều hơn hai giá trị được cam kết. nếu bất kỳ tập hợp validator nào vi phạm an toàn thành công hoặc thậm chí cố gắng làm như vậy, chúng có thể được xác định bởi giao thức. Cái này bao gồm cả việc bỏ phiếu cho các khối xung đột và phát sóng số phiếu không chính đáng. Mặc dù có sự đảm bảo mạnh mẽ, Tendermint vẫn mang đến những điều đặc biệt hiệu suất. Trong điểm chuẩn của 64 nút được phân bổ trên 7 trung tâm dữ liệu trên 5 châu lục, trên các phiên bản đám mây hàng hóa, Sự đồng thuận của Tendermint có thể xử lý hàng nghìn giao dịch mỗi lần thứ hai, với độ trễ cam kết theo thứ tự từ một đến hai giây. Đáng chú ý là hiệu suất của hơn một nghìn giao dịch trên mỗi thứ hai được duy trì ngay cả trong điều kiện đối nghịch khắc nghiệt, với validator bị lỗi hoặc phát đi các phiếu bầu được tạo ra một cách độc hại. Xem ygure bên dưới để biết chi tiết.

Tendermint throughput vs block size benchmarked across 64 nodes in 7 datacenters on 5 continents

Lợi ích chính của thuật toán đồng thuận của Tendermint được đơn giản hóa bảo mật khách hàng nhẹ, làm cho nó trở thành một ứng cử viên lý tưởng cho thiết bị di động và các trường hợp sử dụng internet của vạn vật. Trong khi ứng dụng khách nhẹ Bitcoin phải đồng bộ hóa chuỗi tiêu đề khối và tìm chuỗi có nhiều bằng chứng nhất về hoạt động, khách hàng của Tendermint chỉ cần theo kịp các thay đổi đến bộ validator, sau đó xác minh >⅔ Cam kết trước trong khối mới nhất để xác định trạng thái mới nhất. Bằng chứng ứng dụng khách ngắn gọn cũng cho phép inter-blockchain giao tiếp. Tendermint có các biện pháp bảo vệ để ngăn ngừa một số các cuộc tấn công đáng chú ý, chẳng hạn như chi tiêu gấp đôi tầm xa mà không bị đe dọa và kiểm duyệt. Những vấn đề này sẽ được thảo luận đầy đủ hơn trong phần phụ lục.Thuật toán đồng thuận Tendermint được triển khai theo cách chương trình có tên Tendermint Core. Tendermint Core là một "công cụ đồng thuận" bất khả tri về ứng dụng có thể biến bất kỳ ứng dụng hộp đen xác định thành một bản sao phân tán blockchain. Tendermint Core kết nối với blockchain ứng dụng thông qua Giao diện chuỗi khối ứng dụng (ABCI) [17]. Vì vậy, ABCI cho phép các ứng dụng blockchain được lập trình ở bất kỳ ngôn ngữ, không chỉ là ngôn ngữ lập trình mà sự đồng thuận công cụ được ghi vào. Ngoài ra, ABCI giúp bạn có thể dễ dàng hoán đổi lớp đồng thuận của bất kỳ ngăn xếp blockchain hiện có nào. Chúng tôi rút ra sự tương tự với tiền điện tử nổi tiếng Bitcoin. Bitcoin là tiền điện tử blockchain trong đó mỗi nút duy trì cơ sở dữ liệu Đầu ra giao dịch chưa chi tiêu (UTXO) đã được kiểm tra đầy đủ. Nếu người ta muốn tạo một hệ thống giống Bitcoin trên ABCI, Tendermint Core sẽ chịu trách nhiệm Chia sẻ khối và giao dịch giữa các nút Thiết lập một trật tự giao dịch chuẩn/bất biến (các blockchain) Trong khi đó, ứng dụng ABCI sẽ chịu trách nhiệm Duy trì cơ sở dữ liệu UTXO Xác thực chữ ký mật mã của các giao dịch Ngăn chặn các giao dịch chi tiêu các khoản tiền không tồn tại Cho phép khách hàng truy vấn cơ sở dữ liệu UTXO Tendermint có thể phân hủy thiết kế blockchain bằng cách cung cấp một API rất đơn giản giữa quá trình đăng ký và quá trình đồng thuận.

Einführung

Der kombinierte Erfolg des Open-Source-Ökosystems, dezentrales Yle-Sharing und öffentliche Kryptowährungen inspirierte ein Verständnis dafür, dass dezentralisierte Internetprotokolle können genutzt werden, um die sozioökonomische Infrastruktur radikal zu verbessern. Wir haben spezielle blockchain-Anwendungen gesehen wie Bitcoin [1] (a Kryptowährung), Zerocash [2] (eine Kryptowährung aus Datenschutzgründen) und verallgemeinerte smart contract-Plattformen wie Ethereum [3], mit unzählige verteilte Anwendungen für das Etherium Virtual Maschine (EVM) wie Augur (ein Prognosemarkt) und TheDAO [4] (ein Investmentclub). Bisher haben diese blockchains jedoch unter einer Reihe von Problemen gelitten von Nachteilen, einschließlich ihrer groben Energieineffizienz, schlechten oder eingeschränkte Leistung und unausgereifte Governance-Mechanismen. Vorschläge zur Skalierung des Transaktionsdurchsatzes von Bitcoin, wie z Segregated-Witness [5] und BitcoinNG [6] sind vertikale Skalierung Lösungen, die durch die Kapazität einer einzelnen physischen Einheit begrenzt bleiben Maschine, um die Eigenschaft der vollständigen Prüfbarkeit sicherzustellen. Das Lightning Network [7] kann dabei helfen, die Transaktion Bitcoin zu skalieren

Volumen, indem einige Transaktionen vollständig aus dem Hauptbuch entfernt werden, und eignet sich gut für Mikrozahlungen und zur Wahrung der Privatsphäre Zahlungsschienen, sind jedoch möglicherweise nicht für allgemeinere Zwecke geeignet Skalierungsanforderungen. Eine ideale Lösung ist eine, die mehrere parallele blockchains ermöglicht unter Beibehaltung ihrer Sicherheitseigenschaften interagieren. Das hat erwies sich mit proof-of-work als schwierig, wenn nicht unmöglich. Zusammengeführt Der Bergbau ermöglicht beispielsweise die Arbeit, die zur Sicherung eines Elternteils geleistet wird Die Kette kann in einer untergeordneten Kette wiederverwendet werden, die Transaktionen müssen jedoch weiterhin erfolgen der Reihe nach von jedem Knoten validiert und ein zusammengeführtes blockchain ist anfällig für Angriffe, wenn eine Mehrheit der hashing-Macht auf dem Das übergeordnete Element führt kein aktives Merge-Mining für das untergeordnete Element durch. Eine wissenschaftliche Rezension alternativer blockchain Netzwerkarchitekturen vorgesehen Wir bieten zusätzlichen Kontext und bieten Zusammenfassungen anderer Vorschläge und ihre Nachteile in der verwandten Arbeit. Hier präsentieren wir Cosmos, eine neuartige blockchain Netzwerkarchitektur das all diese Probleme angeht. Cosmos ist ein Netzwerk aus vielen unabhängige blockchains, sogenannte Zonen. Die Zonen werden mit Strom versorgt Tendermint Core [8], der eine leistungsstarke, konsistente, sichere PBFT-ähnliche Konsens-Engine, bei der strenge Garantien zur Rechenschaftspflicht über das Verhalten böswilliger Personen gelten Schauspieler. Der Konsensalgorithmus BFT von Tendermint Core ist gut geeignet zur Skalierung öffentlicher proof-of-stake blockchains. Die erste Zone auf Cosmos wird Cosmos Hub genannt. Der Cosmos Hub ist eine Multi-Asset-Kryptowährung mit einem einfachen Governance-Mechanismus, der es dem Netzwerk ermöglicht, sich anzupassen und Upgrade. Darüber hinaus kann der Cosmos Hub um erweitert werden andere Zonen verbinden. Der Hub und die Zonen des Netzwerks Cosmos kommunizieren mit untereinander über ein Inter-blockchain-Kommunikationsprotokoll (IBC), eine Art virtuelles UDP oder TCP für blockchains. Token können sein sicher und schnell von einer Zone in eine andere übertragen werdenohne dass Austauschliquidität zwischen Zonen erforderlich ist. Stattdessen Alle zonenübergreifenden token-Übertragungen erfolgen über den Cosmos-Hub, der Verfolgt die Gesamtzahl der von jeder Zone gehaltenen tokens. Die Der Hub isoliert jede Zone vom Ausfall anderer Zonen. Weil Jeder kann eine neue Zone mit dem Cosmos Hub verbinden, sofern die Zonen dies zulassen für Zukunftskompatibilität mit neuen blockchain Innovationen. In diesem Abschnitt beschreiben wir das Tendermint-Konsensprotokoll und die Schnittstelle, die zum Erstellen von Anwendungen damit verwendet wird. Für mehr Einzelheiten finden Sie im Anhang. In klassischen byzantinischen fehlertoleranten (BFT)-Algorithmen ist jeder Knoten hat das gleiche Gewicht. In Tendermint haben Knoten ein Nicht-Negativ Menge an Stimmrechten und Knoten, die eine positive Abstimmung haben Leistung werden validators genannt. Validatoren beteiligen sich an der Konsensprotokoll durch Übertragung kryptografischer Signaturen oder Abstimmungen, um sich auf den nächsten Block zu einigen. Die Stimmrechte der Validatoren werden bei der Entstehung festgelegt oder sind es deterministisch durch den blockchain geändert, abhängig von der Anwendung. Beispielsweise in einer proof-of-stake-Anwendung wie der Cosmos Hub, die Stimmrechte können durch den bestimmt werden Betrag von staking tokens als Sicherheit verpfändet. HINWEIS: Brüche wie ⅔ und ⅓ beziehen sich auf Bruchteile der Gesamtstimmenzahl Leistung, niemals die Gesamtzahl der validators, es sei denn, alle validators gleiches Gewicht haben. >⅔ bedeutet „mehr als ⅔“, ≥⅓ bedeutet „mindestens ⅓”. Tendermint ist ein teilweise synchrones BFT-Konsensprotokoll abgeleitet vom DLS-Konsensalgorithmus [20]. Tendermint ist

zeichnet sich durch seine Einfachheit, Leistung und Fork-Verantwortlichkeit aus. Das Protokoll erfordert einen yxed bekannten Satz von validators, wobei jeder validator wird durch ihren öffentlichen Schlüssel identifiziert. Validatoren versuchen es Kommen Sie zu einem Konsens über jeweils einen Block, wobei ein Block eine Liste ist von Transaktionen. Die Abstimmung über einen Konsens über einen Block geht weiter Runden. Jede Runde hat einen Rundenleiter oder Antragsteller, der schlägt einen Block vor. Die validators stimmen dann schrittweise darüber ab, ob den vorgeschlagenen Block anzunehmen oder in die nächste Runde zu gehen. Die Der Antragsteller für eine Runde wird deterministisch aus der Reihenfolge ausgewählt Liste der validators, im Verhältnis zu ihrer Stimmstärke. Die vollständigen Details des Protokolls werden hier beschrieben. Die Sicherheit von Tendermint beruht auf der Verwendung optimaler Byzantiner Fehlertoleranz durch Abstimmung mit Supermehrheit (>⅔) und eine Sperrung Mechanismus. Gemeinsam stellen sie sicher, dass: ≥⅓ Das Stimmrecht muss byzantinisch sein, um eine Verletzung von zu verursachen Sicherheit, bei der mehr als zwei Werte verankert sind. ob es einem Satz von validators jemals gelingt, die Sicherheit zu verletzen, oder sogar Versuche dies zu tun, können anhand des Protokolls identifiziert werden. Dies umfasst sowohl die Stimmabgabe für Konziktionsblöcke als auch die Rundfunkübertragung ungerechtfertigte Stimmen. Trotz seiner starken Garantien bietet Tendermint Außergewöhnliches Leistung. In Benchmarks von 64 Knoten verteilt auf 7 Rechenzentren auf 5 Kontinenten, auf Commodity-Cloud-Instanzen, Der Tendermint-Konsens kann Tausende von Transaktionen pro verarbeiten Zweitens mit Commit-Latenzen in der Größenordnung von ein bis zwei Sekunden. Bemerkenswert ist die Leistung von weit über tausend Transaktionen pro Der zweite bleibt auch unter harten, konkurrenzfähigen Bedingungen erhalten validators stürzt ab oder sendet böswillig manipulierte Stimmen. Siehe Einzelheiten finden Sie in der Abbildung unten.

Tendermint throughput vs block size benchmarked across 64 nodes in 7 datacenters on 5 continents

Ein großer Vorteil des Konsensalgorithmus von Tendermint ist die Vereinfachung geringe Client-Sicherheit, was es zu einem idealen Kandidaten für mobile und mobile Geräte macht Anwendungsfälle für das Internet der Dinge. Während ein Bitcoin Light-Client synchronisiert werden muss Ketten von Blockheadern und ynd diejenige mit den meisten Beweisen für Arbeit, Tendermint Light-Kunden müssen nur mit den Veränderungen Schritt halten zum Satz validator hinzufügen und dann die >⅔ PreCommits im festlegen Latest-Block, um den neuesten Status zu ermitteln. Prägnante, leichte Client-Proofs ermöglichen auch Inter-blockchain Kommunikation. Tendermint verfügt über Schutzmaßnahmen zur Vorbeugung bestimmter Bemerkenswerte Angriffe, wie z. B. Double Spends über große Entfernungen, bei denen nichts auf dem Spiel steht und Zensur. Diese werden im Anhang ausführlicher besprochen.Der Tendermint-Konsensalgorithmus ist in a implementiert Programm namens Tendermint Core. Tendermint Core ist ein anwendungsunabhängige „Konsens-Engine“, die jeden verwandeln kann deterministische Blackbox-Anwendung in eine verteilt replizierte blockchain. Tendermint Core stellt eine Verbindung zu blockchain-Anwendungen her über die Application Blockchain Interface (ABCI) [17]. Also ABCI ermöglicht die Programmierung von blockchain-Anwendungen in beliebiger Reihenfolge Sprache, nicht nur die Programmiersprache, die der Konsens ist Engine ist eingeschrieben. Darüber hinaus ermöglicht ABCI eine einfache Tauschen Sie die Konsensschicht eines vorhandenen blockchain-Stacks aus. Wir ziehen eine Analogie zur bekannten Kryptowährung Bitcoin. Bitcoin ist eine Kryptowährung blockchain, die jeder Knoten verwaltet eine vollständig geprüfte Datenbank für nicht ausgegebene Transaktionsausgaben (UTXO). Wenn man wollte ein Bitcoin-ähnliches System auf ABCI erstellen, Tendermint Core wäre dafür verantwortlich Gemeinsame Nutzung von Blöcken und Transaktionen zwischen Knoten Festlegung einer kanonischen/unveränderlichen Reihenfolge von Transaktionen (die blockchain) In der Zwischenzeit wäre die Anwendung ABCI zuständig Pflege der Datenbank UTXO Validierung kryptografischer Signaturen von Transaktionen Verhindern, dass bei Transaktionen nicht vorhandene Mittel ausgegeben werden Ermöglichen, dass Clients die Datenbank UTXO abfragen Tendermint ist in der Lage, das Design blockchain zu zerlegen Bietet eine sehr einfache API zwischen dem Bewerbungsprozess und Konsensprozess.

Cosmos Kiến trúc

Cosmos là mạng gồm các blockchains song song độc lập mỗi cái được hỗ trợ bởi các thuật toán đồng thuận BFT cổ điển như Bạc hà dịu dàng 1. blockchain năm đầu tiên trong mạng này sẽ là Cosmos Hub. các Cosmos Hub kết nối với nhiều blockchain (hoặc vùng) khác thông qua giao thức truyền thông liên blockchain mới. Trung tâm Cosmos theo dõi nhiều loại token và lưu giữ bản ghi tổng số số token trong mỗi vùng được kết nối. Token có thể chuyển từ vùng này sang vùng khác một cách an toàn và nhanh chóng mà không cần trao đổi chất lỏng giữa các vùng, bởi vì tất cả Chuyển tiền liên vùng đi qua Trung tâm Cosmos. Kiến trúc này giải quyết được nhiều vấn đề mà không gian blockchain phải đối mặt ngày nay, chẳng hạn như khả năng tương tác ứng dụng, khả năng mở rộng và khả năng nâng cấp liền mạch. Ví dụ: các vùng bắt nguồn từ Bitcoind, Go-Ethereum, CryptoNote, ZCash hoặc bất kỳ hệ thống blockchain nào đều có thể được cắm vào Cosmos Hub. Những vùng này cho phép Cosmos mở rộng quy mô một cách vô tận để đáp ứng nhu cầu giao dịch toàn cầu. Các khu vực cũng một yt tuyệt vời cho một sàn giao dịch phân tán, sẽ được hỗ trợ như tốt. Cosmos không chỉ là một sổ cái phân tán duy nhất và Cosmos Hub không phải là một khu vườn có tường bao quanh hay trung tâm vũ trụ của nó. Chúng tôi là thiết kế một giao thức cho một mạng lưới sổ cái phân tán mở có thể đóng vai trò là nền tảng mới cho các hệ thống tài chính trong tương lai, dựa trên các nguyên tắc mật mã, kinh tế hợp lý, sự đồng thuận lý thuyết, tính minh bạch và trách nhiệm giải trình. Trung tâm Cosmos là công khai đầu tiên blockchain trong Cosmos Mạng, được hỗ trợ bởi thuật toán đồng thuận BFT của Tendermint. các Dự án nguồn mở Tendermint ra đời vào năm 2014 nhằm giải quyết vấn đề các vấn đề về tốc độ, khả năng mở rộng và môi trường của thuật toán đồng thuận bằng chứng công việc của Bitcoin. Bằng cách sử dụng và cải tiến dựa trên những gì đã được chứng minh

BFT thuật toán được phát triển tại MIT vào năm 1988 [20], Tendermint nhóm là nhóm đầu tiên chứng minh một cách khái niệm proof-of-stake tiền điện tử giải quyết vấn đề không có gì đáng lo ngại phải chịu đựng các loại tiền điện tử thế hệ thứ nhất proof-of-stake như như NXT và BitShares1.0. Ngày nay, thực tế tất cả ví di động Bitcoin đều sử dụng máy chủ đáng tin cậy để cung cấp cho họ xác minh giao dịch. Điều này là do bằng chứng công việc đòi hỏi phải chờ nhiều sự đồng ý trước khi giao dịch có thể được coi là cam kết không thể đảo ngược. Các cuộc tấn công chi tiêu gấp đôi đã được chứng minh trên các dịch vụ như CoinBase. Không giống như các hệ thống đồng thuận blockchain khác, Tendermint cung cấp xác minh thanh toán của khách hàng di động ngay lập tức và được chứng minh là an toàn. Vì Tendermint được thiết kế để không bao giờ phân nhánh nên thiết bị di động ví có thể nhận được xác nhận giao dịch ngay lập tức, điều này làm cho thanh toán đáng tin cậy và thiết thực trở thành hiện thực trên điện thoại thông minh. Cái này có sự phân chia đáng kể cho các ứng dụng Internet of Things như tốt. Trình xác thực trong Cosmos có vai trò tương tự như công cụ khai thác Bitcoin, nhưng thay vào đó hãy sử dụng chữ ký mật mã để bỏ phiếu. Trình xác nhận là máy móc an toàn, chuyên dụng chịu trách nhiệm thực hiện khối. Những người không phảivalidator có thể ủy quyền staking token của họ (được gọi là “nguyên tử”) cho bất kỳ validator nào để kiếm một phần phí khối và nguyên tử phần thưởng, nhưng họ có nguy cơ bị trừng phạt (chém) nếu đại biểu validator bị hack hoặc vi phạm giao thức. Đã được chứng minh đảm bảo an toàn của sự đồng thuận Tendermint BFT và tài sản thế chấp tiền gửi của các bên liên quan–validators và người được ủy quyền–cung cấp bảo mật có thể chứng minh, định lượng được cho các nút và máy khách hạng nhẹ. Sổ cái công khai được phân phối phải có cấu trúc và hệ thống quản trị. Bitcoin dựa vào Bitcoin Foundation vàkhai thác để phối hợp nâng cấp, nhưng đây là một quá trình chậm. Ethereum chia thành ETH và ETC sau khi hard fork để giải quyết Vụ hackDAO, phần lớn là do không có hợp đồng xã hội trước đó cũng như cơ chế đưa ra các quyết định đó. Người xác nhận và người ủy quyền trên Trung tâm Cosmos có thể bỏ phiếu đề xuất có thể thay đổi các tham số đặt trước của hệ thống tự động (chẳng hạn như giới hạn khối gas), phối hợp nâng cấp, như cũng như bỏ phiếu về việc sửa đổi hiến pháp mà con người có thể đọc được chi phối các chính sách của Cosmos Hub. Hiến pháp cho phép sự gắn kết giữa các bên liên quan về các vấn đề như trộm cắp và lỗi (chẳng hạn như sự cố TheDAO), cho phép xử lý nhanh hơn và độ phân giải sạch hơn. Mỗi khu vực cũng có thể có hiến pháp và quản lý riêng cơ chế nữa. Ví dụ: Trung tâm Cosmos có thể có hiến pháp thực thi tính bất biến tại Hub (không quay lui, lưu lại các lỗi trong quá trình triển khai nút Trung tâm Cosmos), trong khi mỗi khu vực có thể thiết lập chính sách riêng của mình về việc khôi phục. Bằng cách cho phép khả năng tương tác giữa các vùng chính sách khác nhau, Mạng Cosmos mang đến cho người dùng sự tự do tối đa và tiềm năng thử nghiệm không được phép. Ở đây chúng tôi mô tả một mô hình mới về phân quyền và khả năng mở rộng. Cosmos là mạng gồm nhiều blockchain được cung cấp bởi Bạc hà. Trong khi các đề xuất hiện tại nhằm mục đích tạo ra một “khu vực duy nhất blockchain” với tổng số đơn đặt hàng giao dịch toàn cầu, Cosmos cho phép nhiều blockchain chạy đồng thời với nhau trong khi vẫn duy trì khả năng tương tác. Về cơ bản, Trung tâm Cosmos quản lý nhiều blockchain được gọi là "vùng" (đôi khi được gọi là "phân đoạn", trong tham chiếu đến kỹ thuật mở rộng quy mô cơ sở dữ liệu được gọi là “sharding”).

Một luồng liên tục các cam kết khối gần đây từ các khu vực được đăng trên Hub cho phép Hub theo dõi trạng thái của từng vùng. Tương tự như vậy, mỗi vùng sẽ cập nhật trạng thái của Hub (nhưng các vùng không theo kịp nhau ngoại trừ gián tiếp thông qua trung tâm). Các gói thông tin sau đó được truyền đi từ một vùng này sang vùng khác bằng cách đăng Merkle-proofs làm bằng chứng cho thấy thông tin đã được gửi và nhận. Cơ chế này được gọi là liên lạc giữa blockchain hoặc gọi tắt là IBC. Bản thân bất kỳ vùng nào cũng có thể là trung tâm để tạo thành biểu đồ không theo chu kỳ, nhưng để rõ ràng, chúng tôi sẽ chỉ mô tả những điều đơn giản tập đoàn nơi chỉ có một trung tâm và nhiều trung tâm không phải là trung tâm khu. Trung tâm Cosmos là blockchain lưu trữ nhiều nội dung sổ cái phân tán, trong đó token có thể được giữ bởi người dùng cá nhân hoặc theo từng khu vực. Những token này có thể được di chuyển từ một vùng tới gói khác trong gói IBC đặc biệt được gọi là "gói tiền xu". Trung tâm là chịu trách nhiệm bảo toàn tính bất biến toàn cục của tổng số lượng của mỗi token trên các vùng. IBC gói tiền xu giao dịch phải được cam kết bởi người gửi, trung tâm và người nhận blockchains.Vì Trung tâm Cosmos đóng vai trò là sổ cái trung tâm cho toàn bộ hệ thống, tính bảo mật của Hub là hết sức quan trọng. Trong khi mỗi vùng có thể là Tendermint blockchain được bảo mật bởi ít nhất là 4 (hoặc thậm chí ít hơn nếu không cần sự đồng thuận BFT), Hub phải được bảo mật bằng một tập hợp validator phi tập trung toàn cầu có thể chịu được các tình huống tấn công nghiêm trọng nhất, chẳng hạn như phân vùng mạng lục địa hoặc một cuộc tấn công do quốc gia tài trợ. Vùng Cosmos là blockchain độc lập trao đổi IBC tin nhắn với Hub. Từ quan điểm của Hub, một vùng là một tài khoản đa chữ ký thành viên năng động đa tài sản có thể gửi và nhận token bằng gói IBC. Giống như một tài khoản tiền điện tử, một vùng không thể chuyển nhiều hơn token giây nó có nhưng có thể nhận token từ những người khác có chúng. Một khu vực có thể được chỉ định là "nguồn" của một hoặc nhiều loại token, cấp cho nó quyền cung cấp token nguồn cung cấp đó. Các nguyên tử của Cosmos Hub có thể được đặt cọc bởi validator của một vùng được kết nối với Hub. Trong khi các cuộc tấn công chi tiêu gấp đôi vào các khu vực này sẽ dẫn đến việc cắt giảm các nguyên tử với khả năng phân chia của Tendermint, một khu vực có >⅔ quyền biểu quyết Byzantine có thể cam kết trạng thái không hợp lệ. Trung tâm Cosmos không xác minh hoặc thực hiện các giao dịch đã cam kết trên các vùng khác, do đó, trách nhiệm của người dùng là gửi token tới các vùng mà họ tin tưởng. Trong tương lai, hệ thống quản trị của Hub Cosmos có thể vượt qua Hub đề xuất cải tiến giải thích cho các lỗi vùng. cho ví dụ: chuyển khoản đi token từ một số (hoặc tất cả) khu vực có thể được điều chỉnh để cho phép ngắt mạch khẩn cấp các khu vực (tạm dừng token chuyển) khi phát hiện một cuộc tấn công. Bây giờ chúng ta xem xét cách Hub và các vùng giao tiếp với nhau khác. Ví dụ: nếu có ba blockchain, “Zone1”, “Zone2”,

Cosmos hub and zones architecture showing the Cosmos Hub connecting multiple independent zones via IBC

và “Hub”, đồng thời chúng tôi mong muốn “Zone1” tạo ra gói tin được gửi đến cho “Zone2” đi qua “Hub”. Để di chuyển một gói từ một blockchain cho người khác, bằng chứng được đăng trên chuỗi nhận. Bằng chứng chỉ ra rằng chuỗi gửi đã xuất bản một gói cho điểm đến được cho là. Để chuỗi nhận kiểm tra bằng chứng này, nó phải có khả năng theo kịp các tiêu đề khối của người gửi. Cái này cơ chế tương tự như cơ chế được sử dụng bởi sidechains, đòi hỏi hai chuỗi tương tác để nhận biết nhau thông qua một luồng hai chiều của các gói dữ liệu chứng minh sự tồn tại (giao dịch). Giao thức IBC có thể được loại bỏ một cách tự nhiên bằng cách sử dụng hai loại giao dịch: giao dịch  IBCBlockCommitTx , cho phép blockchain để chứng minh cho bất kỳ người quan sát nào về khối gần đây nhất của nó-hash, và giao dịch  IBCPacketTx , cho phép blockchain chứng minh cho bất kỳ người quan sát nào rằng gói đã cho thực sự đã được xuất bản bởi ứng dụng của người gửi, thông qua Merkle-proof đến gần đây khối-hash. Bằng cách chia cơ chế IBC thành hai giao dịch riêng biệt, chúng tôi cho phép cơ chế thị trường phí gốc của chuỗi tiếp nhận xác định gói nào được cam kết (tức là đã được xác nhận), trong khi cho phép hoàn toàn tự do trong chuỗi gửi về cách thức nhiều gói gửi đi được cho phép. Trong ví dụ trên, để cập nhật block-hash của "Zone1" trên “Hub” (hoặc của “Hub” trên “Zone2”),  IBCBlockCommitTxgiao dịch phải được đăng trên “Hub” với khối-hash của “Zone1” (hoặc trên "Zone2" có khối-hash của “Hub”). Xem IBCBlockCommitTx và IBCPacketTx để biết thêm thông tin trên hai loại giao dịch IBC. Theo cách tương tự, Bitcoin sẽ an toàn hơn bằng cách được phân phối, sổ cái được sao chép hàng loạt, chúng ta có thể làm cho các sàn giao dịch ít bị tấn công hơn hack bên ngoài và bên trong bằng cách chạy nó trên blockchain. Chúng tôi gọi đây là một cuộc trao đổi phân tán. Cái mà cộng đồng tiền điện tử gọi là phi tập trung Exchange ngày nay dựa trên một thứ gọi là giao dịch “chuỗi chéo nguyên tử” (AXC). Với giao dịch AXC, hai người dùng trên hai chuỗi khác nhau có thể thực hiện hai giao dịch chuyển khoản được cam kết cùng nhau trên cả hai sổ cái hoặc không có gì cả (tức là về mặt nguyên tử). Ví dụ: hai người dùng có thể giao dịch bitcoin lấy ether (hoặc bất kỳ hai token nào trên hai sổ cái khác nhau) sử dụng giao dịch AXC, mặc dù Bitcoin và Ethereum không được kết nối với nhau khác. Lợi ích của việc thực hiện trao đổi trên các giao dịch AXC là rằng cả hai người dùng đều không cần phải tin tưởng lẫn nhau hoặc việc kết hợp giao dịch dịch vụ. Nhược điểm là cả hai bên cần trực tuyến để thương mại xảy ra. Một loại sàn giao dịch phi tập trung khác là sàn giao dịch được nhân rộng hàng loạt trao đổi phân phối tự chạy blockchain. Người dùng trên loại sàn giao dịch này có thể gửi lệnh giới hạn và chuyển giao tắt máy tính và giao dịch có thể được thực hiện mà người dùng không cần phải trực tuyến. blockchain thay mặt khớp và hoàn tất giao dịch của người buôn bán.

Cosmos Architektur

Cosmos ist ein Netzwerk unabhängiger paralleler blockchains Jeder basiert auf klassischen BFT-Konsensalgorithmen wie Tendermint 1. Der erste blockchain in diesem Netzwerk wird der Cosmos Hub sein. Die Cosmos Der Hub stellt über einen eine Verbindung zu vielen anderen blockchains (oder Zonen) her neuartiges inter-blockchain Kommunikationsprotokoll. Der Cosmos-Hub verfolgt zahlreiche token-Typen und zeichnet die Gesamtzahl auf Anzahl der tokens in jeder verbundenen Zone. Token können sein sicher und schnell von einer Zone in eine andere übertragen werden ohne dass ein Flüssigkeitsaustausch zwischen den Zonen erforderlich ist, denn alle Münztransfers zwischen Zonen erfolgen über den Hub Cosmos. Diese Architektur löst viele Probleme, die den Raum blockchain betreffen Herausforderungen wie Anwendungsinteroperabilität, Skalierbarkeit usw nahtlose Aufrüstbarkeit. Beispielsweise abgeleitete Zonen von Bitcoind, Go-Ethereum, CryptoNote, ZCash oder jedes andere blockchain-System kann an den Hub Cosmos angeschlossen werden. Diese Zonen ermöglichen Cosmos Skalieren Sie unbegrenzt, um der globalen Transaktionsnachfrage gerecht zu werden. Zonen gibt es auch Ein tolles Jahr für einen verteilten Austausch, der unterstützt wird Naja. Cosmos ist nicht nur ein einzelnes verteiltes Hauptbuch, und der Cosmos Hub ist kein ummauerter Garten oder das Zentrum seines Universums. Wir sind Entwurf eines Protokolls für ein offenes Netzwerk verteilter Hauptbücher das als neue Grundlage für zukünftige Finanzsysteme dienen kann, basierend auf Prinzipien der Kryptographie, solider Ökonomie und Konsens Theorie, Transparenz und Verantwortlichkeit. Der Cosmos Hub ist der erste öffentliche blockchain im Cosmos Netzwerk, unterstützt durch den Konsensalgorithmus BFT von Tendermint. Die Das Open-Source-Projekt Tendermint wurde 2014 ins Leben gerufen, um das Problem anzugehen Geschwindigkeit, Skalierbarkeit und Umweltprobleme des Proof-of-Work-Konsensalgorithmus von Bitcoin. Indem wir Bewährtes nutzen und verbessern

BFT Algorithmen, die 1988 am MIT entwickelt wurden [20], der Tendermint Das Team war das erste, das konzeptionell ein proof-of-stake demonstrierte. Kryptowährung, die das Nichts-auf-dem-Spiel-Problem angeht leiden unter Kryptowährungen der proof-of-stake der ersten Generation, z als NXT und BitShares1.0. Heutzutage nutzen praktisch alle Bitcoin mobilen Geldbörsen vertrauenswürdige Server Stellen Sie ihnen eine Transaktionsbestätigung zur Verfügung. Dies liegt daran, dass beim Proof-of-Work viele Bestätigungen abgewartet werden müssen, bevor ein Die Transaktion kann als unwiderruflich begangen betrachtet werden. Doublespend-Angriffe wurden bereits auf Dienste wie demonstriert CoinBase. Im Gegensatz zu anderen blockchain-Konsenssystemen bietet Tendermint Sofortige und nachweislich sichere Zahlungsüberprüfung für mobile Clients. Da der Tendermint so konzipiert ist, dass er sich überhaupt nicht verzweigt, ist er mobil Wallets können eine sofortige Transaktionsbestätigung erhalten, was macht Vertrauenslose und praktische Zahlungen sind auf Smartphones Realität. Dies hat erhebliche Auswirkungen auf Anwendungen im Internet der Dinge Naja. Validatoren in Cosmos haben eine ähnliche Rolle wie Bitcoin Miner, aber Verwenden Sie stattdessen kryptografische Signaturen zum Abstimmen. Validatoren sind sichere, dedizierte Maschinen, die für das Commit verantwortlich sind Blöcke. Nicht-validators können ihre staking tokens delegieren (genannt „Atome“) an ein beliebiges validator, um einen Teil der Blockgebühren und Atome zu verdienen Belohnungen, aber sie laufen Gefahr, bestraft (gekürzt) zu werden, wenn die Der Delegierte validator wird gehackt oder verstößt gegen das Protokoll. Das Bewährte Sicherheitsgarantien des Tendermint BFT-Konsenses und der Sicherheiten Hinterlegung von Stakeholdern – validators und Delegierten – bereitstellen nachweisbare, quantifizierbare Sicherheit für Knoten und Light Clients. Verteilte öffentliche Hauptbücher sollten eine Satzung haben und a Governance-System. Bitcoin stützt sich auf die Stiftung Bitcoin undMining, um Upgrades zu koordinieren, aber das ist ein langsamer Prozess. Ethereum spaltete sich nach Hard-Forking in ETH und ETC auf Der DAO-Hack, hauptsächlich weil es keinen vorherigen Gesellschaftsvertrag gab noch einen Mechanismus, um solche Entscheidungen zu treffen. Validatoren und Delegatoren im Hub Cosmos können darüber abstimmen Vorschläge, die voreingestellte Parameter des Systems ändern können automatisch (z. B. Blockgasbegrenzung), Upgrades koordinieren, z sowie über Änderungen der für Menschen lesbaren Verfassung abzustimmen die die Richtlinien des Cosmos-Hubs regeln. Die Verfassung sorgt für den Zusammenhalt der Beteiligten bei Themen wie: Diebstahl und Bugs (z. B. der Vorfall TheDAO), was eine schnellere und schnellere Lösung ermöglicht sauberere Auflösung. Jede Zone kann auch ihre eigene Verfassung und Verwaltung haben Mechanismus auch. Beispielsweise könnte der Hub Cosmos einen haben Verfassung, die Unveränderlichkeit am Hub durchsetzt (keine Rollbacks, außer für Fehler der Hub-Knoten-Implementierung Cosmos), während Jede Zone kann ihre eigenen Richtlinien für Rollbacks festlegen. Durch die Ermöglichung der Interoperabilität zwischen verschiedenen Richtlinienzonen wird die Das Cosmos-Netzwerk bietet seinen Benutzern ultimative Freiheit und Potenzial für erlaubnisloses Experimentieren. Hier beschreiben wir ein neuartiges Modell der Dezentralisierung und Skalierbarkeit. Cosmos ist ein Netzwerk aus vielen blockchains, die von betrieben werden Zarte Minze. Während bestehende Vorschläge darauf abzielen, ein „Single“ zu schaffen blockchain“ mit der gesamten globalen Transaktionsreihenfolge, Cosmos ermöglicht die gleichzeitige Ausführung vieler blockchains unter Beibehaltung der Interoperabilität. Auf der Basis verwaltet der Cosmos Hub viele unabhängige blockchains werden als „Zonen“ (manchmal auch als „Shards“ bezeichnet) bezeichnet Verweis auf die als „Sharding“ bekannte Datenbankskalierungstechnik.

Ein ständiger Strom aktueller Block-Commits aus Zonen, auf denen gepostet wurde Der Hub ermöglicht es dem Hub, über den Status jeder Zone auf dem Laufenden zu bleiben. Ebenso hält jede Zone den Status des Hubs auf dem Laufenden (aber Zonen Bleiben Sie nicht miteinander auf dem Laufenden, außer indirekt über die Hub). Von einem werden dann Informationspakete übermittelt Zone zu einer anderen, indem Merkle-Beweise als Beweis dafür veröffentlicht werden Informationen wurden gesendet und empfangen. Dieser Mechanismus wird aufgerufen Inter-blockchain-Kommunikation, kurz IBC. Jede der Zonen kann selbst Knotenpunkte sein, um einen azyklischen Graphen zu bilden. aber der Übersichtlichkeit halber werden wir nur das Einfache beschreiben Konyguration, in der es nur einen Hub und viele Nicht-Hubs gibt Zonen. Der Cosmos Hub ist ein blockchain, der ein Multi-Asset hostet Distributed Ledger, in dem tokens von einzelnen Benutzern gehalten werden können oder nach Zonen selbst. Diese tokens können aus einer Zone verschoben werden an einen anderen in einem speziellen IBC-Paket namens „Münzpaket“. Der Hub ist verantwortlich für die Erhaltung der globalen Invarianz der Gesamtheit Menge jedes token in den Zonen. IBC Münzpaket Transaktionen müssen vom Sender, Hub und Empfänger festgeschrieben werden blockchains.Da der Cosmos Hub als zentrales Hauptbuch für das Ganze fungiert System ist die Sicherheit des Hubs von größter Bedeutung. Während Jede Zone kann ein Tendermint blockchain sein, der durch as gesichert ist nur 4 (oder sogar weniger, wenn kein Konsens erforderlich ist), der Hub muss durch einen global dezentralen Satz von validators gesichert werden hält den schwersten Angriffsszenarien stand, wie z Aufteilung des kontinentalen Netzwerks oder ein vom Nationalstaat geförderter Angriff. Eine Cosmos-Zone ist eine unabhängige blockchain, die IBC austauscht. Nachrichten mit dem Hub. Aus der Sicht des Hubs ist eine Zone eine Multi-Asset-Konto mit dynamischer Mitgliedschaft und mehreren Signaturen kann tokens mit IBC Paketen senden und empfangen. Wie ein Kryptowährungskonto kann eine Zone nicht mehr tokens übertragen als Das hat es, kann aber tokens von anderen empfangen, die sie haben. Eine Zone kann als „Quelle“ eines oder mehrerer token-Typen bezeichnet werden, wodurch ihm die Macht verliehen wird, die token-Versorgung anzukurbeln. Atome des Cosmos Hubs können durch validators einer Zone abgesteckt werden mit dem Hub verbunden. Während Sie Angriffe auf diese Zonen doppelt ausgeben würde mit der Rechenschaftspflicht von Tendermint zu einer Zerschneidung von Atomen führen, einem Bereich, in dem mehr als 2/3 der Stimmrechte liegen Byzanz kann einen ungültigen Zustand begehen. Der Cosmos Hub funktioniert nicht Überprüfen oder Ausführen von Transaktionen, die in anderen Zonen vorgenommen wurden Es liegt in der Verantwortung der Benutzer, tokens an Zonen zu senden, denen sie vertrauen. In Zukunft könnte das Governance-System des Hubs Cosmos den Hub überholen Verbesserungsvorschläge, die Zonenausfälle berücksichtigen. Für Beispielsweise können ausgehende token-Übertragungen aus einigen (oder allen) Zonen erfolgen gedrosselt werden, um eine Notabschaltung von Zonen zu ermöglichen (ein vorübergehender Stopp von token Übertragungen), wenn ein Angriff erkannt wird. Jetzt schauen wir uns an, wie der Hub und die Zonen miteinander kommunizieren andere. Wenn es beispielsweise drei blockchains gibt, „Zone1“, „Zone2“,

Cosmos hub and zones architecture showing the Cosmos Hub connecting multiple independent zones via IBC

und „Hub“, und wir möchten, dass „Zone1“ ein bestimmtes Paket produziert für „Zone2“ über „Hub“. Um ein Paket von einem zu verschieben blockchain an einen anderen gesendet wird, wird ein Nachweis in der Empfangskette veröffentlicht. Der Beweis besagt, dass die Sendekette ein Paket für veröffentlicht hat angebliches Ziel. Damit die Empfangskette diesen Beweis überprüfen kann, ist es muss in der Lage sein, mit den Blockheadern des Absenders Schritt zu halten. Dies Der Mechanismus ähnelt dem von Seitenketten verwendeten, was erfordert zwei interagierende Ketten, um sich gegenseitig über a bewusst zu sein bidirektionaler Strom von Existenznachweis-Datagrammen (Transaktionen). Das IBC-Protokoll kann natürlich mithilfe von zwei Arten definiert werden Transaktionen: eine  IBCBlockCommitTx -Transaktion, die eine ermöglicht blockchain, um es jedem Beobachter seines letzten Blocks zu beweisen-hash, und eine IBCPacketTx-Transaktion, die es einem blockchain ermöglicht Beweisen Sie jedem Beobachter, dass das angegebene Paket tatsächlich veröffentlicht wurde durch die Bewerbung des Absenders, über einen Merkle-Beweis bis zum letzten block-hash. Durch die Aufteilung der IBC-Mechanik in zwei separate Transaktionen können wir Ermöglichen Sie dies dem nativen Gebührenmarktmechanismus der Empfangskette Bestimmen Sie, welche Pakete festgeschrieben (d. h. bestätigt) werden Dies ermöglicht völlige Freiheit in der Versandkette hinsichtlich der Art und Weise Viele ausgehende Pakete sind erlaubt. Um im obigen Beispiel den Block hash von „Zone1“ zu aktualisieren auf „Hub“ (oder von „Hub“ auf „Zone2“), ein  IBCBlockCommitTxDie Transaktion muss auf „Hub“ mit dem Block-hash von gepostet werden „Zone1“ (oder auf „Zone2“ mit dem Block-hash von „Hub“). Weitere Informationen finden Sie unter IBCBlockCommitTx und IBCPacketTx auf den beiden Transaktionstypen IBC. Genauso wie Bitcoin durch die Verteilung sicherer ist, Mit einem massenreplizierten Ledger können wir den Austausch weniger anfällig machen externe und interne Hacks, indem Sie es auf dem blockchain ausführen. Wir Nennen Sie dies einen verteilten Austausch. Was die Kryptowährungs-Community als dezentral bezeichnet Börsen basieren heute auf sogenannten „Atomic Crosschain“ (AXC)-Transaktionen. Bei einer AXC-Transaktion sind zwei Benutzer aktiv Zwei verschiedene Ketten können zwei Übertragungstransaktionen durchführen in beiden Hauptbüchern zusammen oder gar nicht festgeschrieben (d. h. atomar). Beispielsweise können zwei Benutzer Bitcoins gegen Ether (bzw zwei beliebige tokens in zwei verschiedenen Hauptbüchern) unter Verwendung von AXC-Transaktionen, obwohl Bitcoin und Ethereum nicht miteinander verbunden sind andere. Der Vorteil des Betreibens einer Börse für AXC-Transaktionen ist dass keine Benutzer einander oder dem Handelsabgleich vertrauen müssen Dienst. Der Nachteil besteht darin, dass beide Parteien online sein müssen der Handel stattfinden soll. Eine andere Art der dezentralen Börse ist die Massenreplikation verteilter Austausch, der eigenständig läuft blockchain. Benutzer an Diese Art von Börse kann eine Limit-Order aufgeben und umsetzen Computer ausgeschaltet, und der Handel kann ausgeführt werden, ohne dass der Benutzer dies tun muss online. Der blockchain stimmt überein und schließt den Handel im Namen ab des Händlers.

Ứng dụng

Một sàn giao dịch tập trung có thể tạo ra một sổ đặt hàng có giới hạn sâu đơn đặt hàng và do đó thu hút nhiều thương nhân hơn. Thanh khoản ngày càng nhiều tính thanh khoản trong thế giới trao đổi và do đó có một mạng lưới mạnh mẽ hiệu ứng (hoặc ít nhất là hiệu ứng người thắng được nhiều nhất) trong trao đổi kinh doanh. Người dẫn đầu hiện tại về trao đổi tiền điện tử là Poloniex với khối lượng giao dịch trong 24 giờ là 20 triệu USD và ở vị trí thứ hai là Bitynex với khối lượng 24 giờ là 5 triệu USD. Với mạng lưới mạnh mẽ như vậy có hiệu lực, các sàn giao dịch phi tập trung dựa trên AXC khó có thể giành được khối lượng trên các sàn giao dịch tập trung. Đối với một nền tảng phi tập trung trao đổi để cạnh tranh với một sàn giao dịch tập trung, nó sẽ cần để hỗ trợ sổ đặt hàng sâu với các đơn đặt hàng giới hạn. Chỉ có một phân phối trao đổi trên blockchain có thể cung cấp điều đó. Tendermint cung cấp thêm lợi ích cho giao dịch nhanh hơn cam kết. Bằng cách ưu tiên khả năng hoạt động nhanh chóng mà không phải hy sinh tính nhất quán, các vùng trong Cosmos có thể thúc đẩy giao dịch nhanh chóng – cho cả giao dịch đặt hàng trao đổi cũng như IBC token chuyển tới và từ các khu vực khác. Với tình trạng trao đổi tiền điện tử ngày nay, một điều tuyệt vời ứng dụng cho Cosmos là sàn giao dịch phân tán (còn gọi là Cosmos DEX). Năng lực thông lượng giao dịch cũng như độ trễ cam kết có thể tương đương với độ trễ của tập trung trao đổi. Nhà giao dịch có thể gửi lệnh giới hạn có thể được thực hiện mà không cần cả hai bên phải trực tuyến. Và với Tendermint, trung tâm Cosmos và IBC, nhà giao dịch có thể chuyển tiền vào và ra trao đổi đến và đi từ các khu vực khác với tốc độ. Vùng đặc quyền có thể đóng vai trò là nguồn của token cầu nối của một loại tiền điện tử khác. Một cây cầu tương tự như mối quan hệ giữa trung tâm và vùng Cosmos; cả hai đều phải theo kịp các khối mới nhất của khối kia để xác minh bằng chứng rằng token có chuyển từ cái này sang cái khác. "Khu vực cầu" trên Cosmos mạng theo kịp Hub cũng như các mạng khác

tiền điện tử. Việc chuyển hướng qua vùng cầu cho phép logic của Hub vẫn đơn giản và không thể tin được đối với những người khác blockchain chiến lược đồng thuận như proof-of-work của Bitcoin khai thác mỏ. Mỗi vùng cầu validator sẽ chạy một hệ thống được hỗ trợ bởi Tendermint blockchain với ứng dụng cầu nối ABCI đặc biệt nhưng cũng có nút đầy đủ của “nguồn gốc” blockchain. Khi các khối mới được khai thác ở điểm gốc, vùng cầu validators sẽ đi đến thống nhất về các khối đã cam kết bằng cách ký tên và chia sẻ quan điểm địa phương tương ứng của họ về nguồn gốc blockchain tiền boa. Khi một bridge-zone nhận được khoản thanh toán từ nguồn gốc (và sự đồng ý đầy đủ đã được đồng ý đã được nhìn thấy trong vụ án của chuỗi PoW chẳng hạn như Ethereum hoặc Bitcoin), tương ứng tài khoản được tạo trên bridge-zone với số dư đó. Trong trường hợp Ethereum, bridge-zone có thể chia sẻ tương tự validator-được đặt làm Trung tâm Cosmos. Về phía Ethereum ( Origin), một hợp đồng bắc cầu sẽ cho phép người nắm giữ ether gửi ether tới bridge-zone bằng cách gửi nó tới bridge-contract trên Ethereum. Sau khi hợp đồng cầu nối nhận được ether, không thể rút ether trừ khi có gói IBC thích hợp được nhận bởi hợp đồng cầu từ khu vực cầu. các hợp đồng cầu nối theo dõi tập hợp validator của vùng cầu, trong đó có thể giống hệt với bộ validator của Hub Cosmos. Trong trường hợp Bitcoin, khái niệm này tương tự ngoại trừ việc thay vì một hợp đồng cầu nối duy nhất, mỗi UTXO sẽ được kiểm soát bởi một ngưỡng công bố P2SH đa chữ ký. Do những hạn chế của hệ thống P2SH, người ký không thể giống với Cosmos Bộ trung tâm validator.Ether trên vùng cầu (“bridged-ether”) có thể được chuyển sang và từ Hub, sau đó bị hủy bởi một giao dịch gửi nó đến một địa chỉ rút tiền cụ thể trên Ethereum. Một IBC gói chứng minh rằng giao dịch xảy ra trên bridge-zone có thể được đăng lên hợp đồng cầu nối Ethereum để cho phép ether được rút lại. Trong trường hợp Bitcoin, hệ thống tập lệnh bị hạn chế khiến nó khó có thể phản ánh cơ chế chuyển tiền IBC. Mỗi UTXO có bản công bố độc lập riêng, vì vậy mọi UTXO đều phải được di chuyển sang UTXO mới khi có thay đổi trong tập hợp Bitcoin người ký khế ước. Một giải pháp là nén và giải nén bộ UTXO nếu cần để giữ tổng số trong số UTXO giây bị hỏng. Rủi ro của một hợp đồng bắc cầu như vậy là có thể xảy ra validator lừa đảo. ≥⅓ Quyền biểu quyết của Byzantine có thể gây ra fork, rút ether từ hợp đồng cầu trên Ethereum trong khi vẫn giữ cầu nối trên vùng cầu. Tệ hơn nữa, >⅔ Quyền biểu quyết của Byzantine có thể ăn cắp ether hoàn toàn từ những người đã gửi nó đến hợp đồng cầu nối bằng cách đi chệch khỏi logic bắc cầu ban đầu của vùng cầu. Có thể giải quyết những vấn đề này bằng cách thiết kế cây cầu phù hợp hoàn toàn chịu trách nhiệm. Ví dụ: tất cả các gói IBC, từ trung tâm và nguồn gốc, có thể yêu cầu xác nhận của bridge-zone trong theo cách mà tất cả các chuyển đổi trạng thái của vùng cầu có thể được được thách thức và xác minh một cách hiệu quả bởi trung tâm hoặc nguồn gốc hợp đồng cầu đường. Hub và nguồn gốc phải cho phép các bridgezone validator gửi tài sản thế chấp và token chuyển ra khỏi hợp đồng bắc cầu sẽ bị trì hoãn (và tài sản thế chấp sẽ được hủy bỏ khoảng thời gian đủ dài) để cho phép mọi thách thức được thực hiện bởi kiểm toán viên độc lập. Chúng tôi để lại thiết kế của thông số kỹ thuật và việc triển khai hệ thống này mở như một tương lai Cosmos

đề xuất cải tiến sẽ được Trung tâm Cosmos thông qua hệ thống quản trị. Giải quyết vấn đề mở rộng quy mô là một vấn đề mở đối với Ethereum. Hiện tại, các nút Ethereum xử lý mọi giao dịch và cũng lưu trữ tất cả các trạng thái. liên kết. Vì Tendermint có thể thực hiện các khối nhanh hơn nhiều so với Ethereum proof-of-work, EVM khu vực được hỗ trợ bởi sự đồng thuận của Tendermint và hoạt động trên bridged-ether có thể mang lại hiệu suất cao hơn cho Ethereum blockchains. Ngoài ra, mặc dù Trung tâm Cosmos và IBC cơ chế gói không cho phép logic hợp đồng tùy ý thực chất nó có thể được sử dụng để phối hợp các chuyển động token giữa Ethereum hợp đồng chạy trên các vùng khác nhau, cung cấp nền tảng cho việc mở rộng quy mô token lấy trung tâm Ethereum thông qua phân mảnh. Cosmos vùng chạy logic ứng dụng tùy ý, được xác định tại thời điểm bắt đầu vòng đời của vùng và có thể được cập nhật theo thời gian bởi sự quản lý. Tính linh hoạt như vậy cho phép các vùng Cosmos đóng vai trò là cầu nối với các loại tiền điện tử khác như Ethereum hoặc Bitcoin và nó cũng cho phép các dẫn xuất của blockchain đó, sử dụng cùng một cơ sở mã nhưng với bộ validator khác và phân phối ban đầu. Điều này cho phép nhiều loại tiền điện tử hiện có các khuôn khổ, chẳng hạn như của Ethereum, Zerocash, Bitcoin, CryptoNote, v.v., sẽ được sử dụng với Tendermint Core, một công cụ đồng thuận hiệu suất cao hơn, trên một mạng chung, mở ra cơ hội to lớn cho khả năng tương tác giữa nền tảng. Hơn nữa, với tư cách là nhiều nội dung blockchain, một giao dịch có thể chứa nhiều đầu vào và đầu ra, trong đó mỗi đầu vào có thể là bất kỳ loại token nào, cho phép Cosmos phân phát trực tiếp dưới dạng một nền tảng trao đổi phi tập trung, mặc dù các đơn đặt hàng được giả địnhđể được khớp thông qua các nền tảng khác. Ngoài ra, một vùng có thể phục vụ như một sàn giao dịch có khả năng chịu lỗi phân tán (với sổ đặt hàng), có thể là một cải tiến nghiêm ngặt so với tập trung hiện có trao đổi tiền điện tử có xu hướng bị hack theo thời gian. Các vùng cũng có thể đóng vai trò là phiên bản doanh nghiệp được blockchain hỗ trợ và các hệ thống chính phủ, nơi các phần của một dịch vụ cụ thể theo truyền thống được điều hành bởi một tổ chức hoặc một nhóm tổ chức thay vào đó được chạy dưới dạng ứng dụng ABCI trên một vùng nhất định, cho phép nó kế thừa tính bảo mật và khả năng tương tác của công chúng Cosmos mạng mà không hy sinh quyền kiểm soát cơ bản dịch vụ. Do đó, Cosmos có thể mang lại những điều tốt nhất cho cả hai thế giới các tổ chức đang tìm cách sử dụng công nghệ blockchain nhưng ai cảnh giác với việc từ bỏ hoàn toàn quyền kiểm soát cho một bên thứ ba được phân phối bữa tiệc. Một số người cho rằng vấn đề lớn với việc ủng hộ tính nhất quán các thuật toán đồng thuận như Tendermint là bất kỳ mạng nào phân vùng khiến không có phân vùng duy nhất có >⅔ quyền biểu quyết (ví dụ: ≥⅓ chuyển sang sử dụng zine) sẽ ngăn chặn hoàn toàn sự đồng thuận. Kiến trúc Cosmos có thể giúp giảm thiểu vấn đề này bằng cách sử dụng một trung tâm toàn cầu với các khu tự trị khu vực, nơi quyền biểu quyết cho mỗi khu vực được phân bổ dựa trên một địa lý chung khu vực. Ví dụ, một mô hình chung có thể dành cho cá nhân thành phố hoặc khu vực để vận hành các khu vực riêng của họ trong khi chia sẻ trung tâm chung (ví dụ: Trung tâm Cosmos), cho phép hoạt động của thành phố tồn tại trong trường hợp trung tâm tạm dừng do mạng tạm thời phân vùng. Lưu ý rằng điều này cho phép thực tế về địa chất, chính trị và các tính năng cấu trúc liên kết mạng cần được xem xét trong việc thiết kế mạnh mẽ các hệ thống có khả năng chịu lỗi liên kết.

NameCoin là một trong những blockchain đầu tiên cố gắng giải quyết vấn đề vấn đề phân giải tên bằng cách điều chỉnh Bitcoin blockchain. Thật không may, đã có một số vấn đề với cách tiếp cận này. Với Namecoin, chúng tôi có thể xác minh rằng, chẳng hạn như @satoshi đã được đăng ký với một khóa công khai cụ thể tại một thời điểm nào đó trong quá khứ, nhưng chúng tôi không biết liệu khóa công khai đã được được cập nhật gần đây trừ khi chúng tôi tải xuống tất cả các khối kể từ lần cuối cùng cập nhật tên đó. Điều này là do hạn chế của Bitcoin UTXO mô hình Merkle-ization giao dịch, trong đó chỉ có các giao dịch (nhưng không phải trạng thái ứng dụng có thể thay đổi) được Merkle-ized vào khối-hash. Điều này cho phép chúng tôi chứng minh sự tồn tại chứ không phải sự không tồn tại của các bản cập nhật sau này cho một tên. Vì vậy, chúng ta không thể biết đối với nhất định giá trị gần đây nhất của một tên mà không tin tưởng vào giá trị đầy đủ nút hoặc phát sinh chi phí đáng kể về băng thông bằng cách tải xuống toàn bộ blockchain. Ngay cả khi cây tìm kiếm được Merkle hóa đã được triển khai trong NameCoin, sự phụ thuộc của nó vào proof-of-work khiến việc xác minh ứng dụng khách trở nên dễ dàng có vấn đề. Các khách hàng nhẹ phải tải xuống bản sao hoàn chỉnh của tiêu đề cho tất cả các khối trong toàn bộ blockchain (hoặc ít nhất là tất cả tiêu đề kể từ lần cập nhật cuối cùng cho một tên). Điều này có nghĩa là yêu cầu về băng thông tỉ lệ tuyến tính với lượng thời gian [21]. Ngoài ra, việc thay đổi tên trên proof-of-work blockchain yêu cầu chờ thêm proof-of-work khối xác nhận, việc này có thể mất tới một giờ trên Bitcoin. Với Tendermint, tất cả những gì chúng ta cần là khối gần đây nhất-hash được ký bởi số đại biểu validators (theo quyền biểu quyết) và Merkle bằng chứng cho giá trị hiện tại được liên kết với tên. Điều này làm cho nó có thể có một light-client ngắn gọn, nhanh chóng và an toàn xác minh các giá trị tên. Trong Cosmos, chúng tôi có thể áp dụng khái niệm này và mở rộng nó hơn nữa. Mỗi vùng đăng ký tên trong Cosmos có thể có tên miền cấp cao nhất (TLD) được liên kết chẳng hạn như “.com” hoặc “.org” và mỗi tên-

khu vực đăng ký có thể có quản trị và đăng ký riêng quy luật.

Anwendungen

Eine zentralisierte Börse kann ein umfangreiches Orderbuch mit Limits schaffen Bestellungen und locken so mehr Händler an. Liquidität erzeugt mehr Liquidität in der Börsenwelt und somit ein starkes Netzwerk Effekt (oder zumindest einen Winner-Take-Most-Effekt) im Austausch Geschäft. Der derzeitige Marktführer für Kryptowährungsbörsen ist Poloniex mit einem 24-Stunden-Volumen von 20 Millionen US-Dollar und an zweiter Stelle Bitynex mit einem 24-Stunden-Volumen von 5 Millionen US-Dollar. Angesichts eines so starken Netzwerks Auswirkungen ist es unwahrscheinlich, dass AXC-basierte dezentrale Börsen dies tun Gewinnen Sie Volumen gegenüber den zentralisierten Börsen. Für eine dezentrale Um mit einer zentralisierten Börse konkurrieren zu können, bräuchte es eine Börse um tiefe Orderbücher mit Limit-Orders zu unterstützen. Nur eine verteilte Exchange auf einem blockchain kann dies bieten. Tendermint bietet zusätzliche Vorteile einer schnelleren Transaktion begeht. Indem wir der schnellen Synalität Priorität einräumen, ohne Opfer zu bringen Konsistenz können Zonen in Cosmos Transaktionen schnell synchronisieren – z sowohl Börsenauftragstransaktionen als auch IBC token Überweisungen an und aus anderen Zonen. Angesichts der heutigen Lage der Kryptowährungsbörsen ist das großartig Anwendung für Cosmos ist der verteilte Austausch (auch bekannt als Cosmos DEX). Die Transaktionsdurchsatzkapazität sowie Die Commit-Latenz kann mit der zentralisierten Latenz vergleichbar sein Austausch. Händler können Limitaufträge erteilen, die ausgeführt werden können ohne dass beide Parteien online sein müssen. Und mit Tendermint, Über den Hub Cosmos und IBC können Händler Gelder ein- und auszahlen den schnellen Austausch von und zu anderen Zonen. Eine privilegierte Zone kann als Quelle eines überbrückten token von dienen eine andere Kryptowährung. Eine Brücke ähnelt der Beziehung zwischen einem Cosmos-Hub und einer Zone; beide müssen mithalten neuesten Blöcke des anderen, um Beweise zu überprüfen, die tokens haben von einem zum anderen bewegt. Eine „Brückenzone“ auf der Cosmos Das Netzwerk hält sowohl mit dem Hub als auch mit den anderen Schritt

Kryptowährung. Die Umleitung durch die Brückenzone ermöglicht Die Logik des Hubs besteht darin, einfach und agnostisch gegenüber anderen zu bleiben blockchain Konsensstrategien wie Bitcoins proof-of-work Bergbau. Jede Bridge-Zone validator würde einen Tendermint-betriebenen Betrieb betreiben blockchain mit einer speziellen ABCI Bridge-App, aber auch einem Vollknoten von der „Ursprung“ blockchain. Wenn neue Blöcke am Ursprung, der Brückenzone, abgebaut werden validators werden sich durch Unterzeichnung auf festgeschriebene Blöcke einigen und Teilen ihrer jeweiligen lokalen Sicht auf den Ursprungsort blockchain Tipp. Wenn eine Bridge-Zone die Zahlung am Ursprungsort erhält (und Es wurde vereinbart, dass in dem Fall genügend Bestätigungen gesehen wurden einer PoW-Kette wie Ethereum oder Bitcoin), ein entsprechender Mit diesem Guthaben wird ein Konto in der Bridge-Zone erstellt. Im Fall von Ethereum kann die Bridge-Zone dasselbe teilen validator-set als Cosmos Hub. Auf der Seite Ethereum (die Ursprung) würde ein Brückenvertrag es Ether-Inhabern ermöglichen, Ether zu senden an die Bridge-Zone senden, indem Sie es an den Bridge-Vertrag senden Ethereum. Sobald Ether vom Brückenvertrag empfangen wird, wird der Ether kann nicht zurückgezogen werden, es sei denn, es liegt ein entsprechendes IBC-Paket vor durch den Brückenvertrag von der Brückenzone erhalten. Die Bridge-Contract verfolgt den validator-Satz der Bridge-Zone, der kann mit dem validator-Set des Hubs Cosmos identisch sein. Im Fall von Bitcoin ist das Konzept ähnlich, außer dass statt ein einzelner Bridge-Vertrag, jeder UTXO würde von a gesteuert werden Schwellenwert-Multisignatur-P2SH-Pubscript. Aufgrund der Einschränkungen von Im P2SH-System können die Unterzeichner nicht mit dem Cosmos identisch sein. Hub validator-set.Ether auf der Bridge-Zone („bridged-ether“) kann übertragen werden und vom Hub entfernt und später mit einer Transaktion zerstört werden sendet es an eine bestimmte Auszahlungsadresse unter Ethereum. Ein IBC Paket, das beweist, dass die Transaktion in der Bridge-Zone stattgefunden hat kann an den Bridge-Vertrag Ethereum gesendet werden, um den Ether zuzulassen zurückgezogen werden. Im Fall von Bitcoin reicht das eingeschränkte Skriptsystem aus Es ist schwierig, den Münztransfermechanismus IBC nachzubilden. Jeder UTXO verfügt über ein eigenes unabhängiges Pubscript, daher muss jedes UTXO eines sein wird auf ein neues UTXO migriert, wenn sich der Satz ändert Bitcoin Treuhandunterzeichner. Eine Lösung besteht darin, zu komprimieren und Dekomprimieren Sie den UTXO-Satz nach Bedarf, um die Gesamtzahl beizubehalten von UTXOs ausgefallen. Das Risiko eines solchen Überbrückungsvertrags besteht in einem betrügerischen validator-Set. ≥⅓ Die byzantinische Stimmmacht könnte eine Abspaltung verursachen und Ether abziehen vom Bridge-Vertrag auf Ethereum, während der Bridgedether auf der Bridge-Zone bleibt. Schlimmer noch, >⅔ byzantinische Stimmmacht kann Stehlen Sie Ether direkt von denen, die ihn an den Brückenvertrag gesendet haben durch Abweichung von der ursprünglichen Brückenlogik der Brückenzone. Es ist möglich, diese Probleme durch die Gestaltung der Brücke zu lösen völlig verantwortlich. Zum Beispiel alle IBC-Pakete vom Hub und Der Ursprung erfordert möglicherweise eine Bestätigung durch die Bridge-Zone in so dass alle Zustandsübergänge der Bridge-Zone möglich sind effizient herausgefordert und bestätigt, entweder vom Hub oder vom Ursprung Brückenvertrag. Der Hub und der Ursprung sollten es den Bridgezone-validators ermöglichen, Sicherheiten zu hinterlegen, und token-Transfers aus der Bridgezone Der Brückenvertrag sollte verzögert werden (und die Aufhebung der Sicherheiten). ausreichend lange Zeit), um etwaige Herausforderungen zu berücksichtigen unabhängige Wirtschaftsprüfer. Wir verlassen das Design der Spezifikation und Die Implementierung dieses Systems ist zukunftsoffen Cosmos

Verbesserungsvorschlag, der von den Cosmos Hubs verabschiedet werden soll Governance-System. Die Lösung des Skalierungsproblems ist für Ethereum ein offenes Thema. Derzeit verarbeiten Ethereum Knoten jede einzelne Transaktion und Speichern Sie auch alle Zustände. Link. Da Tendermint Blöcke viel schneller festschreiben kann als die von Ethereum proof-of-work, EVM Zonen, die auf dem Tendermint-Konsens basieren und Der Betrieb mit Bridged-Ether kann eine höhere Leistung bieten Ethereum blockchains. Darüber hinaus sind der Cosmos Hub und IBC Die Paketmechanik lässt keine willkürliche Vertragslogik zu Da es sich um eine reine Ausführung handelt, kann es zur Koordinierung von token Bewegungen verwendet werden zwischen Ethereum Verträgen, die in verschiedenen Zonen laufen, Bereitstellung einer Grundlage für die token-zentrierte Ethereum-Skalierung über Scherben. Cosmos Zonen führen beliebige Anwendungslogik aus, die definiert ist der Beginn des Lebens der Zone und kann möglicherweise aktualisiert werden im Laufe der Zeit durch Governance. Diese Zexibilität ermöglicht Cosmos Zonen fungieren als Brücken zu anderen Kryptowährungen wie Ethereum oder Bitcoin, und es erlaubt auch Ableitungen dieser blockchains, Verwendung derselben Codebasis, aber mit einem anderen validator-Satz und Erstverteilung. Dies ermöglicht viele bestehende Kryptowährungen Frameworks wie die von Ethereum, Zerocash, Bitcoin, CryptoNote und so weiter, zur Verwendung mit Tendermint Core eine leistungsfähigere Konsens-Engine in einem gemeinsamen Netzwerk, Dies eröffnet enorme Möglichkeiten für die Interoperabilität zwischen allen Plattformen. Darüber hinaus als Multi-Asset blockchain, ein Single Die Transaktion kann mehrere Ein- und Ausgänge enthalten Die Eingabe kann ein beliebiger Typ token sein, sodass Cosmos direkt als dienen kann eine Plattform für den dezentralen Austausch, allerdings werden Aufträge angenommenüber andere Plattformen gematcht werden. Alternativ kann auch eine Zone dienen als verteilte fehlertolerante Börse (mit Orderbüchern), die kann eine deutliche Verbesserung gegenüber bestehenden zentralisierten Systemen darstellen Kryptowährungsbörsen, die im Laufe der Zeit dazu neigen, gehackt zu werden. Zonen können auch als blockchain-gestützte Versionen des Unternehmens dienen und Regierungssysteme, in denen Teile eines bestimmten Dienstes das sind werden traditionell von einer Organisation oder einer Gruppe von Organisationen betrieben werden stattdessen als ABCI-Anwendung in einer bestimmten Zone ausgeführt ermöglicht es ihm, die Sicherheit und Interoperabilität der Öffentlichkeit zu übernehmen Cosmos Netzwerk, ohne die Kontrolle über das zugrunde liegende zu opfern Dienst. Somit bietet Cosmos möglicherweise das Beste aus beiden Welten Organisationen, die die Technologie blockchain nutzen möchten, dies aber tun Bedenken Sie, die Kontrolle vollständig an einen verteilten Dritten abzugeben Party. Einige behaupten, dass die Konsistenzbegünstigung ein großes Problem darstellt Konsensalgorithmen wie Tendermint sind für jedes Netzwerk geeignet Partition, was dazu führt, dass es keine einzelne Partition mit >⅔ gibt Stimmrecht (z. B. ≥⅓ Weggang des Magazins) wird den Konsens insgesamt stoppen. Die Cosmos-Architektur kann durch die Verwendung dazu beitragen, dieses Problem zu mildern ein globaler Knotenpunkt mit regionalen autonomen Zonen, in denen Stimmrechte bestehen für jede Zone werden auf der Grundlage einer gemeinsamen geografischen Lage verteilt Region. Beispielsweise kann ein gemeinsames Paradigma für Einzelpersonen gelten Städte oder Regionen können ihre eigenen Zonen betreiben und gleichzeitig eine teilen gemeinsamer Hub (z. B. der Cosmos Hub), der kommunale Aktivitäten ermöglicht bleibt bestehen, falls der Hub aufgrund eines temporären Netzwerks anhält Partition. Beachten Sie, dass dies echte geologische, politische und Netzwerktopologische Merkmale, die bei der robusten Gestaltung berücksichtigt werden müssen föderierte fehlertolerante Systeme.

NameCoin war einer der ersten blockchains, der versuchte, das Problem zu lösen Namensauflösungsproblem durch Anpassung von Bitcoin blockchain. Leider gab es bei diesem Ansatz mehrere Probleme. Mit Namecoin können wir beispielsweise überprüfen, ob es @satoshi war irgendwann in der Vergangenheit mit einem bestimmten öffentlichen Schlüssel registriert, aber wir würden nicht wissen, ob der öffentliche Schlüssel inzwischen vorhanden war vor kurzem aktualisiert, es sei denn, wir laden alle Blöcke seit dem letzten herunter Aktualisierung dieses Namens. Dies ist auf die Beschränkung von Bitcoin zurückzuführen UTXO Transaktion Merkle-isierungsmodell, bei dem nur die Transaktionen (jedoch nicht der veränderliche Anwendungsstatus) sind Merkle-isiert in den Block-hash. Dadurch können wir die Existenz, aber nicht die Nichtexistenz späterer Aktualisierungen eines Namens nachweisen. Daher können wir es nicht wissen Sichern Sie sich den neuesten Wert eines Namens, ohne einem vollständigen Wert zu vertrauen oder dass durch den Download erhebliche Bandbreitenkosten entstehen das ganze blockchain. Selbst wenn ein Merkle-isierter Suchbaum in NameCoin implementiert würde, Seine Abhängigkeit von proof-of-work erleichtert die Überprüfung des Clients problematisch. Light-Kunden müssen eine vollständige Kopie davon herunterladen Header für alle Blöcke im gesamten blockchain (oder zumindest alle Header seit der letzten Aktualisierung eines Namens). Dies bedeutet, dass die Der Bandbreitenbedarf skaliert linear mit der Zeit [21]. Darüber hinaus sind Namensänderungen an einem proof-of-work blockchain erfordert das Warten auf zusätzliche Bestätigungsblöcke proof-of-work, Dies kann auf Bitcoin bis zu einer Stunde dauern. Bei Tendermint benötigen wir lediglich den aktuellsten Block: hash unterzeichnet von einem Quorum von validators (nach Stimmstärke) und einem Merkle Nachweis auf den aktuellen Wert, der dem Namen zugeordnet ist. Das macht es möglich, einen prägnanten, schnellen und sicheren Light-Client zu haben Überprüfung von Namenswerten. In Cosmos können wir dieses Konzept aufgreifen und weiter ausbauen. Jeder Die Namensregistrierungszone in Cosmos kann einen zugehörigen Toplevel-Domain-Namen (TLD) wie „.com“ oder „.org“ haben, und jeder Name-

Die Registrierungszone kann über eine eigene Verwaltung und Registrierung verfügen Regeln.

Quản trị và Kinh tế

Mặc dù Trung tâm Cosmos là sổ cái phân phối nhiều tài sản, nhưng có một người bản địa đặc biệt token được gọi là nguyên tử. Nguyên tử là staking duy nhất token của Trung tâm Cosmos. Nguyên tử là một giấy phép cho người nắm giữ bỏ phiếu, xác thực hoặc ủy quyền cho validators khác. Giống như của Ethereum ether, nguyên tử cũng có thể được sử dụng để thanh toán phí giao dịch cho giảm thiểu thư rác. Các nguyên tử bổ sung và giao dịch khối phí được thưởng cho validator và người được ủy quyền validator giây. Giao dịch  BurnAtomTx  có thể được sử dụng để khôi phục mọi số lượng tương ứng token từ nhóm dự trữ. Sự phân bổ ban đầu của nguyên tử tokens và validators trên Genesis sẽ đến tay các nhà tài trợ của Cosmos Người gây quỹ (75%), nhà tài trợ chính (5%), Cosmos Network Foundation (10%) và ALL IN BITS, Inc (10%). Từ khi hình thành trở đi, 1/3 tổng số nguyên tử sẽ được khen thưởng cho validator ngoại quan và người được ủy quyền hàng năm. Xem Kế hoạch Cosmos để biết thêm chi tiết. Không giống như Bitcoin hoặc proof-of-work blockchain khác, Tendermint blockchain trở nên chậm hơn với nhiều validator giây hơn do tăng sự phức tạp trong giao tiếp. May mắn thay, chúng tôi có thể hỗ trợ đủ validators để tạo nên sự phân phối mạnh mẽ trên toàn cầu blockchain với thời gian xác nhận giao dịch rất nhanh và băng thông,

lưu trữ và khả năng tính toán song song tăng lên, chúng ta sẽ có thể để hỗ trợ thêm validators trong tương lai. Vào ngày khởi nguồn, số lượng validator tối đa sẽ được đặt thành 100, và con số này sẽ tăng với tốc độ 13% trong 10 năm, và giải quyết ở mức 300 validator giây. Những người nắm giữ Atom chưa có thể trở thành validators bằng cách ký và gửi giao dịch  BondTx. Số lượng của các nguyên tử được cung cấp làm tài sản thế chấp phải khác không. Bất cứ ai cũng có thể trở thành a validator bất cứ lúc nào, ngoại trừ khi kích thước của dòng điện Bộ validator lớn hơn số lượng tối đa validator giây được phép. Trong trường hợp đó, giao dịch chỉ có hiệu lực nếu số tiền nguyên tử lớn hơn số lượng nguyên tử hữu hiệu được giữ bởi nhỏ nhất validator, trong đó các nguyên tử hiệu quả bao gồm các nguyên tử được ủy quyền. Khi validator mới thay thế validator hiện có theo cách như vậy, validator hiện có sẽ không hoạt động và tất cả các nguyên tử và các nguyên tử được ủy quyền đi vào trạng thái không liên kết. Phải có một số hình phạt áp dụng đối với validator đối với bất kỳ cố ý hoặc vô ý đi chệch khỏi mức bị xử phạt giao thức. Một số bằng chứng được chấp nhận ngay lập tức, chẳng hạn như một ký kép ở cùng độ cao và hình tròn hoặc vi phạm Năm 0: 100  Năm 1: 113  Năm 2: 127  Năm 3: 144  Năm 4: 163  Năm 5: 184  Năm 6: 208  Năm 7: 235  Năm 8: 265  Năm 9: 300  Năm 10: 300  ...

“prevote-the-lock” (một quy tắc của giao thức đồng thuận Tendermint). Bằng chứng như vậy sẽ khiến validator mất đi vị thế tốt và các nguyên tử liên kết của nó cũng như tỷ lệ tokens trong quỹ dự trữ – được gọi chung là “cổ phần” của nó – sẽ bị cắt giảm. Đôi khi, validator sẽ không khả dụng do điều kiện khu vực gián đoạn mạng, mất điện hoặc các lý do khác. Nếu, bất cứ lúc nào điểm trong các khối  ValidatorTimeoutWindow  trước đây, validator's phiếu cam kết không được bao gồm trong blockchain nhiều hơn  ValidatorTimeoutMaxAbsent  lần, validator đó sẽ trở thành không hoạt động và mất  ValidatorTimeoutPenalty  (MẶC ĐỊNH 1%) trong tổng số cổ phần. Một số hành vi “có hại” không tạo ra sự khác biệt rõ ràng bằng chứng trên blockchain. Trong những trường hợp này, validator có thể phối hợp ngoài băng để buộc thời gian chờ của những kẻ độc hại này validators, nếu có sự đồng thuận của đa số. Trong trường hợp Trung tâm Cosmos dừng do liên minh ≥⅓ quyền biểu quyết sẽ thuộc về zine hoặc trong trường hợp liên minh ≥⅓ quyền biểu quyết kiểm duyệt bằng chứng về hành vi độc hại từ vào blockchain, trung tâm phải khôi phục bằng hard-fork đề xuất tái tổ chức. (Liên kết đến “Các cuộc tấn công phân nhánh và kiểm duyệt”). Cosmos Hub validator có thể chấp nhận bất kỳ loại token hoặc kết hợp nào các loại phí để xử lý một giao dịch. Mỗi validator có thể chủ quan đặt ra bất kỳ tỷ giá hối đoái nào nó muốn và chọn bất kỳ giao dịch nào họ muốn, miễn là  BlockGasLimit  là không vượt quá. Các khoản phí thu được, trừ đi các khoản thuế được quy định dưới đây, được phân phối lại cho các bên liên quan theo tỷ lệ các nguyên tử liên kết của chúng, mỗi  ValidatorPayoutPeriod  (MẶC ĐỊNH 1 giờ).Trong số phí giao dịch được thu,  ReserveTax  (MẶC ĐỊNH 2%) sẽ đi về phía nhóm dự trữ để tăng nhóm dự trữ và tăng tính bảo mật và giá trị của mạng Cosmos. Những cái này nguồn vốn cũng có thể được phân bổ theo các quyết định do hệ thống quản lý thực hiện. Người sở hữu Atom ủy quyền quyền biểu quyết của họ cho validators khác trả hoa hồng cho người được ủy quyền validator. Ủy ban có thể được đặt bởi mỗi validator. Tính bảo mật của Cosmos Hub là một chức năng bảo mật của validator cơ bản và sự lựa chọn ủy quyền của người được ủy quyền. Để khuyến khích việc phát hiện và báo cáo sớm các phát hiện các lỗ hổng bảo mật, Trung tâm Cosmos khuyến khích tin tặc xuất bản khai thác thành công thông qua giao dịch  ReportHackTx  có nội dung: “Điều này validator đã bị hack. Vui lòng gửi tiền thưởng đến địa chỉ này”. Khi việc khai thác như vậy, validator và người ủy quyền sẽ không hoạt động,  HackPunishmentRatio  (mặc định 5%) nguyên tử của mọi người sẽ nhận được bị chém và  HackRewardRatio  (mặc định 5%) nguyên tử của mọi người sẽ nhận được phần thưởng theo địa chỉ tiền thưởng của hacker. validator phải phục hồi các nguyên tử còn lại bằng cách sử dụng khóa dự phòng của chúng. Để ngăn chặn tính năng này bị lạm dụng để chuyển các nguyên tử chưa được đầu tư, phần nguyên tử được giao so với các nguyên tử chưa được đầu tư của validators và người được ủy quyền trước và sau  ReportHackTx  sẽ vẫn giữ nguyên và tiền thưởng của hacker sẽ bao gồm một số nguyên tử chưa đầu tư, nếu có. Trung tâm Cosmos được vận hành bởi một tổ chức phân phối đòi hỏi phải có cơ chế quản lý chặt chẽ để điều phối các thay đổi khác nhau đối với blockchain, chẳng hạn như biến

các thông số của hệ thống, cũng như nâng cấp phần mềm và sửa đổi hiến pháp. Tất cả validator đều có trách nhiệm bỏ phiếu cho tất cả đề xuất. Không thể bỏ phiếu cho một đề xuất một cách kịp thời sẽ dẫn đến validator bị vô hiệu hóa tự động trong một khoảng thời gian được gọi là  Vắng mặtThời gian phạt  (MẶC ĐỊNH 1 tuần). Người được ủy quyền tự động kế thừa phiếu bầu của người được ủy quyền validator. Phiếu bầu này có thể được ghi đè bằng tay. nguyên tử không liên kết không nhận được phiếu bầu. Mỗi đề xuất yêu cầu một khoản tiền gửi là  Tiền gửi đề xuất tối thiểu  tokens, có thể là sự kết hợp của một hoặc nhiều tokens trong đó có nguyên tử. Đối với mỗi đề xuất, cử tri có thể bỏ phiếu để thông qua tiền đặt cọc. Nếu hơn một nửa số cử tri chọn tham gia tiền gửi (ví dụ: vì đề xuất là thư rác), khoản tiền gửi sẽ chuyển đến nguồn dự trữ, ngoại trừ bất kỳ nguyên tử nào bị đốt cháy. Đối với mỗi đề xuất, cử tri có thể bỏ phiếu với các phương án sau: vâng YeaWithForce không NayVới Lực Lượng kiêng Đa số phiếu thuận hoặc YeaWithForce (hoặc Không hoặc Cần có phiếu bầu NayWithForce) để đề xuất được quyết định là được thông qua (hoặc quyết định là thất bại), nhưng 1/3+ có thể phủ quyết đa số quyết định bằng cách bỏ phiếu "có hiệu lực". Khi đa số tuyệt đối bị phủ quyết, mọi người đều bị trừng phạt bằng cách thua  VetoPenaltyFeeBlocks  (MẶC ĐỊNH số khối có giá trị trong 1 ngày) phí (trừ thuế sẽ không bị ảnh hưởng) và bên phủ quyết đa số

quyết định sẽ bị phạt bổ sung bằng việc mất  VetoPenaltyAtoms  (MẶC ĐỊNH 0,1%) số nguyên tử của nó. Bất kỳ tham số nào được mô tả ở đây đều có thể được thay đổi bằng chuyển  Đề xuất thay đổi thông số . Các nguyên tử có thể được sản xuất và dự trữ quỹ dành cho thông qua  Đề xuất tiền thưởng . Tất cả các đề xuất khác, chẳng hạn như đề xuất nâng cấp giao thức, sẽ được điều phối thông qua  Đề xuất văn bản  chung. Xem Kế hoạch. Đã có nhiều đổi mới trong blockchain sự đồng thuận và khả năng mở rộng trong vài năm qua. Phần này cung cấp một bản tóm tắt khảo sát một số lựa chọn quan trọng. Sự đồng thuận khi có sự hiện diện của những người tham gia độc hại là một vấn đề bắt đầu từ đầu những năm 1980, khi Leslie Lamport đặt ra cụm từ “Lỗi Byzantine” để chỉ hành vi xử lý tùy ý đi chệch khỏi hành vi dự định, trái ngược với “lỗi sự cố”, trong đó một quá trình chỉ đơn giản là gặp sự cố. Các giải pháp ban đầu được phát hiện đối với các mạng đồng bộ có giới hạn trênđộ trễ của tin nhắn, mặc dù việc sử dụng thực tế bị giới hạn ở mức cao môi trường được kiểm soát như bộ điều khiển máy bay và trung tâm dữ liệu được đồng bộ hóa thông qua đồng hồ nguyên tử. Mãi cho đến khi vào cuối những năm 90, Dung sai lỗi Byzantine thực tế (PBFT) [11] là được giới thiệu như một sự đồng thuận đồng bộ một phần hiệu quả thuật toán có thể chịu được tới ⅓ quy trình hoạt động tùy ý. PBFT đã trở thành thuật toán tiêu chuẩn, tạo ra nhiều thuật toán các biến thể, bao gồm cả biến thể gần đây nhất do IBM tạo ra như một phần của đóng góp của họ cho Hyperledger. Lợi ích chính của sự đồng thuận của Tendermint đối với PBFT là Tendermint có cấu trúc cơ bản được cải tiến và đơn giản hóa, một số trong đó là kết quả của việc áp dụng mô hình blockchain. Các khối Tendermint phải được thực hiện theo thứ tự, điều này ngăn cản độ phức tạp và chi phí liên lạc liên quan đến PBFT lượt xem-thay đổi. Trong Cosmos và nhiều loại tiền điện tử, không có cần cho phép khối N+i trong đó i >= 1 được cam kết, khi khối N bản thân nó vẫn chưa cam kết. Nếu băng thông là nguyên nhân khiến khối N chưa cam kết trong vùng Cosmos thì việc sử dụng sẽ không có ích gì phiếu chia sẻ băng thông cho khối N+i. Nếu một phân vùng mạng hoặc nút ofzine là lý do tại sao khối N chưa được cam kết, thì N+i dù sao cũng sẽ không cam kết. Ngoài ra, việc gộp các giao dịch thành các khối cho phép Merkle-hashing thường xuyên của trạng thái ứng dụng, thay vì các bản tóm tắt định kỳ như với sơ đồ điểm kiểm tra của PBFT. Điều này cho phép để có các cam kết giao dịch có thể chứng minh nhanh hơn dành cho khách hàng nhẹ và nhanh hơn liên lạc giữablockchain. Tendermint Core cũng bao gồm nhiều tính năng và tối ưu hóa vượt xa những gì được chỉ định trong PBFT. Ví dụ, các khối do validators đề xuất được chia thành các phần, được Merkle hóa, và buôn chuyện theo cách giúp cải thiện việc phát sóng hiệu suất (xem LibSwift [19] để biết cảm hứng). Ngoài ra, bạc hà Core không đưa ra bất kỳ giả định nào về điểm-điểm

khả năng kết nối và hoạt động miễn là mạng P2P kết nối yếu. Mặc dù không phải là năm đầu tiên triển khai proof-of-stake (PoS), BitShares1.0 [12] đóng góp đáng kể vào việc nghiên cứu và áp dụng PoS blockchains, đặc biệt là những PoS được ủy quyền. trong BitShares, người nắm giữ cổ phần bầu ra “nhân chứng”, chịu trách nhiệm ra lệnh và thực hiện các giao dịch, và các "đại biểu" chịu trách nhiệm về phối hợp cập nhật phần mềm và thay đổi thông số. BitShares2.0 nhằm mục đích đạt được hiệu suất cao (100k tx/s, 1s độ trễ) trong điều kiện lý tưởng, với mỗi khối được ký bởi một người ký và thời gian thực hiện giao dịch mất nhiều thời gian hơn một chút so với khoảng chặn. Một đặc tả kinh điển vẫn đang được phát triển. Các bên liên quan có thể loại bỏ hoặc thay thế các nhân chứng có hành vi sai trái hàng ngày, nhưng không có tài sản thế chấp đáng kể của nhân chứng hoặc các đại biểu giống như Tendermint PoS bị chém vào trường hợp tấn công chi tiêu gấp đôi thành công. Dựa trên cách tiếp cận do Ripple tiên phong, Stellar [13] đã đưa ra một mô hình Thỏa thuận Byzantine Liên bang trong đó các quy trình tham gia vào sự đồng thuận không cấu thành một yxed và trên toàn cầu tập đã biết. Đúng hơn, mỗi nút quy trình quản lý một hoặc nhiều “các lát cắt đại biểu”, mỗi lát tạo thành một tập hợp các quy trình đáng tin cậy. A “quorum” trong Stellar được coi là tập hợp các nút chứa tại ít nhất một lát đại biểu cho mỗi nút trong tập hợp, sao cho thỏa thuận có thể đạt được. Tính bảo mật của cơ chế Stellar dựa trên giả định rằng giao điểm của hai đại biểu bất kỳ không trống, trong khi tính khả dụng của một nút yêu cầu ít nhất một trong các lát cắt đại biểu của nó để bao gồm toàn bộ các nút chính xác, tạo ra sự cân bằng giữa sử dụng các lát đại biểu lớn hoặc nhỏ có thể khó cân bằng mà không áp đặt những giả định quan trọng về niềm tin. Cuối cùng,các nút bằng cách nào đó phải chọn các lát đại biểu đầy đủ để có có đủ khả năng chịu lỗi (hoặc bất kỳ "nút nguyên vẹn" nào, trong đó phần lớn kết quả của bài báo phụ thuộc vào) và duy nhất cung cấp chiến lược để đảm bảo sự kết hợp như vậy được phân cấp và tương tự như Giao thức cổng biên (BGP), được sử dụng bởi các ISP hàng đầu trên internet để thiết lập các bảng định tuyến toàn cầu và bởi được trình duyệt sử dụng để quản lý chứng chỉ TLS; cả hai đều khét tiếng vì sự bất an của họ. Những lời chỉ trích trong bài báo Stellar về hệ thống bằng chứng cổ phần dựa trên Tendermint được giảm nhẹ nhờ chiến lược token được mô tả ở đây, trong đó một loại token mới được gọi là nguyên tử được phát hành thể hiện các yêu cầu đối với các phần phí và phần thưởng trong tương lai. các thì lợi thế của proof-of-stake dựa trên Tendermint là tương đối của nó đơn giản, trong khi vẫn cung cấp đủ mức độ bảo mật và có thể chứng minh được sự đảm bảo. BitcoinNG là cải tiến được đề xuất cho Bitcoin sẽ cho phép dành cho các dạng khả năng mở rộng theo chiều dọc, chẳng hạn như tăng kích thước khối, không có những hậu quả kinh tế tiêu cực thường liên quan đến với sự thay đổi như vậy, chẳng hạn như tác động lớn không tương xứng trên các thợ mỏ nhỏ. Sự cải thiện này đạt được bằng cách tách bầu cử lãnh đạo từ phát sóng giao dịch: lãnh đạo là người đầu tiên được bầu chọn bởi proof-of-work trong “khối vi mô” và sau đó có thể các giao dịch quảng bá sẽ được cam kết cho đến khi có một khối vi mô mới được tìm thấy. Điều này làm giảm các yêu cầu về băng thông cần thiết để giành chiến thắng trong cuộc đua PoW, cho phép các thợ mỏ nhỏ cạnh tranh công bằng hơn, và cho phép các giao dịch được thực hiện thường xuyên hơn bởi thợ mỏ cuối cùng tìm được một khối vi mô. Casper [16] là thuật toán đồng thuận proof-of-stake được đề xuất cho Ethereum. Phương thức hoạt động chính của nó là “đồng thuận bằng cách đặt cược”. Bởi để validator đặt cược lặp đi lặp lại vào khối mà họ tin rằng sẽ

cam kết tham gia blockchain dựa trên các cược khác mà họ đã thấy cho đến nay, cuối cùng thì tính đồng bộ có thể đạt được. liên kết. Đây là một lĩnh vực nghiên cứu tích cực của nhóm Casper. các thách thức là xây dựng một cơ chế cá cược có thể đã được chứng minh là một chiến lược ổn định về mặt tiến hóa. Lợi ích chính của Casper so với Tendermint có thể cung cấp “tính khả dụng quá nhất quán” – sự đồng thuận không yêu cầu >⅔ số đại biểu quyền biểu quyết - có lẽ phải trả giá bằng tốc độ cam kết hoặc độ phức tạp thực hiện. Giao thức Interledger [14] không hẳn là một giải pháp có khả năng mở rộng. Nó cung cấp sự tương tác đặc biệt giữa các sổ cái khác nhau hệ thống thông qua mạng lưới quan hệ song phương được kết nối lỏng lẻo. Giống như Lightning Network, mục đích của ILP là tạo điều kiện thuận lợi thanh toán, nhưng nó đặc biệt tập trung vào các khoản thanh toán khác nhau các loại sổ cái và mở rộng cơ chế giao dịch nguyên tử sang bao gồm không chỉ hash-khóa mà còn bao gồm số đại biểu công chứng viên (được gọi là Giao thức vận chuyển nguyên tử). Cơ chế sau cho thực thi tính nguyên tử trong các giao dịch giữa các sổ cái tương tự như Cơ chế SPV máy khách nhẹ của Tendermint, do đó minh họa về sự khác biệt giữa ILP và Cosmos/IBC được đảm bảo và được cung cấp dưới đây. 1. Công chứng viên kết nối trong ILP không hỗ trợ tư cách thành viên thay đổi và không cho phép trọng số linh hoạt giữa công chứng viên. Mặt khác, IBC được thiết kế đặc biệt cho blockchains, trong đó validators có thể có trọng số khác nhau và nơi tư cách thành viên có thể thay đổi trong quá trình blockchain. 2. Giống như trong Lightning Network, người nhận thanh toán trong ILP phải trực tuyến để gửi xác nhận lại cho người gửi. trong mộttoken chuyển qua IBC, bộ validator của máy thu blockchain chịu trách nhiệm cung cấp xác nhận chứ không phải người dùng nhận. 3. Điểm khác biệt nổi bật nhất là đầu nối của ILP không chịu trách nhiệm hoặc giữ thẩm quyền về các khoản thanh toán, trong khi ở Cosmos, validator của trung tâm là thẩm quyền của trạng thái IBC token chuyển giao cũng như thẩm quyền của số lượng token được giữ bởi mỗi vùng (nhưng không phải số lượng token được nắm giữ bởi mỗi tài khoản trong một vùng). Đây là sự đổi mới cơ bản cho phép đảm bảo tính bất đối xứng chuyển token từ vùng này sang vùng khác; tương tự như ILP trình kết nối trong Cosmos là một kết nối ổn định và an toàn tối đa sổ cái blockchain, trung tâm Cosmos. 4. Các khoản thanh toán liên sổ cái trong ILP cần được hỗ trợ bởi một sổ đặt hàng trao đổi, vì không có sự chuyển giao bất đối xứng của tiền từ sổ cái này sang sổ cái khác, chỉ chuyển giá trị hoặc tương đương trên thị trường. Chuỗi bên [15] là cơ chế được đề xuất để mở rộng quy mô Bitcoin mạng thông qua các blockchain thay thế được “chốt hai chiều” với Bitcoin blockchain. (Chốt hai chiều tương đương với bắc cầu. Trong Cosmos chúng tôi nói "bắc cầu" để phân biệt với định vị thị trường). Sidechains cho phép bitcoin di chuyển một cách hiệu quả từ Bitcoin blockchain vào sidechain và ngược lại, đồng thời cho phép thử nghiệm các tính năng mới trên sidechain. Như trong Cosmos Hub, sidechain và Bitcoin đóng vai trò là khách hàng nhẹ của lẫn nhau, sử dụng bằng chứng SPV để xác định khi nào các đồng xu sẽ được được chuyển sang sidechain và ngược lại. Tất nhiên, vì Bitcoin sử dụng proof-of-work, các chuỗi bên xoay quanh Bitcoin bị ảnh hưởng khỏi nhiều vấn đề và rủi ro của proof-of-work như một cơ chế đồng thuận Hơn nữa, đây là một người theo chủ nghĩa tối đa Bitcoin giải pháp vốn không hỗ trợ nhiều loại token và

cấu trúc liên kết mạng liên vùng như Cosmos. Điều đó nói lên rằng, cốt lõi cơ chế của chốt hai chiều về nguyên tắc giống như cơ chế đó được sử dụng bởi mạng Cosmos. Ethereum hiện đang nghiên cứu một số chiến lược khác nhau để phân chia trạng thái của Ethereum blockchain để giải quyết nhu cầu về khả năng mở rộng. Những nỗ lực này nhằm mục đích duy trì lớp trừu tượng được cung cấp bởi Máy ảo Ethereum hiện tại trên không gian trạng thái được chia sẻ. Nhiều nỗ lực nghiên cứu đang đang được tiến hành vào thời điểm này. [18][22] Cosmos và Ethereum 2.0 Màu hoa cà [22] có các mục tiêu thiết kế khác nhau. Cosmos đặc biệt là khoảng tokens. Mauve là về việc mở rộng quy mô tính toán tổng quát. Cosmos không bị ràng buộc với EVM, do đó, ngay cả các máy ảo khác nhau cũng có thể tương tác. Cosmos cho phép người tạo vùng xác định ai xác thực khu. Bất kỳ ai cũng có thể bắt đầu một khu vực mới trong Cosmos (trừ khi quản trị quyết định khác). Hub cách ly các lỗi vùng nên các bất biến token toàn cầu được được bảo tồn. Mạng Lightning là mạng chuyển giao token được đề xuất hoạt động ở lớp phía trên Bitcoin blockchain (và lớp công cộng khác blockchains), cho phép cải thiện nhiều cấp độ lớn trong thông lượng giao dịch bằng cách di chuyển phần lớn các giao dịch ngoài sổ cái đồng thuận vào cái gọi là “kênh thanh toán”.Điều này được thực hiện nhờ các tập lệnh tiền điện tử trên chuỗi, cho phép các bên ký kết các hợp đồng nhà nước song phương trong đó trạng thái có thể được cập nhật bằng cách chia sẻ chữ ký số và hợp đồng có thể bị đóng bằng cách xuất bản bằng chứng đồng thời lên blockchain, một cơ chế lần đầu tiên được phổ biến rộng rãi nhờ sự hoán đổi nguyên tử xuyên chuỗi. Bởi mở kênh thanh toán với nhiều bên, người tham gia Lightning Network có thể trở thành điểm tập trung cho việc định tuyến thanh toán của người khác, dẫn đến một kênh thanh toán được kết nối đầy đủ mạng, với chi phí vốn bị ràng buộc trên các kênh thanh toán. Mặc dù Lightning Network cũng có thể dễ dàng mở rộng khắp nhiều blockchain độc lập để cho phép chuyển giá trị thông qua thị trường trao đổi, nó không thể được sử dụng để chuyển token từ blockchain này sang blockchain khác. Lợi ích chính của mạng Cosmos được mô tả ở đây là kích hoạt trực tiếp như vậy token chuyển khoản. Điều đó nói lên rằng, chúng tôi kỳ vọng các kênh thanh toán và Lightning Network sẽ được áp dụng rộng rãi cùng với token cơ chế chuyển giao, vì lý do tiết kiệm chi phí và bảo mật. Segregated Witness là một liên kết đề xuất cải tiến Bitcoin nhằm mục đích tăng thông lượng giao dịch trên mỗi khối lên gấp 2 lần hoặc 3 lần, đồng thời làm cho việc đồng bộ hóa khối nhanh hơn cho các nút mới. Điểm sáng chói của giải pháp này nằm ở cách nó hoạt động trong hạn chế của giao thức hiện tại của Bitcoin và cho phép phân nhánh mềm nâng cấp (tức là các máy khách có phiên bản phần mềm cũ hơn sẽ tiếp tục hoạt động sau khi nâng cấp). Tendermint, là một sản phẩm mới giao thức, không có hạn chế về thiết kế, vì vậy nó có tỷ lệ khác những ưu tiên. Về cơ bản, Tendermint sử dụng thuật toán quay vòng BFT dựa trên chữ ký mật mã thay vì khai thác, một cách tầm thường cho phép chia tỷ lệ theo chiều ngang thông qua nhiều song song blockchains, trong khi các cam kết khối thường xuyên hơn, thường xuyên hơn cho phép cũng có thể chia tỷ lệ theo chiều dọc.

Governance und Wirtschaft

Während es sich beim Cosmos Hub um ein Multi-Asset-Distributed-Ledger handelt, gibt es eines ein besonderes natives token namens Atom. Atome sind die einzigen staking token des Hubs Cosmos. Atome sind eine Lizenz für den Inhaber abstimmen, bestätigen oder an andere validators delegieren. Wie die von Ethereum Ether, Atome können auch zur Bezahlung von Transaktionsgebühren verwendet werden Spam eindämmen. Zusätzliche Inzationsatome und Blocktransaktion Gebühren werden an validators und Delegierte vergütet, die an delegieren validators. Mit der  BurnAtomTx -Transaktion können alle Dateien wiederhergestellt werden anteiliger Betrag von tokens aus dem Reservepool. Die anfängliche Verteilung der Atome tokens und validators in Genesis geht an die Spender der Spendenaktion Cosmos (75 %), Hauptspender (5 %), Cosmos Network Foundation (10 %) und ALL IN BITS, Inc (10 %). Von der Entstehung an wird 1/3 der gesamten Atommenge vorhanden sein werden jedes Jahr an gebundene validators und Delegierte belohnt. Weitere Einzelheiten finden Sie im Plan Cosmos. Im Gegensatz zu Bitcoin oder anderen proof-of-work blockchains ist ein Tendermint blockchain wird aufgrund der Erhöhung mit mehr validators langsamer Kommunikationskomplexität. Glücklicherweise können wir genug unterstützen validators sorgen für eine robuste, global verteilte blockchain mit sehr schnellen Transaktionsbestätigungszeiten und als Bandbreite

Speicher- und parallele Rechenkapazitätserhöhungen werden wir in der Lage sein um in Zukunft weitere validators zu unterstützen. Am Genesis-Tag wird die maximale Anzahl von validators festgelegt 100, und diese Zahl wird 10 Jahre lang um 13 % steigen, und bei 300 validators abrechnen. Atominhaber, die es noch nicht sind, können validators werden Unterzeichnen und Senden einer BondTx-Transaktion. Die Menge an Als Sicherheit bereitgestellte Atome müssen ungleich Null sein. Jeder kann werden a validator jederzeit, außer wenn die Größe des Stroms Der Satz validator ist größer als die maximale Anzahl von validators erlaubt. In diesem Fall ist die Transaktion nur dann gültig, wenn der Betrag von Atome ist größer als die Menge der effektiven Atome, die von ihnen gehalten werden kleinster validator, wobei effektive Atome delegierte Atome umfassen. Wenn ein neuer validator einen vorhandenen validator auf diese Weise ersetzt, das bestehende validator wird inaktiv und alle Atome und Die delegierten Atome gehen in den nichtbindenden Zustand über. Für jeden muss den validators eine Strafe auferlegt werden absichtliches oder unbeabsichtigtes Abweichen vom Sanktionen Protokoll. Einige Beweismittel sind sofort zulässig, wie z Doppelschild auf gleicher Höhe und rund, oder ein Verstoß gegen Jahr 0: 100  Jahr 1: 113  Jahr 2: 127  Jahr 3: 144  Jahr 4: 163  Jahr 5: 184  Jahr 6: 208  Jahr 7: 235  Jahr 8: 265  Jahr 9: 300  Jahr 10: 300  ...

„prevote-the-lock“ (eine Regel des Tendermint-Konsensprotokolls). Solche Beweise führen dazu, dass die validator ihren guten Ruf verliert und seine gebundenen Atome sowie sein anteiliger Anteil an tokens in Der Reservepool – zusammenfassend als „Einsatz“ bezeichnet – wird gekürzt. Manchmal sind validators aus regionalen Gründen nicht verfügbar Netzwerkstörungen, Stromausfall oder andere Gründe. Wenn überhaupt Punkt in den vergangenen  ValidatorTimeoutWindow-Blöcken, ein validator Die Commit-Abstimmung ist nicht mehr im blockchain enthalten  ValidatorTimeoutMaxAbsent-Zeiten, die zu validator werden inaktiv und verlieren  ValidatorTimeoutPenalty  (STANDARD 1 %) davon Pfahl. Manches „böswillige“ Verhalten ist nicht offensichtlich erkennbar Beweise auf dem blockchain. In diesen Fällen können die validators Koordinieren Sie Out-of-Band, um das Timeout dieser bösartigen Angriffe zu erzwingen validators, wenn ein Konsens mit Supermehrheit besteht. In Situationen, in denen der Cosmos-Hub aufgrund einer Koalition von ≥⅓ anhält Stimmrechte gehen aus dem Magazin oder in Situationen, in denen eine ≥⅓ Koalition besteht der Stimmrechte zensieren Beweise für böswilliges Verhalten Bei Eingabe von blockchain muss der Hub mit einer Hard-Fork wiederhergestellt werden Reorg-Vorschlag. (Link zu „Forks und Zensurangriffe“). Cosmos Hub-validators können jeden token-Typ oder jede Kombination akzeptieren Arten wie Gebühren für die Abwicklung einer Transaktion. Jeder validator kann subjektiv den gewünschten Wechselkurs festlegen und wählen welche Transaktionen es auch immer möchte, solange das  BlockGasLimit  ist nicht überschritten. Die eingezogenen Gebühren, abzüglich etwaiger unten aufgeführter Steuern, werden anteilig an die gebundenen Anteilseigner umverteilt ihre gebundenen Atome, alle  ValidatorPayoutPeriod  (STANDARD 1 Stunde).Von den erhobenen Transaktionsgebühren wird  ReserveTax  (STANDARD 2 %) übernommen Gehen Sie zum Reservepool, um den Reservepool zu vergrößern und Erhöhen Sie die Sicherheit und den Wert des Cosmos-Netzwerks. Diese Mittel können auch entsprechend den Beschlüssen verteilt werden durch das Governance-System geschaffen. Atominhaber, die ihr Stimmrecht an andere validators delegieren zahlen Sie eine Provision an den Delegierten validator. Die Kommission kann von jedem validator festgelegt werden. Die Sicherheit des Cosmos Hubs hängt von der Sicherheit des ab zugrunde liegende validators und die Wahl der Delegation durch die Delegierenden. Um die Entdeckung und frühzeitige Meldung von Fundstücken zu fördern Schwachstellen ermutigt der Cosmos Hub Hacker zur Veröffentlichung erfolgreiche Exploits über eine  ReportHackTx -Transaktion, die besagt: „Dies validator wurde gehackt. Bitte senden Sie das Kopfgeld an diese Adresse.“ Auf Bei einem solchen Exploit werden validator und Delegatoren inaktiv.  HackPunishmentRatio  (Standard 5 %) aller Atome erhalten durchgestrichen und  HackRewardRatio  (Standard 5 %) aller Atome wird an die Kopfgeldadresse des Hackers belohnt. Der validator müssen die verbleibenden Atome mithilfe ihres Sicherungsschlüssels wiederherstellen. Um zu verhindern, dass diese Funktion zum Übertragen missbraucht wird nicht übertragene Atome, der Anteil der übertragenen gegenüber nicht übertragenen Atomen von validators und Delegatoren vor und nach dem  ReportHackTx willen bleiben gleich, und das Hacker-Kopfgeld wird einige davon umfassen nicht gebundene Atome, falls vorhanden. Der Cosmos Hub wird von einer verteilten Organisation betrieben Dafür ist ein gut durchdachter Governance-Mechanismus erforderlich Koordinieren Sie verschiedene Änderungen an blockchain, beispielsweise an der Variablen

Parameter des Systems sowie Software-Upgrades und Verfassungsänderungen. Alle validators sind für die Abstimmung über alle Vorschläge verantwortlich. Gelingt es nicht Eine rechtzeitige Abstimmung über einen Vorschlag führt zum validator automatisch für einen Zeitraum namens deaktiviert  AbsenteeismPenaltyPeriod  (STANDARD 1 Woche). Delegierte erben automatisch die Stimme des Delegierten validator. Diese Abstimmung kann manuell überschrieben werden. Ungebundene Atome keine Stimme bekommen. Für jedes Angebot ist eine Anzahlung in Höhe von „MinimumProposalDeposit“ erforderlich  tokens, die eine Kombination aus einem oder mehreren tokens sein können einschließlich Atome. Für jeden Vorschlag können die Wähler dafür stimmen die Anzahlung. Wenn sich mehr als die Hälfte der Wähler für die Annahme entscheiden Anzahlung (z. B. weil es sich bei dem Vorschlag um Spam handelte) geht die Anzahlung an der Reservepool, mit Ausnahme aller Atome, die verbrannt werden. Für jeden Vorschlag können die Wähler mit den folgenden Optionen abstimmen: Ja YeaWithForce Nein Nein, mit Kraft Enthalten Eine strikte Mehrheit der Ja- oder Ja-mit-Force-Stimmen (oder Nein-Stimmen) NeinMitForce-Stimmen) ist erforderlich, damit über den Vorschlag entschieden werden kann bestanden (oder als gescheitert entschieden), aber 1/3+ kann gegen die Mehrheit ein Veto einlegen Entscheidung durch Abstimmung „mit Gewalt“. Wenn eine strikte Mehrheit abgelehnt wird, Jeder wird durch den Verlust von VetoPenaltyFeeBlocks bestraft  (STANDARD: Blöcke im Wert von 1 Tag) im Wert von Gebühren (außer Steuern). (die nicht betroffen ist) und der Partei, die ihr Veto mehrheitlich eingelegt hat

Die Entscheidung wird zusätzlich mit dem Verlust von  VetoPenaltyAtoms bestraft  (STANDARD 0,1 %) seiner Atome. Jeder der hier definierten Parameter kann mit geändert werden Übergabe eines ParameterChangeProposal. Mit dem können Atome aktiviert und Reserve-Pool-Gelder ausgegeben werden Verabschiedung eines BountyProposal. Alle anderen Vorschläge, wie etwa ein Vorschlag zur Aktualisierung des Protokolls, wird über das generische  TextProposal  koordiniert. Siehe den Plan. Es gab viele Neuerungen im blockchain-Konsens und Skalierbarkeit in den letzten Jahren. Dieser Abschnitt bietet eine kurze Zusammenfassung Übersicht über eine ausgewählte Anzahl wichtiger. Ein Konsens in Anwesenheit böswilliger Teilnehmer ist ein Problem stammt aus den frühen 1980er Jahren, als Leslie Lamport das Wort prägte Der Ausdruck „byzantinischer Fehler“ bezieht sich auf willkürliches Prozessverhalten vom beabsichtigten Verhalten abweicht, im Gegensatz zu einem „Crash-Fehler“, wobei ein Prozess einfach abstürzt. Es wurden frühe Lösungen gefunden für synchrone Netzwerke, bei denen es eine Obergrenze gibtNachrichtenlatenz, obwohl der praktische Nutzen auf sehr begrenzt war kontrollierte Umgebungen wie Flugzeugsteuerungen und Rechenzentren über Atomuhren synchronisiert. Es dauerte bis zum Ende der 90er Jahre war die praktische byzantinische Fehlertoleranz (PBFT) [11] als effizienter, teilweise synchroner Konsens eingeführt Algorithmus, der bis zu ⅓ der Prozesse tolerieren kann willkürlich. PBFT wurde zum Standardalgorithmus und brachte viele hervor Variationen, darunter zuletzt eine, die von IBM im Rahmen von erstellt wurde ihr Beitrag zu Hyperledger. Der Hauptvorteil des Tendermint-Konsenses über PBFT ist Folgendes Tendermint hat eine verbesserte und vereinfachte Grundstruktur, Einige davon sind das Ergebnis der Übernahme des blockchain-Paradigmas. Tendermint-Blöcke müssen in der richtigen Reihenfolge festgeschrieben werden, wodurch das vermieden wird Komplexität und Kommunikationsaufwand im Zusammenhang mit PBFT Ansichtsänderungen. In Cosmos und vielen Kryptowährungen gibt es keine Es muss berücksichtigt werden, dass Block N+i mit i >= 1 festgeschrieben werden kann, wenn Block N selbst hat sich noch nicht verpflichtet. Wenn die Bandbreite der Grund für den Block N ist nicht in einer Cosmos-Zone festgeschrieben wurde, hilft die Verwendung nicht Bandbreitenteilungsstimmen für Blöcke N+i. Wenn eine Netzwerkpartition bzw ofzine-Knoten ist also der Grund, warum Block N nicht festgeschrieben wurde N+ich werde mich sowieso nicht festlegen. Darüber hinaus ermöglicht die Stapelung von Transaktionen in Blöcken Regelmäßige Merkle-hashing des Anwendungsstatus, anstatt periodische Digests wie beim Checkpointing-Schema von PBFT. Dies ermöglicht für schnellere und nachweisbare Transaktions-Commits für Light-Clients Kommunikation zwischen blockchain. Tendermint Core enthält außerdem viele Optimierungen und Funktionen die über das hinausgehen, was in PBFT angegeben ist. Zum Beispiel, Die von validators vorgeschlagenen Blöcke sind in Teile aufgeteilt, Merkle-isiert, und so geklatscht, dass die Übertragung verbessert wird Leistung (siehe LibSwift [19] als Inspiration). Auch Tendermint Core macht keine Annahmen über Punkt-zu-Punkt

Konnektivität und funktioniert so lange wie das P2P-Netzwerk schwach verbunden. BitShares1.0 [12] ist zwar nicht das erste Mal, dass proof-of-stake (PoS) bereitgestellt wird. hat wesentlich zur Forschung und Einführung von PoS beigetragen blockchains, insbesondere solche, die als „delegierte“ PoS bekannt sind. In Bei BitShares wählen die Stakeholder „Zeugen“, die für die Ordnung verantwortlich sind und Durchführung von Transaktionen sowie „Delegierte“, die dafür verantwortlich sind Koordinieren von Software-Updates und Parameteränderungen. BitShares2.0 zielt darauf ab, eine hohe Leistung zu erreichen (100.000 TX/s, 1 s). Latenz) unter idealen Bedingungen, wobei jeder Block von einem einzelnen signiert ist Unterzeichner und Transaktionsynalität dauern etwas länger als die Blockintervall. Eine kanonische Spezifizierung befindet sich noch in der Entwicklung. Stakeholder können sich ungebührlich benehmende Zeugen entfernen oder ersetzen täglich, aber es gibt keine nennenswerten Sicherheiten von Zeugen oder Delegatoren in Form von Tendermint PoS, die eingeschnitten werden der Fall eines erfolgreichen Double-Spend-Angriffs. Aufbauend auf einem von Ripple entwickelten Ansatz, Stellar [13] reyned a Modell des Föderierten Byzantinischen Abkommens, in dem die Prozesse stattfinden Die Teilnahme am Konsens stellt keine yxed und global dar bekannter Satz. Vielmehr kuratiert jeder Prozessknoten einen oder mehrere „Quorum-Slices“, die jeweils eine Reihe vertrauenswürdiger Prozesse darstellen. A „Quorum“ in Stellar ist eine Reihe von Knoten, die at enthalten mindestens ein Quorum-Slice für jeden Knoten im Satz, so dass eine Einigung erzielt werden kann. Die Sicherheit des Stellar-Mechanismus beruht auf der Annahme dass der Schnittpunkt zweier beliebiger Quoren nicht leer ist, während die Für die Verfügbarkeit eines Knotens ist mindestens einer seiner Quorum-Slices erforderlich bestehen vollständig aus korrekten Knoten, wodurch ein Kompromiss zwischen ihnen entsteht Verwendung großer oder kleiner Quorum-Slices, die möglicherweise schwer auszugleichen sind ohne wesentliche Annahmen über Vertrauen aufzuerlegen. Letztlich,Knoten müssen dafür irgendwie geeignete Quorum-Slices auswählen eine ausreichende Fehlertoleranz aufweisen (oder überhaupt irgendwelche „intakten Knoten“) Viele der Ergebnisse der Arbeit hängen davon ab) und das Einzige Die bereitgestellte Strategie zur Sicherstellung einer solchen Konfiguration ist hierarchisch und ähnelt dem Border Gateway Protocol (BGP), das von erstklassigen ISPs im Internet zum Erstellen globaler Routing-Tabellen verwendet wird die von Browsern zur Verwaltung von TLS-Zertifikaten verwendet wird; beide berüchtigt für ihre Unsicherheit. Die Kritik im Stellar-Papier an den Tendermint-basierten Proof-of-Stake-Systemen wird durch die beschriebene token-Strategie abgemildert Hier wird ein neuer Typ von token namens Atom ausgegeben stellen Ansprüche auf künftige Honorar- und Vergütungsanteile dar. Die Der Vorteil von Tendermint-basiertem proof-of-stake ist also sein Verwandter Einfachheit und bietet dennoch ausreichende und nachweisbare Sicherheit Garantien. BitcoinNG ist eine vorgeschlagene Verbesserung zu Bitcoin, die dies ermöglichen würde für Formen der vertikalen Skalierbarkeit, wie z. B. die Erhöhung der Blockgröße, ohne die typischen negativen wirtschaftlichen Folgen mit einer solchen Änderung, etwa den unverhältnismäßig großen Auswirkungen auf kleine Bergleute. Diese Verbesserung wird durch die Trennung erreicht Wahl des Anführers aus der Transaktionsübertragung: Anführer stehen an erster Stelle von proof-of-work in „Mikroblöcken“ gewählt und dann dazu in der Lage Broadcast-Transaktionen müssen bis zu einem neuen Mikroblock festgeschrieben werden gefunden wird. Dadurch werden die erforderlichen Bandbreitenanforderungen reduziert Gewinnen Sie das PoW-Rennen und ermöglichen Sie kleinen Bergleuten einen faireren Wettbewerb. und es ermöglicht, dass Transaktionen regelmäßiger durchgeführt werden können Letzter Miner, der einen Mikroblock gefunden hat. Casper [16] ist ein vorgeschlagener proof-of-stake Konsensalgorithmus für Ethereum. Seine Hauptbetriebsart ist „Konsens-by-Wette“. Von Lassen Sie validators iterativ darauf wetten, welcher Block ihrer Meinung nach erfolgreich sein wird

werden auf der Grundlage der anderen Wetten in den blockchain eingebunden Soweit sie es bisher gesehen haben, kann irgendwann Gleichheit erreicht werden. Link. Dies ist ein aktives Forschungsgebiet des Casper-Teams. Die Die Herausforderung besteht darin, einen Wettmechanismus zu konstruieren, der dies kann hat sich als evolutionär stabile Strategie erwiesen. Der Hauptvorteil von Casper bietet im Vergleich zu Tendermint möglicherweise „Verfügbarkeit“. Überkonsistenz“ – für den Konsens ist kein Quorum von >⅔ erforderlich Stimmmacht – vielleicht auf Kosten der Commit-Geschwindigkeit oder Komplexität der Implementierung. Das Interledger-Protokoll [14] ist nicht unbedingt eine Skalierbarkeitslösung. Es Bietet eine Ad-hoc-Interoperation zwischen verschiedenen Ledgern Systeme durch ein lose gekoppeltes bilaterales Beziehungsnetzwerk. Wie beim Lightning Network besteht der Zweck von ILP darin, zu erleichtern Zahlungen, aber es konzentriert sich speziell auf Zahlungen über unterschiedliche hinweg Ledger-Typen und erweitert den atomaren Transaktionsmechanismus auf umfassen nicht nur hash-Sperren, sondern auch ein Quorum von Notaren (genannt das Atomtransportprotokoll). Der letztere Mechanismus für Die Durchsetzung der Atomizität bei Transaktionen zwischen Hauptbüchern ähnelt Der Light-Client-SPV-Mechanismus von Tendermint, also eine Illustration davon Die Unterscheidung zwischen ILP und Cosmos/IBC ist gerechtfertigt und unten angegeben. 1. Die Notare eines Connectors in ILP unterstützen keine Mitgliedschaft Änderungen und erlauben keine flexible Gewichtung dazwischen Notare. Andererseits ist IBC speziell dafür konzipiert blockchains, wobei validators unterschiedliche Gewichte haben können, und wobei sich die Mitgliedschaft im Laufe des Jahres ändern kann blockchain. 2. Wie im Lightning Network der Zahlungsempfänger bei ILP muss online sein, um eine Bestätigung an den Absender zurückzusenden. In einemtoken Übertragung über IBC, den validator-Satz des Empfängers blockchain ist für die Bestätigung verantwortlich, nicht die empfangenden Benutzer. 3. Der auffälligste Unterschied besteht darin, dass dies bei den ILP-Anschlüssen nicht der Fall ist Verantwortlicher oder verantwortlicher Staat für Zahlungen, wohingegen in Cosmos die validators eines Hubs die Autorität von sind der Staat der IBC token Übertragungen sowie die Autorität der Anzahl der tokens, die von jeder Zone gehalten werden (jedoch nicht die Menge an tokens, die von jedem Konto innerhalb einer Zone gehalten werden). Das ist das grundlegende Innovation, die eine sichere Asymmetrischkeit ermöglicht Übertragung von tokens von Zone zu Zone; das Analogon zu ILPs Der Connector in Cosmos ist dauerhaft und maximal sicher blockchain Hauptbuch, der Cosmos Hub. 4. Die Inter-Ledger-Zahlungen in ILP müssen durch eine abgesichert sein Börsenorderbuch, da keine asymmetrische Übertragung erfolgt Münzen von einem Hauptbuch zum anderen, nur die Übertragung von Werten oder Marktäquivalente. Sidechains [15] sind ein vorgeschlagener Mechanismus zur Skalierung des Bitcoin Netzwerk über alternative blockchains, an die „zweiseitig gekoppelt“ ist die Bitcoin blockchain. (Zwei-Wege-Pegging entspricht Überbrückung. In Cosmos sagen wir „Bridging“, um es vom Marketpegging zu unterscheiden. Sidechains ermöglichen die effektive Bewegung von Bitcoins aus dem Bitcoin blockchain zur Sidechain und zurück und berücksichtigen Experimentieren mit neuen Funktionen auf der Sidechain. Wie in der Cosmos Hub, die Sidechain und Bitcoin dienen als Light-Clients von einander unter Verwendung von SPV-Proofs, um zu bestimmen, wann Münzen sein sollten auf die Sidechain und zurück übertragen. Natürlich, seit Bitcoin verwendet proof-of-work, Sidechains rund um Bitcoin leiden darunter von den vielen Problemen und Risiken von proof-of-work als Konsensmechanismus. Darüber hinaus ist dies ein Bitcoin-Maximalist Lösung, die eine Vielzahl von tokens und nicht nativ unterstützt

Interzonen-Netzwerktopologie wie Cosmos. Das heißt, der Kern Der Mechanismus des Zwei-Wege-Stifts ist im Prinzip derselbe im Netzwerk Cosmos beschäftigt. Ethereum erforscht derzeit verschiedene Strategien um den Zustand der zu adressierenden Ethereum blockchain zu teilen Skalierbarkeitsanforderungen. Ziel dieser Bemühungen ist die Aufrechterhaltung der Abstraktionsschicht, die von der aktuellen virtuellen Maschine Ethereum angeboten wird über den gemeinsamen Zustandsraum hinweg. Mehrere Forschungsanstrengungen sind derzeit im Gange. [18][22] Cosmos und Ethereum 2.0 Mauve [22] verfolgen unterschiedliche Designziele. Bei Cosmos geht es speziell um tokens. Bei Mauve geht es um Skalierung allgemeine Berechnung. Cosmos ist nicht an EVM gebunden, sodass dies auch für verschiedene VMs möglich ist zusammenarbeiten. Mit Cosmos kann der Zonenersteller bestimmen, wer die validiert Zone. Jeder kann eine neue Zone in Cosmos starten (es sei denn, Governance entscheidet anders). Der Hub isoliert Zonenausfälle, sodass globale token-Invarianten vorhanden sind konserviert. Das Lightning Network ist ein vorgeschlagenes token Übertragungsnetzwerk Betrieb auf einer Ebene über der Bitcoin blockchain (und anderen öffentlichen blockchains), was Verbesserungen um viele Größenordnungen ermöglicht im Transaktionsdurchsatz, indem der Großteil der Transaktionen verschoben wird außerhalb des Konsensbuchs in sogenannte „Zahlungskanäle“ übertragen.Möglich wird dies durch On-Chain-Kryptowährungsskripte, die Ermöglichen Sie den Parteien den Abschluss bilateraler Stateful-Verträge, bei denen die Der Status kann durch die gemeinsame Nutzung digitaler Signaturen und Verträge aktualisiert werden kann durch abschließende Veröffentlichung von Beweisen auf dem blockchain abgeschlossen werden, a Mechanismus, der erstmals durch kettenübergreifende Atomaustausche populär gemacht wurde. Von Eröffnung von Zahlungskanälen mit vielen Parteien, Teilnehmern an der Lightning Network kann zu Brennpunkten für das Routing werden Zahlungen anderer, was zu einem vollständig vernetzten Zahlungskanal führt Netzwerk, auf Kosten der Kapitalbindung an Zahlungskanäle. Das Lightning-Netzwerk kann sich jedoch auch problemlos über das gesamte Netzwerk erstrecken mehrere unabhängige blockchains, um die Wertübertragung zu ermöglichen Über einen Devisenmarkt kann es nicht asymmetrisch genutzt werden tokens von einem blockchain auf einen anderen übertragen. Der Hauptvorteil Der Zweck des hier beschriebenen Netzwerks Cosmos besteht darin, eine solche Direktübertragung zu ermöglichen token Überweisungen. Das heißt, wir erwarten Zahlungskanäle und das Lightning Network wird zusammen mit unserem weit verbreitet sein token-Übertragungsmechanismus aus Kosteneinsparungs- und Datenschutzgründen. Segregated Witness ist ein Link zu einem Bitcoin Verbesserungsvorschlag zielt darauf ab, den Transaktionsdurchsatz pro Block um das Zweifache oder Dreifache zu erhöhen. Gleichzeitig wird die Blocksynchronisierung für neue Knoten beschleunigt. Die Brillanz dieser Lösung liegt in der Art und Weise, wie sie innerhalb der funktioniert Einschränkungen des aktuellen Protokolls von Bitcoin und ermöglicht einen Soft-Fork Upgrade (d. h. Clients mit älteren Versionen der Software werden dies tun). nach dem Upgrade weiterhin funktionieren). Tendermint, ein neues Protokoll, unterliegt keinen Designbeschränkungen und weist daher eine andere Skalierung auf Prioritäten. Tendermint verwendet hauptsächlich einen BFT Round-Robin-Algorithmus basierend auf kryptografischen Signaturen statt Mining, was Ermöglicht trivialerweise eine horizontale Skalierung durch mehrere Parallelen blockchains, während regelmäßige, häufigere Block-Commits dies zulassen auch vertikale Skalierung.

Sự đồng thuận và chi tiết kỹ thuật

Một giao thức đồng thuận được thiết kế tốt sẽ cung cấp một số đảm bảo trong trường hợp vượt quá khả năng chịu đựng và sự đồng thuận không thành công. Điều này đặc biệt cần thiết trong nền kinh tế các hệ thống, nơi hành vi của Byzantine có thể có tác động tài chính đáng kể phần thưởng. Sự đảm bảo quan trọng nhất như vậy là một hình thức phân tách trách nhiệm, trong đó các quy trình tạo ra sự đồng thuận thất bại (tức là khiến các máy khách của giao thức chấp nhận các giá trị khác nhau - a nĩa) có thể bị xác định và trừng phạt theo quy định của giao thức, hoặc có thể là hệ thống pháp luật. Khi hệ thống pháp luật được không đáng tin cậy hoặc quá tốn kém để gọi, validators có thể buộc phải đặt cọc tiền bảo đảm để tham gia, và những tiền gửi có thể bị thu hồi hoặc bị cắt giảm khi có hành vi nguy hiểm đã phát hiện [10]. Lưu ý rằng điều này không giống như Bitcoin, trong đó việc phân nhánh là chuyện thường xuyên xảy ra do mạng không đồng bộ và tính chất xác suất của kết quả hash va chạm một phần. Vì trong nhiều trường hợp một fork độc hại có thể không thể phân biệt được với ngã ba do không đồng bộ, Bitcoin không thể thực hiện một cách đáng tin cậy trách nhiệm giải trình của ngã ba, ngoại trừ ngầm định chi phí cơ hội mà thợ mỏ phải trả khi khai thác một khối mồ côi. Chúng tôi gọi giai đoạn bỏ phiếu là PreVote và PreCommit. Một cuộc bỏ phiếu có thể dành cho một khối cụ thể hoặc cho Nil. Chúng tôi gọi một tập hợp >⅔ Phiếu bầu trước cho một khối trong cùng một vòng, một Polka và một bộ sưu tập >⅔ Cam kết trước cho một khối trong cùng một vòng Cam kết. Nếu >⅔ Cam kết trước cho Nil trong cùng một vòng, họ sẽ chuyển sang vòng tiếp theo tròn. Lưu ý rằng tính xác định nghiêm ngặt trong giao thức phát sinh một điểm yếu giả định đồng bộ là các nhà lãnh đạo bị lỗi phải được phát hiện và

bỏ qua. Vì vậy, validator hãy đợi một khoảng thời gian, Hết thời gianĐề xuất, trước khi họ bỏ phiếu trước cho con số không và giá trị của Thời gian chờĐề xuất tăng theo mỗi vòng. Tiến triển thông qua phần còn lại của vòng hoàn toàn không đồng bộ, trong tiến trình đó chỉ có được thực hiện khi validator nghe được từ >⅔ mạng. Trong thực tế, phải có một đối thủ cực kỳ mạnh mới có thể ngăn cản được giả định về tính đồng bộ yếu (làm cho sự đồng thuận không thành công) từng thực hiện một khối) và làm như vậy có thể còn được thực hiện nhiều hơn khó khăn bằng cách sử dụng các giá trị ngẫu nhiên của TimeoutPropose trên mỗi validator. Một tập hợp các ràng buộc bổ sung, hoặc Quy tắc khóa, đảm bảo rằng mạng cuối cùng sẽ chỉ cam kết một khối ở mỗi độ cao. bất kỳ nỗ lực ác ý nhằm thực hiện nhiều hơn một khối ở một độ cao nhất định có thể được xác định. Đầu tiên, PreCommit cho một khối phải đi kèm với sự biện minh, dưới dạng Polka cho khối đó. Nếu validator đã PreCommit một khối ở vòng R_1, chúng tôi nói rằng họ bị khóa ở khu nhà đó và Polka dùng để biện minh cho việc đó PreCommit mới ở vòng R_2 phải có trong vòng R_polka trong đó R_1 < R_polka <= R_2. Thứ hai, validators phải Đề xuất và/hoặc Bỏ phiếu trước cho khối mà họ đang bị khóa. Cùng với nhau, những điều này điều kiện đảm bảo rằng validator không PreCommit mà không có có đủ bằng chứng để biện minh và validator có PreCommit đã không thể đóng góp bằng chứng cho PreCommit một cái gì đó khác. Điều này đảm bảo cả sự an toàn và sự sống động của thuật toán đồng thuận. Các chi tiết đầy đủ của giao thức được mô tả ở đây. Nhu cầu đồng bộ hóa tất cả các tiêu đề khối bị loại bỏ trong TendermintPoS vì sự tồn tại của một chuỗi thay thế (một nhánh) có nghĩa là ≥⅓ của cổ phần ngoại quan có thể được cắt giảm. Tất nhiên, vì việc chém đòi hỏi rằng ai đó chia sẻ bằng chứng về một fork, light client nên lưu trữ bất kỳ khối-hash nào cam kết rằng nó nhìn thấy. Ngoài ra, các client nhẹcó thể được đồng bộ hóa định kỳ với các thay đổi đối với bộ validator, trong để tránh các cuộc tấn công tầm xa (nhưng các giải pháp khác có thể). Với tinh thần tương tự Ethereum, Tendermint cho phép các ứng dụng nhúng gốc Merkle toàn cầu hash vào mỗi khối, cho phép dễ dàng truy vấn trạng thái có thể kiểm chứng được về những thứ như số dư tài khoản, giá trị được lưu trữ trong hợp đồng hoặc sự tồn tại của một giao dịch chưa được chi tiêu đầu ra, tùy thuộc vào tính chất của ứng dụng. Giả sử một tập hợp các mạng phát sóng có đủ khả năng phục hồi và một bộ validator tĩnh, bất kỳ phân nhánh nào trong blockchain đều có thể bị phát hiện và số tiền gửi của validator vi phạm bị cắt giảm. Cái này sự đổi mới, được đề xuất lần đầu tiên bởi Vitalik Buterin vào đầu năm 2014, giải quyết vấn đề không có gì đáng lo ngại của proof-of-stake khác tiền điện tử (xem Công việc liên quan). Tuy nhiên, vì validator đặt phải có khả năng thay đổi, trong một khoảng thời gian dài, bản gốc validator đều có thể không được liên kết và do đó có thể tự do tạo một chuỗi mới từ khối gốc, không phát sinh chi phí như họ không còn tiền gửi bị khóa nữa. Cuộc tấn công này đã xảy ra được gọi là Tấn công tầm xa (LRA), trái ngược với Tấn công ngắn Tấn công tầm xa, trong đó validator hiện đang được liên kết gây ra fork và do đó có thể bị trừng phạt (giả sử một fork chịu trách nhiệm BFT thuật toán như sự đồng thuận của Tendermint). Tấn công tầm xa là thường được cho là đòn chí mạng đối với proof-of-stake. May mắn thay, LRA có thể được giảm nhẹ như sau. Đầu tiên, đối với một validator hủy trái phiếu (do đó lấy lại tiền ký quỹ của họ và không còn kiếm được phí để tham gia vào sự đồng thuận), tiền gửi phải được đặt ở mức không thể chuyển nhượng trong một khoảng thời gian được gọi là “thời kỳ không liên kết”, có thể theo thứ tự tuần hoặc tháng. Thứ hai, để một khách hàng hạng nhẹ được an toàn, lần đầu tiên khi kết nối với mạng, nó phải xác minh khối gần đây-hash chống lại một nguồn đáng tin cậy, hoặc tốt nhất là nhiều nguồn. Cái này

điều kiện đôi khi được coi là “tính chủ quan yếu”. Cuối cùng, để duy trì tính bảo mật, nó phải đồng bộ hóa với validator mới nhất được đặt tại ít nhất là thường xuyên như độ dài của thời kỳ không liên kết. Cái này đảm bảo rằng ứng dụng khách nhẹ biết về những thay đổi đối với validator được đặt trước validator có vốn không bị ràng buộc và do đó không còn đang bị đe dọa, điều này sẽ cho phép nó đánh lừa khách hàng bằng cách thực hiện một cuộc tấn công tầm xa bằng cách tạo các khối mới bắt đầu từ chiều cao nơi nó được liên kết (giả sử nó có đủ khả năng kiểm soát nhiều khóa riêng đầu tiên). Lưu ý rằng việc khắc phục LRA theo cách này đòi hỏi phải xem xét lại mô hình bảo mật ban đầu của proof-of-work. Trong PoW, đó là giả sử rằng một máy khách nhẹ có thể đồng bộ hóa với chiều cao hiện tại từ khối gốc đáng tin cậy bất cứ lúc nào chỉ bằng cách xử lý bằng chứng công việc trong mỗi tiêu đề khối. Tuy nhiên, để khắc phục LRA, chúng tôi yêu cầu một khách hàng nhỏ phải lên mạng thường xuyên để theo dõi các thay đổi trong bộ validator và lần đầu tiên chúng khi trực tuyến họ phải đặc biệt cẩn thận để xác thực những gì họ nghe được từ mạng so với các nguồn đáng tin cậy. của Tất nhiên, yêu cầu sau này tương tự như yêu cầu của Bitcoin, trong đó giao thức và phần mềm cũng phải được lấy từ một cơ quan đáng tin cậy nguồn. Phương pháp ngăn chặn LRA ở trên rất phù hợp với validators và các nút đầy đủ của blockchain được hỗ trợ bởi Tendermint vì những nút này các nút có nghĩa là vẫn được kết nối với mạng. các Phương pháp này cũng phù hợp với những khách hàng nhẹ nhàng có thể mong đợi đồng bộ với mạng thường xuyên. Tuy nhiên, đối với những khách hàng nhẹ thì dự kiến sẽ không có quyền truy cập thường xuyên vào internet hoặc các blockchain mạng, nhưng có thể sử dụng một giải pháp khác để khắc phục LRA. Những người không thuộc validator token chủ sở hữu có thể đăng token của họ dưới dạng tài sản thế chấp có thời hạn không ràng buộc rất dài (ví dụ: dài hơn nhiều hơn khoảng thời gian không liên kết trong validator giây) và phục vụ các khách hàng nhẹ bằng phương pháp thứ cấp để chứng thực tính hợp lệ của thông tin hiện hành và khối quá khứ-hashes. Mặc dù những token này không được tính vào bảo mật cho sự đồng thuận của blockchain, tuy nhiên họ có thểcung cấp sự đảm bảo mạnh mẽ cho các khách hàng nhẹ. Nếu khối lịch sử-hash truy vấn được hỗ trợ trong Ethereum, bất kỳ ai cũng có thể liên kết token trong smart contract được thiết kế đặc biệt và cung cấp dịch vụ chứng thực được trả tiền, tạo ra một thị trường hiệu quả cho bảo mật LRA của khách hàng nhẹ. Do sự từ chối của cam kết khối, bất kỳ liên minh ≥⅓ nào của quyền biểu quyết có thể tạm dừng blockchain bằng cách tắt zine hoặc không phát sóng phiếu bầu của họ. Một liên minh như vậy cũng có thể kiểm duyệt các giao dịch cụ thể bằng cách từ chối các khối bao gồm những giao dịch này giao dịch, mặc dù điều này sẽ dẫn đến một tỷ lệ đáng kể số đề xuất chặn bị từ chối, điều này sẽ làm chậm tốc độ cam kết khối của blockchain, làm giảm tiện ích và giá trị của nó. Liên minh độc hại cũng có thể phát tán phiếu bầu một cách nhỏ giọt nên để nghiền nát khối blockchain cam kết gần như dừng lại hoặc tham gia vào bất kỳ sự kết hợp nào của các cuộc tấn công này. Cuối cùng, nó có thể gây ra blockchain phân nhánh, bằng cách ký hai lần hoặc vi phạm khóa quy luật. Nếu một đối thủ hoạt động toàn cầu cũng tham gia, nó có thể phân chia mạng theo cách mà có thể có vẻ như sai tập hợp con validator là nguyên nhân gây ra tình trạng chậm lại. Đây không phải là chỉ là một hạn chế của Tendermint, mà đúng hơn là một hạn chế của tất cả các giao thức đồng thuận có mạng lưới có khả năng được kiểm soát bởi một đối thủ tích cực. Đối với những kiểu tấn công này, một tập hợp con của validator sẽ phối hợp thông qua các phương tiện bên ngoài để ký một đề xuất tái tổ chức chọn một ngã ba (và bất kỳ bằng chứng nào về nó) và tập hợp con ban đầu của validator có chữ ký của họ. Những người xác thực ký một đề xuất tái tổ chức như vậy sẽ từ bỏ tài sản thế chấp của họ trên tất cả các nhánh khác. Khách hàng nên xác minh các chữ ký trong đề xuất tái tổ chức, xác minh mọi bằng chứng, và đưa ra phán quyết hoặc nhắc nhở người dùng cuối đưa ra quyết định. cho Ví dụ: ứng dụng ví điện thoại có thể nhắc người dùng về bảo mật

cảnh báo, trong khi tủ lạnh có thể chấp nhận bất kỳ đề xuất tái tổ chức nào được ký bởi +½ trong số validator ban đầu theo quyền biểu quyết. Không có thuật toán chịu lỗi Byzantine không đồng bộ nào có thể xảy ra đạt được sự đồng thuận khi ≥⅓ quyền biểu quyết là không trung thực, nhưng vẫn có một fork giả định rằng ≥⅓ quyền biểu quyết đã không trung thực bởi ký hai lần hoặc thay đổi khóa mà không có lý do chính đáng. Vì vậy, việc ký kết đề xuất tái tổ chức là một vấn đề phối hợp không thể giải quyết được được giải quyết bằng bất kỳ giao thức không đồng bộ nào (tức là tự động và mà không đưa ra giả định về độ tin cậy của mạng cơ bản). Hiện tại, chúng tôi để vấn đề phối hợp đề xuất tổ chức lại cho sự phối hợp của con người thông qua sự đồng thuận xã hội. trên phương tiện truyền thông internet. Người xác nhận phải cẩn thận để đảm bảo rằng có không có phân vùng mạng nào còn lại trước khi ký một đề xuất tái tổ chức, để tránh tình huống hai đề xuất tái tổ chức xung đột được ký kết. Giả sử rằng phương tiện và giao thức phối hợp bên ngoài là mạnh mẽ, theo đó việc phân nhánh ít được quan tâm hơn việc kiểm duyệt các cuộc tấn công. Ngoài fork và kiểm duyệt, yêu cầu ≥⅓ Byzantine quyền biểu quyết, một liên minh có >⅔ quyền biểu quyết có thể vi phạm trạng thái tùy ý, không hợp lệ. Đây là đặc điểm của bất kỳ (BFT) nào hệ thống đồng thuận. Không giống như ký kép, tạo ra các nhánh với bằng chứng dễ dàng xác minh, phát hiện sự cam kết của một trạng thái không hợp lệ yêu cầu các đồng nghiệp không xác thực phải xác minh toàn bộ khối, ngụ ý rằng họ giữ một bản sao cục bộ của trạng thái và thực thi mỗi giao dịch, tính toán gốc trạng thái một cách độc lập cho chính họ. Một khi đã được phát hiện, cách duy nhất để xử lý lỗi đó là là thông qua sự đồng thuận xã hội. Ví dụ: trong các tình huống Bitcoin đã thất bại, cho dù việc phân nhánh do lỗi phần mềm (như vào tháng 3 2013), hoặc phạm phải trạng thái không hợp lệ do hành vi của Byzantine thợ mỏ (như vào tháng 7 năm 2015), cộng đồng được kết nối tốt của doanh nghiệp, nhà phát triển, thợ mỏ và các tổ chức khác đã thiết lập sự đồng thuận xã hội về những hành động thủ công nào được thực hiệnđược yêu cầu bởi những người tham gia để chữa lành mạng. Hơn nữa, kể từ khi validators của Tendermint blockchain có thể được mong đợi có thể xác định được, cam kết của một trạng thái không hợp lệ thậm chí có thể có thể bị trừng phạt bởi luật pháp hoặc một số luật lệ bên ngoài, nếu muốn. ABCI bao gồm 3 loại tin nhắn chính được gửi từ cốt lõi của ứng dụng. Ứng dụng trả lời bằng tin nhắn phản hồi tương ứng. Thông báo  AppendTx  là công cụ chính của ứng dụng. Mỗi giao dịch trong blockchain được gửi cùng với thông báo này. các ứng dụng cần xác thực từng giao dịch nhận được bằng Thông báo AppendTx dựa vào trạng thái hiện tại, giao thức ứng dụng, và thông tin xác thực mật mã của giao dịch. Đã được xác thực giao dịch sau đó cần cập nhật trạng thái ứng dụng - bằng cách liên kết một giá trị vào kho lưu trữ giá trị khóa hoặc bằng cách cập nhật UTXO cơ sở dữ liệu. Thông báo  CheckTx  tương tự như AppendTx nhưng chỉ dành cho xác thực các giao dịch. Lần kiểm tra mempool đầu tiên của Tendermint Core tính hợp lệ của giao dịch với CheckTx và chỉ chuyển tiếp hợp lệ giao dịch với các đồng nghiệp của nó. Các ứng dụng có thể kiểm tra mức tăng dần nonce trong giao dịch và trả về lỗi khi CheckTx nếu nonce đã cũ. Thông báo  Cam kết  được dùng để tính toán mật mã cam kết với trạng thái ứng dụng hiện tại, được đưa vào tiêu đề khối tiếp theo. Điều này có một số thuộc tính tiện dụng. Sự không nhất quán trong việc cập nhật trạng thái đó bây giờ sẽ xuất hiện dưới dạng blockchain nhánh giúp nắm bắt cả lớp lập trình lỗi. Điều này cũng đơn giản hóa sự phát triển của an toàn nhẹ khách hàng, vì bằng chứng Merkle-hash có thể được xác minh bằng cách kiểm tra khối-hash và khối-hash được ký bởi số đại biểu validators (theo quyền biểu quyết).

Thông báo ABCI bổ sung cho phép ứng dụng theo dõi và thay đổi bộ validator và để ứng dụng nhận được chặn thông tin, chẳng hạn như chiều cao và phiếu bầu cam kết. ABCI yêu cầu/phản hồi là các tin nhắn Protobuf đơn giản. Kiểm tra ra lược đồ yle. Lập luận: Dữ liệu ([]byte): Các byte giao dịch yêu cầu Trả về: Mã (uint32): Mã phản hồi Dữ liệu ([]byte): Byte kết quả, nếu có Nhật ký (chuỗi): Gỡ lỗi hoặc thông báo lỗi Cách sử dụng:

Nối và chạy một giao dịch. Nếu giao dịch hợp lệ, trả về CodeType.OK Lập luận: Dữ liệu ([]byte): Các byte giao dịch yêu cầu Trả về: Mã (uint32): Mã phản hồi Dữ liệu ([]byte): Byte kết quả, nếu có Nhật ký (chuỗi): Gỡ lỗi hoặc thông báo lỗi Cách sử dụng:

Xác thực một giao dịch. Thông báo này không được làm thay đổi trạng thái. Giao dịch lần đầu tiên được thực hiện thông qua CheckTx trước phát sóng tới các đồng nghiệp trong lớp mempool. Bạn có thể làm CheckTx bán trạng thái và xóa trạng thái khi Cam kết hoặc BeginBlock , để cho phép các chuỗi giao dịch phụ thuộc trong cùng một khối.

Trả về: Dữ liệu ([]byte): Gốc Merkle hash Nhật ký (chuỗi): Gỡ lỗi hoặc thông báo lỗi Cách sử dụng:

Trả về gốc Merkle hash của trạng thái ứng dụng. Lập luận: Dữ liệu ([]byte): Các byte yêu cầu truy vấn Trả về: Mã (uint32): Mã phản hồi Dữ liệu ([]byte): Các byte phản hồi truy vấn Nhật ký (chuỗi): Gỡ lỗi hoặc thông báo lỗi Cách sử dụng:

Xóa hàng đợi phản hồi. Các ứng dụng thực hiện loại. Ứng dụng không cần triển khai thông báo này - đó là do dự án xử lý. Trả về: Dữ liệu ([]byte): Các byte thông tin Cách sử dụng:

Trả về thông tin về trạng thái ứng dụng. ứng dụng cụ thể. Lập luận: Khóa (chuỗi): Khóa để đặt

Giá trị (chuỗi): Giá trị cần đặt cho khóa Trả về: Nhật ký (chuỗi): Gỡ lỗi hoặc thông báo lỗi Cách sử dụng:

Đặt tùy chọn ứng dụng. Ví dụ. Key=“mode”, Value=“mempool” cho kết nối mempool hoặc Key=“mode”, Value=“consensus” cho một kết nối đồng thuận. Các tùy chọn khác là ứng dụng cụ thể. Lập luận: Trình xác thực ([]Trình xác thực): Nguồn gốc ban đầu-validators Cách sử dụng:

Được gọi một lần khi có nguồn gốc Lập luận: Chiều cao (uint64): Chiều cao khối bắt đầu Cách sử dụng:

Báo hiệu sự bắt đầu của một khối mới. Được gọi trước bất kỳ Nối thêm Tx. Lập luận: Chiều cao (uint64): Chiều cao khối kết thúc Trả về: Trình xác thực ([]Trình xác thực): Đã thay đổi validator bằng mới quyền biểu quyết (0 để loại bỏ) Cách sử dụng:

Báo hiệu sự kết thúc của một khối. Được gọi trước mỗi lần Commit giao dịch Xem kho lưu trữ ABCI để biết thêm chi tiết.Có một số lý do tại sao người gửi có thể muốn xác nhận việc gửi gói tin của chuỗi nhận. Ví dụ, người gửi có thể không biết trạng thái của chuỗi đích nếu nó được cho là có lỗi. Hoặc người gửi có thể muốn áp đặt thời gian chờ cho gói (với  MaxHeight  gói tin), trong khi bất kỳ chuỗi đích nào cũng có thể bị tấn công từ chối dịch vụ với sự gia tăng đột ngột về số lượng gói tin đến. gói. Trong những trường hợp này, người gửi có thể yêu cầu xác nhận việc gửi bằng cách đặt trạng thái gói ban đầu thành  Đang chờ xử lý . Sau đó, nó là trách nhiệm của chuỗi nhận hàng trong việc đồng ý giao hàng bằng cách bao gồm một viết tắt  IBCPacket  trong ứng dụng Merkle hash. Đầu tiên, _IBCBlockCommit  và  IBCPacketTx  được đăng trên “Hub” điều đó chứng tỏ sự tồn tại của _IBCGói  trên “Vùng 1”. Nói thế  IBCPacketTx  có giá trị sau: FromChainID : “Khu vực1” FromBlockHeight : 100 (nói) Gói: một IBCGói:

Tiêu đề : một IBCPacketHeader : SrcChainID: “Vùng 1” DstChainID : “Khu vực2” Số: 200 (giả sử) Trạng thái: Đang chờ xử lý Loại: “đồng xu” MaxHeight : 350 (giả sử “Hub” hiện ở độ cao 300) Tải trọng: Tiếp theo, _IBCBlockCommit  và  IBCPacketTx  được đăng trên “Zone2” điều đó chứng tỏ sự tồn tại của _IBCGói  trên “Hub”. Nói thế  IBCPacketTx  có giá trị sau: FromChainID : “Trung tâm” TừBlockHeight : 300 Gói: một IBCGói: Tiêu đề : một IBCPacketHeader : SrcChainID: “Vùng 1” DstChainID : “Khu vực2” Số lượng: 200 Trạng thái: Đang chờ xử lý Loại: “đồng xu” Chiều cao tối đa: 350 Tải trọng: Tiếp theo, “Zone2” phải bao gồm trong ứng dụng của nó-hash một gói viết tắt hiển thị trạng thái mới của  AckSent . Một _IBCBlockCommit  và  IBCPacketTx  được đăng lại trên “Hub” chứng minh sự tồn tại của một  IBCGói  viết tắt trên "Zone2". Nói như vậy  IBCPacketTx  có giá trị sau: FromChainID : “Khu vực2”

FromBlockHeight : 400 (giả sử) Gói: một IBCGói: Tiêu đề : một IBCPacketHeader : SrcChainID: “Vùng 1” DstChainID : “Khu vực2” Số lượng: 200 Trạng thái: Đã xác nhận Loại: “đồng xu” Chiều cao tối đa: 350 PayloadHash : Cuối cùng, “Hub” phải cập nhật trạng thái của gói tin từ  Đang chờ xác nhận  đến  Đã nhận được. Bằng chứng về tình trạng ynalized mới này nên quay lại "Zone2". Giả sử rằng _IBCPacketTx  có nội dung sau giá trị: FromChainID : “Trung tâm” TừBlockHeight : 301 Gói: một IBCGói: Tiêu đề : một IBCPacketHeader : SrcChainID: “Vùng 1” DstChainID : “Khu vực2” Số lượng: 200 Trạng thái: Đã nhận Loại: “đồng xu” Chiều cao tối đa: 350 PayloadHash : Trong khi đó, “Zone1” có thể lạc quan cho rằng việc giao hàng thành công của gói "đồng xu" trừ khi có bằng chứng ngược lại được chứng minh trên “Trung tâm”. Trong ví dụ trên, nếu “Hub” chưa nhận được  AckSent

trạng thái từ “Zone2” theo khối 350, nó sẽ đặt trạng thái tự động chuyển sang  Hết giờ . Bằng chứng về thời gian chờ này có thể nhận được được đăng lại trên “Zone1” và mọi tokens đều có thể được trả lại. Có hai loại Merkle tree được hỗ trợ trong Hệ sinh thái Tendermint/Cosmos: Cây đơn giản và IAVL+ Cây. Cây đơn giản là Merkle tree cho danh sách các phần tử tĩnh. Nếu số lượng vật phẩm không phải là lũy thừa của hai, một số lá sẽ ở mức mức độ khác nhau. Cây đơn giản cố gắng giữ cả hai mặt của cây cùng chiều cao nhưng bên trái có thể lớn hơn một đơn vị. Merkle tree này là được sử dụng để Merkle-ize các giao dịch của một khối và mức cao nhất các phần tử của trạng thái gốc của ứng dụng.Mục đích của cấu trúc dữ liệu IAVL+ là cung cấp khả năng liên tục lưu trữ các cặp khóa-giá trị ở trạng thái ứng dụng sao cho Căn cứ Merkle xác định hash có thể được tính toán một cách hiệu quả. các cây được cân bằng bằng cách sử dụng một biến thể của thuật toán AVL và tất cả hoạt động là O(log(n)). Trong cây AVL, chiều cao của hai cây con con của bất kỳ nút nào khác nhau nhiều nhất là một. Bất cứ khi nào điều kiện này bị vi phạm cập nhật, cây được cân bằng lại bằng cách tạo các nút mới O(log(n)) trỏ đến các nút chưa được sửa đổi của cây cũ. Trong AVL gốc thuật toán, các nút bên trong cũng có thể chứa các cặp khóa-giá trị. AVL+ thuật toán (lưu ý dấu cộng) sửa đổi thuật toán AVL để giữ tất cả giá trị trên các nút lá, trong khi chỉ sử dụng các nút nhánh để lưu trữ khóa. Điều này giúp đơn giản hóa thuật toán trong khi vẫn giữ dấu vết hash ngắn. Cây AVL+ tương tự như nỗ lực của Patricia của Ethereum. có sự đánh đổi. Khóa không cần phải hashed trước khi chèn vào Cây IAVL+, do đó, điều này mang lại phép lặp có thứ tự nhanh hơn trong khóa không gian có thể mang lại lợi ích cho một số ứng dụng. Logic đơn giản hơn để thực hiện, chỉ yêu cầu hai loại nút – các nút bên trong và các nút lá. Bằng chứng Merkle trung bình ngắn hơn, là một                 *                 / \               /     \             /         \           /             \          *               *         / \            //\        /   \           /   \       /     \        //     \      *       *       *       h6     / \     / \     / \    h0  h1  h2  h3  h4  h5    Một SimpleTree có 7 phần tử

cây nhị phân cân bằng. Mặt khác, gốc Merkle của một Cây IAVL+ phụ thuộc vào thứ tự cập nhật. Chúng tôi sẽ hỗ trợ thêm Merkle trees hiệu quả, chẳng hạn như Ethereum Patricia Trie khi biến thể nhị phân trở thành có sẵn. Trong quá trình triển khai chuẩn, các giao dịch được truyền trực tiếp đến Ứng dụng trung tâm Cosmos qua giao diện ABCI. Trung tâm Cosmos sẽ chấp nhận một số giao dịch chính các loại, bao gồm  SendTx ,  BondTx ,  UnbondTx ,  ReportHackTx ,  SlashTx ,  BurnAtomTx ,  ProposalCreateTx  và  ProposalVoteTx , khá dễ hiểu và sẽ được ghi lại trong một sửa đổi trong tương lai của bài viết này. Ở đây chúng tôi ghi lại hai vấn đề chính loại giao dịch cho IBC:  IBCBlockCommitTx  và  IBCPacketTx . Giao dịch  IBCBlockCommitTx  bao gồm: ChainID (chuỗi): ID của blockchain BlockHash ([]byte): Các byte block-hash, gốc Merkle bao gồm ứng dụng-hash BlockPartsHeader (PartSetHeader): Tiêu đề tập hợp phần khối byte, chỉ cần thiết để xác minh chữ ký biểu quyết BlockHeight (int): Chiều cao của cam kết BlockRound (int) : Vòng cam kết Cam kết ([]Bỏ phiếu) : >⅔ Phiếu cam kết trước Tendermint rằng bao gồm một cam kết khối Trình xác thựcHash ([]byte): Gốc cây Merkle hash của cái mới validator đã đặt

Trình xác thựcHashProof (SimpleProof): Bằng chứng Merkleproof của SimpleTree để chứng minh Trình xác thựcHash so với BlockHash AppHash ([]byte): Gốc cây Merkle IAVLtree hash của trạng thái ứng dụng AppHashProof (SimpleProof): Bằng chứng Merkle SimpleTree dành cho chứng minh AppHash chống lại BlockHash Một _IBCGói  bao gồm: Tiêu đề (IBCPacketHeader): Tiêu đề gói Tải trọng ([]byte): Các byte của tải trọng gói. Tùy chọn PayloadHash ([]byte) : hash cho byte của gói. Tùy chọn Phải có một trong  Payload  hoặc  PayloadHash . hash của  IBCGói  là gốc Merkle đơn giản của hai mục,  Tiêu đề  và  Tải trọng . Một _IBCGói  không có tải trọng đầy đủ được gọi là gói rút gọn. Một _IBCPacketHeader  bao gồm: SrcChainID (chuỗi) : ID nguồn blockchain DstChainID (chuỗi): ID đích blockchain Số (int): Một số duy nhất cho tất cả các gói Trạng thái (enum): Có thể là một trong số AckPending , AckSent , Đã nhận, Không cóAck hoặc Hết thời gian chờ Loại (chuỗi) : Các loại phụ thuộc vào ứng dụng. Cosmos dự trữ loại gói "đồng xu" MaxHeight (int) : Nếu trạng thái không phải là NoAckWanted hoặc AckReceived ở độ cao này, trạng thái sẽ trở thành Timeout . Tùy chọn Giao dịch  IBCPacketTx  bao gồm:FromChainID (string) : ID của blockchain là cung cấp gói này; không nhất thiết phải là nguồn FromBlockHeight (int) : Chiều cao blockchain trong đó gói sau được bao gồm (Merkle-ized) trong khối-hash của chuỗi nguồn Gói (IBCPacket): Một gói dữ liệu có trạng thái có thể là một trong số AckPending , AckSent , AckReceived , NoAck hoặc Timeout PacketProof (IAVLProof): Bằng chứng Merkle IAVLTree để chứng minh hash của gói đối với AppHash của chuỗi nguồn tại chiều cao nhất định Trình tự gửi gói tin từ “Zone1” đến “Zone2” thông qua "Hub" được mô tả trong {Hình X}. Đầu tiên, _IBCPacketTx  chứng minh cho "Hub" rằng gói được đưa vào trạng thái ứng dụng của “Khu 1”. Sau đó, _IBCPacketTx  khác chứng minh cho “Zone2” rằng gói được bao gồm trong trạng thái ứng dụng của “Hub”. Trong thời gian này quy trình, các trường  IBCPacket  giống hệt nhau:  SrcChainID  là luôn là “Zone1” và  DstChainID  luôn là "Zone2".  PacketProof  phải có đường dẫn chống Merkle chính xác, vì sau: Khi “Zone1” muốn gửi gói đến “Zone2” thông qua “Hub”, dữ liệu _IBCGói  giống hệt nhau cho dù gói được Merkleized trên “Zone1”, “Hub” hay “Zone2”. Yeld có thể thay đổi duy nhất là  Trạng thái theo dõi quá trình phân phối. Chúng tôi xin cảm ơn bạn bè và đồng nghiệp đã hỗ trợ trong việc hình thành ý tưởng, xem xét và cung cấp hỗ trợ cho công việc của chúng tôi với Tendermint và Cosmos. IBC///

Zaki Manian của SkuChain đã cung cấp nhiều trợ giúp về định dạng và cách diễn đạt, đặc biệt là trong phần ABCI Jehan Tremback của Althea và Dustin Byington đã giúp đỡ lần lặp ban đầu Andrew Miller của Honey Badger đã đưa ra phản hồi về sự đồng thuận Greg Slepak đã đưa ra phản hồi về sự đồng thuận và cách diễn đạt Cũng xin cảm ơn Bill Gleim và Seunghwan Han vì nhiều đóng góp. Tên và tổ chức của bạn ở đây để đóng góp 1 Bitcoin: https://bitcoin.org/bitcoin.pdf 2 ZeroCash: http://zerocash-project.org/paper 3 Ethereum: https://github.com/ethereum/wiki/wiki/WhitePaper 4DAO: https://download.slock.it/public/DAO/WhitePaper.pdf 5 Nhân chứng tách biệt: https://github.com/bitcoin/bips/blob/master/bip0141.mediawiki 6 BitcoinNG: https://arxiv.org/pdf/1510.02037v2.pdf 7 Mạng Lightning: https://lightning.network/lightningnetwork-paper-DRAFT-0.5.pdf 8 Cây bạc hà dịu dàng: https://github.com/tendermint/tendermint/wiki 9 FLP Không thể thực hiện được: https://groups.csail.mit.edu/tds/papers/Lynch/jacm85.pdf 10 Kẻ Chém: https://blog.ethereum.org/2014/01/15/slasher-apunitive-proof-of-stake-algorithm/ 11 PBFT: http://pmg.csail.mit.edu/papers/osdi99.pdf 12 lượt chia sẻ bit: https://bitshares.org/technology/delegatedproof-of-stake-consensus/

13 Stellar: https://www.stellar.org/papers/stellar-consensusprotocol.pdf 14 Sổ cái xen kẽ: https://interledger.org/rfcs/0001-interledgerarchitecture/ 15 chuỗi bên: https://blockstream.com/sidechains.pdf 16 Casper: https://blog.ethereum.org/2015/08/01/introducing-casperfriendly-ghost/ 17 ABCI: https://github.com/tendermint/abci 18 Ethereum Phân mảnh: https://github.com/ethereum/EIPs/issues/53 19 LibSwift: http://www.ds.ewi.tudelft.nl/yleadmin/pds/papers/Performa nceAnalysisOfLibswift.pdf 20 DLS: http://groups.csail.mit.edu/tds/papers/Lynch/jacm88.pdf 21 Bảo mật máy khách mỏng: https://en.bitcoin.it/wiki/Thin_Client_Security 22 Ethereum 2.0 Giấy màu hoa cà: http://vitalik.ca/yles/mauve_paper.html https://www.docdroid.net/ec7xGzs/314477721-ethereumplatform-review-opportunities-and-challenges-for-privateand-consortium-blockchains.pdf.html

¥ è

Konsens und technische Details

Ein gut gestaltetes Konsensprotokoll sollte einiges bieten Garantien für den Fall, dass die Toleranzkapazität überschritten wird und der Konsens scheitert. Dies ist insbesondere in der Wirtschaft notwendig Systeme, in denen byzantinisches Verhalten erhebliche finanzielle Auswirkungen haben kann Belohnung. Die wichtigste Garantie dieser Art ist eine Form der Rechenschaftspflicht, bei der die Prozesse, die zum Konsens geführt haben, berücksichtigt werden scheitern (d. h. dazu geführt, dass Clients des Protokolls unterschiedliche Werte akzeptieren - a Fork) können nach den Regeln der identifiziert und bestraft werden Protokoll oder möglicherweise das Rechtssystem. Wenn das Rechtssystem ist validators können unzuverlässig oder übermäßig teuer sein gezwungen, eine Kaution zu hinterlegen, um teilnehmen zu können, und so weiter Einzahlungen können widerrufen oder gekürzt werden, wenn böswilliges Verhalten vorliegt erkannt [10]. Beachten Sie, dass dies im Gegensatz zu Bitcoin ist, wo eine Verzweigung regelmäßig vorkommt aufgrund der Netzwerkasynchronität und der probabilistischen Natur des Findens teilweise hash Kollisionen. Da es sich in vielen Fällen um einen bösartigen Fork handelt Aufgrund der Asynchronität ist Bitcoin nicht von einem Fork zu unterscheiden Implementieren Sie die Fork-Rechenschaftspflicht zuverlässig, anders als implizit Opportunitätskosten, die von Bergleuten für den Abbau eines verwaisten Blocks gezahlt werden. Wir nennen die Abstimmungsphasen PreVote und PreCommit. Eine Abstimmung kann dafür sein einen bestimmten Block oder für Null. Wir nennen eine Sammlung von >⅔ PreVotes für einen einzelnen Block in derselben Runde eine Polka und eine Sammlung von >⅔ Precommits für einen einzelnen Block in derselben Runde sind ein Commit. Wenn >⅔ Wenn in derselben Runde ein PreCommit für Null erfolgt, gehen sie zur nächsten über rund. Beachten Sie, dass der strikte Determinismus im Protokoll eine Schwachstelle mit sich bringt Synchronitätsannahme, da fehlerhafte Leiter erkannt und erkannt werden müssen

übersprungen. Daher warten validators einige Zeit, TimeoutPropose, bevor sie Null vorabstimmen, und der Wert von TimeoutPropose erhöht sich mit jeder Runde. Fortschritt durch Der Rest einer Runde ist vollständig asynchron, insofern nur der Fortschritt Wird erstellt, sobald ein validator von mehr als 2/3 des Netzwerks hört. In der Praxis, Es würde einen extrem starken Gegner erfordern, um ihn auf unbestimmte Zeit zu vereiteln die schwache Synchronitätsannahme (was dazu führt, dass der Konsens scheitert). jemals einen Block festschreiben), und dies kann sogar noch mehr sein schwierig, indem für jeden zufällige Werte von TimeoutPropose verwendet werden validator. Ein zusätzlicher Satz von Einschränkungen oder Sperrregeln stellt sicher, dass die Das Netzwerk wird letztendlich nur einen Block auf jeder Höhe festschreiben. Irgendein böswilliger Versuch, die Festschreibung von mehr als einem Block zu bewirken in einer bestimmten Höhe identifiziert werden. Zuerst ein PreCommit für einen Block muss mit einer Begründung in Form einer Polka für diesen Block versehen sein. Wenn validator in Runde R_1 bereits einen Block vorab festgeschrieben hat, wir Sagen Sie, sie sind auf diesen Block fixiert, und die Polka hat dies als Rechtfertigung verwendet Neues PreCommit in Runde R_2 muss in einer Runde R_polka erfolgen wobei R_1 < R_polka <= R_2. Zweitens müssen validators einen Vorschlag machen und/oder den Block, auf den sie gesperrt sind, vorab abstimmen. Zusammen, diese Bedingungen stellen sicher, dass ein validator nicht ohne PreCommit ausgeführt wird ausreichende Beweise als Rechtfertigung, und dass validators dies getan haben bereits PreCommit kann nicht zu Beweisen für PreCommit beitragen etwas anderes. Dies gewährleistet sowohl Sicherheit als auch Lebendigkeit Konsensalgorithmus. Die vollständigen Details des Protokolls werden hier beschrieben. Die Notwendigkeit, alle Blockheader zu synchronisieren, entfällt in TendermintPoS, da die Existenz einer alternativen Kette (eines Forks) ≥⅓ davon bedeutet Der gebundene Pfahl kann gekürzt werden. Natürlich, da das Schneiden erforderlich ist Dass jemand Beweise für eine Abspaltung weitergibt, sollten leichte Kunden aufbewahren alle Block-hash-Commits, die es sieht. Darüber hinaus leichte Kundenkönnte regelmäßig mit Änderungen am validator-Satz synchronisiert bleiben um Angriffe über große Entfernungen zu vermeiden (aber es gibt auch andere Lösungen). möglich). Im Geiste ähnlich wie Ethereum ermöglicht Tendermint Anwendungen dazu Das Einbetten einer globalen Merkle-Wurzel hash in jeden Block erleichtert dies Überprüfbare Statusabfragen für Dinge wie Kontostände, den Wert in einem Vertrag gespeicherte Informationen oder das Vorliegen einer nicht ausgegebenen Transaktion Ausgabe abhängig von der Art der Anwendung. Voraussetzung ist eine ausreichend belastbare Sammlung von Rundfunknetzen und ein statisches validator-Set, jede Abzweigung im blockchain kann sein entdeckt und die Einlagen der betreffenden validators gekürzt. Dies Die erstmals Anfang 2014 von Vitalik Buterin vorgeschlagene Innovation löst dieses Problem das Nichts-auf-dem-Spiel-Problem anderer proof-of-stake Kryptowährungen (siehe Verwandte Arbeiten). Da jedoch validator gesetzt ist muss in der Lage sein, das Original über einen langen Zeitraum hinweg zu verändern validators können alle ungebunden werden und wären daher frei dazu Erstellen Sie eine neue Kette aus dem Genesis-Block, ohne dass Kosten anfallen Sie haben keine Einlagen mehr gesperrt. Es kam zu diesem Angriff bekannt als Long Range Attack (LRA), im Gegensatz zu einem Short Distanzangriff, bei dem validators, die derzeit verbunden sind, einen verursachen Fork und sind daher strafbar (vorausgesetzt, ein Fork ist BFT Algorithmus wie Tendermint-Konsens). Langstreckenangriffe sind wird oft als schwerer Schlag für proof-of-stake angesehen. Glücklicherweise kann die LRA wie folgt gemildert werden. Erstens für a validator zur Aufhebung der Kaution (wodurch ihre Sicherheit zurückerlangt wird). und keine Gebühren mehr für die Teilnahme am Konsens verdienen), die Die Anzahlung muss für einen bestimmten Zeitraum unübertragbar gemacht werden bekannt als „Entbindungszeitraum“, der in der Größenordnung von liegen kann Wochen oder Monate. Zweitens, damit ein Light-Client sicher ist, das Jahr Sobald eine Verbindung zum Netzwerk hergestellt wird, muss ein aktueller Block überprüft werden: hash gegen eine vertrauenswürdige Quelle oder vorzugsweise gegen mehrere Quellen. Dies

Dieser Zustand wird manchmal als „schwache Subjektivität“ bezeichnet. Schließlich, Um sicher zu bleiben, muss es mit dem neuesten validator-Satz synchronisiert werden mindestens so häufig wie die Dauer der Entbindungsperiode. Dies Stellt sicher, dass der Light-Client über Änderungen an validator informiert ist. Das Kapital, das vor einem validator gesetzt wird, ist ungebunden und daher nicht mehr auf dem Spiel steht, was es ihm ermöglichen würde, den Kunden durch die Ausführung zu täuschen Ein Fernangriff durch die Erstellung neuer Blöcke, beginnend bei a Höhe, auf der es verklebt wurde (vorausgesetzt, es hat ausreichend Kontrolle darüber). viele der frühen privaten Schlüssel). Beachten Sie, dass die Überwindung der LRA auf diese Weise eine Überarbeitung erfordert das ursprüngliche Sicherheitsmodell von proof-of-work. In PoW ist es so Es wird davon ausgegangen, dass ein Light-Client mit der aktuellen Höhe synchronisiert werden kann Sie können jederzeit einen vertrauenswürdigen Genesis-Block erstellen, indem Sie einfach den Proof-of-Work in jedem Block-Header verarbeiten. Um die LRA zu überwinden, müssen wir jedoch erfordern, dass ein Light-Client regelmäßig online geht Verfolgen Sie Änderungen im Satz validator, und zwar beim ersten Mal Wenn Sie online gehen, müssen Sie bei der Authentifizierung besonders vorsichtig sein was sie aus dem Netzwerk hören, gegen vertrauenswürdige Quellen. Von Natürlich ähnelt diese letztere Anforderung der von Bitcoin, wo Das Protokoll und die Software müssen ebenfalls von einem vertrauenswürdigen Anbieter bezogen werden Quelle. Die obige Methode zur Verhinderung von LRA eignet sich gut für validators und vollständige Knoten eines von Tendermint betriebenen blockchain, weil diese Knoten sollen mit dem Netzwerk verbunden bleiben. Die Die Methode eignet sich auch für zu erwartende Light-Clients häufig mit dem Netzwerk synchronisieren. Für leichte Kunden gilt das jedoch Es wird nicht erwartet, dass sie häufigen Zugriff auf das Internet oder das Internet haben blockchain Netzwerk kann noch eine andere Lösung zur Überwindung verwendet werden die LRA. Nicht-validator token-Inhaber können ihre tokens als posten Sicherheiten mit einer sehr langen Unverbindlichkeitsdauer (z. B. viel länger). als der Entbindungszeitraum für validators) und leichte Kunden bedienen mit einer sekundären Methode zur Bestätigung der Gültigkeit aktueller und vergangener Block-hashes. Diese tokens zählen zwar nicht zum Sie können die Sicherheit des blockchain-Konsenses dennoch gewährleistenbieten starke Garantien für kleine Kunden. Wenn historischer Block-hash Abfragen wurden in Ethereum unterstützt, jeder konnte sie verbinden tokens in einem speziell entwickelten smart contract und bereitstellen Zertifizierungsdienste gegen Bezahlung, wodurch effektiv ein Markt für Lightclient-LRA-Sicherheit geschaffen wird. Aufgrund der Definition eines Block-Commits kann jede ≥⅓ Koalition von Das Stimmrecht kann die blockchain stoppen, indem man das Magazin verlässt oder nicht ihre Stimmen übermitteln. Eine solche Koalition kann auch zensieren bestimmte Transaktionen durch Ablehnung von Blöcken, die diese enthalten Allerdings würde dies zu einem erheblichen Anteil führen Anzahl der abzulehnenden Blockvorschläge, was die Rate verlangsamen würde von Block-Commits des blockchain, was seinen Nutzen und Wert verringert. Die böswillige Koalition könnte so im Handumdrehen auch Stimmen verbreiten B. um blockchain-Block-Commits fast zum Stillstand zu bringen oder einzugreifen jede Kombination dieser Angriffe. Schließlich kann es dazu führen, dass blockchain zu forken, durch Doppelsignierung oder Verletzung der Sperre Regeln. Wäre auch ein global agierender Gegner beteiligt, könnte es zu einer Teilung kommen das Netzwerk so, dass es den Anschein erwecken kann, dass es falsch ist Eine Teilmenge der validators war für die Verlangsamung verantwortlich. Das ist nicht der Fall nur eine Einschränkung von Tendermint, sondern eher eine Einschränkung von allem Konsensprotokolle, deren Netzwerk möglicherweise von einem kontrolliert wird aktiver Gegner. Für diese Art von Angriffen sollte eine Teilmenge der validators verwendet werden Koordinieren Sie mit externen Mitteln die Unterzeichnung eines Reorg-Vorschlags wählt eine Abzweigung (und alle Beweise dafür) und die anfängliche Teilmenge davon validators mit ihren Unterschriften. Validatoren, die einen solchen Reorganisationsvorschlag unterzeichnen, verzichten auf ihre Sicherheiten für alle anderen Forks. Kunden sollten Überprüfen Sie die Unterschriften auf dem Reorg-Vorschlag, überprüfen Sie alle Beweise, und ein Urteil fällen oder den Endbenutzer zu einer Entscheidung auffordern. Für Beispielsweise kann eine Telefon-Wallet-App den Benutzer zur Eingabe einer Sicherheit auffordern

Warnung, während ein Kühlschrank jeden Reorg-Vorschlag annehmen kann unterzeichnet von +½ der ursprünglichen validators nach Stimmrecht. Es kann keinen asynchronen byzantinischen fehlertoleranten Algorithmus geben zum Konsens, wenn ≥⅓ der Stimmrechte unehrlich sind, aber dennoch eine Abspaltung geht davon aus, dass ≥⅓ der Stimmberechtigten bereits unehrlich waren Doppelsignierung oder Sperränderung ohne Begründung. Also, unterschreiben Der Reorg-Vorschlag ist ein Koordinationsproblem, das nicht sein kann wird durch jedes nicht synchrone Protokoll gelöst (d. h. automatisch und ohne Annahmen über die Zuverlässigkeit des zu treffen zugrunde liegendes Netzwerk). Das Problem der Koordination von Reorganisationsvorschlägen überlassen wir vorerst der menschlichen Koordination über gesellschaftlichen Konsens in Internetmedien. Validatoren müssen dafür sorgen, dass dies gewährleistet ist Es gibt keine verbleibenden Netzwerkpartitionen vor dem Signieren eines Reorg-Vorschlags, um Situationen zu vermeiden, in denen zwei widersprüchliche Reorg-Vorschläge signiert werden. Vorausgesetzt, dass es sich um ein externes Koordinationsmedium und -protokoll handelt robust, daraus folgt, dass Forks weniger ein Problem darstellen als Zensur Angriffe. Zusätzlich zu Gabeln und Zensur, die ≥⅓ Byzantinisch erfordern Eine Koalition mit mehr als ⅔ Stimmrechten kann sich verpflichten willkürlicher, ungültiger Zustand. Dies ist charakteristisch für alle (BFT) Konsenssystem. Im Gegensatz zur Doppelsignierung, die Forks erstellt mit leicht überprüfbaren Beweisen, die die Begehung einer Person nachweisen Der ungültige Zustand erfordert, dass nicht validierende Peers ganze Blöcke überprüfen. was bedeutet, dass sie eine lokale Kopie des Status behalten und ausführen Für jede Transaktion wird die Statuswurzel unabhängig berechnet sich selbst. Sobald ein solcher Fehler erkannt wird, gibt es nur eine Möglichkeit, damit umzugehen erfolgt über gesellschaftlichen Konsens. Zum Beispiel in Situationen, in denen Bitcoin ist gescheitert, ob Forking aufgrund von Softwarefehlern (wie im März). 2013) oder das Begehen eines ungültigen Zustands aufgrund byzantinischen Verhaltens von Bergleute (wie im Juli 2015), die gut vernetzte Gemeinschaft von Unternehmen, Entwickler, Bergleute und andere Organisationen etablierte einen gesellschaftlichen Konsens darüber, was manuelle Handlungen warenvon den Teilnehmern benötigt wird, um das Netzwerk zu heilen. Darüber hinaus seit validators eines Tendermint blockchain können erwartet werden identifizierbar, möglicherweise sogar Bekenntnis eines ungültigen Staates strafbar durch Gesetz oder eine externe Rechtsprechung, falls gewünscht. ABCI besteht aus drei primären Nachrichtentypen, von denen die Zustellung erfolgt den Kern der Anwendung. Die Anwendung antwortet mit entsprechende Antwortnachrichten. Die  AppendTx -Nachricht ist das Arbeitstier der Anwendung. Jeder Die Transaktion im blockchain wird mit dieser Nachricht zugestellt. Die Die Anwendung muss jede mit dem empfangene Transaktion validieren AppendTx-Nachricht gegen den aktuellen Status, Anwendungsprotokoll, und die kryptografischen Anmeldeinformationen der Transaktion. Eine validierte Die Transaktion muss dann den Anwendungsstatus aktualisieren – bis Binden eines Werts in einen Schlüsselwertspeicher oder durch Aktualisieren des UTXO Datenbank. Die  CheckTx -Nachricht ähnelt AppendTx, ist jedoch nur für Validierung von Transaktionen. Mempool-Erstprüfungen von Tendermint Core die Gültigkeit einer Transaktion mit CheckTx und nur gültige Weiterleitungen Transaktionen mit seinen Kollegen. Anwendungen können eine Erhöhung prüfen nonce in der Transaktion und geben Sie bei CheckTx einen Fehler zurück, wenn der nonce ist alt. Die Commit-Nachricht wird zur Berechnung einer Kryptographie verwendet Engagement für den aktuellen Anwendungsstand, in den gestellt werden nächster Blockkopf. Dies hat einige praktische Eigenschaften. Inkonsistenzen bei der Aktualisierung dieses Status werden nun als angezeigt blockchain Forks, die eine ganze Programmierklasse abdecken Fehler. Dies vereinfacht auch die Entwicklung eines sicheren Leichtbaus Kunden, da Merkle-hash-Beweise durch Vergleich überprüft werden können Der Block-hash und der Block-hash sind von einem Quorum von unterzeichnet validators (nach Stimmstärke).

Zusätzliche ABCI-Nachrichten ermöglichen es der Anwendung, den Überblick zu behalten und ändern Sie den Satz validator und damit die Anwendung den empfängt Blockinformationen wie die Höhe und die Commit-Stimmen. ABCI Anfragen/Antworten sind einfache Protobuf-Nachrichten. Überprüfen Schauen Sie sich das Schema an. Argumente: Daten ([]Byte): Die Bytes der Anforderungstransaktion Rückgaben: Code (uint32): Antwortcode Daten ([]byte): Ergebnisbytes, falls vorhanden Protokoll (Zeichenfolge): Debug- oder Fehlermeldung Verwendung:

Hängen Sie eine Transaktion an und führen Sie sie aus. Wenn die Transaktion gültig ist, gibt CodeType.OK zurück Argumente: Daten ([]Byte): Die Bytes der Anforderungstransaktion Rückgaben: Code (uint32): Antwortcode Daten ([]byte): Ergebnisbytes, falls vorhanden Protokoll (Zeichenfolge): Debug- oder Fehlermeldung Verwendung:

Validieren Sie eine Transaktion. Diese Nachricht sollte nicht mutieren Staat. Transaktionen werden zunächst über CheckTx ausgeführt Broadcast an Peers in der Mempool-Schicht. Du kannst machen CheckTx semi-stateful und löscht den Status beim Commit oder BeginBlock , um abhängige Transaktionssequenzen zu ermöglichen im selben Block.

Rückgaben: Daten ([]Byte): Die Merkle-Wurzel hash Protokoll (Zeichenfolge): Debug- oder Fehlermeldung Verwendung:

Gibt eine Merkle-Wurzel hash des Anwendungsstatus zurück. Argumente: Daten ([]Byte): Die Abfrageanforderungsbytes Rückgaben: Code (uint32): Antwortcode Daten ([]Byte): Die Abfrageantwortbytes Protokoll (Zeichenfolge): Debug- oder Fehlermeldung Verwendung:

Leeren Sie die Antwortwarteschlange. Anwendungen, die implementieren types.Application muss diese Nachricht nicht implementieren – sie ist es vom Projekt übernommen. Rückgaben: Daten ([]byte): Die Informationsbytes Verwendung:

Gibt Informationen zum Anwendungsstatus zurück. Bewerbung Spezifisch. Argumente: Schlüssel (Zeichenfolge): Schlüssel zum Festlegen

Wert (Zeichenfolge): Wert, der für den Schlüssel festgelegt werden soll Rückgaben: Protokoll (Zeichenfolge): Debug- oder Fehlermeldung Verwendung:

Anwendungsoptionen festlegen. Z.B. Key=“mode“, Value=“mempool“ für eine Mempool-Verbindung oder Key=“mode“, Value=“consensus“ für eine Konsensverbindung. Weitere Optionen sind anwendungsspezifisch. Argumente: Validatoren ([]Validator): Initial genesis-validators Verwendung:

Einst bei der Genesis genannt Argumente: Höhe (uint64): Die Blockhöhe, die beginnt Verwendung:

Signalisiert den Beginn eines neuen Blocks. Vorher angerufen AppendTxs. Argumente: Höhe (uint64): Die Blockhöhe, die endete Rückgaben: Validatoren ([]Validator): validators durch neue geändert Stimmrechte (0 zum Entfernen) Verwendung:

Signalisiert das Ende eines Blocks. Wird schließlich vor jedem Commit aufgerufen Transaktionen Weitere Details finden Sie im Repository ABCI.Es gibt mehrere Gründe, warum ein Absender das möchte Bestätigung der Zustellung eines Pakets durch die Empfangskette. Beispielsweise kennt der Absender möglicherweise nicht den Status der Zielkette, wenn erwartet wird, dass sie fehlerhaft ist. Oder der Absender Sie möchten dem Paket eine Zeitüberschreitung auferlegen (mit der Option  MaxHeight  Paketausbeute), während jede Zielkette unter einem Denial-of-Service-Angriff mit einem plötzlichen Anstieg der Anzahl eingehender Daten leiden kann Pakete. In diesen Fällen kann der Absender eine Empfangsbestätigung verlangen indem Sie den anfänglichen Paketstatus auf „AckPending“ setzen. Dann ist es das Die Verantwortung der Empfangskette, die Lieferung zu bestätigen, liegt in der Verantwortung eines abgekürzt  IBCPacket  in der App Merkle hash. Zuerst werden ein  IBCBlockCommit  und  IBCPacketTx  auf „Hub“ gepostet. das beweist die Existenz eines  IBCPacket  auf „Zone1“. Sag das  IBCPacketTx  hat den folgenden Wert: FromChainID: „Zone1“ FromBlockHeight: 100 (sagen wir) Paket: ein IBCPaket:

Header: ein IBCPacketHeader: SrcChainID: „Zone1“ DstChainID: „Zone2“ Anzahl: 200 (sagen wir) Status: Bestätigung ausstehend Typ: „Münze“ MaxHeight: 350 (sagen wir, „Hub“ befindet sich derzeit auf der Höhe 300) Nutzlast: Als nächstes werden ein  IBCBlockCommit  und  IBCPacketTx  auf „Zone2“ gepostet. das beweist die Existenz eines  IBCPacket  auf „Hub“. Sag das  IBCPacketTx  hat den folgenden Wert: FromChainID: „Hub“ FromBlockHeight: 300 Paket: ein IBCPaket: Header: ein IBCPacketHeader: SrcChainID: „Zone1“ DstChainID: „Zone2“ Anzahl: 200 Status: Bestätigung ausstehend Typ: „Münze“ Maximale Höhe: 350 Nutzlast: Als nächstes muss „Zone2“ in seine App-hash ein abgekürztes Paket aufnehmen Hier wird der neue Status von „AckSent“ angezeigt. Ein  IBCBlockCommit  und  IBCPacketTx  werden auf „Hub“ zurückgesendet, was die Existenz beweist eines abgekürzten  IBCPacket  auf „Zone2“. Sagen Sie das  IBCPacketTx  hat folgenden Wert: FromChainID: „Zone2“

FromBlockHeight: 400 (sagen wir) Paket: ein IBCPaket: Header: ein IBCPacketHeader: SrcChainID: „Zone1“ DstChainID: „Zone2“ Anzahl: 200 Status: AckSent Typ: „Münze“ Maximale Höhe: 350 PayloadHash: Schließlich muss „Hub“ den Status des Pakets aktualisieren  AckPending zu  AckReceived . Ein Beweis für diesen neuen ynalisierten Status sollte zurück zu „Zone2“ gehen. Angenommen,  IBCPacketTx  hat Folgendes Wert: FromChainID: „Hub“ FromBlockHeight: 301 Paket: ein IBCPaket: Header: ein IBCPacketHeader: SrcChainID: „Zone1“ DstChainID: „Zone2“ Anzahl: 200 Status: AckReceived Typ: „Münze“ Maximale Höhe: 350 PayloadHash: Unterdessen kann „Zone1“ optimistisch von einer erfolgreichen Lieferung ausgehen eines „Münzpakets“, sofern nicht das Gegenteil nachgewiesen wird „Hub“. Im obigen Beispiel, wenn „Hub“ kein „AckSent“ erhalten hätte

Wenn Sie den Status von „Zone2“ durch Block 350 ändern, wird der Status festgelegt automatisch auf  Timeout . Dadurch lässt sich ein Beweis für eine Zeitüberschreitung erhalten zurück auf „Zone1“ gepostet und alle tokens können zurückgegeben werden. Es werden zwei Arten von Merkle trees unterstützt Tendermint/Cosmos Ökosystem: The Simple Tree und das IAVL+ Baum. Der Simple Tree ist ein Merkle tree für eine statische Liste von Elementen. Wenn die Die Anzahl der Elemente ist keine Zweierpotenz, einige Blätter werden vorhanden sein verschiedene Ebenen. Simple Tree versucht, beide Seiten des Baums beizubehalten gleiche Höhe, aber die linke Seite darf um eins größer sein. Das ist Merkle tree Wird verwendet, um die Transaktionen eines Blocks und der obersten Ebene zu merkleisieren Elemente des Anwendungsstatusstamms.Der Zweck der IAVL+-Datenstruktur besteht darin, persistente Daten bereitzustellen Speicherung für Schlüssel-Wert-Paare im Anwendungsstatus, sodass a Die deterministische Merkle-Wurzel hash kann effizient berechnet werden. Die Der Baum wird mithilfe einer Variante des AVL-Algorithmus ausgeglichen, und so weiter Operationen sind O(log(n)). In einem AVL-Baum die Höhen der beiden untergeordneten Teilbäume eines beliebigen Knotens höchstens um eins unterscheiden. Immer wenn diese Bedingung bei einem verletzt wird Bei der Aktualisierung wird der Baum neu ausbalanciert, indem O(log(n)) neue Knoten erstellt werden zeigen auf unveränderte Knoten des alten Baums. Im Original-AVL Algorithmus können innere Knoten auch Schlüssel-Wert-Paare enthalten. Das AVL+ Der Algorithmus (beachten Sie das Plus) ändert den AVL-Algorithmus, um alles beizubehalten Werte auf Blattknoten, während Zweigknoten nur zum Speichern von Schlüsseln verwendet werden. Dies vereinfacht den Algorithmus und behält gleichzeitig die Merkle-Spur hash bei kurz. Der AVL+-Baum ist analog zu den Patricia-Versuchen von Ethereum. Es gibt Kompromisse. Schlüssel müssen vor dem Einsetzen nicht hashed werden IAVL+-Bäume, sodass eine schnellere geordnete Iteration im Schlüssel möglich ist Platz, der für einige Anwendungen von Vorteil sein kann. Die Logik ist einfacher implementieren, wobei nur zwei Arten von Knoten erforderlich sind – innere Knoten und Blattknoten. Der Merkle-Beweis ist im Durchschnitt kürzer und beträgt a                 *                 / \               /     \             /         \           /             \          *               *         / \             / \        /   \           /   \       /     \         /     \      *       *       *       h6     / \     / \     / \    h0  h1  h2  h3  h4  h5    Ein SimpleTree mit sieben Elementen

ausgeglichener Binärbaum. Andererseits ist die Merkle-Wurzel von an Der IAVL+-Baum hängt von der Reihenfolge der Aktualisierungen ab. Wir unterstützen weitere effiziente Merkle trees, wie z Patricia Trie von Ethereum, wenn die binäre Variante wird verfügbar. In der kanonischen Implementierung werden Transaktionen an die gestreamt Cosmos Hub-Anwendung über die Schnittstelle ABCI. Der Cosmos Hub akzeptiert eine Reihe primärer Transaktionen Typen, einschließlich  SendTx ,  BondTx ,  UnbondTx ,  ReportHackTx ,  SlashTx ,  BurnAtomTx ,  ProposalCreateTx  und  ProposalVoteTx , die ziemlich selbsterklärend sind und in einem dokumentiert werden zukünftige Überarbeitung dieses Papiers. Hier dokumentieren wir die beiden primären Transaktionstypen für IBC:  IBCBlockCommitTx  und  IBCPacketTx . Eine  IBCBlockCommitTx -Transaktion besteht aus: ChainID (string): Die ID von blockchain BlockHash ([]byte) : Die Block-hash Bytes, die Merkle-Wurzel Dazu gehört die App-hash BlockPartsHeader (PartSetHeader): Der Blockteilsatz-Header Bytes, werden nur zur Überprüfung der Abstimmungssignaturen benötigt BlockHeight (int) : Die Höhe des Commits BlockRound (int) : Die Runde des Commits Commit ([]Vote): Das >⅔ Tendermint Precommit stimmt darüber ab umfassen einen Block-Commit ValidatorsHash ([]byte): Eine Merkle-Tree-Wurzel hash des neuen validator gesetzt

ValidatorsHashProof (SimpleProof): Ein SimpleTree Merkleproof zum Nachweis des ValidatorsHash gegenüber dem BlockHash AppHash ([]byte): Eine IAVLTree-Merkle-Tree-Wurzel hash des Anwendungsstatus AppHashProof (SimpleProof): Ein SimpleTree Merkle-Proof für Beweisen des AppHash gegenüber dem BlockHash Ein  IBCPacket  besteht aus: Header (IBCPacketHeader): Der Paket-Header Nutzlast ([]Byte): Die Bytes der Paketnutzlast. Optional PayloadHash ([]byte): Der hash für die Bytes des Pakets. Optional Es muss entweder „Payload“ oder „PayloadHash“ vorhanden sein. Der hash eines  IBCPacket  ist eine einfache Merkle-Wurzel der beiden Elemente,  Header  und  Nutzlast . Ein  IBCPaket  ohne die vollständige Nutzlast wird als ein bezeichnet abgekürztes Paket. Ein  IBCPacketHeader  besteht aus: SrcChainID (string): Die Quell-ID blockchain DstChainID (string): Die Ziel-ID blockchain Nummer (int): Eine eindeutige Nummer für alle Pakete Status (Aufzählung): Kann AckPending, AckSent oder AckSent sein. AckReceived , NoAck oder Timeout Typ (Zeichenfolge): Die Typen sind anwendungsabhängig. Cosmos reserviert den Pakettyp „Münze“. MaxHeight (int) : Wenn der Status nicht NoAckWanted oder AckReceived ist Bei dieser Höhe wird der Status zu Timeout . Optional Eine  IBCPacketTx -Transaktion besteht aus:FromChainID (string) : Die ID des blockchain, der ist Bereitstellung dieses Pakets; nicht unbedingt die Quelle FromBlockHeight (int) : Die blockchain Höhe, in der die Das folgende Paket ist im Block-hash von enthalten (Merkle-isiert). die Quellkette Paket (IBCPacket): Ein Datenpaket, dessen Status eins sein kann von AckPending , AckSent , AckReceived , NoAck oder Timeout PacketProof (IAVLProof): Ein IAVLTree Merkle-Proof zum Beweisen hash des Pakets gegen den AppHash der Quellkette unter gegebene Höhe Die Reihenfolge zum Senden eines Pakets von „Zone1“ nach „Zone2“ durch den „Hub“ ist in {Abbildung X} dargestellt. Zuerst ein  IBCPacketTx  beweist gegenüber „Hub“, dass das Paket im App-Status enthalten ist „Zone1“. Dann beweist ein weiterer  IBCPacketTx  für „Zone2“, dass die Paket ist im App-Status von „Hub“ enthalten. Dabei Verfahren, die  IBCPacket -Ergebnisse sind identisch: die  SrcChainID  ist immer „Zone1“ und die  DstChainID  ist immer „Zone2“. Der  PacketProof  muss den richtigen Merkle-Proof-Pfad haben, z folgt: Wenn „Zone1“ über „Hub“ ein Paket an „Zone2“ senden möchte, Die  IBCPaketdaten sind identisch, unabhängig davon, ob das Paket auf „Zone1“, dem „Hub“ oder „Zone2“ gemerkt wird. Der einzige veränderliche Ertrag ist  Status für die Sendungsverfolgung. Wir danken unseren Freunden und Kollegen für ihre Unterstützung bei der Konzeption, Überprüfung und Unterstützung unserer Arbeit mit Tendermint und Cosmos. IBC///

Zaki Manian von SkuChain leistete viel Hilfe bei der Formatierung und Formulierungen, insbesondere im Abschnitt ABCI Jehan Tremback von Althea und Dustin Byington für ihre Hilfe erste Iterationen Andrew Miller von Honey Badger für sein Feedback zum Konsens Greg Slepak für Feedback zum Konsens und zur Formulierung Vielen Dank auch an Bill Gleim und Seunghwan Han für verschiedene Beiträge. Hier Ihr Name und Ihre Organisation für Ihren Beitrag 1 Bitcoin: https://bitcoin.org/bitcoin.pdf 2 ZeroCash: http://zerocash-project.org/paper 3 Ethereum: https://github.com/ethereum/wiki/wiki/WhitePaper 4 DieDAO: https://download.slock.it/public/DAO/WhitePaper.pdf 5 Getrennter Zeuge: https://github.com/bitcoin/bips/blob/master/bip0141.mediawiki 6 BitcoinNG: https://arxiv.org/pdf/1510.02037v2.pdf 7 Lightning-Netzwerk: https://lightning.network/lightningnetwork-paper-DRAFT-0.5.pdf 8 Tendermint: https://github.com/tendermint/tendermint/wiki 9 FLP-Unmöglichkeit: https://groups.csail.mit.edu/tds/papers/Lynch/jacm85.pdf 10 Slasher: https://blog.ethereum.org/2014/01/15/slasher-apunitive-proof-of-stake-algorithm/ 11 PBFT: http://pmg.csail.mit.edu/papers/osdi99.pdf 12 BitShares: https://bitshares.org/technology/delegatedproof-of-stake-consensus/

13 Stellar: https://www.stellar.org/papers/stellar-consensusprotocol.pdf 14 Zwischenbuch: https://interledger.org/rfcs/0001-interledgerarchitecture/ 15 Seitenketten: https://blockstream.com/sidechains.pdf 16 Casper: https://blog.ethereum.org/2015/08/01/introducing-casperfriendly-ghost/ 17 ABCI: https://github.com/tendermint/abci 18 Ethereum Sharding: https://github.com/ethereum/EIPs/issues/53 19 LibSwift: http://www.ds.ewi.tudelft.nl/yleadmin/pds/papers/Performa nceAnalysisOfLibswift.pdf 20 DLS: http://groups.csail.mit.edu/tds/papers/Lynch/jacm88.pdf 21 Thin Client-Sicherheit: https://en.bitcoin.it/wiki/Thin_Client_Security 22 Ethereum 2,0 Mauve-Papier: http://vitalik.ca/yles/mauve_paper.html https://www.docdroid.net/ec7xGzs/314477721-ethereumplatform-review-opportunities-and-challenges-for-privateand-consortium-blockchains.pdf.html

³ è