Cosmos: Ein Netzwerk verteilter Ledger
مقدمة
النجاح المشترك للنظام البيئي مفتوح المصدر، المشاركة اللامركزية، والعملات المشفرة العامة ألهمت فهم بروتوكولات الإنترنت اللامركزية يمكن استخدامها لتحسين البنية التحتية الاجتماعية والاقتصادية بشكل جذري. لقد رأينا تطبيقات blockchain متخصصة مثل Bitcoin [1] (أ العملة المشفرة)، Zerocash [2] (عملة مشفرة للخصوصية)، و منصات smart contract المعممة مثل Ethereum [3]، مع عدد لا يحصى من التطبيقات الموزعة لـ Etherium Virtual الآلة (EVM) مثل Augur (سوق التنبؤ) وTheDAO [4] (نادي استثماري). ومع ذلك، حتى الآن، عانى هؤلاء blockchain من عدد من المشاكل من العيوب، بما في ذلك عدم كفاءة الطاقة الإجمالية، أو الفقراء أو الأداء المحدود، وآليات الحوكمة غير الناضجة. مقترحات لتوسيع نطاق معاملات Bitcoin، مثل الشاهد المنفصل [5] و BitcoinNG [6]، عبارة عن مقياس رأسي الحلول التي تظل محدودة بقدرة جسدية واحدة الآلة، وذلك لضمان خاصية المراجعة الكاملة. يمكن أن تساعد الشبكة المسرّعة [7] في توسيع نطاق المعاملات Bitcoin
الحجم عن طريق ترك بعض المعاملات خارج دفتر الأستاذ تمامًا، وهو مناسب تمامًا للمدفوعات الصغيرة والحفاظ على الخصوصية قضبان الدفع، ولكنها قد لا تكون مناسبة لمزيد من التعميم احتياجات التحجيم. الحل المثالي هو الذي يسمح بتعدد blockchains المتوازية التفاعل مع الاحتفاظ بخصائصها الأمنية. هذا قد ثبت أنه صعب، إن لم يكن مستحيلاً، مع proof-of-work. تم الدمج التعدين، على سبيل المثال، يسمح بالعمل المنجز لتأمين أحد الوالدين السلسلة ليتم إعادة استخدامها في سلسلة فرعية، ولكن يجب أن تظل المعاملات كذلك تم التحقق من صحتها، بالترتيب، بواسطة كل عقدة، وتم الدمج blockchain يكون عرضة للهجوم إذا كانت أغلبية hashing السلطة على لا يقوم الوالد بدمج تعدين الطفل بشكل نشط. مراجعة أكاديمية يتم توفير بنيات الشبكة البديلة blockchain سياق إضافي، ونقدم ملخصات للمقترحات الأخرى وعيوبها في الأعمال ذات الصلة. نقدم هنا Cosmos، بنية شبكة جديدة blockchain الذي يعالج كل هذه المشاكل. Cosmos عبارة عن شبكة تضم الكثيرين blockchains مستقلة، تسمى المناطق. يتم تشغيل المناطق بواسطة Tendermint Core [8]، والذي يوفر أداءً عاليًا، محرك إجماع متسق وآمن يشبه PBFT، حيث تضمن المساءلة الصارمة للفرعية التحكم في سلوك البرامج الضارة الجهات الفاعلة. تعتبر خوارزمية الإجماع BFT الخاصة بـ Tendermint Core مناسبة تمامًا لتوسيع النطاق العام proof-of-stake blockchains. المنطقة الأولى في Cosmos تسمى Cosmos Hub. Cosmos Hub عبارة عن عملة مشفرة متعددة الأصول proof-of-stake ذات قيمة بسيطة آلية الحوكمة التي تمكن الشبكة من التكيف و ترقية. بالإضافة إلى ذلك، يمكن تمديد المحور Cosmos بواسطة ربط مناطق أخرى. يتواصل مركز ومناطق شبكة Cosmos معها بعضهما البعض عبر بروتوكول اتصال inter-blockchain (IBC)، نوع UDP أو TCP افتراضي لـ blockchains. يمكن أن تكون الرموز يتم نقلها من منطقة إلى أخرى بشكل آمن وسريعدون الحاجة إلى سيولة التبادل بين المناطق. بدلا من ذلك، جميع عمليات النقل بين المناطق token تمر عبر مركز Cosmos، والذي يتتبع المبلغ الإجمالي لـ tokens الذي تحتفظ به كل منطقة. ال يعزل المحور كل منطقة عن فشل المناطق الأخرى. لان يمكن لأي شخص توصيل منطقة جديدة بمركز Cosmos، كما تسمح المناطق بذلك من أجل التوافق المستقبلي مع ابتكارات blockchain الجديدة. في هذا القسم نصف بروتوكول توافق Tendermint والواجهة المستخدمة لبناء التطبيقات بها. للمزيد التفاصيل، انظر الملحق. في الخوارزميات البيزنطية الكلاسيكية المتسامحة مع الأخطاء (BFT)، كل عقدة له نفس الوزن. في Tendermint، العقد لها قيمة غير سلبية مقدار قوة التصويت، والعقد التي لها تصويت إيجابي تسمى الطاقة validators. يشارك المصادقون في بروتوكول الإجماع عن طريق بث التوقيعات المشفرة، أو الأصوات، للاتفاق على الكتلة التالية. يتم تحديد صلاحيات التصويت للمصادقين عند النشأة، أو يتم تحديدها تم تغييره بشكل حتمي بواسطة blockchain، اعتمادًا على application. على سبيل المثال، في تطبيق proof-of-stake مثل مركز Cosmos، قد يتم تحديد قوة التصويت بواسطة مبلغ staking tokens مرهون كضمان. ملاحظة: تشير الكسور مثل ⅔ و⅓ إلى أجزاء من إجمالي التصويت الطاقة، لا العدد الإجمالي لـ validators أبدًا، ما لم يكن كل validators لها وزن متساوي. >⅔ تعني "أكثر من ⅔"، ≥⅓ تعني "على الأقل". ⅓". Tendermint هو بروتوكول إجماع BFT متزامن جزئيًا مشتقة من خوارزمية إجماع DLS [20]. النعناع هو
يتميز ببساطته وأدائه ومسؤوليته. يتطلب البروتوكول مجموعة yxed المعروفة من validators، حيث يكون كل منها يتم التعرف على validator بواسطة مفتاحهم العام. يحاول المدققون القيام بذلك التوصل إلى توافق في الآراء بشأن كتلة واحدة في كل مرة، حيث تكون الكتلة عبارة عن قائمة من المعاملات. يستمر التصويت للتوافق على الكتلة جولات. كل جولة لها قائد مستدير أو مقترح يقترح كتلة. ثم يصوت validators، على مراحل، على ما إذا كان ذلك أم لا لقبول الكتلة المقترحة أو الانتقال إلى الجولة التالية. ال يتم اختيار مقدم العرض للجولة بشكل حتمي من الأمر قائمة validators، بما يتناسب مع قوة التصويت الخاصة بهم. يتم وصف التفاصيل الكاملة للبروتوكول هنا. أمان Tendermint مستمد من استخدامه للبيزنطية المثالية التسامح مع الخطأ من خلال التصويت بالأغلبية العظمى (>⅔) والقفل آلية. ويضمنون معًا ما يلي: ≥⅓ قوة التصويت يجب أن تكون بيزنطية للتسبب في انتهاك السلامة، حيث يتم الالتزام بأكثر من قيمتين. إذا نجحت أي مجموعة من validators في انتهاك السلامة، أو حتى محاولات القيام بذلك، يمكن التعرف عليهم من خلال البروتوكول. هذا يشمل كلا من التصويت للكتل conzicting والبث أصوات غير مبررة على الرغم من ضماناته القوية، يقدم Tendermint منتجات استثنائية الأداء. في معايير 64 عقدة موزعة على 7 مراكز البيانات في 5 قارات، في المثيلات السحابية للسلع الأساسية، يمكن لتوافق Tendermint معالجة آلاف المعاملات لكل ثانيًا، مع فترات استجابة للالتزام تتراوح من ثانية إلى ثانيتين. والجدير بالذكر أن أداء ما يزيد عن ألف معاملة لكل يتم الحفاظ على الثانية حتى في ظروف الخصومة القاسية validators يعطل أو يبث أصواتًا ضارة. انظر ygur أدناه للحصول على التفاصيل.

