Cosmos: сеть распределенных реестров
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.

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.
Введение
Совокупный успех экосистемы с открытым исходным кодом, децентрализованный обмен данными и публичные криптовалюты вдохновило на понимание того, что децентрализованные интернет-протоколы могут быть использованы для радикального улучшения социально-экономической инфраструктуры. Мы видели специализированные приложения blockchain, такие как Bitcoin PH_0000 ( криптовалюта), Zerocash [2] (криптовалюта для конфиденциальности) и обобщенные платформы smart contract, такие как Ethereum [3], с бесчисленное количество распределенных приложений для Etherium Virtual Машина (PH_0007), такая как Augur (рынок прогнозов) и TheDAO. [4] (инвестиционный клуб). Однако на сегодняшний день эти blockchain пострадали от ряда недостатков, включая их общую энергетическую неэффективность, плохое или ограниченная производительность и незрелые механизмы управления. Предложения по масштабированию пропускной способности транзакций Bitcoin, например: Segregated-Witness [5] и BitcoinNG [6] — вертикальное масштабирование. решения, которые остаются ограниченными емкостью одного физического машина, чтобы обеспечить свойство полной проверяемости. Lightning Network [7] может помочь масштабировать транзакцию Bitcoin.
объем, полностью исключив некоторые транзакции из реестра, и хорошо подходит для микроплатежей и обеспечения конфиденциальности платежные рельсы, но могут не подойти для более универсальных потребности в масштабировании. Идеальным решением является решение, позволяющее нескольким параллельным blockchain взаимодействовать, сохраняя при этом свои свойства безопасности. Это имеет оказалось трудным, если не невозможным, с proof-of-work. Объединено например, майнинг позволяет выполнить работу по защите родительского цепочку для повторного использования в дочерней цепочке, но транзакции все равно должны быть проверяется по порядку каждым узлом и слитным майнингом blockchain уязвим для атаки, если большая часть hashing мощности на родитель не занимается активным слитным майнингом дочернего процесса. Академический обзор альтернативных сетевых архитектур blockchain предусмотрены для дополнительный контекст, и мы предоставляем краткое изложение других предложений и их недостатки в смежных работах. Здесь мы представляем Cosmos, новую сетевую архитектуру blockchain. который решает все эти проблемы. Cosmos — это сеть из многих независимые blockchain, называемые зонами. Зоны питаются от Tendermint Core [8], обеспечивающий высокую производительность, согласованный, безопасный механизм консенсуса, подобный PBFT, в котором строгая ответственность за действия гарантирует сдерживание поведения злоумышленников. актеры. Алгоритм консенсуса BFT Tendermint Core хорошо подходит для масштабирования общедоступных proof-of-stake blockchains. Первая зона на Cosmos называется Cosmos Hub. Cosmos Hub — это мультиактивная криптовалюта proof-of-stake с простой механизм управления, который позволяет сети адаптироваться и обновление. Кроме того, концентратор Cosmos можно расширить за счет подключение других зон. Хаб и зоны сети Cosmos обмениваются данными с друг с другом через протокол связи между blockchain (IBC), своего рода виртуальный UDP или TCP для blockchains. Токены могут быть безопасно и быстро переносить из одной зоны в другуюбез необходимости обмена ликвидности между зонами. Вместо этого, все межзональные передачи token проходят через концентратор Cosmos, который отслеживает общее количество token, находящихся в каждой зоне. концентратор изолирует каждую зону от сбоя других зон. Потому что любой может подключить новую зону к хабу Cosmos, зоны позволяют для будущей совместимости с новыми blockchain инновациями. В этом разделе мы описываем консенсусный протокол Tendermint. и интерфейс, используемый для создания приложений с его помощью. Для более подробности смотрите в приложении. В классических византийских отказоустойчивых алгоритмах (BFT) каждый узел имеет одинаковый вес. В Tendermint узлы имеют неотрицательное значение. количество голосов и узлы, которые имеют положительное голосование мощности называются validators. Валидаторы участвуют в протокол консенсуса путем трансляции криптографических подписей или голосов, чтобы согласовать следующий блок. Право голоса валидаторов определяется на этапе генезиса или детерминировано изменено blockchain, в зависимости от приложение. Например, в приложении proof-of-stake, таком как концентратор Cosmos, право голоса может определяться сумма staking tokens, переданная в качестве залога. ПРИМЕЧАНИЕ. Такие дроби, как ⅔ и ⅓, относятся к долям общего числа голосов. мощность, а не общее количество validator, если только не все validator. иметь равный вес. >⅔ означает «более ⅔», ≥⅓ означает «по крайней мере ⅓». Tendermint — это частично синхронный консенсусный протокол BFT. получено на основе алгоритма консенсуса DLS [20]. Тендерминт - это
отличается своей простотой, производительностью и ответственностью за форк. Протокол требует yxed известного набора validators, где каждый validator идентифицируется по открытому ключу. Валидаторы пытаются прийти к консенсусу по одному блоку за раз, где блок представляет собой список сделок. Голосование за консенсус по блоку продолжается в раунды. В каждом раунде есть лидер раунда или предлагающий, который предлагает блок. Затем validator поэтапно голосуют за то, будет ли принять предложенный блок или перейти к следующему раунду. предлагающий раунд выбирается детерминированно из заказанных список validators, пропорционально их голосу. Полная информация о протоколе описана здесь. Безопасность Tendermint основана на использовании оптимального византийского отказоустойчивость посредством голосования сверхбольшинством (>⅔) и блокировки механизм. Вместе они гарантируют, что: ≥⅓ голосов должно быть византийским, чтобы вызвать нарушение безопасность, где зафиксировано более двух значений. если какой-либо группе validator когда-либо удастся нарушить безопасность или даже попытки сделать это, они могут быть идентифицированы протоколом. Это включает в себя как голосование за составные блоки, так и трансляцию необоснованные голоса. Несмотря на свои серьезные гарантии, Tendermint обеспечивает исключительные производительность. В тестах 64 узла, распределенных по 7 центры обработки данных на 5 континентах, на обычных облачных экземплярах, Консенсус Tendermint может обрабатывать тысячи транзакций за во-вторых, с задержкой фиксации порядка одной-двух секунд. Примечательно, что производительность более тысячи транзакций в второе сохраняется даже в суровых противоборствующих условиях, при validator происходит сбой или трансляция злонамеренно созданных голосов. См. Подробности приведены на рисунке ниже.