تم تبسيط إحدى المزايا الرئيسية لخوارزمية الإجماع الخاصة بـ Tendermint أمان العميل الخفيف، مما يجعله مرشحًا مثاليًا للهواتف المحمولة و حالات استخدام إنترنت الأشياء. بينما يجب على العميل الخفيف Bitcoin المزامنة سلاسل رؤوس الكتل والسلسلة التي تحتوي على أكبر دليل على ذلك في العمل، يحتاج عملاء Tendermint Light فقط إلى مواكبة التغييرات إلى مجموعة validator، ثم تحقق من >⅔ PreCommits في أحدث كتلة لتحديد أحدث حالة. تعمل أيضًا أدلة العميل الخفيفة المقتضبة على تمكين inter-blockchain الاتصالات. لدى Tendermint إجراءات وقائية لمنع حدوث بعض الأمراض الهجمات الملحوظة، مثل عمليات الإنفاق المزدوجة بعيدة المدى التي لا تنطوي على أي شيء على المحك والرقابة. وتناقش هذه بشكل كامل في الملحق.يتم تنفيذ خوارزمية إجماع Tendermint في ملف برنامج يسمى Tendermint الأساسية. Tendermint Core هو "محرك الإجماع" الحيادي للتطبيق والذي يمكنه تشغيل أي تطبيق تطبيق الصندوق الأسود الحتمي في نسخة متماثلة موزعة blockchain. يتصل Tendermint Core بتطبيقات blockchain عبر واجهة Blockchain للتطبيق (ABCI) [17]. وبالتالي، ABCI يسمح ببرمجة تطبيقات blockchain في أي اللغة، وليس فقط لغة البرمجة التي تم الإجماع عليها تمت كتابة المحرك. بالإضافة إلى ذلك، ABCI يجعل من الممكن بسهولة قم بتبديل طبقة الإجماع لأي مكدس blockchain موجود. نرسم تشبيهًا بالعملة المشفرة المعروفة Bitcoin. Bitcoin هي عملة مشفرة blockchain حيث تحتفظ كل عقدة قاعدة بيانات لمخرجات المعاملات غير المنفقة (UTXO) المدققة بالكامل. إذا أراد أحدهم إنشاء نظام يشبه Bitcoin أعلى ABCI، سيكون Tendermint Core مسؤولاً عن مشاركة الكتل والمعاملات بين العقد إنشاء ترتيب قانوني/غير قابل للتغيير للمعاملات ( blockchain) وفي الوقت نفسه، سيكون تطبيق ABCI مسؤولاً عن ذلك صيانة قاعدة البيانات UTXO التحقق من صحة التوقيعات المشفرة للمعاملات منع المعاملات من صرف أموال غير موجودة السماح للعملاء بالاستعلام عن قاعدة البيانات UTXO Tendermint قادر على تحليل تصميم blockchain بواسطة تقديم واجهة برمجة تطبيقات بسيطة جدًا بين عملية تقديم الطلب و عملية الإجماع.
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.
Cosmos الهندسة المعمارية
Cosmos عبارة عن شبكة متوازية مستقلة blockchains كل منها مدعوم بخوارزميات الإجماع الكلاسيكية BFT مثل النعناع 1. سيكون blockchain الأول في هذه الشبكة هو Cosmos Hub. ال Cosmos يتصل المحور بالعديد من blockchains (أو المناطق) عبر بروتوكول اتصال جديد بين blockchain. المركز Cosmos يتتبع العديد من أنواع token ويحتفظ بسجل للمجموع عدد tokens في كل منطقة متصلة. يمكن أن تكون الرموز يتم نقلها من منطقة إلى أخرى بشكل آمن وسريع دون الحاجة إلى تبادل السوائل بين المناطق، لأن جميعها تتم عمليات تحويل العملات بين المناطق عبر مركز Cosmos. تعمل هذه البنية على حل العديد من المشكلات المتعلقة بمساحة blockchain يواجه اليوم، مثل قابلية التشغيل البيني للتطبيقات، وقابلية التوسع، و إمكانية الترقية السلسة. على سبيل المثال، المناطق المشتقة من Bitcoind، يمكنك الانتقال إلى Ethereum أو CryptoNote أو ZCash أو أي نظام blockchain يتم توصيله بمركز Cosmos. تسمح هذه المناطق لـ Cosmos بذلك التوسع بشكل لا نهائي لتلبية الطلب على المعاملات العالمية. المناطق هي أيضا يعد خيارًا رائعًا للتبادل الموزع، والذي سيتم دعمه كـ حسنا. Cosmos ليس مجرد دفتر أستاذ موزع، وCosmos Hub ليس حديقة مسورة أو مركز الكون. نحن كذلك تصميم بروتوكول لشبكة مفتوحة من دفاتر الأستاذ الموزعة والتي يمكن أن تكون بمثابة أساس جديد للأنظمة المالية المستقبلية، على أساس مبادئ التشفير والاقتصاد السليم والإجماع النظرية والشفافية والمساءلة. يعد مركز Cosmos هو المركز العام الأول blockchain في Cosmos الشبكة، مدعومة بخوارزمية الإجماع BFT الخاصة بـ Tendermint. ال تم إنشاء مشروع Tendermint مفتوح المصدر في عام 2014 لمعالجة المشكلة السرعة وقابلية التوسع والمشكلات البيئية المتعلقة بخوارزمية إجماع إثبات العمل الخاصة بـ Bitcoin. باستخدام وتحسين ما ثبت
BFT خوارزميات تم تطويرها في معهد ماساتشوستس للتكنولوجيا في عام 1988 [20]، Tendermint كان الفريق أول من قدم عرضًا مفاهيميًا لـ proof-of-stake عملة مشفرة تعالج مشكلة عدم وجود شيء على المحك عانى الجيل الأول من العملات المشفرة proof-of-stake مثل مثل NXT وBitShares1.0. اليوم، تستخدم جميع محافظ الهاتف المحمول Bitcoin تقريبًا خوادم موثوقة تزويدهم بالتحقق من المعاملة. وذلك لأن إثبات العمل يتطلب انتظار العديد من التأكيدات قبل يمكن اعتبار المعاملة ملتزمة بشكل لا رجعة فيه. لقد تم بالفعل عرض هجمات Doublespend على خدمات مثل CoinBase. على عكس أنظمة الإجماع blockchain الأخرى، تقدم Tendermint التحقق من الدفع عبر الهاتف المحمول بشكل فوري وآمن. نظرًا لأن Tendermint مصمم بحيث لا يتشعب أبدًا على الإطلاق، فهو متنقل يمكن أن تتلقى المحافظ تأكيدًا فوريًا للمعاملات، مما يجعل المدفوعات غير الموثوقة والعملية حقيقة واقعة على الهواتف الذكية. هذا له تأثيرات كبيرة على تطبيقات إنترنت الأشياء مثل حسنا. يتمتع المدققون في Cosmos بدور مماثل لعمال المناجم Bitcoin، ولكن بدلاً من ذلك استخدم التوقيعات المشفرة للتصويت. المصادقون هم آلات آمنة ومخصصة مسؤولة عن الالتزام كتل. يمكن لغير validators تفويض staking tokens (يُسمى "الذرات") إلى أي validator لكسب جزء من رسوم الكتلة والذرة المكافآت، لكنهم يتعرضون لخطر العقاب (القطع) إذا تم اختراق المندوب validator أو انتهاك البروتوكول. ثبت ضمانات سلامة Tendermint BFT الإجماع والضمانات إيداع أصحاب المصلحة – validator والمفوضين – تقديم أمان يمكن إثباته وقابل للقياس للعقد والعملاء الخفيفين. يجب أن تحتوي الدفاتر العامة الموزعة على دستور و نظام الحكم. Bitcoin يعتمد على Bitcoin الأساس والتعدين لتنسيق الترقيات، ولكن هذه عملية بطيئة. تم تقسيم Ethereum إلى ETH وETC بعد التفرع الصعب للمعالجة يعود سبب الاختراق DAO إلى حد كبير إلى عدم وجود عقد اجتماعي مسبق ولا آلية لاتخاذ مثل هذه القرارات. يمكن للمصادقين والمفوضين في Cosmos التصويت عليهم المقترحات التي يمكن أن تغير المعلمات المحددة مسبقًا للنظام تلقائيا (مثل حد الغاز كتلة)، وتنسيق الترقيات، كما وكذلك التصويت على تعديلات الدستور الذي يمكن قراءته بواسطة الإنسان التي تحكم سياسات Cosmos Hub. الدستور يسمح بالتماسك بين أصحاب المصلحة بشأن قضايا مثل السرقة والأخطاء (مثل حادثة DAO)، مما يسمح بإجراء أسرع وأسرع دقة أنظف. يمكن أن يكون لكل منطقة أيضًا دستورها ونظام حكمها الخاص آلية كذلك. على سبيل المثال، يمكن أن يحتوي المركز Cosmos على الدستور الذي يفرض الثبات في المركز (لا يوجد تراجع، حفظ الأخطاء في تنفيذ العقدة المركزية Cosmos)، بينما يمكن لكل منطقة وضع سياساتها الخاصة فيما يتعلق بالتراجع. ومن خلال تمكين إمكانية التشغيل البيني بين مناطق السياسة المختلفة، فإن تمنح شبكة Cosmos مستخدميها الحرية المطلقة والإمكانات تجريب غير مسموح به. نحن هنا نصف نموذجًا جديدًا للامركزية وقابلية التوسع. Cosmos عبارة عن شبكة تضم العديد من blockchains التي يتم تشغيلها بواسطة النعناع. بينما تهدف المقترحات الحالية إلى إنشاء "فردية". blockchain" مع إجمالي طلب المعاملات العالمية، Cosmos يسمح للعديد من blockchains بالعمل بشكل متزامن مع بعضها البعض مع الاحتفاظ بإمكانية التشغيل البيني. في الأساس، يدير Cosmos Hub العديد من المستقلين blockchains تسمى "المناطق" (يشار إليها أحيانًا باسم "الأجزاء"، في إشارة إلى تقنية قياس قاعدة البيانات المعروفة باسم "التقسيم").
دفق مستمر من عمليات الحظر الأخيرة من المناطق المنشورة عليها يسمح Hub للمركز بمواكبة حالة كل منطقة. وبالمثل، فإن كل منطقة تواكب حالة المحور (لكن المناطق لا يواكبون بعضهم البعض إلا بشكل غير مباشر من خلال المحور). ثم يتم إرسال حزم المعلومات من واحدة منطقة إلى أخرى عن طريق نشر أدلة Merkle كدليل على أن تم إرسال المعلومات واستلامها. وتسمى هذه الآلية التواصل بين blockchain، أو IBC للاختصار. يمكن لأي من المناطق أن تكون في حد ذاتها محاورًا لتكوين رسم بياني غير دوري، ولكن من أجل الوضوح سنصف فقط ما هو بسيط conyguration حيث لا يوجد سوى محور واحد، والعديد من غير المحور المناطق. مركز Cosmos هو blockchain الذي يستضيف أصولًا متعددة دفتر الأستاذ الموزع، حيث يمكن الاحتفاظ بـ tokens بواسطة مستخدمين فرديين أو حسب المناطق نفسها. يمكن نقل هذه tokens من منطقة واحدة إلى أخرى في حزمة خاصة IBC تسمى "حزمة العملات المعدنية". المحور هو مسؤولة عن الحفاظ على الثبات العالمي للمجموع مقدار كل token عبر المناطق. IBC حزمة العملات المعدنية يجب أن يتم تنفيذ المعاملات من قبل المرسل والمركز والمتلقي blockchains.نظرًا لأن Cosmos Hub يعمل بمثابة دفتر الأستاذ المركزي للكل النظام، فإن أمن المركز له أهمية قصوى. بينما قد تكون كل منطقة عبارة عن Tendermint blockchain مؤمنة بواسطة as عدد قليل يصل إلى 4 (أو حتى أقل إذا لم يكن هناك حاجة إلى إجماع BFT)، المحور يجب تأمينها من خلال مجموعة لامركزية عالميًا من validators يمكن أن تصمد أمام سيناريوهات الهجوم الأكثر خطورة، مثل تقسيم الشبكة القارية أو هجوم ترعاه الدولة القومية. منطقة Cosmos هي منطقة blockchain مستقلة تتبادل IBC الرسائل مع المحور. من وجهة نظر المحور، المنطقة هي أ حساب متعدد التوقيع للعضوية الديناميكية المتعددة الأصول يمكن إرسال واستقبال tokens باستخدام IBC الحزم. مثل أ حساب العملة المشفرة، لا يمكن للمنطقة نقل أكثر من tokens من إنه موجود بالفعل، ولكن يمكنه تلقي tokens من الآخرين الذين لديهم تلك الرسائل. منطقة قد يتم تعيينه كـ "مصدر" لواحد أو أكثر من أنواع token، ومنحها القدرة على تعزيز هذا العرض token. قد يتم تثبيت ذرات المركز Cosmos بواسطة validators في المنطقة متصل بالمحور. بينما تشن الهجمات المزدوجة الإنفاق على هذه المناطق من شأنه أن يؤدي إلى خفض الذرات مع المسؤولية الجزئية لـ Tendermint، وهي منطقة حيث يكون >⅔ من قوة التصويت يمكن للبيزنطيين ارتكاب حالة باطلة. مركز Cosmos لا يفعل ذلك التحقق من أو تنفيذ المعاملات المرتكبة في مناطق أخرى، لذلك هو عليه مسؤولية المستخدمين عن إرسال tokens إلى المناطق التي يثقون بها. في المستقبل، قد يجتاز نظام إدارة Cosmos Hub Hub مقترحات التحسين التي تفسر فشل المنطقة. ل على سبيل المثال، قد تكون عمليات النقل الصادرة token من بعض (أو جميع) المناطق يتم خنقها للسماح بقطع دائرة الطوارئ للمناطق (وقف مؤقت لعمليات نقل token) عند اكتشاف هجوم. الآن ننظر إلى كيفية تواصل المركز والمناطق مع كل منهما أخرى. على سبيل المثال، إذا كان هناك ثلاثة blockchains، "Zone1"، "Zone2"،