Основное преимущество алгоритма консенсуса Tendermint — простота. легкая безопасность клиентов, что делает его идеальным кандидатом для мобильных и Варианты использования Интернета вещей. Хотя легкий клиент Bitcoin должен синхронизироваться цепочки заголовков блоков и найти тот, у которого больше всего доказательств работы, легким клиентам Tendermint нужно только идти в ногу с изменениями в набор validator, а затем проверьте >⅔ PreCommits в последний блок для определения последнего состояния. Краткие легкие доказательства клиента также позволяют использовать inter-blockchain общение. В Tendermint предусмотрены защитные меры для предотвращения определенных заметные атаки, такие как двойные траты на большие расстояния по принципу «ничего не поставлено на карту» и цензура. Более подробно они обсуждаются в приложении.Алгоритм консенсуса Tendermint реализован в программа под названием Tendermint Core. Tendermint Core — это независимый от приложения «механизм консенсуса», который может превратить любую детерминированное приложение «черный ящик» в распределенно реплицируемую blockchain. Tendermint Core подключается к blockchain приложениям через интерфейс блокчейна приложения (ABCI) [17]. Таким образом, ABCI позволяет программировать blockchain приложений в любом язык, а не только язык программирования, на котором существует консенсус engine. Кроме того, ABCI позволяет легко замените уровень консенсуса любого существующего стека blockchain. Проведем аналогию с известной криптовалютой Bitcoin. Bitcoin — это криптовалюта blockchain, в которой каждый узел поддерживает полностью проверенная база данных вывода неизрасходованных транзакций (UTXO). Если хотелось создать систему, подобную Bitcoin, поверх ABCI, Tendermint Core будет отвечать за Совместное использование блоков и транзакций между узлами Установление канонического/неизменяемого порядка транзакций ( blockchain) Между тем, приложение ABCI будет отвечать за Ведение базы данных UTXO Проверка криптографических подписей транзакций Предотвращение траты транзакций на несуществующие средства Разрешение клиентам запрашивать базу данных UTXO Tendermint может разложить дизайн blockchain по предлагая очень простой API между процессом приложения и процесс консенсуса.
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“,

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.
Cosmos Архитектура
Cosmos — это сеть независимых параллельных blockchain, которые каждый из них основан на классических алгоритмах консенсуса BFT, таких как Тендерминт 1. Первым blockchain в этой сети будет концентратор Cosmos. Cosmos Хаб подключается ко многим другим blockchain (или зонам) через новый протокол связи между blockchain. Концентратор Cosmos отслеживает многочисленные типы token и ведет учет общего количества количество tokens в каждой подключенной зоне. Токены могут быть безопасно и быстро переносить из одной зоны в другую без необходимости обмена жидкостью между зонами, поскольку все межзональные переводы монет проходят через концентратор Cosmos. Эта архитектура решает многие проблемы, с которыми сталкивается пространство blockchain. сегодняшние проблемы, такие как совместимость приложений, масштабируемость и возможность бесшовной модернизации. Например, зоны, производные от Bitcoind, Go-Ethereum, CryptoNote, ZCash или любая другая система blockchain может быть подключен к концентратору Cosmos. Эти зоны позволяют Cosmos бесконечно масштабироваться для удовлетворения глобального спроса на транзакции. Зоны также отличный вариант для распределенного обмена, который будет поддерживаться как ну. Cosmos — это не просто один распределенный реестр, а Cosmos Хаб — это не огороженный сад и не центр вселенной. Мы разработка протокола для открытой сети распределенных реестров которые могут послужить новой основой для будущих финансовых систем, основанный на принципах криптографии, разумной экономики, консенсуса теория, прозрачность и подотчетность. Хаб Cosmos является первым общедоступным blockchain в PH_0005. Сеть, основанная на алгоритме консенсуса BFT Tendermint. Проект с открытым исходным кодом Tendermint родился в 2014 году для решения скорость, масштабируемость и экологические проблемы алгоритма консенсуса доказательства работы Bitcoin. Используя и совершенствуя проверенные
BFT алгоритмы, разработанные в Массачусетском технологическом институте в 1988 году [20], Tendermint команда была первой, кто концептуально продемонстрировал proof-of-stake криптовалюта, которая решает проблему «ничего на кону» пострадали от криптовалют proof-of-stake первого поколения, таких как как NXT и BitShares1.0. Сегодня практически все мобильные кошельки Bitcoin используют доверенные серверы для предоставить им проверку транзакции. Это связано с тем, что доказательство работы требует ожидания множества подтверждений, прежде чем транзакция может считаться необратимо совершенной. Атаки двойной траты уже были продемонстрированы на таких сервисах, как CoinBase. В отличие от других консенсусных систем blockchain, Tendermint предлагает Мгновенная и доказуемо безопасная проверка платежей мобильного клиента. Поскольку Tendermint вообще никогда не разветвляется, мобильные кошельки могут получать мгновенное подтверждение транзакции, что делает надежные и практичные платежи – реальность на смартфонах. Это имеет значительные последствия для приложений Интернета вещей, поскольку ну. Валидаторы в Cosmos выполняют аналогичную роль майнерам Bitcoin, но вместо этого используйте криптографические подписи для голосования. Валидаторы безопасные, выделенные машины, которые отвечают за совершение блоки. Лица, не validator, могут делегировать свои staking token (называемые «атомы») любому validator, чтобы заработать часть комиссий за блок и атом награды, но они подвергаются риску быть наказанными (урезанными), если делегат validator взломан или нарушает протокол. Проверенный гарантии безопасности консенсуса Tendermint BFT и сопутствующие депозит заинтересованных сторон – validator и делегаторов – обеспечивают доказуемая, количественная безопасность для узлов и легких клиентов. Распределенные публичные реестры должны иметь конституцию и система управления. Bitcoin опирается на Фонд Bitcoin имайнинг для координации обновлений, но это медленный процесс. Ethereum разделился на ETH и ETC после хард-форка по адресу Взлом DAO, в основном потому, что не было предварительного общественного договора. ни механизма принятия таких решений. Валидаторы и делегаты в хабе Cosmos могут голосовать за предложения, позволяющие изменить заданные параметры системы автоматически (например, лимит газа блока), координировать обновления, как а также голосовать по поправкам в удобочитаемую конституцию которые регулируют политику Cosmos Hub. Конституция позволяет обеспечить сплоченность заинтересованных сторон по таким вопросам, как кражи и ошибки (например, инцидент TheDAO), что позволяет быстрее и более чистое разрешение. Каждая зона также может иметь свою собственную конституцию и управление. механизм тоже. Например, концентратор Cosmos может иметь конституция, которая обеспечивает неизменность в Хабе (без откатов, за исключением ошибок реализации узла концентратора Cosmos), в то время как каждая зона может устанавливать свою собственную политику в отношении откатов. Обеспечивая совместимость между различными зонами политики, Сеть Cosmos предоставляет своим пользователям максимальную свободу и возможности для несанкционированные эксперименты. Здесь мы описываем новую модель децентрализации и масштабируемости. Cosmos — это сеть из множества blockchain, работающих на Мята. Хотя существующие предложения направлены на создание «единой blockchain» с общим заказом глобальных транзакций, Cosmos позволяет многим blockchain работать одновременно друг с другом сохраняя при этом совместимость. По сути, хаб Cosmos управляет множеством независимых blockchains, называемые «зонами» (иногда называемые «осколками», в ссылка на метод масштабирования базы данных, известный как «шардинг»).
Постоянный поток последних коммитов блоков из зон, опубликованных на Hub позволяет Hub отслеживать состояние каждой зоны. Аналогично, каждая зона следит за состоянием Хаба (но зоны не идти в ногу друг с другом, кроме как косвенно через Хаб). Пакеты информации затем передаются от одного зону другому, разместив доказательства Меркла в качестве доказательства того, что информация была отправлена и получена. Этот механизм называется связь между blockchain или сокращенно IBC. Любая из зон сама может быть хабом для формирования ациклического графа. но для ясности мы опишем только простое конфигурация, в которой есть только один концентратор и множество неконцентраторов зоны. Хаб Cosmos — это blockchain, на котором размещено несколько активов. распределенный реестр, в котором token могут храниться отдельными пользователями или по самим зонам. Эти token можно переместить из одной зоны. другому в специальном пакете IBC, называемом «пакет монет». Концентратор ответственный за сохранение глобальной инвариантности полной количество каждого token в зонах. IBC пачка монет транзакции должны быть зафиксированы отправителем, концентратором и получателем blockchainс.Поскольку Cosmos Hub действует как центральный реестр для всего системы, безопасность Хаба имеет первостепенное значение. Пока каждая зона может представлять собой Tendermint blockchain, защищенный всего 4 (или даже меньше, если консенсус BFT не требуется), Hub должен быть защищен глобально децентрализованным набором validator, который может противостоять самым серьезным сценариям атак, таким как раздел континентальной сети или атака, спонсируемая национальным государством. Зона Cosmos — это независимая зона blockchain, которая обменивается IBC. сообщения с помощью Hub. С точки зрения Хаба, зона — это учетная запись с несколькими подписями и динамическим членством, которая может отправлять и получать token, используя пакеты IBC. Как криптовалютный счет, зона не может перевести более tokens, чем он имеет, но может получать token от других, у которых они есть. Зона может быть обозначен как «источник» одного или нескольких типов token, предоставив ему возможность инзацировать этот источник token. Атомы Cosmos Hub могут быть застейканы validators зоны подключен к хабу. В то время как атаки двойного расходования на эти зоны приведет к разделению атомов с помощью системы подотчетности Tendermint, зоны, в которой > ⅔ голосов Византийский может совершить недействительное состояние. Концентратор Cosmos не поддерживает проверять или выполнять транзакции, совершенные в других зонах, поэтому ответственность пользователей отправлять token в зоны, которым они доверяют. В будущем система управления Cosmos Hub может пройти мимо Hub. предложения по улучшению, учитывающие сбои зон. Для например, исходящие переводы token из некоторых (или всех) зон могут регулироваться для обеспечения аварийного отключения зон (временная остановка передачи token) при обнаружении атаки. Теперь посмотрим, как Хаб и зоны общаются друг с другом. другое. Например, если есть три blockchain: «Зона1», «Зона2»,

и «Хаб», и мы хотим, чтобы «Зона 1» создавала пакет, предназначенный для «Зоны 2» через «Хаб». Чтобы переместить пакет из одного blockchain другому, доказательство отправляется в принимающую цепочку. Доказательство гласит, что передающая цепочка опубликовала пакет для предполагаемое место назначения. Чтобы принимающая цепочка могла проверить это доказательство, она должен быть в состоянии успевать за заголовками блоков отправителя. Это механизм аналогичен тому, который используется в сайдчейнах, что требует две взаимодействующие цепи, чтобы знать друг о друге через двунаправленный поток датаграмм подтверждения существования (транзакции). Протокол IBC естественным образом может быть разработан с использованием двух типов транзакции: транзакция IBCBlockCommitTx , которая позволяет blockchain, чтобы доказать любому наблюдателю свой последний блок - hash, и транзакция IBCPacketTx , которая позволяет blockchain доказать любому наблюдателю, что данный пакет действительно был опубликован приложением отправителя, через доказательство Меркла к недавнему блок-hash. Разделив механику IBC на две отдельные транзакции, мы позволить внутреннему рыночному механизму комиссий принимающей цепочки определить, какие пакеты будут зафиксированы (т.е. подтверждены), в то время как предоставляя полную свободу в цепочке отправки относительно того, как разрешено много исходящих пакетов. В приведенном выше примере для обновления блока hash «Zone1» на «Hub» (или «Hub» на «Zone2»), IBCBlockCommitTxтранзакция должна быть размещена на «Хабе» с блоком hash «Зона1» (или «Зона2» с блоком hash «Хаба»). Дополнительную информацию см. в IBCBlockCommitTx и IBCPacketTx. для двух типов транзакций IBC. Точно так же, как Bitcoin более безопасен, поскольку является распределенным, массово тиражируемый реестр, мы можем сделать биржи менее уязвимыми для внешние и внутренние хаки, запустив его на blockchain. Мы назовите это распределенным обменом. То, что криптовалютное сообщество называет децентрализованным сегодняшние обмены основаны на так называемых транзакциях «атомной кроссчейн» (AXC). При транзакции AXC два пользователя на две разные цепочки могут совершать две транзакции перевода, которые зафиксировано одновременно в обоих реестрах или не зафиксировано вообще (т. е. атомарно). Например, два пользователя могут обменять биткойны на эфир (или любые два token в двух разных реестрах) с использованием транзакций AXC, хотя Bitcoin и Ethereum не подключены друг к другу другое. Преимущество обмена транзакциями AXC заключается в что ни пользователям не нужно доверять друг другу, ни системе сопоставления сделок. сервис. Обратной стороной является то, что обе стороны должны быть онлайн для торговля произойдет. Другой тип децентрализованной биржи — это массово тиражируемая биржа. распределенный обмен, работающий самостоятельно blockchain. Пользователи на этот вид биржи может подать лимитный ордер и развернуть свои компьютер выключен, и сделка может выполняться без участия пользователя. онлайн. blockchain соответствует и завершает сделку от имени трейдера.
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.
Приложения
Централизованная биржа может создать глубокую книгу заказов с лимитами. заказов и тем самым привлечь больше трейдеров. Ликвидность порождает больше ликвидность в биржевом мире, поэтому существует сильная сеть эффект (или, по крайней мере, эффект «победитель получает большую часть») при обмене бизнес. Текущий лидер криптовалютных бирж сегодня находится Poloniex с 24-часовым объемом $20 млн, а на втором месте находится Bitynex с 24-часовым объемом в 5 миллионов долларов. Учитывая такую сильную сеть эффектов, маловероятно, что децентрализованные биржи на базе AXC выиграть объем над централизованными биржами. Для децентрализованного биржа, чтобы конкурировать с централизованной биржей, ей потребуется для поддержки глубоких книг заказов с лимитными ордерами. Только распределенный обмен на blockchain может это обеспечить. Tendermint обеспечивает дополнительные преимущества более быстрой транзакции. совершает. Отдавая приоритет быстрой динамичности, не жертвуя при этом согласованность, зоны в Cosmos могут быстро анализировать транзакции – для как транзакции обменных заказов, так и переводы IBC token на и из других зон. Учитывая сегодняшнее состояние криптовалютных бирж, отличный приложение для Cosmos — это распределенный обмен (он же Cosmos DEX). Пропускная способность транзакций, а также задержка фиксации может быть сравнима с задержкой централизованного обмены. Трейдеры могут отправлять лимитные ордера, которые могут быть исполнены. без необходимости присутствия обеих сторон в сети. И с Тендерминтом, хаб Cosmos и IBC, трейдеры могут вводить и выводить средства быстрый обмен данными с другими зонами. Привилегированная зона может выступать в качестве источника мостового token еще одна криптовалюта. Мост похож на отношения между концентратором Cosmos и зоной; оба должны идти в ногу с последние блоки друг друга, чтобы проверить доказательства того, что tokens имеют перешел из одного в другой. «Мост-зона» на Cosmos. сеть не отстает от концентратора, а также от других
криптовалюта. Косвенное направление через зону моста позволяет логика Хаба должна оставаться простой и независимой от других blockchain консенсусные стратегии, такие как proof-of-work Bitcoin добыча полезных ископаемых. В каждой зоне моста validator будет работать сервер на базе Tendermint. blockchain со специальным мостовым приложением ABCI, а также с полным узлом «происхождение» blockchain. Когда в источнике добываются новые блоки, зона моста validators придут к соглашению о зафиксированных блоках, подписав и делятся своим местным мнением об источнике blockchain. совет. Когда мостовая зона получает платеж от источника (и было решено, что по делу были рассмотрены достаточные подтверждения цепочки PoW, например Ethereum или Bitcoin), соответствующий аккаунт создается в бридж-зоне с этим балансом. В случае Ethereum зона моста может использовать один и тот же validator — установлен как концентратор Cosmos. На стороне Ethereum ( origin), мостовой контракт позволит держателям эфира отправлять эфир в бридж-зону, отправив его в бридж-контракт на Ethereum. Как только эфир будет получен бридж-контрактом, эфир нельзя вывести, пока не будет получен соответствующий пакет IBC. полученные по бридж-контракту от бридж-зоны. Bridge-contract отслеживает набор validator зоны моста, который может быть идентичен набору validator концентратора Cosmos. В случае Bitcoin концепция аналогична, за исключением того, что вместо один мостовой контракт, каждый UTXO будет контролироваться пороговая мультиподпись P2SH. Из-за ограничений системе P2SH подписывающие стороны не могут быть идентичными Cosmos Ступица validator-комплект.Эфир в бридж-зоне («мостовой эфир») можно перевести на и из Хаба, а затем быть уничтожены с помощью транзакции, которая отправляет его на определенный адрес вывода средств Ethereum. IBC пакет, подтверждающий, что транзакция произошла в зоне моста может быть опубликован в мостовом контракте Ethereum, чтобы разрешить эфир быть отозванным. В случае Bitcoin система ограниченных сценариев делает это сложно отразить механизм перевода монет IBC. Каждый UTXO имеет свою собственную независимую публикацию, поэтому каждый UTXO должен быть перенесен на новый UTXO при изменении набора Bitcoin лица, подписавшие условное депонирование. Одним из решений является сжатие и распакуйте набор UTXO по мере необходимости, чтобы сохранить общее число из UTXOс не работает. Риск такого промежуточного контракта представляет собой мошеннический набор validator. ≥⅓ Византийское право голоса может вызвать форк, выводящий эфир из контракта о мосте на Ethereum, сохраняя при этом мост в зоне моста. Хуже того, более ⅔ византийского права голоса может украсть эфир начисто у тех, кто отправил его на бридж-контракт отклоняясь от исходной логики мостовой зоны. Решить эти проблемы можно, спроектировав мост так, чтобы он был полностью подотчетен. Например, все пакеты IBC от концентратора и происхождения, может потребоваться подтверждение со стороны мостовой зоны в таким образом, чтобы все переходы состояний мостовой зоны могли быть эффективно оспаривается и проверяется либо хабом, либо источником мост-контракт. Хаб и источник должны разрешить мостовой зоне validators размещать обеспечение, а token переводить из бридж-контракт должен быть отложен (и расторжение залога достаточно длительный период), чтобы можно было решать любые проблемы, независимые аудиторы. Мы оставляем дизайн спецификации и реализация этой системы открыта в будущем Cosmos
предложение по улучшению, которое должно быть принято Cosmos Hub система управления. Решение проблемы масштабирования является открытой проблемой для Ethereum. В настоящее время узлы Ethereum обрабатывают каждую транзакцию и также сохраните все состояния. связь. Поскольку Tendermint может фиксировать блоки намного быстрее, чем Ethereum Зоны proof-of-work, EVM, основанные на консенсусе Tendermint и работа на мостовом эфире может обеспечить более высокую производительность Ethereum blockchainс. Кроме того, хотя концентратор Cosmos и Механика пакетов IBC не допускает произвольной логики контракта исполнение как таковое, его можно использовать для координации token движений между Ethereum контрактами, работающими в разных зонах, обеспечивая основу для token-центричного Ethereum масштабирования с помощью шардинг. Зоны Cosmos выполняют произвольную логику приложения, которая определяется начало жизни зоны и потенциально может обновляться со временем правительством. Такая гибкость позволяет Cosmos зонам действовать как мосты к другим криптовалютам, таким как Ethereum или Bitcoin, а также допускает производные от этих blockchain, используя ту же кодовую базу, но с другим набором validator и первоначальное распространение. Это позволяет многим существующим криптовалютам фреймворки, такие как Ethereum, Zerocash, Bitcoin, CryptoNote и т. д. для использования с Tendermint Core, который механизм консенсуса с более высокой производительностью в общей сети, открывая огромные возможности для взаимодействия между платформы. Кроме того, в качестве мультиактива blockchain один транзакция может содержать несколько входов и выходов, где каждый ввод может быть любого типа token, что позволяет Cosmos служить непосредственно в качестве платформа для децентрализованного обмена, хотя заказы предполагаютсядля сопоставления через другие платформы. В качестве альтернативы зона может служить как распределенная отказоустойчивая биржа (с книгами заказов), которая может быть строгим улучшением по сравнению с существующими централизованными криптовалютные биржи, которые со временем часто подвергаются взлому. Зоны также могут служить blockchain версиями корпоративных и правительственные системы, где части конкретной услуги, которые традиционно управляются организацией или группой организаций вместо этого запускаются как приложение ABCI в определенной зоне, что позволяет ему унаследовать безопасность и совместимость общедоступных Cosmos сети, не жертвуя контролем над базовой сервис. Таким образом, Cosmos может предложить лучшее из обоих миров для организации, желающие использовать технологию blockchain, но которые опасаясь полностью передать контроль распределенной третьей стороне вечеринка. Некоторые утверждают, что основная проблема с обеспечением согласованности консенсусных алгоритмов, таких как Tendermint, заключается в том, что любая сеть раздел, из-за которого не существует ни одного раздела с размером >⅔ Количество голосов (например, выход из журнала ≥⅓) полностью остановит консенсус. Архитектура Cosmos может помочь смягчить эту проблему, используя глобальный центр с региональными автономными зонами, где право голоса для каждой зоны распределяются на основе общего географического регион. Например, общая парадигма может быть для отдельных города или регионы, чтобы управлять своими собственными зонами, разделяя при этом общий центр (например, Cosmos Hub), позволяющий муниципальной деятельности сохраняться в случае остановки хаба из-за временной неисправности сети перегородка. Обратите внимание, что это позволяет реальным геологическим, политическим и топологические особенности сети, которые следует учитывать при проектировании надежного федеративные отказоустойчивые системы.
NameCoin был одним из первых blockchain, попытавшихся решить проблема разрешения имен путем адаптации Bitcoin blockchain. К сожалению, при таком подходе возникло несколько проблем. С помощью Namecoin мы можем убедиться, что, например, @satoshi был зарегистрированный с определенным открытым ключом в какой-то момент в прошлом, но мы не будем знать, был ли с тех пор открытый ключ обновлено недавно, если мы не загрузим все блоки с момента последнего обновление этого имени. Это связано с ограничением Bitcoin UTXO транзакция Модель Мерклеизации, где только транзакции (но не изменяемое состояние приложения) являются меркловскими в блок-hash. Это позволяет нам доказать существование, а не несуществование более поздних обновлений имени. Таким образом, мы не можем знать, определить самое последнее значение имени, не доверяя полной узла или понести значительные затраты на пропускную способность из-за загрузки весь blockchain. Даже если бы в NameCoin было реализовано дерево поиска в стиле Меркла, его зависимость от proof-of-work упрощает проверку клиента проблематично. Легкие клиенты должны загрузить полную копию заголовки для всех блоков всего blockchain (или, по крайней мере, всех заголовки с момента последнего обновления имени). Это означает, что Требования к пропускной способности линейно масштабируются с течением времени [21]. Кроме того, имя меняется на proof-of-work blockchain. требует ожидания дополнительных блоков подтверждения proof-of-work, это может занять до часа на Bitcoin. В случае с Tendermint все, что нам нужно, это самый последний блок — hash. подписано кворумом в validators (по числу голосов) и членом Меркла подтверждение текущего значения, связанного с именем. Это делает это возможно иметь краткий, быстрый и безопасный легкий клиент проверка значений имени. В Cosmos мы можем взять эту концепцию и расширить ее. Каждый Зона регистрации имен в Cosmos может иметь связанное имя домена верхнего уровня (TLD), например «.com» или «.org», и каждое имя-
зона регистрации может иметь собственное управление и регистрацию правила.
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.
Управление и экономика
Хотя Cosmos Hub представляет собой распределенный реестр с несколькими активами, существует особый природный объект token, называемый атомом. Атомы — единственные staking token узла Cosmos. Атомы — это лицензия для владельца на голосуйте, подтверждайте или делегируйте полномочия другим validator. Нравится Ethereum эфира, атомы также можно использовать для оплаты комиссий за транзакции уменьшить спам. Дополнительные инзационные атомы и блочная транзакция гонорары вознаграждаются validator и делегаторов, делегирующих полномочия validatorс. Транзакция BurnAtomTx может использоваться для восстановления любого пропорциональная сумма tokens из резервного пула. Первоначальное распределение атомов tokens и validators в книге Бытия. пойдут донорам Cosmos Сбора средств (75%), ведущие доноры (5%), Cosmos Network Foundation (10%) и ALL IN BITS, Inc. (10%). Начиная с зарождения, 1/3 общего количества атомов будет будут вознаграждены связанным validator и делегатам каждый год. Дополнительные сведения см. в плане Cosmos. В отличие от Bitcoin или других proof-of-work blockchain, Tendermint blockchain становится медленнее при увеличении количества validator из-за увеличения сложность общения. К счастью, мы можем поддержать достаточно validators для создания надежного глобально распределенного blockchain с очень быстрым временем подтверждения транзакций и, что касается пропускной способности,
хранилища и увеличится мощность параллельных вычислений, мы сможем для поддержки большего количества validator в будущем. В день создания максимальное количество validator будет установлено равным 100, и это число будет увеличиваться со скоростью 13% в течение 10 лет, и расчет на уровне 300 validators. Владельцы атомов, которые еще этого не сделали, могут стать validators путем подписание и отправка транзакции BondTx . Сумма атомы, предоставленные в качестве залога, должны быть ненулевыми. Любой может стать validator в любое время, за исключением случаев, когда размер текущего Набор validator превышает максимальное количество validator. разрешено. В этом случае сделка действительна только в том случае, если сумма атомов больше, чем количество эффективных атомов, удерживаемых наименьший validator, где эффективные атомы включают делегированные атомы. Когда новый validator заменяет существующий validator таким образом, существующий validator становится неактивным, и все атомы и делегированные атомы переходят в состояние разъединения. На validators должен быть наложен какой-то штраф за любое умышленное или неумышленное отклонение от санкционированного протокол. Некоторые доказательства являются допустимыми сразу, например, двойной знак на одной и той же высоте и витке, либо нарушение Год 0: 100 Год 1: 113 Год 2: 127 Год 3: 144 Год 4: 163 Год 5: 184 Год 6: 208 Год 7: 235 Год 8: 265 Год 9: 300 10 год: 300 ...
«prevote-the-lock» (правило консенсусного протокола Tendermint). Подобные доказательства приведут к потере validator своей хорошей репутации. и его связанные атомы, а также его пропорциональную долю tokens в резервный пул, который в совокупности называется «долей», будет сокращен. Иногда validator будут недоступны либо из-за региональных сбои в сети, сбой питания или другие причины. Если в любой момент точка в прошлых блоках ValidatorTimeoutWindow , validator голосование за принятие не включено в blockchain более чем ValidatorTimeoutMaxAbsent раз, то validator станет неактивен и теряет ValidatorTimeoutPenalty (ПО УМОЛЧАНИЮ 1 %) ставка. Некоторые «злонамеренные» действия не приводят к явно различимым последствиям. доказательства по делу blockchain. В этих случаях validator могут координировать внеполосные действия, чтобы принудительно отключить эти вредоносные validators, если существует консенсус сверхбольшинства. В ситуациях, когда хаб Cosmos останавливается из-за коалиции ≥⅓ количество голосов теряется в журнале или в ситуациях, когда коалиция ≥⅓ Цензура голосов, свидетельствующая о злонамеренном поведении со стороны входя в blockchain, хаб должен восстановиться с помощью хард-форка реорг-предложение. (Ссылка на «Форки и цензурные атаки»). Cosmos Концентратор validators может принимать любой тип token или комбинацию типов в качестве комиссий за обработку транзакции. Каждый validator может субъективно установить любой обменный курс, который он хочет, и выбрать любые транзакции, которые он хочет, при условии, что BlockGasLimit не превышен. Собранные сборы за вычетом любых налогов, указанных ниже, перераспределяются среди связанных стейкхолдеров пропорционально их связанные атомы, каждый ValidatorPayoutPeriod (ПО УМОЛЧАНИЮ 1 час).Из собранной комиссии за транзакцию ReserveTax (ПО УМОЛЧАНИЮ 2%) будет идите к резервному пулу, чтобы увеличить резервный пул и повысить безопасность и ценность сети Cosmos. Эти средства также могут распределяться в соответствии с решениями производится системой управления. Владельцы атомов, которые делегируют свое право голоса другим validator. выплатить комиссию делегированному validator. Комиссия может устанавливается каждым validator. Безопасность хаба Cosmos является функцией безопасности лежащие в основе validators и выбор делегирования делегирующими лицами. Чтобы стимулировать обнаружение и раннее сообщение о найденных уязвимостей, хаб Cosmos призывает хакеров публиковать успешные эксплойты через транзакцию ReportHackTx , в которой говорится: «Этот validator был взломан. Пожалуйста, пришлите награду на этот адрес». После такой эксплойт, validator и делегаторы станут неактивными, HackPunishmentRatio (по умолчанию 5%) всех атомов получит сокращено, а HackRewardRatio (по умолчанию 5%) всех атомов получит вознаграждение на баунти-адрес хакера. validator должен восстановить оставшиеся атомы, используя их резервный ключ. Чтобы предотвратить злоупотребление этой функцией для передачи неинвестированные атомы, доля наделенных и неинвестированных атомов validators и делегаторы до и после ReportHackTx будут останется прежним, а награда за хакера будет включать в себя некоторые нераспределенные атомы, если таковые имеются. Хаб Cosmos управляется распределенной организацией, которая требует хорошо продуманного механизма управления, чтобы координировать различные изменения в blockchain, например переменную
параметры системы, а также обновления программного обеспечения и конституционные поправки. Все validator несут ответственность за голосование по всем предложениям. Не удалось Своевременное голосование по предложению приведет к validator автоматически деактивируется на период времени, называемый Прогул на штрафной период (ПО УМОЛЧАНИЮ 1 неделя). Делегаторы автоматически наследуют голоса делегированных validator. Это голосование может быть отменено вручную. Несвязанные атомы не получить голоса. Для каждого предложения требуется внести депозит в размере MinimumProposalDeposit. token, которые могут представлять собой комбинацию одного или нескольких token. включая атомы. По каждому предложению избиратели могут проголосовать за принятие депозит. Если более половины избирателей выберут депозит (например, потому что предложение было спамом), депозит переходит на резервный пул, за исключением сгоревших атомов. По каждому предложению избиратели могут голосовать следующими вариантами: Да ДаСфорс Нет NayWithForce Воздерживаться Строгое большинство голосов за или YeaWithForce (или против, или голосов NayWithForce) требуется для того, чтобы предложение было принято как принято (или решено как проваленное), но 1/3+ могут наложить вето на большинство решение путем голосования «принудительным». Когда строгое большинство накладывает вето, все будут наказаны потерей VetoPenaltyFeeBlocks (ПО УМОЛЧАНИЮ блоков за 1 день) стоимость сборов (кроме налогов которая не будет затронута), и партия, наложившая вето на большинство
решение будет дополнительно наказано потерей VetoPenaltyAtoms (ПО УМОЛЧАНИЮ 0,1%) его атомов. Любой из определенных здесь параметров можно изменить с помощью передача ParameterChangeProposal. Атомы можно интегрировать и резервировать средства пула, потраченные с помощью принятие BountyProposal. Все остальные предложения, такие как предложение по обновлению протокола, будет координироваться с помощью общего TextProposal . См. План. В консенсусе blockchain было много нововведений и масштабируемость за последние пару лет. В этом разделе представлено краткое обзор избранного числа важных из них. Консенсус в присутствии злонамеренных участников является проблемой восходит к началу 1980-х годов, когда Лесли Лэмпорт придумал фраза «Византийская ошибка» относится к произвольному поведению процесса, которое отклоняется от запланированного поведения, в отличие от «аварии», при этом процесс просто аварийно завершает работу. Были обнаружены ранние решения для синхронных сетей, где существует верхняя границазадержка сообщения, хотя практическое использование было ограничено высокой контролируемые среды, такие как диспетчеры самолетов и центры обработки данных синхронизируются с помощью атомных часов. Так было до тех пор, пока В конце 90-х годов «Практическая византийская отказоустойчивость» (PBFT) PH_0000 была представлен как эффективный частично синхронный консенсус алгоритм, способный выдерживать поведение до ⅓ процессов произвольно. PBFT стал стандартным алгоритмом, породив множество вариации, включая самый последний, созданный IBM в рамках их вклад в Hyperledger. Основное преимущество консенсуса Tendermint по сравнению с PBFT заключается в том, что Tendermint имеет улучшенную и упрощенную базовую структуру. некоторые из них являются результатом принятия парадигмы blockchain. Блоки Tendermint должны фиксироваться по порядку, что позволяет избежать сложность и накладные расходы на связь, связанные с PBFT просмотр-изменения. В Cosmos и многих криптовалютах нет необходимо разрешить блок N+i, где i >= 1, для фиксации, когда блок N сама еще не взяла на себя обязательства. Если пропускная способность является причиной блокировки N не совершил коммит в зоне Cosmos, то использование не поможет голосование за разделение полосы пропускания для блоков N+i. Если сетевой раздел или узлы журнала являются причиной того, что блок N не зафиксировался, тогда Н+я в любом случае не буду брать на себя обязательства. Кроме того, группировка транзакций в блоки позволяет регулярное Merkle-hash состояние приложения, а не периодические дайджесты, как в схеме контрольных точек PBFT. Это позволяет для более быстрого и доказуемого подтверждения транзакций для легких клиентов и более быстрого меж-blockchain связь. Tendermint Core также включает в себя множество оптимизаций и функций. которые выходят за рамки того, что указано в PBFT. Например, блоки, предложенные validators, разделены на части, Меркле-изированы, и сплетничали таким образом, чтобы улучшить вещание производительность (для вдохновения см. LibSwift [19]). А еще Тендерминт Core не делает никаких предположений о двухточечном соединении.
возможность подключения и работает до тех пор, пока работает P2P-сеть. слабо связан. Хотя BitShares1.0 [12] не является первым развертыванием proof-of-stake (PoS), внес значительный вклад в исследование и внедрение PoS blockchain, особенно те, которые известны как «делегированные» PoS. В BitShares, заинтересованные стороны выбирают «свидетелей», ответственных за оформление заказа и совершение транзакций, а также «делегаты», ответственные за координация обновлений программного обеспечения и изменений параметров. BitShares2.0 нацелен на достижение высокой производительности (100 тыс. транзакций в секунду, 1 с). задержка) в идеальных условиях, когда каждый блок подписан одним подписывающему лицу, а качество транзакции занимает немного больше времени, чем интервал блока. Каноническая спецификация все еще находится в разработке. Заинтересованные стороны могут удалить или заменить свидетелей, плохо себя ведущих ежедневно, но нет существенного залога в виде свидетелей или делегаты по подобию Tendermint PoS, которые врезаются в случае успешной атаки двойной траты. Опираясь на подход, впервые предложенный Ripple, Stellar [13] Рейнед модель Федеративного Византийского соглашения, в которой процессы участие в консенсусе не представляют собой фиксированного и глобального известный набор. Скорее, каждый узел процесса курирует один или несколько «куски кворума», каждый из которых представляет собой набор доверенных процессов. А «Кворум» в Stellar определяется как набор узлов, содержащих хотя бы один срез кворума для каждого узла в наборе, такой, что соглашение может быть достигнуто. Безопасность механизма Stellar основана на предположении что пересечение любых двух кворумов непусто, а доступность узла требует, чтобы хотя бы один из его срезов кворума был полностью состоять из правильных узлов, создавая компромисс между использование больших или малых фрагментов кворума, которые может быть сложно сбалансировать без навязывания существенных предположений о доверии. В конечном счете,узлы должны каким-то образом выбрать адекватные фрагменты кворума, чтобы иметь достаточную отказоустойчивость (или вообще любые «неповреждённые узлы», из которых от этого зависит большая часть результатов статьи), и единственное предоставленная стратегия обеспечения иерархичности такой конфигурации и похож на протокол пограничного шлюза (BGP), используемый интернет-провайдерами высшего уровня для создания глобальных таблиц маршрутизации, а также который используется браузерами для управления сертификатами TLS; оба печально известные из-за их неуверенности. Критика в статье Stellar систем доказательства доли на основе Tendermint смягчается описанной стратегией token. здесь выдается новый тип token, называемый атомом, который представляют собой претензии на будущие части гонораров и вознаграждений. Таким образом, преимущество proof-of-stake на основе Tendermint является его относительным простота, но при этом обеспечивает достаточную и доказуемую безопасность гарантии. BitcoinNG — это предлагаемое улучшение Bitcoin, которое позволит для форм вертикальной масштабируемости, таких как увеличение размера блока, без негативных экономических последствий, обычно связанных с с таким изменением, таким как непропорционально большое влияние на мелких майнерах. Это улучшение достигается за счет разделения выборы лидера из трансляции транзакций: лидеры впервые избранный proof-of-work в «микроблоках», а затем имеющий возможность широковещательные транзакции, которые будут зафиксированы до появления нового микроблока найден. Это снижает требования к полосе пропускания, необходимые для выиграть гонку PoW, что позволит мелким майнерам более честно конкурировать, и разрешить более регулярное совершение транзакций со стороны последний майнер, нашедший микроблок. Casper [16] — это предложенный алгоритм консенсуса proof-of-stake для Ethereum. Его основной режим работы – «консенсус за ставкой». Автор позволяя validators итеративно делать ставки на то, какой блок, по их мнению, будет
стать приверженцем blockchain на основании других ставок что они видели до сих пор, инальность может быть достигнута в конечном итоге. связь. Это активная область исследований команды Casper. Задача состоит в создании механизма ставок, который можно было бы оказалась эволюционно стабильной стратегией. Основная польза от Casper по сравнению с Tendermint может предлагать «доступность» чрезмерная последовательность» – для достижения консенсуса не требуется кворум >⅔ количество голосов – возможно, за счет скорости принятия решений или сложность реализации. Протокол Interledger [14] не является строго решением масштабируемости. Это обеспечивает специальное взаимодействие между различными реестрами системы через слабосвязанную сеть двусторонних отношений. Как и в случае с Lightning Network, цель ILP – облегчить платежи, но он специально фокусируется на платежах по разным типы реестров и расширяет механизм атомарных транзакций для включать не только hash-замки, но и кворум нотариусов (так называемый «Атомный транспортный протокол»). Последний механизм для обеспечение атомарности в транзакциях между реестрами аналогично Механизм SPV легкого клиента Tendermint, поэтому иллюстрация различие между ILP и Cosmos/IBC гарантировано, и представлено ниже. 1. Нотариусы коннектора в ILP не поддерживают членство изменения и не допускают гибкого взвешивания между нотариусы. С другой стороны, IBC разработан специально для blockchains, где validators могут иметь разные веса, и где членство может меняться в течение blockchain. 2. Как и в Lightning Network, получатель платежа в ILP должен быть онлайн, чтобы отправить подтверждение отправителю. Вtoken передача через IBC, набор validator получателя За предоставление подтверждения отвечает blockchain, а не принимающий пользователь. 3. Самое поразительное отличие заключается в том, что разъемы ILP не ответственное или авторитетное государство в отношении платежей, тогда как в Cosmos validator концентратора являются полномочиями состояние IBC token передается, а также полномочия количество tokens, удерживаемое каждой зоной (но не количество tokens принадлежат каждой учетной записи в зоне). Это фундаментальная инновация, позволяющая обеспечить безопасную асимметричную перенос tokens из зоны в зону; аналог ILP соединитель в Cosmos — это постоянный и максимально безопасный blockchain реестр, концентратор Cosmos. 4. Платежи между реестрами в рамках ILP должны быть подкреплены биржевой стакан заявок, так как нет асимметричной передачи монеты из одного реестра в другой, только передача стоимости или рыночные эквиваленты. Сайдчейны [15] — это предлагаемый механизм масштабирования Bitcoin. сеть через альтернативные blockchain, которые «двусторонне привязаны» к Bitcoin blockchain. (Двусторонняя привязка эквивалентна мост. В Cosmos мы говорим «мост», чтобы отличить его от рыночной привязки). Сайдчейны позволяют биткойнам эффективно перемещаться из Bitcoin blockchain в сайдчейн и обратно, а также разрешить экспериментирование с новыми функциями сайдчейна. Как и в Cosmos Хаб, сайдчейн и Bitcoin служат лёгкими клиентами друг друга, используя доказательства SPV, чтобы определить, когда монеты должны быть переносится в сайдчейн и обратно. Конечно, поскольку Bitcoin использует proof-of-work, страдают сайдчейны, сосредоточенные вокруг Bitcoin. от многих проблем и рисков proof-of-work как механизм консенсуса. Кроме того, это Bitcoin-максималист решение, которое изначально не поддерживает различные token и
топология межзоновой сети, как это делает Cosmos. Тем не менее, ядро механизм двусторонней привязки в принципе такой же, как и у работает в сети Cosmos. Ethereum в настоящее время исследует ряд различных стратегий. сегментировать состояние Ethereum blockchain по адресу потребности в масштабируемости. Эти усилия имеют целью поддержание уровень абстракции, предлагаемый текущей виртуальной машиной Ethereum через общее пространство состояний. Многочисленные исследовательские усилия в настоящее время ведется. [18][22] Cosmos и Ethereum 2.0 Сиреневый [22] преследуют разные цели дизайна. Cosmos конкретно относится к token. Mauve — это масштабирование общий расчет. Cosmos не привязан к EVM, поэтому даже разные виртуальные машины могут взаимодействовать. Cosmos позволяет создателю зоны определить, кто проверяет зона. Любой может создать новую зону в Cosmos (кроме случаев, когда управление решит иначе). Концентратор изолирует сбои зон, поэтому глобальные инварианты token сохранился. Lightning Network — это предлагаемая сеть передачи данных token. работающий на уровне выше Bitcoin blockchain (и других общедоступных blockchains), позволяющие улучшить ситуацию на многие порядки. в пропускной способности транзакций за счет перемещения большинства транзакций за пределы консенсусного реестра в так называемые «платёжные каналы».Это стало возможным благодаря внутрисетевым скриптам криптовалюты, которые позволяют сторонам заключать двусторонние договоры, предусматривающие статус государства, в которых состояние можно обновлять путем обмена цифровыми подписями и контрактами. можно закрыть, опубликовав доказательства на blockchain, Механизм впервые популяризировался посредством атомных свопов между цепочками. Автор открытие каналов оплаты со многими сторонами, участниками Lightning Network может стать центром маршрутизации платежи других, что приводит к полностью подключенному платежному каналу сети, за счет капитала, привязанного к платежным каналам. Хотя сеть Lightning также может легко распространяться на несколько независимых blockchain для обеспечения передачи стоимости через валютный рынок, его нельзя использовать для асимметричного перенести token с одного blockchain на другой. Основная польза описанной здесь сети Cosmos заключается в том, чтобы обеспечить такую прямую token переводы. Тем не менее, мы ожидаем, что каналы оплаты и Lightning Network получит широкое распространение вместе с нашей token механизм передачи, предназначенный для экономии средств и обеспечения конфиденциальности. Segregated Witness — это Bitcoin ссылка на предложение по улучшению, которая направлен на увеличение пропускной способности транзакций на блок в 2 или 3 раза, одновременно ускоряя синхронизацию блоков для новых узлов. Гениальность этого решения в том, как оно работает внутри ограничения текущего протокола Bitcoin и допускает софт-форк обновление (т. е. клиенты с более старыми версиями программного обеспечения будут продолжать работать после обновления). Tendermint — новый продукт протокол, не имеет конструктивных ограничений, поэтому имеет другое масштабирование приоритеты. В первую очередь, Tendermint использует алгоритм циклического перебора BFT. на основе криптографических подписей вместо майнинга, что тривиально позволяет горизонтальное масштабирование посредством нескольких параллельных blockchains, в то время как регулярные, более частые фиксации блоков позволяют вертикальное масштабирование.
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:
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:
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
³ è
Консенсус и технические детали
Хорошо разработанный протокол консенсуса должен обеспечить некоторые гарантии в случае превышения допускаемой мощности и консенсус терпит неудачу. Это особенно необходимо в экономической сфере. системы, в которых византийское поведение может иметь существенные финансовые последствия. награда. Самой важной такой гарантией является форма форкаподотчетности, при которой процессы, вызвавшие консенсус, сбой (т. е. заставил клиентов протокола принимать разные значения - вилка) могут быть выявлены и наказаны в соответствии с правилами протокол или, возможно, правовая система. Когда правовая система ненадежны или слишком дороги в вызове, validator могут быть были вынуждены внести залог для участия, и те депозиты могут быть отозваны или сокращены в случае выявления злонамеренного поведения. обнаружен [10]. Обратите внимание, что это не похоже на Bitcoin, где разветвление происходит регулярно. из-за сетевой асинхронности и вероятностного характера поиска частичные hash коллизии. Поскольку во многих случаях вредоносный форк неотличим от форка из-за асинхронности, Bitcoin не может надежно реализовать форк-подотчетность, кроме неявной Альтернативная стоимость, которую платят майнеры за добычу потерянного блока. Мы называем этапы голосования PreVote и PreCommit. Голосование может быть за конкретный блок или для Nil. Мы называем коллекцию из >⅔ PreVotes за один блок в одном раунде Полька и коллекция >⅔ PreCommits для одного блока в одном раунде фиксации. Если >⅔ PreCommit for Nil в том же раунде, они переходят к следующему круглый. Обратите внимание, что строгий детерминизм в протоколе влечет за собой слабую предположение синхронности, поскольку дефектные лидеры должны быть обнаружены и
пропущен. Таким образом, validator ждут некоторое время, TimeoutPropose, прежде чем они проголосуют за ноль, и значение TimeoutPropose увеличивается с каждым раундом. Прогресс через оставшаяся часть раунда полностью асинхронна, то есть прогресс только сделано, как только validator получит сообщение от >⅔ сети. На практике потребуется чрезвычайно сильный противник, чтобы навсегда помешать предположение о слабой синхронности (из-за которого консенсус не может быть достигнут) когда-либо фиксировать блок), и это можно сделать еще более сложно использовать случайные значения TimeoutPropose для каждого validator. Дополнительный набор ограничений или правил блокировки гарантирует, что сеть в конечном итоге зафиксирует только один блок на каждой высоте. Любой злонамеренная попытка вызвать фиксацию более одного блока на заданной высоте можно идентифицировать. Во-первых, PreCommit для блока должно прийти с обоснованием, в виде польки для этого блока. Если validator уже имеет PreCommit блок на этапе R_1, мы говорят, что они заперты в этом квартале, и полька раньше оправдывала новый PreCommit в раунде R_2 должен прийти в раунде R_polka где Р_1 < Р_полька <= Р_2. Во-вторых, validator должны сделать предложение. и/или предварительно проголосовать за блок, на котором они заблокированы. Вместе эти условия гарантируют, что validator не выполняет PreCommit без достаточные доказательства в качестве оправдания, и что validators, которые имеют PreCommit уже не может предоставлять доказательства PreCommit что-то еще. Это обеспечивает безопасность и жизнеспособность алгоритм консенсуса. Полная информация о протоколе описана здесь. Необходимость синхронизации всех заголовков блоков в TendermintPoS устранена, поскольку существование альтернативной цепочки (форка) означает ≥⅓ облигационную ставку можно сократить. Конечно, поскольку слэшинг требует что кто-то поделится доказательствами форка, легкие клиенты должны хранить любой блок-hash фиксирует то, что видит. Кроме того, легкие клиентыможет периодически синхронизироваться с изменениями в наборе validator, в чтобы избежать атак на большие расстояния (но есть и другие решения). возможно). По духу схожий с Ethereum, Tendermint позволяет приложениям встроить глобальный корень Меркла hash в каждый блок, что позволяет легко проверяемые запросы состояния для таких вещей, как баланс счетов, значение хранится в контракте или наличие неизрасходованной транзакции выход в зависимости от характера приложения. Предполагая, что набор широковещательных сетей достаточно устойчив. и статический набор validator, любая вилка в blockchain может быть обнаружены, а депозиты нарушителей validator удалены. Это инновация, впервые предложенная Виталиком Бутериным в начале 2014 года, решает проблема «ничего на кону» другого proof-of-stake криптовалюты (см. раздел «Связанные работы»). Однако, поскольку validator устанавливает должен иметь возможность изменять в течение длительного периода времени исходный Все validator могут потерять связь и, следовательно, смогут свободно создать новую цепочку из генезис-блока, не неся никаких затрат, поскольку у них больше нет заблокированных депозитов. Эта атака произошла известная как Атака на дальнюю дистанцию (LRA), в отличие от Короткой атаки. Атака на расстоянии, при которой validator, которые в данный момент связаны, вызывают форк и, следовательно, наказуемы (при условии, что форк несет ответственность BFT алгоритм, такой как консенсус Tendermint). Атаки на дальние дистанции часто считается критическим ударом по proof-of-stake. К счастью, влияние LRA можно смягчить следующим образом. Во-первых, для validator разорвать связь (тем самым вернув залоговый депозит и больше не получаю комиссию за участие в консенсусе), депозит должен быть непереводимым в течение определенного периода времени известный как «период разъединения», который может быть порядка недели или месяцы. Во-вторых, чтобы легкий клиент был безопасным, в первую очередь при подключении к сети он должен проверить недавний блок — hash против надежного источника или, предпочтительно, нескольких источников. Это
Это состояние иногда называют «слабой субъективностью». Наконец, чтобы оставаться в безопасности, он должен синхронизироваться с последней версией validator, установленной по адресу по крайней мере так часто, как продолжительность периода отсоединения. Это гарантирует, что легкий клиент узнает об изменениях в validator устанавливается до того, как капитал validator будет освобожден от обязательств и, следовательно, больше не будет на кону, что позволило бы обмануть клиента, выполняя атака на дальнюю дистанцию путем создания новых блоков, начиная с высота, на которой он был прикреплен (при условии, что он контролирует достаточно многие из ранних закрытых ключей). Отметим, что преодоление ЛРА таким путем требует пересмотра исходная модель безопасности proof-of-work. В PoW это предположил, что легкий клиент может синхронизироваться с текущей высотой из доверенный блок генезиса в любое время, просто обрабатывая подтверждение работы в каждом заголовке блока. Однако, чтобы победить ЛРА, мы требуют, чтобы легкий клиент подключался к сети с некоторой регулярностью для отслеживать изменения в наборе validator и что в первый раз они выходят в Интернет, они должны быть особенно осторожны при аутентификации что они слышат из сети в отношении проверенных источников. Из конечно, последнее требование аналогично требованию Bitcoin, где протокол и программное обеспечение также должны быть получены от доверенного лица. источник. Вышеописанный метод предотвращения LRA хорошо подходит для validators. и полные узлы blockchain на базе Tendermint, потому что эти узлы предназначены для того, чтобы оставаться подключенными к сети. метод также подходит для легких клиентов, от которых можно ожидать часто синхронизируйтесь с сетью. Однако для легких клиентов, которые не предполагается, что они будут иметь частый доступ к Интернету или blockchain, можно использовать еще одно решение для преодоления ЛРА. Владельцы validator token могут публиковать свои token как залог с очень длительным периодом отсоединения (например, гораздо более длительный чем период отсоединения для validators) и обслуживать легких клиентов с вторичным методом подтверждения действительности текущих и прошлый блок-hashes. Хотя эти token не засчитываются в счет безопасности консенсуса blockchain, они, тем не менее, могутпредоставить надежные гарантии для легких клиентов. Если исторический блок-hash запросы поддерживались в Ethereum, любой мог связать свои tokens в специально разработанном smart contract и обеспечивают платные услуги по аттестации, что эффективно создает рынок безопасности LRA для легких клиентов. В связи с определением фиксации блока любая коалиция ≥⅓ блоков Право голоса может остановить blockchain, выйдя из журнала или нет транслируя свои голоса. Такая коалиция может также подвергать цензуре определенные транзакции, отклоняя блоки, которые включают в себя эти транзакций, хотя это привело бы к значительной доле блоков предложений, которые будут отклонены, что замедлит скорость блоковых коммитов blockchain, что снижает его полезность и ценность. Злонамеренная коалиция также может транслировать голоса небольшими порциями, поэтому при измельчении blockchain блок почти останавливается или вступает в любая комбинация этих атак. Наконец, это может привести к blockchain для разветвления путем двойной подписи или нарушения блокировки правила. Если бы в дело вмешался и глобально активный противник, он мог бы разделить сети таким образом, что может показаться, что это неправильный за замедление ответственно подмножество validators. Это не просто ограничение Tendermint, а скорее ограничение всех консенсусные протоколы, сеть которых потенциально контролируется активный противник. Для этих типов атак следует использовать подмножество validator. координировать действия с помощью внешних средств для подписания предложения о реорганизации, которое выбирает ответвление (и любые его доказательства) и начальное подмножество validators со своими подписями. Валидаторы, подписавшие такое предложение о реорганизации, отказываются от обеспечения на всех других форках. Клиенты должны проверить подписи на предложении о реорганизации, проверить любые доказательства, и вынести суждение или предложить конечному пользователю принять решение. Для Например, приложение телефонного кошелька может предложить пользователю ввести пароль безопасности.
предупреждение, а холодильник может принять любое предложение по реорганизации подписано +½ исходного числа validator по числу голосов. Никакой асинхронный византийский отказоустойчивый алгоритм не может прийти к консенсусу, когда ≥⅓ голосов нечестны, но это форк предполагает, что ≥⅓ голосов уже были нечестны двойное подписание или смена блокировки без обоснования. Итак, подписываем предложение о реорганизации представляет собой проблему координации, которую невозможно решить. решается любым несинхронным протоколом (т.е. автоматически, и не делая предположений о надежности базовая сеть). На данный момент мы оставляем проблему координации предложений по реорганизации на усмотрение человека посредством социального консенсуса. в интернет-СМИ. Валидаторы должны позаботиться о том, чтобы до подписания предложения о реорганизации не осталось никаких сетевых разделов, чтобы избежать ситуаций, когда подписываются два противоречивых предложения о реорганизации. Предполагая, что внешняя среда и протокол координации надежный, из этого следует, что форки вызывают меньшую озабоченность, чем цензура. атаки. Помимо форков и цензуры, требующей ≥⅓ византийского голосов, коалиция с числом голосов >⅔ может взять на себя обязательство произвольное, недействительное состояние. Это свойственно любому (BFT) система консенсуса. В отличие от двойной подписи, которая создает форки с помощью легко проверяемых доказательств, выявляющих совершение недействительное состояние требует, чтобы непроверяющие узлы проверяли целые блоки, что означает, что они сохраняют локальную копию состояния и выполняют каждой транзакции, вычисляя корень состояния независимо для себя. После обнаружения единственный способ справиться с таким сбоем происходит через социальный консенсус. Например, в ситуациях, когда Bitcoin не удалось, то ли форк из-за ошибок в программном обеспечении (как в марте 2013), или совершение недопустимого состояния из-за византийского поведения майнеры (как и в июле 2015 г.), сообщество с хорошими связями предприятия, разработчики, майнеры и другие организации установил социальный консенсус относительно того, какие ручные действия былинеобходимые участникам для исцеления сети. Кроме того, поскольку Можно ожидать, что validators Tendermint blockchain будут идентифицироваться, принятие недействительного состояния может даже быть наказуемо по закону или какой-либо внешней судебной практике, если это необходимо. ABCI состоит из трех основных типов сообщений, которые доставляются ядро приложения. Приложение отвечает соответствующие ответные сообщения. Сообщение AppendTx — это рабочая лошадка приложения. Каждый транзакция в blockchain доставляется с этим сообщением. приложению необходимо проверять каждую транзакцию, полученную с помощью Сообщение AppendTx о текущем состоянии, протоколе приложения, и криптографические учетные данные транзакции. проверенный затем транзакция должна обновить состояние приложения — путем привязка значения к хранилищу значений ключей или обновление UTXO база данных. Сообщение CheckTx похоже на AppendTx, но предназначено только для проверка транзакций. Ежегодные проверки мемпула Tendermint Core достоверность транзакции с CheckTx, действительны только реле транзакции со своими коллегами. Приложения могут проверять возрастающее nonce в транзакции и возвращает ошибку при CheckTx, если nonce старый. Сообщение Commit используется для вычисления криптографического обязательство по текущему состоянию приложения, которое будет помещено в заголовок следующего блока. У этого есть несколько полезных свойств. Несоответствия в обновлении этого состояния теперь будут отображаться как blockchain разветвляется, охватывая целый класс программирования ошибки. Это также упрощает разработку безопасных и легких клиентов, поскольку доказательства Merkle-hash можно проверить, проверив блок-hash и блок-hash подписаны кворумом из validators (по количеству голосов).
Дополнительные сообщения ABCI позволяют приложению отслеживать и измените набор validator, чтобы приложение получало информация о блоке, такая как высота и голоса за фиксацию. ABCI запросы/ответы — это простые сообщения Protobuf. Проверить из схемы yle. Аргументы: Данные ([]byte): байты транзакции запроса. Возврат: Код (uint32): код ответа. Данные ([]byte): байты результата, если таковые имеются. Журнал (строка): сообщение об отладке или ошибке. Использование:
Добавьте и запустите транзакцию. Если сделка действительна, возвращает КодТип.ОК Аргументы: Данные ([]byte): байты транзакции запроса. Возврат: Код (uint32): код ответа. Данные ([]byte): байты результата, если таковые имеются. Журнал (строка): сообщение об отладке или ошибке. Использование:
Подтвердить транзакцию. Это сообщение не должно изменять государство. Транзакции сначала проходят через CheckTx, а затем широковещательная рассылка одноранговым узлам на уровне мемпула. Вы можете сделать CheckTx полусохраняет состояние и очищает состояние при фиксации или BeginBlock, чтобы разрешить зависимые последовательности транзакций. в том же блоке.
Возврат: Данные ([]байт): корень Меркла hash Журнал (строка): сообщение об отладке или ошибке. Использование:
Возвращает корень Merkle hash состояния приложения. Аргументы: Данные ([]byte): байты запроса запроса. Возврат: Код (uint32): код ответа. Данные ([]byte): байты ответа на запрос. Журнал (строка): сообщение об отладке или ошибке. Использование:
Очистить очередь ответов. Приложения, реализующие типы. Приложению не обязательно реализовывать это сообщение – оно обрабатывается проектом. Возврат: Данные ([]byte): информационные байты. Использование:
Возвращает информацию о состоянии приложения. Приложение специфический. Аргументы: Ключ (строка): ключ для установки.
Значение (строка): значение, которое нужно установить для ключа. Возврат: Журнал (строка): сообщение об отладке или ошибке. Использование:
Установите параметры приложения. Например. Key="mode", Value="mempool" для соединение с мемпулом или Key="mode", Value="consensus" для консенсусная связь. Другие параметры зависят от приложения. Аргументы: Валидаторы ([]Валидатор): Начальное происхождение — validators. Использование:
Вызванный однажды при зарождении Аргументы: Высота (uint64): высота блока, начиная с Использование:
Сигнализирует о начале нового блока. Вызывается перед любым AppendTxs. Аргументы: Высота (uint64): высота блока, который закончился. Возврат: Валидаторы ([]Validator): изменены validator на новые. право голоса (0 для удаления) Использование:
Сигнализирует об окончании блока. Вызывается перед каждым коммитом в конце концов транзакции Дополнительную информацию см. в репозитории ABCI.Существует несколько причин, по которым отправитель может захотеть подтверждение доставки пакета принимающей цепочкой. Например, отправитель может не знать статус сообщения. цепочка назначения, если ожидается, что она неисправна. Или отправитель может хотите установить для пакета тайм-аут (с помощью параметра MaxHeight пакетный ответ), в то время как любая цепочка назначения может пострадать от атаки типа «отказ в обслуживании» с внезапным всплеском количества входящих пакетов. пакеты. В этих случаях отправитель может потребовать подтверждение доставки. установив первоначальный статус пакета на AckPending . Тогда это ответственность принимающей сети за подтверждение доставки путем включения сокращенно IBCPacket в приложении Merkle hash. Сначала IBCBlockCommit и IBCPacketTx публикуются в «Hub». это доказывает существование IBCПакета в «Зоне1». Скажи это IBCPacketTx имеет следующее значение: FromChainID: «Зона1» FromBlockHeight: 100 (скажем) Пакет: IBCПакет:
Заголовок: IBCPacketHeader: SrcChainID: «Зона1» DstChainID: «Зона2» Число: 200 (скажем) Статус: Подтверждено Тип: «монета» MaxHeight: 350 (скажем, «Hub» сейчас находится на высоте 300) Полезная нагрузка: <Байты полезной нагрузки «монеты»> Затем IBCBlockCommit и IBCPacketTx публикуются в «Zone2». это доказывает существование IBCПакета на «Хабе». Скажи это IBCPacketTx имеет следующее значение: FromChainID: «Хаб» ФромБлокХигхт: 300 Пакет: IBCПакет: Заголовок: IBCPacketHeader: SrcChainID: «Зона1» DstChainID: «Зона2» Количество : 200 Статус: Подтверждено Тип: «монета» Макс.Высота: 350 Полезная нагрузка: <Те же байты полезной нагрузки «монеты»> Далее «Зона2» должна включить в свое приложение-hash сокращенный пакет. который показывает новый статус AckSent . IBCBlockCommit и IBCPacketTx отправляются обратно на «Хаб», что доказывает существование сокращенного IBCПакета в "Zone2". Скажите, что IBCPacketTx имеет следующее значение: FromChainID: «Зона2»
FromBlockHeight: 400 (скажем)
Пакет: IBCПакет:
Заголовок: IBCPacketHeader:
SrcChainID: «Зона1»
DstChainID: «Зона2»
Количество : 200
Статус: Подтверждено
Тип: «монета»
Макс.Высота: 350
PayloadHash:
статус из «Зоны2» в блоке 350, он бы установил статус автоматически на Тайм-аут . Это свидетельство тайм-аута можно получить отправлено обратно в «Зону1», и любые token могут быть возвращены. В файле поддерживается два типа Merkle tree. Экосистема Tendermint/Cosmos: Простое дерево и IAVL+ Дерево. Простое дерево — это Merkle tree для статического списка элементов. Если количество предметов не является степенью двойки, некоторые листья будут находиться в разные уровни. Simple Tree пытается сохранить обе стороны дерева одинаковой высоты, но левая может быть на единицу больше. Это Merkle tree используется для Мерклеизации транзакций блока, а верхний уровень элементы корня состояния приложения.Целью структуры данных IAVL+ является обеспечение постоянного хранилище для пар ключ-значение в состоянии приложения, так что детерминированный корень Меркла hash может быть эффективно вычислен. дерево сбалансировано с использованием варианта алгоритма AVL, и все операции - O(log(n)). В дереве AVL высоты двух дочерних поддеревьев любого узла отличаются не более чем на единицу. Всякий раз, когда это условие нарушается обновлении, дерево перебалансируется путем создания новых узлов O(log(n)) указать на неизмененные узлы старого дерева. В оригинальном АВЛ алгоритме внутренние узлы также могут содержать пары ключ-значение. АВЛ+ алгоритм (обратите внимание на плюс) модифицирует алгоритм AVL, чтобы сохранить все значения на конечных узлах, используя только узлы ветвей для хранения ключей. Это упрощает алгоритм, сохраняя при этом след Меркла hash. короткий. Дерево AVL+ аналогично попыткам Патрисии Ethereum. Есть компромиссы. Ключи не требуется hash перед вставкой в Деревья IAVL+, что обеспечивает более быструю упорядоченную итерацию ключа. пространство, которое может принести пользу некоторым приложениям. Логика проще реализовать, требуя только два типа узлов – внутренние узлы и листовые узлы. Доказательство Меркла в среднем короче, поскольку * / \ / \ / \ / \ * * / \ / \ / \ / \ / \ / \ * * * h6 / \ / \ / \ h0 h1 h2 h3 h4 h5 Простое дерево с 7 элементами.
сбалансированное двоичное дерево. С другой стороны, корень Меркла Дерево IAVL+ зависит от порядка обновлений. Мы будем поддерживать дополнительные эффективные Merkle tree, такие как Патриция Три из Ethereum, когда бинарный вариант становится доступен. В канонической реализации транзакции передаются в Приложение-концентратор Cosmos через интерфейс ABCI. Хаб Cosmos примет ряд первичных транзакций. типы, включая SendTx , BondTx , UnbondTx , ReportHackTx , SlashTx, BurnAtomTx, ProposalCreateTx и ProposalVoteTx, которые достаточно очевидны и будут задокументированы в будущая редакция этой статьи. Здесь мы документируем два основных типы транзакций для IBC: IBCBlockCommitTx и IBCPacketTx . Транзакция IBCBlockCommitTx состоит из: ChainID (строка): идентификатор blockchain. BlockHash ([]byte): блок — hash байт, корень Меркла. который включает приложение-hash BlockPartsHeader (PartSetHeader): заголовок набора частей блока. байты, необходимы только для проверки подписей голосований BlockHeight (int): высота фиксации. BlockRound (int) : раунд фиксации. Commit ([]Vote): Предварительное принятие Tendermint >⅔ голосует за то, включать фиксацию блока ValidatorsHash ([]byte): корень дерева Меркла hash нового validator набор
ValidatorsHashProof (SimpleProof): SimpleTree Merkleproof для проверки ValidatorsHash на соответствие BlockHash.
AppHash ([]byte): корень дерева Меркла IAVLTree hash
состояние приложения
AppHashProof (SimpleProof): SimpleTree, защищенный Мерклем для
сравнение AppHash с BlockHash
IBCПакет состоит из:
Заголовок (IBCPacketHeader): заголовок пакета.
Полезная нагрузка ([]byte): байты полезной нагрузки пакета. Необязательно
PayloadHash ([]byte): hash для байтов пакета.
Необязательно
Должен присутствовать любой из Payload или PayloadHash . hash
пакета IBCPacket является простым корнем Меркла двух элементов: Header
и Полезная нагрузка . Пакет IBC без полной полезной нагрузки называется пакетом.
сокращенный пакет.
IBCPacketHeader состоит из:
SrcChainID (строка): идентификатор источника blockchain.
DstChainID (строка): идентификатор пункта назначения blockchain.
Номер (int): уникальный номер для всех пакетов.
Статус (перечисление): может быть одним из AckPending, AckSent,
AckReceived, NoAck или Timeout
Тип (строка): типы зависят от приложения. Cosmos
резервирует тип пакета «монета»
MaxHeight (int): если статус не NoAckWanted или AckReceived.
на этой высоте статус становится Timeout . Необязательно
Транзакция IBCPacketTx состоит из:FromChainID (строка): идентификатор blockchain, который
предоставление этого пакета; не обязательно источник
FromBlockHeight (int) : высота blockchain, на которой
следующий пакет включен (в формате Меркла) в блок - hash из
исходная цепочка
Пакет (IBCPacket): пакет данных, статус которого может быть одним
из AckPending, AckSent, AckReceived, NoAck или Timeout
PacketProof (IAVLProof): IAVLTree-доказательство Меркла для доказательства
hash пакета по AppHash исходной цепочки по адресу
заданная высота
Последовательность отправки пакета из «Зоны1» в «Зону2»
через «Хаб» изображен на {Рис. X}. Сначала IBCPacketTx
доказывает «Хабу», что пакет включен в app-состояние
«Зона1». Затем другой IBCPacketTx доказывает «Зоне2», что
пакет включен в состояние приложения «Хаб». Во время этого
процедуры, поля IBCPacket идентичны: SrcChainID
всегда «Зона1», а DstChainID — всегда «Зона2».
PacketProof должен иметь правильный путь, защищенный Меркле, так как
следует:
Когда «Зона 1» хочет отправить пакет в «Зону 2» через «Хаб»,
Данные IBCPacket идентичны независимо от того, зарегистрирован ли пакет в «Зоне 1», «Хабе» или «Зоне 2». Единственный изменяемый Yeld - это
Статус для отслеживания доставки.
Мы благодарим наших друзей и коллег за помощь в концептуализации,
проверка и поддержка нашей работы с Tendermint
и Cosmos.
IBC/
Заки Маниан из SkuChain оказал большую помощь в форматировании и формулировка, особенно в разделе ABCI Джехану Трембаку из Althea и Дастину Байингтону за помощь с начальные итерации Эндрю Миллер из Honey Badger за отзыв о консенсусе Грег Слепак за отзыв о консенсусе и формулировках Также спасибо Биллу Глейму и Сынхван Хану за различные взносы. Ваше имя и организация здесь за ваш вклад 1 Bitcoin: https://bitcoin.org/bitcoin.pdf 2 ZeroCash: http://zerocash-project.org/paper 3 Ethereum: https://github.com/ethereum/wiki/wiki/WhitePaper 4 DAO: https://download.slock.it/public/DAO/WhitePaper.pdf 5 отдельных свидетелей: https://github.com/bitcoin/bips/blob/master/bip0141.mediawiki 6 BitcoinNG: https://arxiv.org/pdf/1510.02037v2.pdf 7 Сеть Lightning: https://lightning.network/lightningnetwork-paper-DRAFT-0.5.pdf 8 Тендерминт: https://github.com/tendermint/tendermint/wiki 9 Невозможность ФЛП: https://groups.csail.mit.edu/tds/papers/Lynch/jacm85.pdf 10 Слэшер: 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 Интерледжер: https://interledger.org/rfcs/0001-interledgerarchitecture/ 15 сайдчейнов: https://blockstream.com/sidechains.pdf 16 Каспер: https://blog.ethereum.org/2015/08/01/introducing-casperfriendly-ghost/ 17 ABCI: https://github.com/tendermint/abci 18 Ethereum Шардинг: https://github.com/ethereum/EIPs/issues/53 19 ЛибСвифт: http://www.ds.ewi.tudelft.nl/yleadmin/pds/papers/Performa nceAnaлизOfLibswift.pdf 20 ДЛС: http://groups.csail.mit.edu/tds/papers/Lynch/jacm88.pdf 21 Безопасность тонкого клиента: https://en.bitcoin.it/wiki/Thin_Client_Security 22 Ethereum 2.0 Сиреневая бумага: http://vitalik.ca/yles/mauve_paper.html https://www.docdroid.net/ec7xGzs/314477721-ethereumplatform-review-opportunities-and-challenges-for-privateand-consortium-blockchains.pdf.html
гл è