و"Hub"، ونتمنى أن تقوم "Zone1" بإنتاج حزمة متجهة بالنسبة لـ "Zone2" التي تمر عبر "Hub". لنقل حزمة من واحد blockchain إلى آخر، يتم نشر إثبات على سلسلة الاستلام. يشير الدليل إلى أن سلسلة الإرسال نشرت حزمة لـ الوجهة المزعومة لكي تتحقق السلسلة المتلقية من هذا الإثبات، يجب عليها يجب أن يكون قادرًا على مواكبة رؤوس كتلة المرسل. هذا الآلية مشابهة لتلك المستخدمة في السلاسل الجانبية، الأمر الذي يتطلب سلسلتين متفاعلتين لتكون على علم ببعضهما البعض عبر أ تيار ثنائي الاتجاه من مخططات بيانات إثبات الوجود (المعاملات). من الطبيعي أن يتم فك بروتوكول IBC باستخدام نوعين من المعاملات: معاملة IBCBlockCommitTx ، والتي تسمح بـ blockchain لإثبات لأي مراقب أحدث كتلة لها-hash، ومعاملة IBCPacketTx، والتي تسمح لـ blockchain بـ أثبت لأي مراقب أن الحزمة المحددة قد تم نشرها بالفعل عن طريق تطبيق المرسل، عبر خاصية Merkle-proof للأحدث كتلة-hash. من خلال تقسيم آليات IBC إلى معاملتين منفصلتين، فإننا السماح لآلية سوق الرسوم المحلية لسلسلة الاستقبال بذلك تحديد الحزم التي سيتم الالتزام بها (أي تم الاعتراف بها)، بينما السماح بالحرية الكاملة لسلسلة الإرسال فيما يتعلق بكيفية ذلك يُسمح بالعديد من الحزم الصادرة. في المثال أعلاه، من أجل تحديث الكتلة-hash الخاصة بـ "Zone1" على "Hub" (أو "Hub" في "Zone2")، IBCBlockCommitTxيجب نشر المعاملة على "المركز" مع الكتلة-hash من "Zone1" (أو على "Zone2" مع الكتلة-hash من "Hub"). راجع IBCBlockCommitTx وIBCPacketTx لمزيد من المعلومات على نوعي المعاملات IBC. بنفس الطريقة التي يكون بها Bitcoin أكثر أمانًا من خلال كونه موزعًا، يمكننا أن نجعل التبادلات أقل عرضة للخطر اختراقات خارجية وداخلية عن طريق تشغيله على blockchain. نحن نسمي هذا التبادل الموزع. ما يسميه مجتمع العملات المشفرة اللامركزية تعتمد البورصة اليوم على ما يسمى معاملات "السلسلة الذرية" (AXC). مع معاملة AXC، هناك مستخدمان قيد التشغيل يمكن لسلسلتين مختلفتين إجراء معاملتي تحويل ملتزمة معًا في كلا الدفترين، أو لا شيء على الإطلاق (أي: ذرياً). على سبيل المثال، يمكن لاثنين من المستخدمين تداول عملات البيتكوين مقابل الأثير (أو أي اثنين من tokens في دفتري أستاذ مختلفين) باستخدام معاملات AXC، على الرغم من أن Bitcoin وEthereum غير متصلين ببعضهما أخرى. إن فائدة تشغيل البورصة على معاملات AXC هي أنه لا يحتاج المستخدمون إلى الثقة ببعضهم البعض أو في مطابقة التجارة الخدمة. الجانب السلبي هو أن كلا الطرفين يجب أن يكونا متصلين بالإنترنت التجارة أن تحدث. نوع آخر من التبادل اللامركزي هو التبادل الجماعي التبادل الموزع الذي يعمل من تلقاء نفسه blockchain. المستخدمين على يمكن لهذا النوع من التبادل إرسال أمر محدد وتحويله إيقاف تشغيل الكمبيوتر، ويمكن تنفيذ التجارة دون أن يكون المستخدم موجودًا على الانترنت. يطابق blockchain ويكمل التداول نيابةً عنه من التاجر.
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.
التطبيقات
يمكن للبورصة المركزية إنشاء سجل أوامر عميق للحدود الأوامر وبالتالي جذب المزيد من المتداولين. السيولة تولد المزيد السيولة في عالم الصرف، وبالتالي هناك شبكة قوية التأثير (أو على الأقل الفائز يأخذ أكبر قدر من التأثير) في التبادل عمل. الزعيم الحالي لتبادل العملات المشفرة اليوم هو Poloniex بحجم تداول على مدار 24 ساعة بقيمة 20 مليون دولار، وفي المركز الثاني Bitynex بحجم تداول على مدار 24 ساعة بقيمة 5 ملايين دولار. ونظرا لهذه الشبكة القوية من غير المرجح أن تقوم البورصات اللامركزية القائمة على AXC بذلك الفوز بالحجم عبر البورصات المركزية. من أجل اللامركزية تبادل للتنافس مع تبادل مركزي، فإنه سوف تحتاج لدعم دفاتر الطلبات العميقة مع أوامر الحد. فقط موزعة التبادل على blockchain يمكن أن يوفر ذلك. يوفر Tendermint فوائد إضافية للمعاملات الأسرع يرتكب. من خلال إعطاء الأولوية للسرعة دون التضحية الاتساق، يمكن للمناطق الموجودة في Cosmos إجراء المعاملات بسرعة - من أجل كلاً من معاملات أوامر الصرف وكذلك IBC token التحويلات إلى ومن مناطق أخرى. بالنظر إلى حالة بورصات العملات المشفرة اليوم، يعد هذا أمرًا رائعًا تطبيق Cosmos هو التبادل الموزع (المعروف أيضًا باسم Cosmos ديكس). القدرة الإنتاجية للمعاملة كذلك يمكن أن يكون وقت استجابة الالتزام مشابهًا لتلك المركزية التبادلات. يمكن للمتداولين تقديم أوامر محددة يمكن تنفيذها دون أن يكون كلا الطرفين متصلين بالإنترنت. ومع تندرمينت، مركز Cosmos وIBC، يمكن للمتداولين نقل الأموال داخل وخارج التبادل من وإلى المناطق الأخرى بسرعة. يمكن أن تعمل المنطقة المميزة كمصدر لـ token من عملة مشفرة أخرى. الجسر يشبه العلاقة بين المركز والمنطقة Cosmos؛ كلاهما يجب أن يواكبا أحدث الكتل للآخر من أجل التحقق من الأدلة التي يمتلكها tokens انتقلت من واحدة إلى أخرى. "منطقة الجسر" على Cosmos تواكب الشبكة المحور بالإضافة إلى الآخر
عملة مشفرة. يسمح الاتجاه غير المباشر عبر منطقة الجسر منطق المحور ليظل بسيطًا ومحايدًا للآخرين blockchain إستراتيجيات الإجماع مثل Bitcoin proof-of-work التعدين. سيتم تشغيل كل منطقة جسر validator بواسطة Tendermint blockchain مع تطبيق جسر خاص ABCI، ولكن أيضًا عقدة كاملة لـ "الأصل" blockchain. عندما يتم استخراج كتل جديدة في الأصل، منطقة الجسر سوف يتوصل validators إلى اتفاق بشأن الكتل الملتزم بها من خلال التوقيع ومشاركة وجهة نظرهم المحلية الخاصة بالأصل blockchain نصيحة. عندما تتلقى منطقة الجسر الدفع على الأصل (و وقد تم الاتفاق على ما يكفي من التأكيدات في هذه القضية لسلسلة PoW مثل Ethereum أو Bitcoin)، المقابلة يتم إنشاء الحساب في منطقة الجسر بهذا الرصيد. في حالة Ethereum، يمكن لمنطقة الجسر مشاركة نفس الشيء validator-تم تعيينه كمركز Cosmos. على الجانب Ethereum ( Origin)، سيسمح عقد الجسر لحاملي الأثير بإرسال الأثير إلى منطقة الجسر عن طريق إرسالها إلى عقد الجسر Ethereum. بمجرد استلام الأثير من خلال عقد الجسر، فإن لا يمكن سحب الأثير إلا إذا كانت هناك حزمة IBC مناسبة تم استلامها بموجب عقد الجسر من منطقة الجسر. ال يتتبع عقد الجسر مجموعة validator لمنطقة الجسر، والتي قد تكون مطابقة لمجموعة Cosmos Hub validator. في حالة Bitcoin، المفهوم مشابه باستثناء أنه بدلاً من ذلك عقد جسر واحد، سيتم التحكم في كل UTXO بواسطة أ عتبة متعددة التوقيعات P2SH. بسبب القيود في نظام P2SH، لا يمكن أن يكون الموقعون متطابقين مع Cosmos المحور validator-مجموعة.يمكن نقل الأثير الموجود في منطقة الجسر ("الأثير الجسري") إلى ومن المحور، ويتم تدميرها لاحقًا بمعاملة ذلك يرسلها إلى عنوان سحب معين على Ethereum. IBC حزمة تثبت أن المعاملة حدثت في منطقة الجسر يمكن نشرها على عقد الجسر Ethereum للسماح بالأثير ليتم سحبها. في حالة Bitcoin، يقوم نظام البرمجة النصية المقيدة بذلك من الصعب عكس آلية نقل العملة IBC. كل UTXO لديه منشور مستقل خاص به، لذلك يجب أن يكون كل UTXO تم الترحيل إلى UTXO الجديد عندما يكون هناك تغيير في مجموعة Bitcoin موقعي الضمان. أحد الحلول هو الضغط و قم بفك ضغط مجموعة UTXO حسب الضرورة للحفاظ على العدد الإجمالي من UTXOs لأسفل. إن خطر مثل هذا العقد التجسيري هو مجموعة validator المارقة. ≥⅓ يمكن أن تتسبب قوة التصويت البيزنطية في حدوث شوكة وسحب الأثير من عقد الجسر على Ethereum مع الحفاظ على جسر الجسر في منطقة الجسر. والأسوأ من ذلك أن قوة التصويت البيزنطية يمكنها ذلك سرقة الأثير مباشرة من أولئك الذين أرسلوه إلى عقد الجسر بالانحراف عن منطق التجسير الأصلي لمنطقة الجسر. من الممكن معالجة هذه المشكلات من خلال تصميم الجسر مسؤولة تماما. على سبيل المثال، كافة الحزم IBC من المركز و الأصل، قد يتطلب الاعتراف من قبل منطقة الجسر في بهذه الطريقة يمكن أن تكون جميع التحولات الحكومية في منطقة الجسر يتم تحديها والتحقق منها بكفاءة سواء من خلال المركز أو الأصل عقد الجسر. يجب أن يسمح المركز والأصل لمنطقة الجسر validators بنشر الضمانات، وtoken عمليات النقل خارج يجب تأخير عقد الجسر (وفك الضمانات فترة طويلة بما فيه الكفاية) للسماح بأية تحديات مدققين مستقلين. نترك تصميم المواصفات و تنفيذ هذا النظام مفتوح كمستقبل Cosmos
مقترح التحسين، ليتم تمريره من خلال مركز Cosmos نظام الحكم. يعد حل مشكلة القياس مشكلة مفتوحة لـ Ethereum. حاليًا، تقوم عقد Ethereum بمعالجة كل معاملة و أيضا تخزين جميع الدول. وصلة. نظرًا لأن Tendermint يمكنها تنفيذ الكتل بشكل أسرع بكثير من Ethereum proof-of-work، EVM المناطق المدعومة بإجماع Tendermint و يمكن أن يوفر التشغيل على الأثير الجسري أداءً أعلى Ethereum blockchains. بالإضافة إلى ذلك، على الرغم من أن Cosmos Hub و IBC لا تسمح آليات الحزم بمنطق العقد التعسفي التنفيذ في حد ذاته، يمكن استخدامه لتنسيق حركات token بين Ethereum العقود الجاري تنفيذها في مناطق مختلفة، توفير أساس للتوسع token المتمركز حول Ethereum عبر مشاركة. تعمل مناطق Cosmos على تشغيل منطق التطبيق التعسفي، والذي تم تحديده عند بداية حياة المنطقة ويمكن تحديثها مع مرور الوقت من قبل الحكم. تسمح هذه القابلية للمناطق بـ Cosmos بمثابة جسور إلى العملات المشفرة الأخرى مثل Ethereum أو Bitcoin، كما أنه يسمح بمشتقات تلك blockchains، باستخدام نفس قاعدة التعليمات البرمجية ولكن مع مجموعة validator مختلفة و التوزيع الأولي. وهذا يسمح للعديد من العملات المشفرة الموجودة أطر العمل، مثل تلك الخاصة بـ Ethereum، وZerocash، وBitcoin، CryptoNote وما إلى ذلك، لاستخدامها مع Tendermint Core، وهو محرك توافقي عالي الأداء، على شبكة مشتركة، فتح فرصة هائلة للتشغيل البيني عبر المنصات. علاوة على ذلك، باعتباره أصلًا متعددًا blockchain، واحدًا قد تحتوي المعاملة على مدخلات ومخرجات متعددة، حيث يكون كل منها يمكن أن يكون الإدخال من أي نوع token، مما يتيح لـ Cosmos العمل مباشرةً كـ منصة للتبادل اللامركزي، على الرغم من افتراض الأوامرلتتم مطابقتها عبر منصات أخرى. بدلا من ذلك، يمكن للمنطقة أن تخدم كتبادل موزع متسامح مع الأخطاء (مع دفاتر الطلبات)، والذي يمكن أن يكون هناك تحسن صارم على المركزية الموجودة بورصات العملات المشفرة التي تميل إلى الاختراق مع مرور الوقت. يمكن أن تعمل المناطق أيضًا كإصدارات مدعومة من المؤسسة blockchain والأنظمة الحكومية، حيث أجزاء من خدمة معينة تدار تقليديا من قبل منظمة أو مجموعة من المنظمات يتم تشغيلها بدلاً من ذلك كتطبيق ABCI في منطقة معينة، والتي يسمح لها بوراثة الأمن وقابلية التشغيل البيني للجمهور Cosmos الشبكة دون التضحية بالتحكم في الشبكة الأساسية الخدمة. وبالتالي، قد يقدم Cosmos أفضل ما في العالمين المنظمات التي تتطلع إلى الاستفادة من تقنية blockchain ولكن من هي؟ الحذر من التخلي عن السيطرة بالكامل للثلث الموزع حزب. يدعي البعض أن هناك مشكلة كبيرة في تفضيل الاتساق خوارزميات الإجماع مثل Tendermint هي أن أي شبكة القسم الذي يتسبب في عدم وجود قسم واحد به >⅔ قوة التصويت (على سبيل المثال ≥⅓ الذهاب للخارج) ستوقف الإجماع تمامًا. يمكن أن تساعد بنية Cosmos في تخفيف هذه المشكلة باستخدام مركز عالمي مع مناطق الحكم الذاتي الإقليمية، حيث قوة التصويت لكل منطقة يتم توزيعها على أساس جغرافي مشترك المنطقة. على سبيل المثال، قد يكون النموذج المشترك للفرد المدن أو المناطق لتشغيل مناطقها الخاصة أثناء مشاركة أ المركز المشترك (على سبيل المثال، المركز Cosmos)، مما يتيح للنشاط البلدي تستمر في حالة توقف المحور بسبب شبكة مؤقتة التقسيم. لاحظ أن هذا يسمح بالجيولوجية والسياسية الحقيقية الميزات الطوبولوجية للشبكة التي يجب مراعاتها عند التصميم القوي الأنظمة الموحدة المتسامحة مع الأخطاء.
كانت NameCoin واحدة من أوائل blockchains التي حاولت حل مشكلة مشكلة تحليل الاسم عن طريق تكييف Bitcoin blockchain. لسوء الحظ كانت هناك العديد من المشاكل مع هذا النهج. باستخدام Namecoin، يمكننا التحقق من أن @satoshi، على سبيل المثال، كان كذلك مسجلة بمفتاح عام معين في وقت ما في الماضي، لكننا لا نعرف ما إذا كان المفتاح العام موجودًا منذ ذلك الحين تم تحديثه مؤخرًا ما لم نقم بتنزيل جميع الكتل منذ آخر مرة تحديث لهذا الاسم. ويرجع ذلك إلى القيود المفروضة على Bitcoin UTXO نموذج تحويل المعاملة Merkle، حيث فقط المعاملات (ولكن ليست حالة التطبيق القابلة للتغيير) هي من نوع Merkle في الكتلة-hash. وهذا يتيح لنا إثبات الوجود، ولكن ليس عدم وجود تحديثات لاحقة للاسم. وبالتالي، لا يمكننا أن نعرف تأكد من أحدث قيمة للاسم دون الثقة الكاملة العقدة، أو تكبد تكاليف كبيرة في النطاق الترددي عن طريق التنزيل كله blockchain. حتى لو تم تنفيذ شجرة بحث بحجم Merkle في NameCoin، اعتماده على proof-of-work يجعل عملية التحقق من العميل سهلة إشكالية. يجب على عملاء Light تنزيل نسخة كاملة من رؤوس جميع الكتل في blockchain بالكامل (أو على الأقل كل الرؤوس منذ آخر تحديث للاسم). وهذا يعني أن تتغير متطلبات عرض النطاق الترددي بشكل خطي مع مقدار الوقت [21]. بالإضافة إلى ذلك، يتغير الاسم على proof-of-work blockchain يتطلب انتظار كتل تأكيد إضافية proof-of-work، والذي يمكن أن يستغرق ما يصل إلى ساعة على Bitcoin. مع Tendermint، كل ما نحتاجه هو أحدث كتلة-hash موقعة من قبل نصاب قانوني قدره validators (بواسطة قوة التصويت)، وميركل دليل على القيمة الحالية المرتبطة بالاسم. هذا يجعلها من الممكن أن يكون لديك عميل خفيف مقتضب وسريع وآمن التحقق من قيم الاسم. في Cosmos، يمكننا أن نأخذ هذا المفهوم ونوسعه إلى أبعد من ذلك. كل يمكن أن تحتوي منطقة تسجيل الاسم في Cosmos على اسم نطاق المستوى الأعلى (TLD) مرتبط مثل ".com" أو ".org"، وكل اسم-
منطقة التسجيل يمكن أن يكون لها الإدارة والتسجيل الخاصة بها القواعد.
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.
الحكم والاقتصاد
في حين أن Cosmos Hub عبارة عن دفتر أستاذ موزع متعدد الأصول، إلا أنه يوجد أصل خاص token يسمى الذرة. الذرات هي staking الوحيدة token للمركز Cosmos. الذرات هي رخصة لحاملها التصويت أو التحقق من الصحة أو التفويض إلى validators أخرى. مثل Ethereum الأثير، يمكن أيضًا استخدام الذرات لدفع رسوم المعاملات تخفيف البريد العشوائي. ذرات إنزاتيوناري إضافية ومعاملة كتلة تتم مكافأة الرسوم إلى validator والمفوضين الذين يفوضون ذلك validators. ويمكن استخدام معاملة BurnAtomTx لاسترداد أي منها مبلغ متناسب من tokens من المجمع الاحتياطي. التوزيع الأولي للذرة tokens و validators في سفر التكوين سيذهب إلى الجهات المانحة لجمع التبرعات Cosmos (75%)، الجهات المانحة الرئيسية (5%)، Cosmos مؤسسة الشبكة (10%)، وALL IN BITS, Inc (10%). ومن لحظة التكوين فصاعدًا، سوف يصبح ثلث إجمالي كمية الذرات سيتم مكافأتك للمستعبدين validator والمفوضين كل عام. راجع خطة Cosmos للحصول على تفاصيل إضافية. على عكس Bitcoin أو غيره من proof-of-work blockchains، فإن Tendermint blockchain يصبح أبطأ مع المزيد من validators بسبب الزيادة تعقيد الاتصالات. ولحسن الحظ، يمكننا دعم ما يكفي validators لإنشاء blockchain قوي وموزع عالميًا مع أوقات تأكيد المعاملات السريعة جدًا، وعرض النطاق الترددي،
التخزين، وزيادة سعة الحوسبة الموازية، سنكون قادرين لدعم المزيد من validators في المستقبل. في يوم التكوين، سيتم تعيين الحد الأقصى لعدد validators إلى 100، وسيزداد هذا العدد بمعدل 13% لمدة 10 سنوات، و استقر عند 300 validators. يمكن لحاملي الذرة الذين ليسوا بالفعل أن يصبحوا validators بحلول التوقيع على معاملة BondTx وإرسالها. كمية الذرات المقدمة كضمان يجب أن تكون غير صفرية. يمكن لأي شخص أن يصبح validator في أي وقت، إلا عندما يكون حجم التيار مجموعة validator أكبر من الحد الأقصى لعدد validators مسموح به. في هذه الحالة، تكون المعاملة صالحة فقط إذا كان المبلغ الذرات أكبر من كمية الذرات الفعالة التي يحتفظ بها الأصغر validator، حيث تشمل الذرات الفعالة الذرات المفوضة. عندما يحل validator الجديد محل validator الحالي بهذه الطريقة، validator الموجود يصبح غير نشط وجميع الذرات و تدخل الذرات المفوضة إلى حالة فك الارتباط. يجب أن يتم فرض بعض العقوبات على validators لأي منها الانحراف المقصود أو غير المقصود عن العقوبة البروتوكول. يتم قبول بعض الأدلة على الفور، مثل أ علامة مزدوجة على نفس الارتفاع والدائرية، أو انتهاكا السنة 0: 100 السنة الأولى: 113 السنة الثانية: 127 السنة 3: 144 السنة الرابعة: 163 السنة 5: 184 السنة 6: 208 السنة 7: 235 السنة 8: 265 السنة 9: 300 السنة 10: 300 ...
"prevote-the-lock" (قاعدة من بروتوكول إجماع Tendermint). سيؤدي مثل هذا الدليل إلى فقدان validator لوضعه الجيد وذراتها المرتبطة بالإضافة إلى حصتها التناسبية البالغة tokens في سيتم تخفيض مجموع الاحتياطي - الذي يطلق عليه مجتمعًا "حصته" -. في بعض الأحيان، لن يكون validators متاحًا، إما بسبب المنطقة انقطاع الشبكة أو انقطاع التيار الكهربائي أو لأسباب أخرى. إذا، في أي نقطة في كتل ValidatorTimeoutWindow السابقة، validator لم يتم تضمين التصويت الالتزام في blockchain أكثر من مرات ValidatorTimeoutMaxAbsent، سيصبح validator غير نشط، وتفقد ValidatorTimeoutPenalty (الافتراضي 1%) من قيمته حصة. بعض السلوكيات "الخبيثة" لا يمكن تمييزها بشكل واضح الأدلة على blockchain. في هذه الحالات، يمكن لـ validators التنسيق خارج النطاق لفرض انتهاء مهلة هذه البرامج الضارة validators، إذا كان هناك إجماع بأغلبية ساحقة. في المواقف التي يتوقف فيها Cosmos Hub بسبب تحالف ≥⅓ من تختفي قوة التصويت، أو في الحالات التي يكون فيها ائتلاف ≥⅓ دليل رقابي على قوة التصويت على السلوك الخبيث من عند إدخال blockchain، يجب أن يتعافى المحور باستخدام شوكة صلبة اقتراح إعادة التنظيم. (رابط إلى "هجمات الشوكات والرقابة"). Cosmos يمكن للمحور validators قبول أي نوع أو مجموعة token أنواعها كرسوم معالجة معاملة. كل validator يمكن قم بتعيين سعر الصرف الذي تريده بشكل شخصي، ثم اختر مهما كانت المعاملات التي تريدها، طالما أن BlockGasLimit هو كذلك لم يتم تجاوزها. الرسوم المحصلة، ناقص أي ضرائب محددة أدناه، يتم إعادة توزيعها على أصحاب المصلحة المستعبدين بما يتناسب مع ذراتها المرتبطة، كل ValidatorPayoutPeriod (الافتراضي 1 ساعة).من بين رسوم المعاملات المحصلة، سيتم تطبيق ReserveTax (الافتراضي 2%) اذهب نحو تجمع الاحتياطي لزيادة تجمع الاحتياطي و زيادة أمان وقيمة شبكة Cosmos. هذه ويمكن أيضًا توزيع الأموال وفقًا للقرارات صنعها نظام الحكم. أصحاب الذرة الذين يفوضون سلطة التصويت الخاصة بهم إلى validators آخرين دفع عمولة للمفوض validator. يمكن للجنة يتم تعيينها بواسطة كل validator. يعد أمان Cosmos Hub إحدى وظائف أمان validators واختيار التفويض من قبل المفوضين. من أجل تشجيع الاكتشاف والإبلاغ المبكر عما تم العثور عليه الثغرات الأمنية، يشجع مركز Cosmos المتسللين على النشر عمليات استغلال ناجحة عبر معاملة ReportHackTx التي تنص على أن "هذا تم اختراق validator. من فضلك أرسل المكافأة إلى هذا العنوان". على مثل هذا الاستغلال، سيصبح validator والمفوضون غير نشطين، HackPunishmentRatio (الافتراضي 5%) من ذرات الجميع سيحصلون عليها مقطوعة، و HackRewardRatio (افتراضي 5%) من ذرات الجميع سوف تحصل على مكافأة على عنوان مكافأة المتسلل. validator يجب استعادة الذرات المتبقية باستخدام مفتاح النسخ الاحتياطي الخاص بهم. من أجل منع إساءة استخدام هذه الميزة للنقل الذرات غير المكتسبة، جزء من الذرات المكتسبة مقابل الذرات غير المكتسبة validators والمفوضون قبل وبعد ReportHackTx سوف تظل كما هي، وستتضمن مكافأة الهاكر بعضًا منها الذرات غير المستثمرة، إن وجدت. يتم تشغيل مركز Cosmos بواسطة مؤسسة موزعة يتطلب آلية حوكمة جيدة التصميم من أجل تنسيق التغييرات المختلفة على blockchain، مثل المتغير
معلمات النظام، بالإضافة إلى ترقيات البرامج و التعديلات الدستورية. جميع validator مسؤولون عن التصويت على جميع المقترحات. الفشل في سيؤدي التصويت على الاقتراح في الوقت المناسب إلى validator يتم إلغاء التنشيط تلقائيًا لفترة من الوقت تسمى عقوبة الغياب (أسبوع واحد افتراضيًا). يرث المفوضون صوت المفوض تلقائيًا validator. قد يتم تجاوز هذا التصويت يدويًا. الذرات غير المرتبطة لا تحصل على أي تصويت. يتطلب كل اقتراح إيداع مبلغ MinimumProposalDeposit tokens، والتي قد تكون مزيجًا من واحد أو أكثر من tokens بما في ذلك الذرات. بالنسبة لكل اقتراح، يجوز للناخبين التصويت لاتخاذه الوديعة. إذا اختار أكثر من نصف الناخبين التصويت الإيداع (على سبيل المثال، لأن الاقتراح كان غير مرغوب فيه)، يذهب الإيداع إلى المجمع الاحتياطي، باستثناء أي ذرات يتم حرقها. لكل مقترح، يمكن للناخبين التصويت بالخيارات التالية: نعم نعم مع القوة كلا NayWithForce امتنع عن التصويت أغلبية صارمة من أصوات نعم أو YeaWithForce (أو لا أو أصوات NayWithForce) مطلوبة حتى يتم تحديد الاقتراح تم إقراره (أو تقرر فشله)، ولكن يمكن لـ 1/3+ استخدام حق النقض ضد الأغلبية القرار بالتصويت "بالقوة". عندما يتم نقض الأغلبية الصارمة، تتم معاقبة الجميع بخسارة VetoPenaltyFeeBlocks (قيمة افتراضية للكتل ليوم واحد) بقيمة الرسوم (باستثناء الضرائب والتي لن تتأثر)، والحزب الذي اعترض على الأغلبية
ستتم معاقبة القرار أيضًا بخسارة VetoPenaltyAtoms (الافتراضي 0.1%) من ذراته. يمكن تغيير أي من المعلمات المحددة هنا باستخدام تمرير ParameterChangeProposal. يمكن تجميد الذرات واحتجاز أموال المجمع التي يتم إنفاقها باستخدام تمرير اقتراح المكافأة. جميع المقترحات الأخرى، مثل اقتراح ترقية البروتوكول، سيتم تنسيقه عبر TextProposal العام. انظر الخطة. لقد كان هناك العديد من الابتكارات في إجماع blockchain و قابلية التوسع في العامين الماضيين. يقدم هذا القسم نبذة مختصرة مسح لعدد مختار من المهم. الإجماع في وجود مشاركين خبيثين يمثل مشكلة يعود تاريخها إلى أوائل الثمانينيات، عندما صاغ ليزلي لامبورت عبارة "خطأ بيزنطي" للإشارة إلى سلوك العملية التعسفية ينحرف عن السلوك المقصود، على عكس "خطأ التصادم"، حيث تتعطل العملية ببساطة. تم اكتشاف الحلول المبكرة للشبكات المتزامنة حيث يوجد حد أعلىزمن وصول الرسالة، على الرغم من أن الاستخدام العملي كان يقتصر على درجة عالية البيئات الخاضعة للرقابة مثل وحدات التحكم في الطائرات و مراكز البيانات متزامنة عبر الساعات الذرية. ولم يكن حتى أواخر التسعينيات أن التسامح مع الخطأ البيزنطي العملي (PBFT) [11] كان تم تقديمه كإجماع متزامن فعال جزئيًا خوارزمية قادرة على تحمل ما يصل إلى ثلث العمليات التي تتصرف تعسفا. أصبحت PBFT هي الخوارزمية القياسية، مما أدى إلى ظهور العديد منها الاختلافات، بما في ذلك أحدثها التي تم إنشاؤها بواسطة IBM كجزء من مساهمتهم في Hyperledger. الميزة الرئيسية لإجماع Tendermint على PBFT هي ذلك يحتوي Tendermint على بنية أساسية محسنة ومبسطة، بعضها نتيجة لتبني نموذج blockchain. يجب أن تلتزم كتل Tendermint بالترتيب، مما يتجنب التعقيد وحمل الاتصالات المرتبط بـ PBFT تغييرات العرض. في Cosmos والعديد من العملات المشفرة، لا يوجد بحاجة إلى السماح للكتلة N+i حيث i >= 1 بالالتزام، عند الكتلة N نفسها لم تلتزم بعد. إذا كان عرض النطاق الترددي هو السبب وراء حظر N لم يتم الالتزام به في منطقة Cosmos، فلا يساعد في الاستخدام أصوات مشاركة النطاق الترددي للكتل N+i. إذا كان قسم الشبكة أو عقد ofzine هي السبب وراء عدم التزام الكتلة N N + لن ألتزم على أي حال. بالإضافة إلى ذلك، فإن تجميع المعاملات في كتل يسمح بذلك Merkle-hashing العادي لحالة التطبيق، بدلاً من الملخصات الدورية كما هو الحال مع مخطط نقاط التفتيش PBFT. هذا يسمح من أجل تنفيذ معاملات أسرع يمكن إثباتها للعملاء الخفيفين وبشكل أسرع التواصل بين blockchain. يتضمن Tendermint Core أيضًا العديد من التحسينات والميزات التي تتجاوز ما هو محدد في PBFT. على سبيل المثال، يتم تقسيم الكتل المقترحة بواسطة validators إلى أجزاء، بحجم Merkle، والنميمة بطريقة تعمل على تحسين البث الأداء (راجع LibSwift [19] للإلهام). أيضا، تندرمينت لا يقدم Core أي افتراضات حول نقطة إلى نقطة
الاتصال والوظائف طالما أن شبكة P2P موجودة متصلة بشكل ضعيف. على الرغم من أنها ليست أول من نشر proof-of-stake (PoS)، إلا أن BitShares1.0 [12] ساهم بشكل كبير في البحث واعتماد إثبات الحصة (PoS). blockchains، وخاصة تلك المعروفة باسم نقاط البيع "المفوضة". في BitShares، أصحاب المصلحة ينتخبون "الشهود"، المسؤولين عن الطلب وارتكاب المعاملات و"المندوبين" المسؤولين عنها تنسيق تحديثات البرامج وتغييرات المعلمات. يهدف BitShares2.0 إلى تحقيق أداء عالي (100k tx/s, 1s الكمون) في ظروف مثالية، مع كل كتلة موقعة من قبل واحد المُوقع، وتستغرق عملية المعاملة وقتًا أطول قليلاً من الفاصل الزمني للكتلة. لا تزال المواصفات الأساسية قيد التطوير. يمكن لأصحاب المصلحة إزالة أو استبدال الشهود الذين يسيئون التصرف على بشكل يومي، ولكن لا يوجد ضمانات هامة من الشهود أو المندوبون على غرار Tendermint PoS الذين تم اقتطاعهم حالة نجاح هجوم الإنفاق المزدوج. بناءً على النهج الذي ابتكرته شركة Ripple، Stellar [13] رينيد أ نموذج للاتفاقية البيزنطية الموحدة حيث تتم العمليات المشاركة في الإجماع لا تشكل yxed وعالميا مجموعة معروفة. بدلاً من ذلك، تقوم كل عقدة عملية برعاية واحدة أو أكثر "شرائح النصاب"، يشكل كل منها مجموعة من العمليات الموثوقة. أ "النصاب القانوني" في 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، validators للمحور هي سلطة حالة IBC token عمليات النقل بالإضافة إلى سلطة كمية tokens التي تحتفظ بها كل منطقة (ولكن ليس مقدار tokens التي يحتفظ بها كل حساب داخل المنطقة). هذا هو الابتكار الأساسي الذي يسمح بأمان غير متماثل نقل tokens من منطقة إلى أخرى؛ التناظرية لـ ILP الموصل في Cosmos هو موصل ثابت وآمن إلى أقصى حد blockchain دفتر الأستاذ، مركز Cosmos. 4. يجب أن تكون المدفوعات بين دفاتر الأستاذ في ILP مدعومة بـ دفتر أوامر الصرف، حيث لا يوجد نقل غير متماثل لـ عملات معدنية من دفتر أستاذ إلى آخر، فقط نقل القيمة أو معادلات السوق. السلاسل الجانبية [15] هي آلية مقترحة لتوسيع نطاق Bitcoin الشبكة عبر blockchains البديلة "المرتبطة في اتجاهين". Bitcoin blockchain. (الربط في اتجاهين يعادل التجسير. في Cosmos نقول "جسر" للتمييز عن ربط السوق). تسمح السلاسل الجانبية لعملات البيتكوين بالانتقال بشكل فعال من Bitcoin blockchain إلى السلسلة الجانبية والظهر، والسماح بـ تجربة الميزات الجديدة على السلسلة الجانبية. كما في Cosmos Hub والسلسلة الجانبية وBitcoin بمثابة عملاء خفيفين لـ بعضها البعض، باستخدام أدلة SPV لتحديد متى يجب أن تكون العملات المعدنية نقل إلى Sidechain والعودة. بالطبع منذ Bitcoin الاستخدامات proof-of-work، تعاني السلاسل الجانبية المتمركزة حول Bitcoin من مشاكل ومخاطر proof-of-work العديدة كما أ آلية الإجماع. علاوة على ذلك، هذا هو الحد الأقصى Bitcoin الحل الذي لا يدعم أصلاً مجموعة متنوعة من tokens و
طوبولوجيا الشبكة بين المناطق كما يفعل Cosmos. وقيل: جوهر آلية الربط في الاتجاهين هي من حيث المبدأ نفس تلك الآلية يعمل لدى شبكة Cosmos. يقوم Ethereum حاليًا بالبحث في عدد من الاستراتيجيات المختلفة لتقسيم حالة Ethereum blockchain لمعالجة احتياجات قابلية التوسع. وتهدف هذه الجهود إلى الحفاظ على طبقة التجريد التي تقدمها الآلة الافتراضية Ethereum الحالية عبر مساحة الدولة المشتركة. الجهود البحثية المتعددة هي الجارية في هذا الوقت. [18][22] Cosmos وEthereum 2.0 بنفسجي [22] لهما أهداف تصميمية مختلفة. Cosmos يتعلق بشكل خاص بـ tokens. البنفسجي يدور حول القياس الحساب العام. Cosmos غير مرتبط بـ EVM، لذلك يمكن حتى للأجهزة الافتراضية المختلفة التفاعل. Cosmos يتيح لمنشئ المنطقة تحديد من يقوم بالتحقق من صحة المنطقة. يمكن لأي شخص أن يبدأ منطقة جديدة في Cosmos (ما لم تكن الإدارة يقرر خلاف ذلك). يقوم المحور بعزل حالات فشل المنطقة بحيث تكون الثوابت العالمية token كذلك محفوظ. الشبكة المسرّعة هي شبكة نقل مقترحة token تعمل في طبقة أعلى Bitcoin blockchain (وغيرها من الطبقات العامة blockchains)، مما يتيح تحسين العديد من أوامر الحجم في إنتاجية المعاملات عن طريق نقل غالبية المعاملات خارج دفتر الأستاذ الإجماعي إلى ما يسمى "قنوات الدفع".أصبح هذا ممكنًا بفضل البرامج النصية للعملات المشفرة الموجودة على السلسلة، والتي تمكين الأطراف من الدخول في عقود ثنائية الحالة حيث يمكن تحديث الحالة من خلال مشاركة التوقيعات الرقمية والعقود يمكن إغلاقه عن طريق نشر الأدلة بشكل صريح على blockchain، أ الآلية التي تم نشرها لأول مرة عن طريق المقايضة الذرية عبر السلسلة. بواسطة فتح قنوات الدفع مع العديد من الأطراف والمشاركين في يمكن أن تصبح الشبكة المسرّعة نقاطًا محورية لتوجيه الشبكة مدفوعات الآخرين، مما يؤدي إلى قناة دفع متصلة بالكامل الشبكة، على حساب رأس المال الذي يتم ربطه بقنوات الدفع. بينما يمكن للشبكة المسرّعة أيضًا أن تمتد بسهولة عبرها عدة blockchains مستقلة للسماح بنقل القيمة عبر سوق الصرف، لا يمكن استخدامه بشكل غير متماثل نقل tokens من blockchain إلى آخر. الفائدة الرئيسية الغرض من شبكة Cosmos الموصوفة هنا هو تمكين هذا التوجيه المباشر token التحويلات. ومع ذلك، فإننا نتوقع قنوات الدفع و سيتم اعتماد شبكة Lightning Network على نطاق واسع جنبًا إلى جنب مع شبكتنا token آلية النقل، لتوفير التكاليف ولأسباب تتعلق بالخصوصية. الشاهد المنفصل هو رابط مقترح تحسين Bitcoin يهدف إلى زيادة إنتاجية المعاملات لكل كتلة 2X أو 3X، مع جعل مزامنة الكتلة أسرع للعقد الجديدة في نفس الوقت. يكمن تألق هذا الحل في كيفية عمله داخل قيود بروتوكول Bitcoin الحالي وتسمح بالشوكة الناعمة الترقية (أي أن العملاء الذين لديهم إصدارات أقدم من البرنامج سوف يقومون بذلك الاستمرار في العمل بعد الترقية). تندرمينت، كونها جديدة البروتوكول ليس له قيود على التصميم، لذلك له مقياس مختلف الأولويات. في المقام الأول، يستخدم Tendermint خوارزمية BFT المستديرة على أساس التوقيعات التشفير بدلا من التعدين، والتي يسمح بشكل تافه بالتحجيم الأفقي من خلال التوازي المتعدد blockchains، بينما تسمح عمليات الحظر المنتظمة والمتكررة بذلك التحجيم العمودي كذلك.
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.
الإجماع والتفاصيل الفنية
ينبغي لبروتوكول الإجماع المصمم جيدًا أن يوفر بعضًا من ذلك الضمانات في حالة تجاوز قدرة التسامح ويفشل الإجماع. وهذا ضروري بشكل خاص في المجال الاقتصادي الأنظمة، حيث يمكن أن يكون للسلوك البيزنطي قدر كبير من المال مكافأة. وأهم هذه الضمانات هو شكل من أشكال المساءلة، حيث تتم العمليات التي تسببت في الإجماع الفشل (أي جعل عملاء البروتوكول يقبلون قيمًا مختلفة - أ fork) يمكن تحديد هويته ومعاقبته وفقًا لقواعد البروتوكول، أو ربما النظام القانوني. عندما يكون النظام القانوني يمكن أن يكون استدعاء validators غير موثوق به أو باهظ التكلفة اضطروا إلى تقديم ودائع ضمان من أجل المشاركة، وهؤلاء يمكن إلغاء الودائع أو تخفيضها عند حدوث سلوك ضار تم اكتشاف [10]. لاحظ أن هذا يختلف عن Bitcoin، حيث يكون التفرع حدثًا منتظمًا بسبب عدم تزامن الشبكة والطبيعة الاحتمالية للنهاية الاصطدامات الجزئية hash. نظرًا لأنه في كثير من الحالات يكون هناك شوكة ضارة لا يمكن تمييزه عن الشوكة بسبب عدم التزامن، Bitcoin لا يمكن تنفيذ مسؤولية الشوكة بشكل موثوق، بخلاف الضمنية تكلفة الفرصة البديلة التي يدفعها عمال المناجم لتعدين كتلة معزولة. نحن نطلق على مرحلتي التصويت PreVote وPreCommit. يمكن التصويت ل كتلة معينة أو لا شيء. نحن نطلق على مجموعة من >⅔ الأصوات المسبقة لكتلة واحدة في نفس الجولة رقصة البولكا، ومجموعة من >⅔ الالتزام المسبق لكتلة واحدة في نفس جولة الالتزام. إذا> ⅔ الالتزام المسبق لـ Nil في نفس الجولة، ينتقلون إلى الجولة التالية جولة. لاحظ أن الحتمية الصارمة في البروتوكول تنطوي على ضعف يجب اكتشاف افتراض التزامن كقادة خاطئين
تم تخطيه. ومن ثم، ينتظر validators بعض الوقت، TimeoutPropose، قبل أن يصوتوا على Nil، وقيمة TimeoutPropose يزيد مع كل جولة. التقدم من خلال بقية الجولة غير متزامنة تمامًا، في هذا التقدم فقط يتم إجراؤه بمجرد سماع validator من >⅔ الشبكة. في الممارسة العملية، سوف يتطلب الأمر وجود خصم قوي للغاية لإحباطه إلى أجل غير مسمى افتراض التزامن الضعيف (مما يتسبب في فشل الإجماع من أي وقت مضى ارتكاب كتلة)، والقيام بذلك يمكن أن يتم أكثر من ذلك من الصعب استخدام القيم العشوائية لـ TimeoutPropose في كل منها validator. هناك مجموعة إضافية من القيود، أو قواعد القفل، تضمن أن ستلتزم الشبكة في النهاية بكتلة واحدة فقط عند كل ارتفاع. أي محاولة خبيثة للتسبب في ارتكاب أكثر من كتلة واحدة على ارتفاع معين يمكن تحديدها. أولاً، الالتزام المسبق للكتلة يجب أن يأتي مع مبرر، في شكل رقصة البولكا لتلك الكتلة. إذا كان validator قد قام بالفعل بتنفيذ كتلة في الجولة R_1، فإننا ويقول أنهم مقفلون على تلك الكتلة، ويستخدم رقصة البولكا لتبرير يجب أن يأتي الالتزام المسبق الجديد في الجولة R_2 في جولة R_polka حيث R_1 < R_polka <= R_2. ثانيًا، يجب أن يقترح validators و/أو قم بالتصويت المسبق على الكتلة التي تم قفلها عليها. معا، هؤلاء تضمن الشروط أن validator لا يتم الالتزام المسبق بدونه أدلة كافية لتبرير ذلك، وأن validators التي لديها بالفعل لا يمكن لـ PreCommit المساهمة في الأدلة المقدمة إلى PreCommit شيء آخر. وهذا يضمن سلامة وحيوية الجسم خوارزمية الإجماع. يتم وصف التفاصيل الكاملة للبروتوكول هنا. يتم التخلص من الحاجة إلى مزامنة جميع رؤوس الكتل في TendermintPoS حيث أن وجود سلسلة بديلة (شوكة) يعني ≥⅓ من يمكن خفض الحصة المستعبدة. بالطبع، لأن القطع يتطلب أن يشارك شخص ما دليلاً على الشوكة، يجب على العملاء الخفيفين تخزينها أي كتلة-hash ترتكب ما تراه. بالإضافة إلى العملاء الخفيفينيمكن أن تظل متزامنة بشكل دوري مع التغييرات التي يتم إجراؤها على مجموعة validator، في لتجنب الهجمات بعيدة المدى (ولكن الحلول الأخرى هي ممكن). بروح مشابهة لـ Ethereum، يتيح Tendermint للتطبيقات القيام بذلك قم بتضمين جذر Merkle العالمي hash في كل كتلة، مما يسمح بذلك بسهولة استعلامات حالة يمكن التحقق منها لأشياء مثل أرصدة الحسابات، والقيمة المخزنة في العقد، أو وجود معاملة غير منفقة الإخراج، اعتمادا على طبيعة التطبيق. بافتراض وجود مجموعة مرنة بما فيه الكفاية من شبكات البث ومجموعة validator ثابتة، أي شوكة في blockchain يمكن أن تكون تم اكتشافها وخفض رواسب validators المخالفة. هذا الابتكار، الذي اقترحه فيتاليك بوتيرين لأول مرة في أوائل عام 2014، يحل المشكلة مشكلة عدم وجود شيء على المحك للآخرين proof-of-stake العملات المشفرة (انظر الأعمال ذات الصلة). ومع ذلك، منذ validator مجموعات يجب أن تكون قادرة على تغيير الأصل، على مدى فترة طويلة من الزمن قد يصبح جميع validators غير مقيدين، وبالتالي سيكونون أحرارًا في ذلك إنشاء سلسلة جديدة من كتلة التكوين، دون تحمل أي تكلفة لم يعد لديهم ودائع مقفلة. وجاء هذا الهجوم ليكون المعروف باسم الهجوم بعيد المدى (LRA)، على عكس الهجوم القصير هجوم النطاق، حيث يتسبب validators المرتبطين حاليًا في حدوث أ شوكة ومن ثم يعاقب عليها (بافتراض وجود شوكة مسؤولة BFT خوارزمية مثل إجماع Tendermint). الهجمات بعيدة المدى هي غالبًا ما يُعتقد أنها بمثابة ضربة حاسمة لـ proof-of-stake. ولحسن الحظ، يمكن التخفيف من حدة جيش الرب للمقاومة على النحو التالي. أولا بالنسبة ل validator لإلغاء الارتباط (وبالتالي استرداد وديعة الضمان الخاصة بهم ولم يعد يكسب رسوم المشاركة في الإجماع). يجب أن تكون الوديعة غير قابلة للتحويل لفترة من الوقت المعروفة باسم "فترة التفكيك"، والتي قد تكون في حدود أسابيع أو أشهر. ثانيًا، لكي يكون العميل الخفيف آمنًا، الأول عند اتصاله بالشبكة، يجب عليه التحقق من الحظر الأخير-hash ضد مصدر موثوق به، أو يفضل عدة مصادر. هذا
يُشار إلى الحالة أحيانًا باسم "الذاتية الضعيفة". وأخيرا، لكي يظل آمنًا، يجب أن تتم مزامنته مع أحدث validator المعين في على الأقل بشكل متكرر مثل طول فترة فك الارتباط. هذا يضمن أن العميل الخفيف يعرف التغييرات التي تم إجراؤها على validator تم تعيينه قبل validator وقد تم إلغاء رأس ماله وبالتالي لم يعد كذلك على المحك، مما يسمح لها بخداع العميل بتنفيذها هجوم بعيد المدى عن طريق إنشاء كتل جديدة تبدأ من مرة أخرى الارتفاع حيث تم ربطه (بافتراض أنه يتحكم بشكل كافٍ العديد من المفاتيح الخاصة المبكرة). لاحظ أن التغلب على جيش الرب للمقاومة بهذه الطريقة يتطلب إصلاحًا شاملاً نموذج الأمان الأصلي لـ proof-of-work. في إثبات العمل، هو كذلك من المفترض أن العميل الخفيف يمكنه المزامنة مع الارتفاع الحالي من كتلة التكوين الموثوق بها في أي وقت ببساطة عن طريق معالجة إثبات العمل في كل رأس كتلة. ولكن للتغلب على جيش الرب للمقاومة، علينا تتطلب أن يأتي العميل الخفيف عبر الإنترنت مع بعض الانتظام تتبع التغييرات في مجموعة validator، وذلك في المرة الأولى التي يتم فيها ذلك متصلين بالإنترنت ويجب عليهم أن يكونوا حريصين بشكل خاص على المصادقة ما يسمعونه من الشبكة ضد مصادر موثوقة. من بالطبع، هذا المتطلب الأخير مشابه لمتطلب Bitcoin، حيث ويجب أيضًا الحصول على البروتوكول والبرمجيات من جهة موثوقة المصدر. الطريقة المذكورة أعلاه لمنع جيش الرب للمقاومة مناسبة تمامًا لـ validators والعقد الكاملة لـ blockchain التي تعمل بنظام Tendermint لأن هذه من المفترض أن تظل العقد متصلة بالشبكة. ال الطريقة مناسبة أيضًا للعملاء الخفيفين الذين يمكن توقعهم المزامنة مع الشبكة بشكل متكرر. ومع ذلك، بالنسبة للعملاء الخفيفين ليس من المتوقع أن يكون لديك إمكانية الوصول المتكرر إلى الإنترنت أو blockchain الشبكة، ولكن يمكن استخدام حل آخر للتغلب عليها جيش الرب للمقاومة. يمكن لحاملي غير validator token نشر tokens باسمهم الضمانات ذات فترة فك الارتباط طويلة جدًا (على سبيل المثال، أطول بكثير من فترة إلغاء الارتباط لـ validators) وخدمة العملاء الخفيفين مع طريقة ثانوية لإثبات صحة التيار و الكتلة الماضية-hashes. في حين أن هذه tokens لا يتم احتسابها ضمن أمان إجماع blockchain، ومع ذلك يمكنهم ذلكتقديم ضمانات قوية للعملاء الخفيفين. إذا كانت الكتلة التاريخية-hash تم دعم الاستعلام في Ethereum، ويمكن لأي شخص ربطه tokens في smart contract المصممة خصيصًا وتقديمها خدمات التصديق مقابل الأجر، مما يؤدي بشكل فعال إلى إنشاء سوق لأمن LRA من عملاء Lightclient. نظرًا لتعريف التزام الكتلة، فإن أي ≥⅓ تحالف من يمكن لقوة التصويت أن توقف blockchain بالذهاب إلى الخارج أم لا بث أصواتهم يمكن لمثل هذا التحالف أيضًا فرض الرقابة معاملات معينة عن طريق رفض الكتل التي تتضمن هذه المعاملات المعاملات، على الرغم من أن هذا من شأنه أن يؤدي إلى نسبة كبيرة من مقترحات الكتلة التي سيتم رفضها، الأمر الذي من شأنه أن يبطئ المعدل من عمليات تنفيذ الحظر لـ blockchain، مما يقلل من فائدته وقيمته. قد يقوم التحالف الخبيث أيضًا ببث الأصوات بشكل متقطع كما أن طحن كتلة blockchain تلتزم بالتوقف القريب أو الانخراط أي مزيج من هذه الهجمات. وأخيرا، يمكن أن يسبب blockchain إلى الشوكة، بالتوقيع المزدوج أو انتهاك القفل القواعد. وإذا شارك أيضًا خصم نشط عالميًا، فيمكنه التقسيم الشبكة بطريقة قد تبدو خاطئة كانت مجموعة فرعية من validators مسؤولة عن التباطؤ. هذا ليس كذلك مجرد قيود على Tendermint، بل هي قيود على الجميع بروتوكولات الإجماع التي من المحتمل أن يتم التحكم في شبكتها بواسطة الخصم النشط. بالنسبة لهذه الأنواع من الهجمات، ينبغي لمجموعة فرعية من validators التنسيق من خلال وسائل خارجية للتوقيع على مقترح إعادة التنظيم يختار شوكة (وأي دليل على ذلك) والمجموعة الفرعية الأولية من validators مع توقيعاتهم. يتخلى المصادقون الذين يوقعون على مقترح إعادة التنظيم هذا عن ضماناتهم على جميع الشوكات الأخرى. يجب على العملاء التحقق من التوقيعات على مقترح إعادة التنظيم، والتحقق من أي دليل، وإصدار حكم أو مطالبة المستخدم النهائي باتخاذ قرار. ل على سبيل المثال، قد يطلب تطبيق محفظة الهاتف من المستخدم توفير الأمان
تحذير، في حين أن الثلاجة قد تقبل أي اقتراح لإعادة التنظيم موقعة من +½ من أصل validators بقوة التصويت. لا يمكن أن تأتي خوارزمية بيزنطية غير متزامنة متسامحة مع الأخطاء إلى الإجماع عندما يكون ≥⅓ من قوة التصويت غير شريفة، ومع ذلك فهو شوكة يفترض أن ≥⅓ من قوة التصويت كانت غير شريفة بالفعل التوقيع المزدوج أو تغيير القفل دون مبرر. لذلك، التوقيع إن اقتراح إعادة التنظيم يمثل مشكلة تنسيق لا يمكن حلها يتم حلها بواسطة أي بروتوكول غير متزامن (أي تلقائيًا، و دون وضع افتراضات حول موثوقية الشبكة الأساسية). في الوقت الحالي، نترك مشكلة تنسيق إعادة التنظيم للتنسيق البشري من خلال الإجماع الاجتماعي على وسائل الإعلام عبر الإنترنت. يجب على المصادقين الحرص على التأكد من ذلك لا توجد أقسام شبكة متبقية قبل التوقيع على اقتراح إعادة التنظيم، لتجنب المواقف التي يتم فيها التوقيع على اقتراحين متعارضين لإعادة التنظيم. على افتراض أن وسيلة التنسيق الخارجي والبروتوكول قوية، ويترتب على ذلك أن الشوكات أقل إثارة للقلق من الرقابة الهجمات. بالإضافة إلى الشوكة والرقابة التي تتطلب ≥⅓ البيزنطية قوة التصويت، قد يلتزم ائتلاف من >⅔ قوة التصويت حالة تعسفية وغير صالحة. وهذه هي سمة أي (BFT) نظام الإجماع. على عكس التوقيع المزدوج الذي يخلق الشوكات بأدلة يمكن التحقق منها بسهولة، والكشف عن ارتكاب جريمة ما تتطلب الحالة غير الصالحة أن يقوم أقران لم يتم التحقق من صحتهم بالتحقق من الكتل بأكملها، مما يعني أنهم يحتفظون بنسخة محلية من الدولة وينفذونها كل معاملة، وحساب جذر الدولة بشكل مستقل ل أنفسهم. وبمجرد الكشف عنها، فإن الطريقة الوحيدة للتعامل مع مثل هذا الفشل يتم عن طريق الإجماع الاجتماعي. على سبيل المثال، في المواقف التي يكون فيها Bitcoin قد فشل، سواء كان التفرع بسبب أخطاء برمجية (كما في مارس 2013)، أو ارتكاب حالة باطلة بسبب السلوك البيزنطي عمال المناجم (كما في يوليو 2015)، مجتمع متصل جيدًا بـ الشركات والمطورين وعمال المناجم وغيرها من المنظمات أنشأ إجماعًا اجتماعيًا حول ماهية الإجراءات اليدويةالمطلوبة من قبل المشاركين لشفاء الشبكة. وعلاوة على ذلك، منذ من المتوقع أن يكون validators من النعناع blockchain يمكن تحديدها، بل قد يكون التزام دولة غير صالحة يعاقب عليها القانون أو بعض الاجتهادات القضائية الخارجية، إذا رغبت في ذلك. ABCI يتكون من 3 أنواع رسائل أساسية يتم تسليمها منها جوهر التطبيق. التطبيق يجيب ب رسائل الرد المقابلة. تعتبر رسالة AppendTx بمثابة العمود الفقري للتطبيق. كل يتم تسليم المعاملة في blockchain مع هذه الرسالة. ال يحتاج التطبيق إلى التحقق من صحة كل المعاملات الواردة مع رسالة AppendTx مقابل الحالة الحالية، وبروتوكول التطبيق، وبيانات اعتماد التشفير للمعاملة. تم التحقق من صحتها تحتاج المعاملة بعد ذلك إلى تحديث حالة التطبيق — بواسطة ربط قيمة في مخزن القيم الأساسية، أو عن طريق تحديث UTXO قاعدة البيانات. تشبه رسالة CheckTx رسالة AppendTx، ولكنها مخصصة فقط لـ التحقق من صحة المعاملات. الشيكات الأولى لذاكرة Tendermint Core صلاحية المعاملة مع CheckTx، والمرحلات صالحة فقط المعاملات لأقرانها. قد تحقق التطبيقات زيادة nonce في المعاملة وإرجاع خطأ عند CheckTx إذا كان nonce قديم. يتم استخدام رسالة Commit لحساب التشفير الالتزام بحالة التطبيق الحالية، ليتم وضعها في رأس الكتلة التالي. هذا له بعض الخصائص المفيدة. ستظهر الآن التناقضات في تحديث تلك الحالة blockchain شوكات تلتقط فئة كاملة من البرمجة أخطاء. وهذا أيضًا يبسط عملية تطوير آمنة وخفيفة الوزن العملاء، حيث يمكن التحقق من أدلة Merkle-hash عن طريق التحقق منها الكتلة-hash، والكتلة-hash تم توقيعها بنصاب قانوني validators (حسب قوة التصويت).
تسمح رسائل ABCI الإضافية للتطبيق بتتبعها وقم بتغيير مجموعة validator، ولكي يحصل التطبيق على معلومات الحظر، مثل الارتفاع وأصوات الالتزام. ABCI الطلبات/الردود هي رسائل Protobuf بسيطة. تحقق خارج المخطط. الحجج: البيانات ([]بايت): بايتات معاملة الطلب العوائد: الرمز (uint32): رمز الاستجابة البيانات ([]بايت): بايتات النتيجة، إن وجدت السجل (سلسلة): تصحيح الأخطاء أو رسالة الخطأ الاستخدام:
إلحاق المعاملة وتشغيلها. إذا كانت الصفقة صحيحة ترجع CodeType.OK الحجج: البيانات ([]بايت): بايتات معاملة الطلب العوائد: الرمز (uint32): رمز الاستجابة البيانات ([]بايت): بايتات النتيجة، إن وجدت السجل (سلسلة): تصحيح الأخطاء أو رسالة الخطأ الاستخدام:
التحقق من صحة المعاملة. لا ينبغي أن تتحور هذه الرسالة الدولة. يتم تشغيل المعاملات لأول مرة من خلال CheckTx من قبل البث إلى أقرانهم في طبقة mempool. يمكنك صنع CheckTx شبه حالة ومسح الحالة عند الالتزام أو BeginBlock، للسماح بتسلسلات المعاملات التابعة في نفس الكتلة.
العوائد: البيانات ([]بايت): جذر Merkle hash السجل (سلسلة): تصحيح الأخطاء أو رسالة الخطأ الاستخدام:
قم بإرجاع جذر Merkle hash لحالة التطبيق. الحجج: البيانات ([]بايت): بايتات طلب الاستعلام العوائد: الرمز (uint32): رمز الاستجابة البيانات ([]بايت): بايت استجابة الاستعلام السجل (سلسلة): تصحيح الأخطاء أو رسالة الخطأ الاستخدام:
مسح قائمة انتظار الاستجابة. التطبيقات التي تنفذ أنواع.لا يحتاج التطبيق إلى تنفيذ هذه الرسالة - إنه كذلك يعالجها المشروع. العوائد: البيانات ([]بايت): بايت المعلومات الاستخدام:
إرجاع معلومات حول حالة التطبيق. التطبيق com.speciyc. الحجج: المفتاح (سلسلة): مفتاح للضبط
القيمة (سلسلة): القيمة المطلوب تعيينها للمفتاح العوائد: السجل (سلسلة): تصحيح الأخطاء أو رسالة الخطأ الاستخدام:
ضبط خيارات التطبيق. على سبيل المثال. المفتاح = "الوضع"، القيمة = "mempool" لـ اتصال mempool، أو المفتاح = "الوضع"، القيمة = "الإجماع" لـ اتصال توافقي. الخيارات الأخرى هي تطبيق محدد. الحجج: أدوات التحقق من الصحة ([] أداة التحقق من الصحة): التكوين الأولي-validators الاستخدام:
دعا مرة واحدة في سفر التكوين الحجج: الارتفاع (uint64) : ارتفاع الكتلة الذي يبدأ الاستخدام:
يشير إلى بداية كتلة جديدة. دعا قبل أي إلحاقTxs. الحجج: الارتفاع (uint64) : ارتفاع الكتلة الذي انتهى العوائد: أدوات التحقق ([]أداة التحقق) : تم تغيير validators بأخرى جديدة صلاحيات التصويت (0 لإزالة) الاستخدام:
إشارات نهاية الكتلة. تم الاتصال به قبل كل التزام بعد كل شيء المعاملات راجع مستودع ABCI لمزيد من التفاصيل.هناك عدة أسباب وراء رغبة المرسل في الحصول على إقرار بتسليم الحزمة من خلال سلسلة الاستقبال. على سبيل المثال، قد لا يعرف المرسل حالة الملف سلسلة الوجهة، إذا كان من المتوقع أن تكون معيبة. أو يجوز للمرسل تريد فرض مهلة على الحزمة (باستخدام MaxHeight packet yeld)، في حين أن أي سلسلة وجهة قد تعاني من هجوم رفض الخدمة مع ارتفاع مفاجئ في عدد الرسائل الواردة الحزم. في هذه الحالات، يمكن للمرسل أن يطلب إقرار التسليم من خلال تعيين حالة الحزمة الأولية على AckPending. ثم، هو مسؤولية سلسلة الاستلام عن التسليم عن طريق تضمين يُختصر IBCPacket في تطبيق Merkle hash. أولاً، تم نشر IBCBlockCommit و IBCPacketTx على "Hub" مما يثبت وجود IBCPacket على "Zone1". قل ذلك IBCPacketTx له القيمة التالية: من معرف السلسلة: "المنطقة 1" من بلوك الارتفاع: 100 (على سبيل المثال) الحزمة : IBC الحزمة :
الرأس: IBCرأس الحزمة: معرف SrcChain: "المنطقة 1" معرف DstChain: "المنطقة 2" الرقم: 200 (قل) الحالة: قيد الانتظار النوع: "عملة" MaxHeight : 350 (قل "Hub" حاليًا على ارتفاع 300) الحمولة: <بايتات الحمولة "العملة"> بعد ذلك، يتم نشر IBCBlockCommit و IBCPacketTx على "Zone2" مما يثبت وجود IBCPacket على "Hub". قل ذلك IBCPacketTx له القيمة التالية: FromChainID: "المركز" من ارتفاع الكتلة: 300 الحزمة : IBC الحزمة : الرأس: IBCPacketHeader: معرف SrcChain: "المنطقة 1" معرف DstChain: "المنطقة 2" العدد : 200 الحالة: قيد الانتظار النوع: "عملة" أقصى ارتفاع: 350 الحمولة: <نفس وحدات البايت لحمولة "العملة"> بعد ذلك، يجب أن تتضمن "Zone2" في تطبيقها-hash حزمة مختصرة الذي يوضح الحالة الجديدة لـ AckSent. IBCBlockCommit و IBCPacketTx تم نشرها مرة أخرى على "Hub" مما يثبت وجودها من IBCPacket المختصرة في "Zone2". قل ذلك IBCPacketTx له القيمة التالية: من معرف السلسلة: "المنطقة 2"
من بلوك الارتفاع: 400 (على سبيل المثال) الحزمة : IBC الحزمة : الرأس: IBCرأس الحزمة: معرف SrcChain: "المنطقة 1" معرف DstChain: "المنطقة 2" العدد : 200 الحالة: تم الإرسال النوع: "عملة" أقصى ارتفاع: 350 PayloadHash : <البايتات hash من نفس الحمولة النافعة "للعملة"> وأخيرًا، يجب على "Hub" تحديث حالة الحزمة من "AckPending" إلى "AckReceived". دليل على هذا الوضع الجديد ynalized يجب أن يعود إلى "المنطقة 2". لنفترض أن IBCPacketTx يحتوي على ما يلي القيمة: FromChainID: "المركز" من ارتفاع الكتلة: 301 الحزمة : IBC الحزمة : الرأس: IBCرأس الحزمة: معرف SrcChain: "المنطقة 1" معرف DstChain: "المنطقة 2" العدد : 200 الحالة: تم الاستلام النوع: "عملة" أقصى ارتفاع: 350 PayloadHash : <البايتات hash من نفس الحمولة النافعة "للعملة"> وفي الوقت نفسه، قد تفترض "المنطقة 1" بشكل متفائل التسليم الناجح حزمة "النقود المعدنية" ما لم يثبت خلاف ذلك "المحور". في المثال أعلاه، إذا لم يتلق "Hub" رسالة AckSent
الحالة من "المنطقة 2" بواسطة الكتلة 350، كانت ستحدد الحالة تلقائيًا إلى المهلة. يمكن الحصول على هذا الدليل على المهلة تم نشرها مرة أخرى على "Zone1"، ويمكن إرجاع أي tokens. هناك نوعان من Merkle trees مدعومان في النظام البيئي Tendermint/Cosmos: الشجرة البسيطة وIAVL+ شجرة. الشجرة البسيطة هي Merkle tree لقائمة ثابتة من العناصر. إذا عدد العناصر ليس قوة اثنين، وبعض الأوراق ستكون في مستويات مختلفة. تحاول Simple Tree الحفاظ على جانبي الشجرة نفس الارتفاع، ولكن اليسار قد يكون أكبر من ذلك. هذا Merkle tree هو يستخدم لـ Merkle-ize معاملات الكتلة والمستوى الأعلى عناصر جذر حالة التطبيق.الغرض من بنية بيانات IAVL+ هو توفير الدعم المستمر تخزين أزواج القيمة الرئيسية في حالة التطبيق بحيث يكون أ يمكن حساب جذر Merkle الحتمي hash بكفاءة. ال تتم موازنة الشجرة باستخدام البديل من خوارزمية AVL، وجميع العمليات هي O(log(n)). في شجرة AVL، ارتفاعات الشجرتين الفرعيتين لأي عقدة تختلف بواحدة على الأكثر. كلما تم انتهاك هذا الشرط على التحديث، يتم إعادة توازن الشجرة عن طريق إنشاء العقد الجديدة O(log(n)) التي أشر إلى العقد غير المعدلة من الشجرة القديمة. في AVL الأصلي الخوارزمية، يمكن للعقد الداخلية أيضًا الاحتفاظ بأزواج القيمة الرئيسية. ايه في ال+ الخوارزمية (لاحظ الزائد) تقوم بتعديل خوارزمية AVL للاحتفاظ بكل شيء القيم على العقد الطرفية، مع استخدام العقد الفرعية فقط لتخزين المفاتيح. يؤدي هذا إلى تبسيط الخوارزمية مع الحفاظ على مسار Merkle hash قصيرة. تشبه شجرة AVL+ محاولات باتريشيا Ethereum. هناك المقايضات. لا يلزم أن تكون المفاتيح hashed قبل إدراجها أشجار IAVL+، مما يوفر تكرارًا مرتبًا بشكل أسرع في المفتاح المساحة التي قد تفيد بعض التطبيقات. المنطق هو أبسط ل تنفيذ، يتطلب نوعين فقط من العقد - العقد الداخلية و العقد الورقية. إن برهان ميركل أقصر في المتوسط، كونه أ * / \ / \ / \ / \ * * / \ / \ / \ / \ / \ / \ * * * h6 / \ / \ / \ h0 h1 h2 h3 h4 h5 شجرة بسيطة تحتوي على 7 عناصر
شجرة ثنائية متوازنة من ناحية أخرى، جذر ميركل ل تعتمد شجرة IAVL+ على ترتيب التحديثات. سوف ندعم المزيد من Merkle trees، مثل Ethereum باتريشيا تري عندما يصبح المتغير الثنائي متاح. في التنفيذ الأساسي، يتم تدفق المعاملات إلى Cosmos تطبيق المحور عبر واجهة ABCI. سيقبل Cosmos Hub عددًا من المعاملات الأساسية الأنواع، بما في ذلك SendTx ، BondTx ، UnbondTx ، ReportHackTx ، SlashTx، وBurnAtomTx، وProposalCreateTx، وProposalVoteTx، والتي لا تحتاج إلى شرح إلى حد ما وسيتم توثيقها في ملف المراجعة المستقبلية لهذه الورقة. هنا نقوم بتوثيق الأمرين الأساسيين أنواع المعاملات لـ IBC: IBCBlockCommitTx و IBCPacketTx . تتكون معاملة IBCBlockCommitTx من: ChainID (سلسلة): معرف blockchain BlockHash ([]بايت): الكتلة-hash بايت، جذر Merkle والذي يتضمن التطبيق-hash BlockPartsHeader (PartSetHeader): رأس مجموعة أجزاء الكتلة البايتات، مطلوبة فقط للتحقق من توقيعات التصويت BlockHeight (int) : ارتفاع الالتزام BlockRound (int): جولة الالتزام الالتزام ([]تصويت) : يصوت >⅔ Tendermint Precommit على ذلك تتضمن التزامًا بالكتلة ValidatorsHash ([]بايت): جذر شجرة ميركل hash للجديد validator مجموعة
ValidatorsHashProof (SimpleProof): SimpleTree Merkleproof لإثبات ValidatorsHash مقابل BlockHash
AppHash ([]بايت): جذر شجرة IAVLTree Merkle hash لـ
حالة التطبيق
AppHashProof (SimpleProof): أداة SimpleTree Merkle-proof لـ
إثبات AppHash مقابل BlockHash
تتكون الحزمة IBCPacket من:
Header (IBCPacketHeader): رأس الحزمة
الحمولة ([]بايت): بايتات حمولة الحزمة. اختياري
PayloadHash ([]بايت): hash لبايتات الحزمة.
اختياري
يجب أن يكون أي من Payload أو PayloadHash موجودًا. hash
IBCPacket هو جذر Merkle البسيط للعنصرين، الرأس
و الحمولة. يُطلق على IBCPacket بدون الحمولة الكاملة اسم
الحزمة المختصرة.
يتكون IBCPacketHeader من:
SrcChainID (سلسلة): معرف المصدر blockchain
DstChainID (سلسلة): معرف الوجهة blockchain
الرقم (int) : رقم فريد لجميع الحزم
الحالة (التعداد): يمكن أن تكون واحدة من AckPending أو AckSent أو
AckReceived أو NoAck أو Timeout
النوع (سلسلة): تعتمد الأنواع على التطبيق. Cosmos
يحتفظ بنوع الحزمة "العملة المعدنية".
MaxHeight (int) : إذا كانت الحالة ليست NoAckWanted أو AckReceived
وبهذا الارتفاع، تصبح الحالة Timeout . اختياري
تتكون معاملة IBCPacketTx من:FromChainID (سلسلة): معرف blockchain وهو
توفير هذه الحزمة؛ ليس بالضرورة المصدر
FromBlockHeight (int) : الارتفاع blockchain الذي يوجد فيه
تم تضمين الحزمة التالية (بحجم Merkle) في الكتلة-hash من
سلسلة المصدر
الحزمة (IBCPacket): حزمة من البيانات، قد تكون حالتها واحدة
AckPending أو AckSent أو AckReceived أو NoAck أو Timeout
PacketProof (IAVLProof): IAVLTree Merkle-proof للإثبات
الحزمة hash مقابل AppHash لسلسلة المصدر في
ارتفاع معين
تسلسل إرسال الحزمة من "Zone1" إلى "Zone2"
من خلال "المحور" كما هو موضح في {الشكل X}. أولاً، IBCPacketTx
يثبت لـ "Hub" أن الحزمة مضمنة في حالة التطبيق
"المنطقة 1". بعد ذلك، يثبت IBCPacketTx آخر لـ "Zone2" أن
يتم تضمين الحزمة في حالة التطبيق "Hub". خلال هذا
الإجراء، تكون حقول IBCPacket متطابقة: SrcChainID هو
دائمًا "Zone1"، ويكون DstChainID دائمًا "Zone2".
يجب أن يشتمل PacketProof على المسار الصحيح لـ Merkle-proof، مثل
يلي:
عندما يريد "Zone1" إرسال حزمة إلى "Zone2" من خلال "Hub"،
تكون بيانات IBCPacket متطابقة سواء كانت الحزمة Merkleized على "Zone1" أو "Hub" أو "Zone2". الحقل الوحيد القابل للتغيير هو
الحالة لتتبع التسليم.
ونشكر أصدقائنا وزملائنا الذين ساعدونا في وضع المفهوم،
مراجعة وتقديم الدعم لعملنا مع Tendermint
و Cosmos.
IBC/
قدم زكي مانيان من SkuChain الكثير من المساعدة في التنسيق والتنسيق الصياغة، خاصة ضمن القسم ABCI جيهان تريمباك من ألثيا وداستن بينجتون للمساعدة التكرارات الأولية أندرو ميلر من Honey Badger للحصول على تعليقات حول الإجماع جريج سليباك للحصول على تعليقات بشأن الإجماع والصياغة شكرًا أيضًا لبيل جليم وسيونغهوان هان على جهودهما المتنوعة المساهمات. اسمك ومنظمتك هنا لمساهمتك 1 Bitcoin: https://bitcoin.org/bitcoin.pdf 2 زيرو كاش: 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 شبكة البرق: https://lightning.network/lightningnetwork-paper-DRAFT-0.5.pdf 8 النعناع: https://github.com/tendermint/tendermint/wiki 9 استحالة FLP: 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 فBFT: http://pmg.csail.mit.edu/papers/osdi99.pdf 12 بت: 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 nceAnalysOfLibswift.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
Ó ه
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
³ è