Cosmos: Ein Netzwerk verteilter Ledger
Introdução
O sucesso combinado do ecossistema de código aberto, compartilhamento descentralizado de yle e criptomoedas públicas inspirou um entendimento de que protocolos descentralizados de internet pode ser usado para melhorar radicalmente a infra-estrutura socioeconómica. Vimos aplicativos blockchain especializados como Bitcoin [1] (um criptomoeda), Zerocash [2] (uma criptomoeda para privacidade) e plataformas smart contract generalizadas, como Ethereum [3], com inúmeras aplicações distribuídas para o Etherium Virtual Máquina (EVM), como Augur (um mercado de previsão) e TheDAO [4] (um clube de investimento). Até o momento, entretanto, esses blockchains sofreram com uma série de de inconvenientes, incluindo a sua grave ineficiência energética, fraca ou desempenho limitado e mecanismos de governação imaturos. Propostas para dimensionar a taxa de transferência de transações de Bitcoin, como Segregated-Witness [5] e BitcoinNG [6], são de escala vertical soluções que permanecem limitadas pela capacidade de um único máquina, a fim de garantir a propriedade de completa auditabilidade. A Lightning Network [7] pode ajudar a dimensionar a transação Bitcoin
volume deixando algumas transações completamente fora do razão, e é adequado para micropagamentos e preservação de privacidade trilhos de pagamento, mas pode não ser adequado para pagamentos mais generalizados necessidades de escala. Uma solução ideal é aquela que permite que vários blockchains paralelos sejam interoperar, mantendo suas propriedades de segurança. Isso tem comprovadamente difícil, se não impossível, com proof-of-work. Mesclado a mineração, por exemplo, permite que o trabalho realizado para proteger um pai cadeia a ser reutilizada em uma cadeia filha, mas as transações ainda devem ser validado, em ordem, por cada nó, e um blockchain extraído por mesclagem é vulnerável a ataques se a maioria do poder hashing no o pai não está minerando ativamente o filho. Uma revisão acadêmica de arquiteturas de rede alternativas blockchain são fornecidas para contexto adicional e fornecemos resumos de outras propostas e suas desvantagens em trabalhos relacionados. Aqui apresentamos Cosmos, uma nova arquitetura de rede blockchain que resolve todos esses problemas. Cosmos é uma rede de muitos blockchains independentes, chamados zonas. As zonas são alimentadas por Tendermint Core [8], que fornece um alto desempenho, mecanismo de consenso consistente e seguro do tipo PBFT, onde garantias estritas de responsabilização prevalecem sobre o comportamento de maliciosos atores. O algoritmo de consenso BFT do Tendermint Core é adequado para dimensionar proof-of-stake blockchains públicos. A primeira zona em Cosmos é chamada de Hub Cosmos. O Cosmos Hub é uma criptomoeda proof-of-stake multiativos com um simples mecanismo de governança que permite à rede se adaptar e atualizar. Além disso, o Hub Cosmos pode ser estendido por conectando outras zonas. O hub e as zonas da rede Cosmos se comunicam com entre si por meio de um protocolo de comunicação inter-blockchain (IBC), uma espécie de UDP ou TCP virtual para blockchains. Os tokens podem ser transferido de uma zona para outra com segurança e rapidezsem a necessidade de liquidez cambial entre zonas. Em vez disso, todas as transferências entre zonas token passam pelo hub Cosmos, que mantém registro da quantidade total de tokens mantidos por cada zona. O hub isola cada zona da falha de outras zonas. Porque qualquer pessoa pode conectar uma nova zona ao hub Cosmos, as zonas permitem para compatibilidade futura com novas inovações blockchain. Nesta seção descrevemos o protocolo de consenso Tendermint e a interface usada para construir aplicativos com ele. Para mais detalhes, consulte o apêndice. Nos algoritmos clássicos de tolerância a falhas bizantinas (BFT), cada nó tem o mesmo peso. No Tendermint, os nós têm um valor não negativo quantidade de poder de voto e nós que têm votação positiva potência são chamados de validators. Os validadores participam do protocolo de consenso transmitindo assinaturas criptográficas, ou votos, para chegar a acordo sobre o próximo bloco. Os poderes de voto dos validadores são determinados na génese ou são alterado deterministicamente pelo blockchain, dependendo do aplicação. Por exemplo, em um aplicativo proof-of-stake como no Hub Cosmos, o poder de voto poderá ser determinado pelo valor de staking tokens garantidos como garantia. NOTA: Frações como ⅔ e ⅓ referem-se a frações do total de votos potência, nunca o número total de validators, a menos que todos os validators têm peso igual. >⅔ significa “mais de ⅔”, ≥⅓ significa “pelo menos ⅓”. Tendermint é um protocolo de consenso BFT parcialmente síncrono derivado do algoritmo de consenso DLS [20]. Tendermint é
notável por sua simplicidade, desempenho e responsabilidade de garfo. O protocolo requer um conjunto conhecido yxed de validators, onde cada validator é identificado pela sua chave pública. Os validadores tentam chegar a um consenso sobre um bloco de cada vez, onde um bloco é uma lista de transações. A votação para o consenso sobre um bloco prossegue em rodadas. Cada rodada tem um líder, ou proponente, que propõe um bloqueio. Os validators então votam, em etapas, se aceitar o bloco proposto ou passar para a próxima rodada. O proponente para uma rodada é escolhido de forma determinística a partir do ordenado lista de validators, proporcionalmente ao seu poder de voto. Os detalhes completos do protocolo estão descritos aqui. A segurança do Tendermint deriva do uso de recursos bizantinos ideais tolerância a falhas por meio de votação por supermaioria (>⅔) e bloqueio mecanismo. Juntos, eles garantem que: ≥⅓ o poder de voto deve ser bizantino para causar uma violação do segurança, onde mais de dois valores estão comprometidos. se algum conjunto de validators conseguir violar a segurança, ou mesmo tentativas de fazê-lo, eles podem ser identificados pelo protocolo. Isto inclui votação para bloqueios de conspiração e transmissão votos injustificados. Apesar das suas fortes garantias, o Tendermint oferece resultados excepcionais desempenho. Em benchmarks de 64 nós distribuídos em 7 datacenters nos 5 continentes, em instâncias de nuvem de commodities, O consenso do Tendermint pode processar milhares de transações por segundo, com latências de commit da ordem de um a dois segundos. Notavelmente, o desempenho de bem mais de mil transações por segundo é mantido mesmo em condições adversas adversas, com validator está travando ou transmitindo votos criados com códigos maliciosos. Veja a figura abaixo para obter detalhes.

Um grande benefício do algoritmo de consenso do Tendermint é simplificado leve segurança do cliente, tornando-o um candidato ideal para dispositivos móveis e casos de uso de internet das coisas. Embora um cliente light Bitcoin deva sincronizar cadeias de cabeçalhos de bloco e encontre aquele com maior prova de trabalho, os clientes Tendermint light precisam apenas acompanhar as mudanças para o conjunto validator e, em seguida, verifique os >⅔ PreCommits no bloco mais recente para determinar o estado mais recente. Provas de cliente leves sucintas também permitem inter-blockchain comunicação. Tendermint possui medidas de proteção para prevenir certos ataques notáveis, como gastos duplos de longo alcance e nada em jogo e censura. Eles são discutidos mais detalhadamente no apêndice.O algoritmo de consenso Tendermint é implementado em um programa chamado Tendermint Core. Tendermint Core é um “mecanismo de consenso” independente de aplicação que pode transformar qualquer aplicativo blackbox determinístico em um replicado distribuídamente blockchain. Tendermint Core se conecta a aplicativos blockchain por meio da Interface Blockchain do Aplicativo (ABCI) [17]. Assim, ABCI permite que aplicações blockchain sejam programadas em qualquer linguagem, não apenas a linguagem de programação que o consenso motor está escrito. Além disso, ABCI torna possível facilmente troque a camada de consenso de qualquer pilha blockchain existente. Fazemos uma analogia com a conhecida criptomoeda Bitcoin. Bitcoin é uma criptomoeda blockchain onde cada nó mantém um banco de dados de saída de transação não gasta (UTXO) totalmente auditado. Se queria-se criar um sistema semelhante a Bitcoin em cima de ABCI, O Tendermint Core seria responsável por Compartilhando blocos e transações entre nós Estabelecer uma ordem canônica/imutável de transações (o blockchain) Enquanto isso, o aplicativo ABCI seria responsável por Mantendo o banco de dados UTXO Validando assinaturas criptográficas de transações Evitar que as transações gastem fundos inexistentes Permitindo que clientes consultem o banco de dados UTXO Tendermint é capaz de decompor o design blockchain por oferecendo uma API muito simples entre o processo de inscrição e processo de consenso.
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 Arquitetura
Cosmos é uma rede de blockchains paralelos independentes que são cada um alimentado por algoritmos de consenso clássicos BFT como Menta 1. O primeiro blockchain nesta rede será o Hub Cosmos. O Cosmos O hub se conecta a muitos outros blockchains (ou zonas) por meio de um novo protocolo de comunicação inter-blockchain. O Centro Cosmos rastreia vários tipos token e mantém registro do total número de tokens em cada zona conectada. Os tokens podem ser transferido de uma zona para outra com segurança e rapidez sem a necessidade de troca de líquidos entre zonas, porque todos as transferências de moedas entre zonas passam pelo Hub Cosmos. Esta arquitetura resolve muitos problemas que o espaço blockchain enfrenta hoje, como interoperabilidade de aplicativos, escalabilidade e capacidade de atualização perfeita. Por exemplo, zonas derivadas de Bitcoind, Go-Ethereum, CryptoNote, ZCash ou qualquer sistema blockchain pode ser conectado ao hub Cosmos. Essas zonas permitem que Cosmos escalar indefinidamente para atender à demanda global de transações. As zonas também são um ótimo ano para uma troca distribuída, que será suportada como bem. Cosmos não é apenas um único razão distribuído, e o Cosmos Hub não é um jardim murado ou o centro do seu universo. Nós somos projetando um protocolo para uma rede aberta de livros distribuídos que pode servir como uma nova base para futuros sistemas financeiros, baseado em princípios de criptografia, economia sólida, consenso teoria, transparência e responsabilidade. O Cosmos Hub é o primeiro blockchain público no Cosmos Rede, alimentada pelo algoritmo de consenso BFT do Tendermint. O O projeto de código aberto Tendermint nasceu em 2014 para abordar o velocidade, escalabilidade e questões ambientais do algoritmo de consenso de prova de trabalho de Bitcoin. Usando e melhorando os comprovados
BFT algoritmos desenvolvidos no MIT em 1988 [20], o Tendermint a equipe foi a primeira a demonstrar conceitualmente um proof-of-stake criptomoeda que resolve o problema do nada em jogo sofrido pelas criptomoedas proof-of-stake de primeira geração, como como NXT e BitShares1.0. Hoje, praticamente todas as carteiras móveis Bitcoin usam servidores confiáveis para fornecer-lhes a verificação da transação. Isso ocorre porque a prova de trabalho exige a espera de muitas confirmações antes de um transação pode ser considerada irreversivelmente comprometida. Ataques de gasto duplo já foram demonstrados em serviços como CoinBase. Ao contrário de outros sistemas de consenso blockchain, o Tendermint oferece verificação de pagamento de cliente móvel instantânea e comprovadamente segura. Como o Tendermint foi projetado para nunca bifurcar, dispositivos móveis carteiras podem receber confirmação instantânea da transação, o que torna pagamentos práticos e confiáveis são uma realidade em smartphones. Isto tem ramificações significativas para aplicações da Internet das Coisas, como bem. Os validadores em Cosmos têm uma função semelhante aos mineradores de Bitcoin, mas em vez disso, use assinaturas criptográficas para votar. Validadores são máquinas seguras e dedicadas que são responsáveis por cometer blocos. Não-validators podem delegar seus staking tokens (chamados “átomos”) para qualquer validator para ganhar uma parte das taxas de bloco e átomo recompensas, mas correm o risco de serem punidos (cortados) se o o delegado validator é hackeado ou viola o protocolo. O comprovado garantias de segurança do consenso Tendermint BFT, e a garantia depósito das partes interessadas –validators e delegantes – fornecer segurança comprovável e quantificável para nós e clientes leves. Os livros-razão públicos distribuídos devem ter uma constituição e um sistema de governança. Bitcoin depende da Fundação Bitcoin emineração para coordenar atualizações, mas este é um processo lento. Ethereum dividido em ETH e ETC após hard fork para endereçar O hackDAO, em grande parte porque não havia contrato social anterior nem mecanismo para tomar tais decisões. Validadores e delegadores no Hub Cosmos podem votar propostas que podem alterar parâmetros predefinidos do sistema automaticamente (como o limite de gás do bloco), coordenar atualizações, como bem como votar em emendas à constituição legível por humanos que regem as políticas do Hub Cosmos. A constituição permite a coesão entre as partes interessadas em questões como roubo e bugs (como o incidente TheDAO), permitindo uma abordagem mais rápida e resolução mais limpa. Cada zona também pode ter sua própria constituição e governança mecanismo também. Por exemplo, o Hub Cosmos poderia ter um constituição que impõe a imutabilidade no Centro (sem retrocessos, exceto para bugs da implementação do nó Hub Cosmos), enquanto cada zona pode definir suas próprias políticas em relação a reversões. Ao permitir a interoperabilidade entre diferentes zonas políticas, o A rede Cosmos oferece aos seus usuários total liberdade e potencial para experimentação sem permissão. Aqui descrevemos um novo modelo de descentralização e escalabilidade. Cosmos é uma rede de muitos blockchains alimentada por Menta macia. Embora as propostas existentes visem criar um “único blockchain” com ordem de transação global total, Cosmos permite que muitos blockchains sejam executados simultaneamente entre si mantendo a interoperabilidade. Basicamente, o Hub Cosmos gerencia muitos blockchains chamadas “zonas” (às vezes chamadas de “fragmentos”, em referência à técnica de escalonamento de banco de dados conhecida como “sharding”).
Um fluxo constante de commits recentes de blocos de zonas postadas em o Hub permite que o Hub acompanhe o estado de cada zona. Da mesma forma, cada zona acompanha o estado do Hub (mas as zonas não se acompanham, exceto indiretamente através do Central). Pacotes de informações são então comunicados de um zona para outra, afixando provas Merkle como evidência de que o informações foram enviadas e recebidas. Este mecanismo é denominado comunicação inter-blockchain ou IBC para abreviar. Qualquer uma das zonas pode ser hubs para formar um gráfico acíclico, mas por uma questão de clareza, descreveremos apenas o simples configuração onde há apenas um hub e muitos não-hub zonas. O Cosmos Hub é um blockchain que hospeda um multiativo razão distribuída, onde tokens podem ser mantidos por usuários individuais ou pelas próprias zonas. Esses tokens podem ser movidos de uma zona para outro em um pacote IBC especial chamado "pacote de moedas". O centro é responsável por preservar a invariância global do total quantidade de cada token nas zonas. IBC pacote de moedas as transações devem ser confirmadas pelo remetente, hub e destinatário blockchains.Como o Hub Cosmos atua como o razão central para todo o sistema, a segurança do Hub é de suma importância. Enquanto cada zona pode ser um Tendermint blockchain que é protegido por como poucos como 4 (ou até menos se o consenso BFT não for necessário), o Hub deve ser protegido por um conjunto globalmente descentralizado de validators que pode suportar os cenários de ataque mais severos, como um partição de rede continental ou um ataque patrocinado por um estado-nação. Uma zona Cosmos é uma blockchain independente que troca IBC mensagens com o Hub. Da perspectiva do Hub, uma zona é um conta com múltiplas assinaturas e associação dinâmica de múltiplos ativos que pode enviar e receber tokens usando pacotes IBC. Como um conta de criptomoeda, uma zona não pode transferir mais tokens do que tem, mas pode receber tokens de outras pessoas que os possuem. Uma zona pode ser designado como uma "fonte" de um ou mais tipos token, concedendo-lhe o poder de injetar aquele suprimento token. Átomos do Hub Cosmos podem ser piquetados por validators de uma zona conectado ao Hub. Embora os ataques de gasto duplo nessas zonas resultaria no corte de átomos com a responsabilidade do Tendermint, uma zona onde> ⅔ do poder de voto são Byzantine pode cometer estado inválido. O hub Cosmos não verificar ou executar transações comprometidas em outras zonas, por isso é é responsabilidade dos usuários enviar tokens para zonas em que confiam. No futuro, o sistema de governança do Hub Cosmos poderá passar pelo Hub propostas de melhoria que levam em conta as falhas da zona. Para por exemplo, transferências de saída token de algumas (ou todas) zonas podem ser estrangulado para permitir a interrupção de emergência das zonas (uma interrupção temporária das transferências token) quando um ataque é detectado. Agora veremos como o Hub e as zonas se comunicam entre si outro. Por exemplo, se houver três blockchains, “Zona1”, “Zona2”,

e “Hub”, e desejamos que “Zone1” produza um pacote destinado para “Zona2” passando por “Hub”. Para mover um pacote de um blockchain para outro, uma prova é postada na cadeia de recebimento. A prova afirma que a cadeia emissora publicou um pacote para o suposto destino. Para que a cadeia receptora verifique esta prova, é deve ser capaz de acompanhar os cabeçalhos de bloco do remetente. Isto O mecanismo é semelhante ao usado pelas cadeias laterais, o que requer duas cadeias interagindo para estarem cientes uma da outra através de um fluxo bidirecional de datagramas de prova de existência (transações). O protocolo IBC pode naturalmente ser definido usando dois tipos de transações: uma transação IBCBlockCommitTx , que permite um blockchain para provar a qualquer observador seu bloco mais recente - hash, e uma transação IBCPacketTx , que permite que um blockchain provar a qualquer observador que o pacote fornecido foi de fato publicado pela aplicação do remetente, através de uma prova de Merkle para o recente bloco-hash. Ao dividir a mecânica IBC em duas transações separadas, permitir que o mecanismo de mercado de taxas nativo da cadeia de recebimento determinar quais pacotes serão confirmados (ou seja, reconhecidos), enquanto permitindo total liberdade na cadeia de envio sobre como muitos pacotes de saída são permitidos. No exemplo acima, para atualizar o bloco-hash da "Zona1" no “Hub” (ou de “Hub” na “Zona2”), um IBCBlockCommitTxa transação deve ser postada no “Hub” com o bloco-hash de “Zona1” (ou em “Zona2” com o bloco-hash de “Hub”). Consulte IBCBlockCommitTx e IBCPacketTx para obter mais informações nos dois tipos de transação IBC. Da mesma forma que Bitcoin é mais seguro por ser distribuído, livro razão replicado em massa, podemos tornar as exchanges menos vulneráveis a hacks externos e internos executando-o em blockchain. Nós chame isso de troca distribuída. O que a comunidade de criptomoedas chama de descentralizada exchange hoje são baseadas em algo chamado de transações “atomic crosschain” (AXC). Com uma transação AXC, dois usuários em duas cadeias diferentes podem fazer duas transações de transferência que são comprometidos juntos em ambos os livros, ou nenhum (ou seja, atomicamente). Por exemplo, dois usuários podem trocar bitcoins por ether (ou quaisquer dois tokens em dois livros razão diferentes) usando transações AXC, mesmo que Bitcoin e Ethereum não estejam conectados um ao outro outro. O benefício de executar uma exchange em transações AXC é que nem os usuários precisam confiar uns nos outros ou na correspondência comercial serviço. A desvantagem é que ambas as partes precisam estar online para que o comércio ocorra. Outro tipo de exchange descentralizada é a replicada em massa troca distribuída que funciona por conta própria blockchain. Usuários ativados esse tipo de exchange pode enviar um pedido com limite e transformar seu computador desligado e a negociação pode ser executada sem que o usuário seja on-line. O blockchain corresponde e conclui a negociação em nome do comerciante.
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.
Aplicativos
Uma exchange centralizada pode criar uma carteira de pedidos profunda e limitada ordens e, assim, atrair mais comerciantes. Liquidez gera mais liquidez no mundo cambial e, portanto, existe uma rede forte efeito (ou pelo menos um efeito do tipo "o vencedor leva mais") na troca negócio. O atual líder em trocas de criptomoedas hoje está a Poloniex com um volume de US$ 20 milhões em 24 horas, e em segundo lugar está Bitynex com um volume de 24 horas de US$ 5 milhões. Dada uma rede tão forte efeitos, é improvável que as exchanges descentralizadas baseadas em AXC ganhar volume sobre as exchanges centralizadas. Para uma descentralização exchange para competir com uma exchange centralizada, seria necessário para oferecer suporte a carteiras de pedidos profundas com pedidos limitados. Apenas um distribuído exchange em blockchain pode fornecer isso. Tendermint oferece benefícios adicionais de transações mais rápidas compromete. Priorizando a sinalidade rápida sem sacrificar consistência, as zonas em Cosmos podem ynalizar transações rapidamente – por tanto as transações de ordens de câmbio quanto as transferências de IBC token para e de outras zonas. Dado o estado atual das trocas de criptomoedas, um grande aplicação para Cosmos é a troca distribuída (também conhecida como CosmosDEX). A capacidade de transferência de transações, bem como a latência de commit pode ser comparável àquelas de centralizado trocas. Os traders podem enviar ordens limitadas que podem ser executadas sem que ambas as partes tenham que estar online. E com Tendermint, o hub Cosmos e IBC, os traders podem movimentar fundos para dentro e para fora a troca de e para outras zonas com rapidez. Uma zona privilegiada pode atuar como fonte de uma ponte token de outra criptomoeda. Uma ponte é semelhante ao relacionamento entre um hub e uma zona Cosmos; ambos devem acompanhar o últimos blocos do outro para verificar provas de que tokens possuem passou de um para outro. Uma "zona de ponte" no Cosmos A rede acompanha o Hub, bem como os outros
criptomoeda. A indireção através da zona-ponte permite a lógica do Hub permanecer simples e agnóstica em relação a outros blockchain estratégias de consenso, como proof-of-work de Bitcoin mineração. Cada zona de ponte validator executaria um sistema alimentado por Tendermint blockchain com um aplicativo de ponte ABCI especial, mas também um nó completo de a “origem” blockchain. Quando novos blocos são minerados na origem, a zona-ponte validators chegarão a um acordo sobre os blocos comprometidos assinando e compartilhando sua respectiva visão local do blockchain da origem dica. Quando uma zona-ponte recebe pagamento na origem (e concordaram que confirmações suficientes foram vistas no caso de uma cadeia PoW como Ethereum ou Bitcoin), um correspondente conta é criada na zona de ponte com esse saldo. No caso de Ethereum, a zona de ponte pode compartilhar o mesmo validator-definido como o hub Cosmos. No lado Ethereum (o origem), um contrato-ponte permitiria que os detentores de Ether enviassem Ether para a zona de ponte, enviando-o para o contrato de ponte em Ethereum. Uma vez que o Ether é recebido pelo contrato-ponte, o ether não pode ser retirado a menos que um pacote IBC apropriado seja recebido pelo contrato-ponte da zona-ponte. O bridge-contract rastreia o conjunto validator da zona de ponte, que pode ser idêntico ao conjunto validator do Hub Cosmos. No caso de Bitcoin, o conceito é semelhante, exceto que em vez de um único contrato-ponte, cada UTXO seria controlado por um limite de multiassinatura P2SH pubscript. Devido às limitações de no sistema P2SH, os signatários não podem ser idênticos ao Cosmos Conjunto de hub validator.O éter na zona de ponte (“éter em ponte”) pode ser transferido para e do Hub, e posteriormente destruído com uma transação que envia para um endereço de retirada específico em Ethereum. Um IBC pacote provando que a transação ocorreu na zona de ponte pode ser postado no contrato de ponte Ethereum para permitir o ether para ser retirado. No caso de Bitcoin, o sistema de script restrito torna difícil espelhar o mecanismo de transferência de moedas IBC. Cada UTXO tem seu próprio pubscript independente, então cada UTXO deve ser migrado para um novo UTXO quando há alteração no conjunto de Bitcoin signatários de garantia. Uma solução é comprimir e descompacte o conjunto UTXO conforme necessário para manter o número total de UTXOs inativos. O risco de tal contrato de transição é um conjunto desonesto validator. ≥⅓ O poder de voto bizantino pode causar uma bifurcação, retirando o éter do contrato de ponte em Ethereum enquanto mantém o bridgedether na zona de ponte. Pior ainda, >⅔ o poder de voto bizantino pode roubar éter imediatamente daqueles que o enviaram para o contrato de ponte desviando-se da lógica de ponte original da zona de ponte. É possível resolver estas questões projetando a ponte para ser totalmente responsável. Por exemplo, todos os pacotes IBC, do hub e a origem, pode exigir reconhecimento pela zona de ponte em de tal forma que todas as transições de estado da zona de ponte possam ser eficientemente desafiado e verificado pelo centro ou pela origem contrato-ponte. O Centro e a origem devem permitir que os validators da zona-ponte depositem garantias e que token transfiram para fora do o contrato-ponte deve ser adiado (e a dissolução da garantia período suficientemente longo) para permitir quaisquer desafios a serem feitos por auditores independentes. Deixamos o desenho da especificação e implementação deste sistema aberta como um futuro Cosmos
proposta de melhoria, a ser aprovada pelo Hub Cosmos sistema de governança. Resolver o problema de dimensionamento é um problema em aberto para Ethereum. Atualmente, os nós Ethereum processam cada transação e também armazene todos os estados. link. Como o Tendermint pode confirmar blocos muito mais rápido que o de Ethereum Zonas proof-of-work, EVM alimentadas por consenso Tendermint e operar em éter em ponte pode fornecer maior desempenho para Ethereum blockchains. Além disso, embora o Hub Cosmos e IBC a mecânica de pacotes não permite lógica de contrato arbitrária execução por si só, pode ser usado para coordenar movimentos token entre Ethereum contratos executados em zonas diferentes, fornecendo uma base para o escalonamento token centrado em Ethereum por meio de fragmentação. Cosmos zonas executam lógica de aplicativo arbitrária, que é definida em o início da vida da zona e pode potencialmente ser atualizada ao longo do tempo pela governação. Essa zexibilidade permite que zonas Cosmos atuam como pontes para outras criptomoedas, como Ethereum ou Bitcoin, e também permite derivados desses blockchains, utilizando a mesma base de código, mas com um conjunto validator diferente e distribuição inicial. Isso permite que muitas criptomoedas existentes estruturas, como as de Ethereum, Zerocash, Bitcoin, CryptoNote e assim por diante, para ser usado com Tendermint Core, que é um mecanismo de consenso de maior desempenho, em uma rede comum, abrindo uma tremenda oportunidade para a interoperabilidade entre plataformas. Além disso, como um multiativo blockchain, um único transação pode conter múltiplas entradas e saídas, onde cada a entrada pode ser de qualquer tipo token, permitindo que Cosmos sirva diretamente como uma plataforma para troca descentralizada, embora as ordens sejam assumidaspara ser correspondido através de outras plataformas. Alternativamente, uma zona pode servir como uma troca distribuída tolerante a falhas (com carteiras de pedidos), que pode ser uma melhoria estrita em relação à centralização existente trocas de criptomoedas que tendem a ser hackeadas com o tempo. As zonas também podem servir como versões corporativas apoiadas por blockchain e sistemas governamentais, onde partes de um determinado serviço que são tradicionalmente administrados por uma organização ou grupo de organizações em vez disso, são executados como um aplicativo ABCI em uma determinada zona, que permite-lhe herdar a segurança e a interoperabilidade do público Cosmos rede sem sacrificar o controle sobre o subjacente serviço. Assim, Cosmos pode oferecer o melhor dos dois mundos para organizações que desejam utilizar a tecnologia blockchain, mas que estão cauteloso em ceder completamente o controle a um terceiro distribuído festa. Alguns afirmam que um grande problema com o favorecimento da consistência algoritmos de consenso como o Tendermint é que qualquer rede partição que faz com que não haja uma partição única com >⅔ o poder de voto (por exemplo, ≥⅓ sair do zine) interromperá completamente o consenso. A arquitetura Cosmos pode ajudar a mitigar esse problema usando um centro global com zonas autónomas regionais, onde o poder de voto para cada zona são distribuídos com base em uma área geográfica comum região. Por exemplo, um paradigma comum pode ser para indivíduos cidades, ou regiões, para operar suas próprias zonas enquanto compartilham um centro comum (por exemplo, o Centro Cosmos), permitindo que a atividade municipal persistir no caso de o hub parar devido a uma rede temporária partição. Observe que isso permite que dados geológicos, políticos e recursos topológicos de rede a serem considerados no projeto robusto sistemas federados tolerantes a falhas.
NameCoin foi um dos primeiros blockchains a tentar resolver o problema de resolução de nomes adaptando o Bitcoin blockchain. Infelizmente, houve vários problemas com essa abordagem. Com Namecoin podemos verificar que, por exemplo, @satoshi foi registrado com uma chave pública específica em algum momento no passado, mas não saberíamos se a chave pública já havia sido atualizado recentemente, a menos que baixemos todos os blocos desde o último atualização desse nome. Isso se deve à limitação de Bitcoin’s UTXO modelo de merkle-ização de transação, onde apenas o transações (mas não o estado mutável do aplicativo) são Merkle-izadas no bloco-hash. Isso nos permite provar a existência, mas não a inexistência de atualizações posteriores de um nome. Assim, não podemos saber por certo o valor mais recente de um nome sem confiar em um valor completo nó, ou incorrer em custos significativos em largura de banda baixando todo o blockchain. Mesmo que uma árvore de pesquisa Merkleizada fosse implementada no NameCoin, sua dependência de proof-of-work facilita a verificação do cliente problemático. Os clientes Light devem baixar uma cópia completa do cabeçalhos para todos os blocos em todo o blockchain (ou pelo menos todos os cabeçalhos desde a última atualização de um nome). Isto significa que o os requisitos de largura de banda aumentam linearmente com a quantidade de tempo [21]. Além disso, mudanças de nome em proof-of-work blockchain requer espera por blocos de confirmação proof-of-work adicionais, o que pode levar até uma hora em Bitcoin. Com o Tendermint, tudo que precisamos é do bloco mais recente-hash assinado por um quórum de validators (por poder de voto) e um Merkle prova para o valor atual associado ao nome. Isso faz com que possível ter um light-client sucinto, rápido e seguro verificação dos valores dos nomes. Em Cosmos, podemos pegar esse conceito e estendê-lo ainda mais. Cada zona de registro de nome em Cosmos pode ter um nome de domínio de nível superior (TLD) associado, como “.com” ou “.org”, e cada nome-
zona de registro pode ter sua própria governança e registro regras.
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.
Governança e Economia
Embora o Hub Cosmos seja um livro-razão distribuído de vários ativos, há um nativo especial token chamado átomo. Os átomos são os únicos staking token do hub Cosmos. Os átomos são uma licença para o titular votar, validar ou delegar para outros validators. Como Ethereum éter, os átomos também podem ser usados para pagar taxas de transação para mitigar spam. Átomos inzacionários adicionais e transação em bloco as taxas são recompensadas para validators e delegadores que delegam para validators. A transação BurnAtomTx pode ser usada para recuperar qualquer quantidade proporcional de tokens do pool de reserva. A distribuição inicial dos átomos tokens e validators no Gênesis irá para os doadores da arrecadação de fundos Cosmos (75%), doadores principais (5%), Cosmos Network Foundation (10%) e ALL IN BITS, Inc. (10%). Da gênese em diante, 1/3 da quantidade total de átomos será ser recompensado a validators e delegadores vinculados todos os anos. Consulte o Plano Cosmos para obter detalhes adicionais. Ao contrário de Bitcoin ou outros proof-of-work blockchains, um Tendermint blockchain fica mais lento com mais validators devido ao aumento complexidade da comunicação. Felizmente, podemos apoiar o suficiente validators para criar um blockchain robusto e globalmente distribuído com tempos de confirmação de transação muito rápidos e, como largura de banda,
armazenamento e aumento da capacidade de computação paralela, seremos capazes para oferecer suporte a mais validators no futuro. No dia da gênese, o número máximo de validators será definido para 100, e esse número aumentará a uma taxa de 13% durante 10 anos, e estabilize em 300 validators. Os detentores de átomos que ainda não o são podem se tornar validators por assinar e enviar uma transação BondTx . A quantidade de os átomos fornecidos como garantia devem ser diferentes de zero. Qualquer um pode se tornar a validator a qualquer momento, exceto quando o tamanho do atual validator conjunto é maior que o número máximo de validators permitido. Nesse caso, a transação só é válida se o valor do átomos é maior que a quantidade de átomos efetivos mantidos pelo menor validator, onde átomos efetivos incluem átomos delegados. Quando um novo validator substitui um validator existente dessa forma, o validator existente torna-se inativo e todos os átomos e átomos delegados entram no estado de desvinculação. Deve haver alguma penalidade imposta aos validators para qualquer desvio intencional ou não intencional do sancionado protocolo. Algumas provas são imediatamente admissíveis, como uma sinal duplo na mesma altura e redondo, ou violação de Ano 0: 100 Ano 1: 113 Ano 2: 127 Ano 3: 144 Ano 4: 163 Ano 5: 184 Ano 6: 208 Ano 7: 235 Ano 8: 265 Ano 9: 300 Ano 10: 300 ...
“prevote-the-lock” (uma regra do protocolo de consenso Tendermint). Tal evidência resultará na perda de sua regularidade por validator e seus átomos ligados, bem como sua parcela proporcional de tokens em o conjunto de reservas – coletivamente chamado de “participação” – será reduzido. Às vezes, validators não estarão disponíveis, seja devido a questões regionais interrupções de rede, falha de energia ou outros motivos. Se, em qualquer ponto nos últimos blocos ValidatorTimeoutWindow , um validator commit vote não está incluído em blockchain mais de ValidatorTimeoutMaxAbsent, esse validator se tornará inativo e perderá ValidatorTimeoutPenalty (PADRÃO 1%) de seu aposta. Alguns comportamentos “maliciosos” não produzem resultados obviamente discerníveis evidências em blockchain. Nestes casos, os validators podem coordenar fora da banda para forçar o tempo limite desses maliciosos validators, se houver consenso por maioria qualificada. Em situações em que o Hub Cosmos para devido a uma coalizão ≥⅓ de poder de voto saindo do zine ou em situações em que uma coalizão ≥⅓ do poder de voto censurar evidências de comportamento malicioso de entrando no blockchain, o hub deve se recuperar com um hard-fork proposta de reorganização. (Link para “Forks e ataques de censura”). Cosmos Hub validators podem aceitar qualquer tipo ou combinação de token de tipos como taxas para processar uma transação. Cada validator pode definir subjetivamente qualquer taxa de câmbio desejada e escolher quaisquer transações que desejar, desde que o BlockGasLimit seja não excedido. As taxas cobradas, menos quaisquer impostos especificados abaixo, são redistribuídos às partes interessadas vinculadas na proporção seus átomos ligados, cada ValidatorPayoutPeriod (DEFAULT 1 hora).Das taxas de transação cobradas, ReserveTax (PADRÃO 2%) será vá em direção ao pool de reserva para aumentar o pool de reserva e aumentar a segurança e o valor da rede Cosmos. Estes os fundos também podem ser distribuídos de acordo com as decisões feita pelo sistema de governança. Detentores de átomos que delegam seu poder de voto a outros validators pagar uma comissão ao delegado validator. A comissão pode ser definido por cada validator. A segurança do Hub Cosmos é uma função da segurança do validators subjacentes e a escolha da delegação pelos delegantes. A fim de encorajar a descoberta e a notificação precoce de vulnerabilidades, o Hub Cosmos incentiva os hackers a publicar explorações bem-sucedidas por meio de uma transação ReportHackTx que diz: “Este validator foi hackeado. Por favor, envie recompensa para este endereço”. Após tal exploração, o validator e os delegantes ficarão inativos, HackPunishmentRatio (padrão 5%) dos átomos de todos receberão cortado e HackRewardRatio (padrão 5%) dos átomos de todos será recompensado no endereço de recompensa do hacker. O validator deve recuperar os átomos restantes usando sua chave de backup. Para evitar que este recurso seja abusado para transferir átomos não adquiridos, a porção de átomos adquiridos versus átomos não adquiridos de validators e delegadores antes e depois do ReportHackTx permanecem os mesmos, e a recompensa do hacker incluirá alguns átomos não adquiridos, se houver. O Cosmos Hub é operado por uma organização distribuída que requer um mecanismo de governança bem definido para coordenar várias alterações no blockchain, como a variável
parâmetros do sistema, bem como atualizações de software e emendas constitucionais. Todos os validators são responsáveis pela votação de todas as propostas. Falhando em votar uma proposta em tempo hábil resultará em validator sendo desativado automaticamente por um período de tempo denominado AbsenteísmoPenaltyPeriod (PADRÃO 1 semana). Os delegadores herdam automaticamente o voto do delegado validator. Esta votação pode ser anulada manualmente. Átomos não ligados não obtenha voto. Cada proposta exige um depósito de MinimumProposalDeposit tokens, que pode ser uma combinação de um ou mais tokens incluindo átomos. Para cada proposta, os eleitores poderão votar para o depósito. Se mais de metade dos eleitores optarem por depósito (por exemplo, porque a proposta era spam), o depósito vai para reserva, exceto quaisquer átomos que sejam queimados. Para cada proposta, os eleitores poderão votar com as seguintes opções: Sim Sim com força Não NayWithForce Abster-se Uma maioria estrita de votos Sim ou Sim com Força (ou Não ou votos NayWithForce) é necessário para que a proposta seja decidida como aprovado (ou considerado reprovado), mas 1/3+ pode vetar a maioria decisão votando “com força”. Quando uma maioria estrita é vetada, todos são punidos com a perda de VetoPenaltyFeeBlocks (PADRÃO 1 dia de blocos) valor de taxas (exceto impostos que não será afetado), e o partido que vetou a maioria
a decisão será punida adicionalmente com a perda de VetoPenaltyAtoms (PADRÃO 0,1%) de seus átomos. Qualquer um dos parâmetros aqui definidos pode ser alterado com o passagem de uma ParameterChangeProposal . Os átomos podem ser injetados e os fundos do pool de reserva gastos com o aprovação de uma Proposta de Recompensa . Todas as outras propostas, como uma proposta para atualizar o protocolo, será coordenado por meio da TextProposal genérica. Veja o Plano. Houve muitas inovações no consenso blockchain e escalabilidade nos últimos dois anos. Esta seção fornece um breve levantamento de um seleto número de importantes. O consenso na presença de participantes mal-intencionados é um problema que remonta ao início da década de 1980, quando Leslie Lamport cunhou o frase “falha bizantina” para se referir ao comportamento arbitrário do processo que se desvia do comportamento pretendido, em contraste com uma “falha de colisão”, em que um processo simplesmente falha. As primeiras soluções foram descobertas para redes síncronas onde existe um limite superiorlatência da mensagem, embora o uso prático fosse limitado a altamente ambientes controlados, como controladores de aviões e datacenters sincronizados por meio de relógios atômicos. Não foi até o final dos anos 90 que a tolerância prática a falhas bizantinas (PBFT) [11] foi introduzido como um consenso eficiente parcialmente síncrono algoritmo capaz de tolerar até ⅓ dos processos se comportando arbitrariamente. PBFT tornou-se o algoritmo padrão, gerando muitos variações, incluindo mais recentemente uma criada pela IBM como parte do sua contribuição para o Hyperledger. O principal benefício do consenso do Tendermint sobre PBFT é que Tendermint tem uma estrutura subjacente melhorada e simplificada, alguns dos quais são resultado da adoção do paradigma blockchain. Os blocos do Tendermint devem ser confirmados em ordem, o que evita o complexidade e sobrecarga de comunicação associada a PBFT's mudanças de visualização. Em Cosmos e em muitas criptomoedas, não há precisa permitir que o bloco N+i onde i >= 1 seja confirmado, quando o bloco N em si ainda não se comprometeu. Se a largura de banda é a razão pela qual o bloco N não fez commit em uma zona Cosmos, então não ajuda usar votos de compartilhamento de largura de banda para blocos N+i. Se uma partição de rede ou nós ofzine é a razão pela qual o bloco N não foi confirmado, então N+i não vou me comprometer de qualquer maneira. Além disso, o agrupamento de transações em blocos permite Merkle-hashing regular do estado do aplicativo, em vez de resumos periódicos como no esquema de checkpoint de PBFT. Isso permite para commits de transações comprováveis mais rápidos para clientes leves e mais rápidos comunicação inter-blockchain. Tendermint Core também inclui muitas otimizações e recursos que vão além do especificado em PBFT. Por exemplo, os blocos propostos por validators são divididos em partes, Merkle-izados, e fofocaram de uma forma que melhorou a transmissão desempenho (veja LibSwift [19] para inspiração). Além disso, Tendermint Core não faz nenhuma suposição sobre ponto a ponto
conectividade e funções enquanto a rede P2P estiver fracamente conectado. Embora não seja o primeiro a implantar proof-of-stake (PoS), BitShares1.0 [12] contribuiu consideravelmente para a pesquisa e adoção de PoS blockchains, especialmente aqueles conhecidos como PoS “delegados”. Em BitShares, stakeholders elegem “testemunhas”, responsáveis pelo pedido e cometer transações, e "delegados", responsáveis por coordenar atualizações de software e alterações de parâmetros. BitShares2.0 visa alcançar alto desempenho (100k tx/s, 1s latência) em condições ideais, com cada bloco assinado por um único assinante e a ynalidade da transação demorando um pouco mais do que o intervalo de bloco. Uma especificação canônica ainda está em desenvolvimento. As partes interessadas podem remover ou substituir testemunhas que se comportam mal em uma diariamente, mas não há nenhuma garantia significativa de testemunhas ou delegadores à semelhança do Tendermint PoS que são cortados o caso de um ataque de gasto duplo bem-sucedido. Com base em uma abordagem pioneira em Ripple, Stellar [13] refina um modelo de Acordo Federado Bizantino em que os processos participar em consenso não constitui uma situação yxa e global conjunto conhecido. Em vez disso, cada nó do processo faz a curadoria de um ou mais “fatias de quórum”, cada uma constituindo um conjunto de processos confiáveis. Um “quorum” em Stellar é definido como um conjunto de nós que contém pelo menos pelo menos uma fatia de quorum para cada nó do conjunto, de modo que um acordo pode ser alcançado. A segurança do mecanismo Stellar depende da suposição que a interseção de quaisquer dois quóruns não é vazia, enquanto o a disponibilidade de um nó requer que pelo menos uma de suas fatias de quorum seja consistem inteiramente em nós corretos, criando um trade-off entre usando fatias de quórum grandes ou pequenas que podem ser difíceis de equilibrar sem impor suposições significativas sobre confiança. Em última análise,os nós devem de alguma forma escolher fatias de quorum adequadas para que haja ter tolerância a falhas suficiente (ou quaisquer “nós intactos”, dos quais muitos dos resultados do artigo dependem), e o único estratégia fornecida para garantir que tal configuração seja hierárquica e semelhante ao Border Gateway Protocol (BGP), usado por ISPs de primeira linha na Internet para estabelecer tabelas de roteamento globais, e por aquele usado pelos navegadores para gerenciar certificados TLS; ambos notórios pela sua insegurança. As críticas no artigo Stellar aos sistemas de prova de participação baseados no Tendermint são atenuadas pela estratégia token descrita aqui, onde um novo tipo de token chamado átomo é emitido que representam reivindicações de parcelas futuras de taxas e recompensas. O vantagem do proof-of-stake baseado em Tendermint, então, é seu relativo simplicidade, ao mesmo tempo que fornece segurança suficiente e comprovável garantias. BitcoinNG é uma melhoria proposta para Bitcoin que permitiria para formas de escalabilidade vertical, como aumentar o tamanho do bloco, sem as consequências económicas negativas normalmente associadas com tal mudança, como o impacto desproporcionalmente grande em pequenos mineiros. Esta melhoria é conseguida através da separação eleição do líder a partir da transmissão da transação: os líderes são os primeiros eleito por proof-of-work em “microblocos”, e então capaz de transações de transmissão a serem confirmadas até um novo microbloco é encontrado. Isto reduz os requisitos de largura de banda necessários para vencer a corrida PoW, permitindo que pequenos mineiros concorram de forma mais justa, e permitindo que as transações sejam cometidas com mais regularidade pelos último mineiro a encontrar um microbloco. Casper [16] é um algoritmo de consenso proof-of-stake proposto para Ethereum. Seu principal modo de operação é “consenso por aposta”. Por deixando validators apostar iterativamente em qual bloco eles acreditam que irá
tornar-se comprometido com blockchain com base nas outras apostas que eles viram até agora, a inalidade pode ser alcançada eventualmente. link. Esta é uma área ativa de pesquisa da equipe Casper. O desafio está na construção de um mecanismo de apostas que possa ser provou ser uma estratégia evolutivamente estável. O principal benefício de Casper, em comparação com Tendermint, pode oferecer “disponibilidade consistência excessiva” – o consenso não requer um quórum >⅔ de poder de voto - talvez ao custo da velocidade de confirmação ou complexidade de implementação. O Protocolo Interledger [14] não é estritamente uma solução de escalabilidade. Isso fornece uma interoperação ad hoc entre diferentes livros contábeis sistemas através de uma rede de relacionamento bilateral fracamente acoplada. Assim como a Lightning Network, o objetivo do ILP é facilitar pagamentos, mas concentra-se especificamente em pagamentos em diferentes tipos de razão e estende o mecanismo de transação atômica para incluem não apenas hash-locks, mas também um quórum de notários (chamado Protocolo de Transporte Atômico). Este último mecanismo para impor a atomicidade em transações entre livros é semelhante a O mecanismo SPV de cliente leve do Tendermint, portanto, uma ilustração do a distinção entre ILP e Cosmos/IBC é garantida, e fornecido abaixo. 1. Os cartórios de um conector no ILP não apoiam a adesão mudanças, e não permitem ponderação zexível entre notários. Por outro lado, IBC foi projetado especificamente para blockchains, onde validators podem ter pesos diferentes, e onde a adesão pode mudar ao longo do blockchain. 2. Assim como na Lightning Network, o destinatário do pagamento no ILP deve estar on-line para enviar uma confirmação ao remetente. Em umtoken transferência sobre IBC, o conjunto validator do receptor blockchain é responsável por fornecer a confirmação, não o usuário receptor. 3. A diferença mais marcante é que os conectores do ILP não são responsável ou mantendo estado de autoridade sobre pagamentos, enquanto em Cosmos, os validators de um hub são autoridade de o estado de IBC token transfere, bem como a autoridade do quantidade de tokens mantidos por cada zona (mas não a quantidade de tokens mantidos por cada conta dentro de uma zona). Este é o inovação fundamental que permite segurança assimétrica transferência de tokens de zona para zona; o análogo ao ILP conector em Cosmos é persistente e maximamente seguro blockchain razão, o hub Cosmos. 4. Os pagamentos entre livros no ILP precisam ser respaldados por um carteira de ordens de câmbio, pois não há transferência assimétrica de moedas de um livro-razão para outro, apenas a transferência de valor ou equivalentes de mercado. Sidechains [15] são um mecanismo proposto para dimensionar o Bitcoin rede por meio de blockchains alternativos que são “atrelados bidirecionalmente” a o Bitcoin blockchain. (A indexação bidirecional é equivalente a ponte. Em Cosmos dizemos "ponte" para distinguir de marketpegging). Sidechains permitem que os bitcoins se movam efetivamente do Bitcoin blockchain para a cadeia lateral e para trás, e permitir experimentação de novos recursos na cadeia lateral. Como no Cosmos Hub, o sidechain e Bitcoin servem como clientes leves de entre si, usando provas SPV para determinar quando as moedas devem ser transferido para a cadeia lateral e vice-versa. Claro, desde Bitcoin usa proof-of-work, cadeias laterais centradas em Bitcoin sofrem dos muitos problemas e riscos de proof-of-work como um mecanismo de consenso. Além disso, este é um Bitcoin-maximalista solução que não suporta nativamente uma variedade de tokens e
topologia de rede entre zonas como Cosmos faz. Dito isto, o núcleo O mecanismo da cavilha bidirecional é, em princípio, o mesmo que empregado pela rede Cosmos. Ethereum está atualmente pesquisando diversas estratégias diferentes para fragmentar o estado de Ethereum blockchain para resolver necessidades de escalabilidade. Esses esforços têm como objetivo manter a camada de abstração oferecida pela máquina virtual Ethereum atual em todo o espaço de estado compartilhado. Múltiplos esforços de pesquisa são em andamento neste momento. [18][22] Cosmos e Ethereum 2.0 Mauve [22] têm objetivos de design diferentes. Cosmos é especificamente sobre tokens. Mauve é sobre dimensionamento cálculo geral. Cosmos não está vinculado a EVM, portanto, mesmo VMs diferentes podem interoperar. Cosmos permite que o criador da zona determine quem valida o zona. Qualquer pessoa pode iniciar uma nova zona em Cosmos (a menos que a governança decide de outra forma). O hub isola falhas de zona para que invariantes token globais sejam preservado. A Lightning Network é uma rede de transferência proposta token operando em uma camada acima de Bitcoin blockchain (e outros públicos blockchains), permitindo melhorias em muitas ordens de magnitude no rendimento da transação, movendo a maioria das transações fora do livro-razão de consenso nos chamados “canais de pagamento”.Isso é possível graças aos scripts de criptomoeda on-chain, que permitir que as partes celebrem contratos bilaterais estatais onde o o estado pode ser atualizado compartilhando assinaturas digitais e contratos pode ser encerrado publicando inicialmente evidências no blockchain, um mecanismo inicialmente popularizado por trocas atômicas entre cadeias. Por abrindo canais de pagamento com muitas partes, participantes do A Lightning Network pode se tornar pontos focais para rotear o pagamentos de terceiros, levando a um canal de pagamento totalmente conectado rede, ao custo do capital estar vinculado aos canais de pagamento. Embora a Lightning Network também possa se estender facilmente por vários blockchains independentes para permitir a transferência de valor através de um mercado de câmbio, não pode ser usado para transferir tokens de um blockchain para outro. O principal benefício da rede Cosmos descrita aqui é permitir tal token transferências. Dito isto, esperamos que os canais de pagamento e o Lightning Network será amplamente adotada junto com nosso token mecanismo de transferência, por razões de economia de custos e privacidade. Segregated Witness é um link de proposta de melhoria Bitcoin que visa aumentar o rendimento da transação por bloco em 2X ou 3X, ao mesmo tempo que torna a sincronização de blocos mais rápida para novos nós. O brilho desta solução está em como ela funciona dentro do limitações do protocolo atual de Bitcoin e permite um soft-fork atualização (ou seja, clientes com versões mais antigas do software continuar a funcionar após a atualização). Tendermint, sendo um novo protocolo, não tem restrições de design, portanto tem um escalonamento diferente prioridades. Principalmente, o Tendermint usa um algoritmo round-robin BFT baseado em assinaturas criptográficas em vez de mineração, que permite trivialmente o escalonamento horizontal através de múltiplos paralelos blockchains, enquanto commits de bloco regulares e mais frequentes permitem escala vertical também.
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.
Consenso e detalhes técnicos
Um protocolo de consenso bem concebido deve fornecer algumas garantias caso a capacidade de tolerância seja ultrapassada e o consenso falha. Isto é especialmente necessário na economia sistemas, onde o comportamento bizantino pode ter um impacto financeiro substancial recompensa. A garantia mais importante é uma forma de responsabilização, onde os processos que levaram ao consenso falhar (ou seja, fez com que os clientes do protocolo aceitassem valores diferentes - um garfo) pode ser identificado e punido de acordo com as regras do protocolo, ou, possivelmente, o sistema legal. Quando o sistema jurídico é não confiável ou excessivamente caro para invocar, validators podem ser forçados a fazer depósitos de segurança para participar, e aqueles os depósitos podem ser revogados ou cortados quando um comportamento malicioso é detectado [10]. Observe que isso é diferente de Bitcoin, onde a bifurcação é uma ocorrência regular devido à assincronia da rede e à natureza probabilística da localização colisões parciais hash. Como em muitos casos um fork malicioso é indistinguível de uma bifurcação devido à assincronia, Bitcoin não pode implementar de forma confiável a responsabilidade do fork, além da implícita custo de oportunidade pago pelos mineradores para minerar um bloco órfão. Chamamos os estágios de votação de PreVote e PreCommit. Uma votação pode ser a favor um bloco específico ou para Nil. Chamamos uma coleção de >⅔ Pré-Votos para um único bloco na mesma rodada, uma Polca e uma coleção de >⅔ Pré-Commits para um único bloco na mesma rodada de um Commit. Se >⅔ Pré-Commit para Nil na mesma rodada, eles passam para a próxima redondo. Observe que o determinismo estrito no protocolo incorre em uma fraqueza suposição de sincronia, pois líderes defeituosos devem ser detectados e
ignorado. Assim, validators esperam algum tempo, TimeoutPropose, antes de Prevote Nil, e o valor de TimeoutPropose aumenta a cada rodada. Progressão através o resto da rodada é totalmente assíncrona, pois o progresso só é feito assim que um validator recebe notícias de >⅔ da rede. Na prática, seria necessário um adversário extremamente forte para frustrar indefinidamente a suposição de sincronia fraca (fazendo com que o consenso não consiga já cometeu um bloco), e isso pode ser ainda mais difícil usando valores aleatórios de TimeoutPropose em cada validator. Um conjunto adicional de restrições, ou regras de bloqueio, garantem que o a rede eventualmente comprometerá apenas um bloco em cada altura. Qualquer tentativa maliciosa de fazer com que mais de um bloco seja confirmado a uma determinada altura pode ser identificado. Primeiro, um PreCommit para um bloco deve vir com justificativa, em forma de Polca para aquele bloco. Se o validator já tiver pré-comprometido um bloco na rodada R_1, nós dizem que estão trancados naquele quarteirão, e a Polca costumava justificar o novo PreCommit na rodada R_2 deve vir em uma rodada R_polka onde R_1 < R_polka <= R_2. Em segundo lugar, validators devem propor e/ou pré-votar o bloco em que estão bloqueados. Juntos, esses condições garantem que um validator não faça Pré-Commit sem evidências suficientes como justificativa, e que validators que têm já o PreCommit não pode contribuir com evidências para o PreCommit outra coisa. Isso garante a segurança e a vivacidade do algoritmo de consenso. Os detalhes completos do protocolo estão descritos aqui. A necessidade de sincronizar todos os cabeçalhos de bloco é eliminada no TendermintPoS, pois a existência de uma cadeia alternativa (um fork) significa ≥⅓ de a participação vinculada pode ser reduzida. Claro, já que cortar requer que alguém compartilhe evidências de um fork, os clientes leves devem armazenar qualquer block-hash confirma que vê. Além disso, clientes levespoderia ficar periodicamente sincronizado com as alterações no conjunto validator, em para evitar ataques de longo alcance (mas outras soluções são possível). Com espírito semelhante ao Ethereum, o Tendermint permite que os aplicativos incorporar uma raiz Merkle global hash em cada bloco, permitindo facilmente consultas de estado verificáveis para coisas como saldos de contas, o valor armazenado em um contrato, ou a existência de uma transação não gasta saída, dependendo da natureza da aplicação. Assumindo uma coleção de redes de transmissão suficientemente resiliente e um conjunto validator estático, qualquer bifurcação no blockchain pode ser detectado e os depósitos dos validators infratores cortados. Isto inovação, sugerida pela primeira vez por Vitalik Buterin no início de 2014, resolve o problema de nada em jogo de outros proof-of-stake criptomoedas (ver Trabalho Relacionado). No entanto, como validator define deve ser capaz de alterar, durante um longo período de tempo, o original validators podem todos se tornar desvinculados e, portanto, estariam livres para criar uma nova cadeia a partir do bloco gênese, sem incorrer em nenhum custo, pois eles não têm mais depósitos bloqueados. Este ataque veio a ser conhecido como Ataque de Longo Alcance (LRA), em contraste com um Ataque de Curto Alcance Ataque à distância, onde validators que estão atualmente vinculados causam um fork e são, portanto, puníveis (assumindo um fork responsável BFT algoritmo como consenso Tendermint). Ataques de longo alcance são muitas vezes considerado um golpe crítico para proof-of-stake. Felizmente, o LRA pode ser mitigado da seguinte forma. Primeiro, por um validator para desvincular (recuperando assim seu depósito de garantia e não ganhando mais taxas para participar do consenso), o o depósito deve ser intransferível por um período de tempo conhecido como “período de desvinculação”, que pode ser da ordem de semanas ou meses. Segundo, para que um cliente leve esteja seguro, o primeiro vez que se conecta à rede, ele deve verificar um bloco recente-hash contra uma fonte confiável ou, de preferência, múltiplas fontes. Isto
Essa condição é às vezes chamada de “subjetividade fraca”. Finalmente, para permanecer seguro, ele deve sincronizar com o validator mais recente definido em menos tão frequentemente quanto a duração do período de desvinculação. Isto garante que o cliente light saiba sobre as alterações no validator definido antes de um validator ter seu capital não garantido e, portanto, não mais em jogo, o que lhe permitiria enganar o cliente realizando um ataque de longo alcance criando novos blocos começando em um altura onde foi colado (assumindo que tenha controle de muitas das primeiras chaves privadas). Note-se que superar o LRA desta forma requer uma revisão o modelo de segurança original de proof-of-work. No PoW, é assumiu que um cliente leve pode sincronizar com a altura atual do bloco genesis confiável a qualquer momento, simplesmente processando a prova de trabalho em cada cabeçalho do bloco. Para superar o LRA, no entanto, exigem que um cliente light fique online com alguma regularidade para rastrear alterações no conjunto validator e que na primeira vez elas ficam on-line, eles devem ter cuidado especial para autenticar o que ouvem da rede em relação a fontes confiáveis. De claro, este último requisito é semelhante ao de Bitcoin, onde o protocolo e o software também devem ser obtidos de um confiável fonte. O método acima para prevenir LRA é adequado para validators e nós completos de um blockchain alimentado por Tendermint porque estes os nós devem permanecer conectados à rede. O método também é adequado para clientes leves que podem esperar sincronizar com a rede frequentemente. No entanto, para clientes leves que não se espera que tenham acesso frequente à Internet ou ao blockchain rede, ainda outra solução pode ser usada para superar o LRA. Titulares que não sejam validator token podem postar seus tokens como garantia com um período de desvinculação muito longo (por exemplo, muito mais longo do que o período de desvinculação para validators) e atender clientes light com um método secundário de atestar a validade dos dados atuais e bloco passado-hashes. Embora esses tokens não contem para o segurança do consenso de blockchain, eles podem, no entanto,fornecer fortes garantias para clientes leves. Se bloco histórico-hash consultas eram suportadas em Ethereum, qualquer um poderia vincular seus tokens em um smart contract especialmente projetado e fornece serviços de atestado pagos, criando efetivamente um mercado para segurança LRA lightclient. Devido à definição de um bloco commit, qualquer coalizão ≥⅓ de o poder de voto pode interromper o blockchain ficando offzine ou não transmitindo seus votos. Tal coligação também pode censurar transações específicas, rejeitando blocos que incluem esses transações, embora isso resultasse em uma proporção significativa de propostas de bloco a serem rejeitadas, o que desaceleraria o ritmo de commits de bloco do blockchain, reduzindo sua utilidade e valor. A coalizão maliciosa também pode transmitir votos aos poucos, para que quanto a moer o bloco blockchain quase paralisar ou se envolver em qualquer combinação desses ataques. Finalmente, pode causar blockchain para bifurcar, assinando duas vezes ou violando o bloqueio regras. Se um adversário globalmente activo também estivesse envolvido, poderia particionar a rede de tal forma que pode parecer que o errado subconjunto de validators foram responsáveis pela desaceleração. Isto não é apenas uma limitação do Tendermint, mas sim uma limitação de todos protocolos de consenso cuja rede é potencialmente controlada por um adversário ativo. Para esses tipos de ataques, um subconjunto de validators deve coordenar através de meios externos para assinar uma proposta de reorganização que escolhe uma bifurcação (e qualquer evidência dela) e o subconjunto inicial de validators com suas assinaturas. Os validadores que assinam tal proposta de reorganização renunciam à sua garantia em todos os outros forks. Os clientes devem verificar as assinaturas na proposta de reorganização, verificar qualquer evidência, e fazer um julgamento ou solicitar uma decisão ao usuário final. Para Por exemplo, um aplicativo de carteira telefônica pode solicitar ao usuário uma mensagem de segurança
aviso, embora uma geladeira possa aceitar qualquer proposta de reorganização assinado por +½ dos validators originais com poder de voto. Nenhum algoritmo bizantino tolerante a falhas não síncrono pode surgir ao consenso quando ≥⅓ do poder de voto são desonestos, mas uma bifurcação assume que ≥⅓ do poder de voto já foi desonesto por assinatura dupla ou alteração de bloqueio sem justificativa. Então, assinando a proposta de reorganização é um problema de coordenação que não pode ser resolvido por qualquer protocolo não síncrono (isto é, automaticamente, e sem fazer suposições sobre a confiabilidade do rede subjacente). Por enquanto, deixamos o problema da coordenação de propostas de reorganização para a coordenação humana via consenso social na mídia da internet. Os validadores devem ter cuidado para garantir que haja não há partições de rede restantes antes de assinar uma proposta de reorganização, para evitar situações em que duas propostas de reorganização conflitantes sejam assinadas. Supondo que o meio e o protocolo de coordenação externa sejam robusto, segue-se que os forks são menos preocupantes do que a censura ataques. Além de bifurcações e censura, que exigem ≥⅓ Bizantina poder de voto, uma coalizão com >⅔ poder de voto pode comprometer estado arbitrário e inválido. Isso é característico de qualquer (BFT) sistema de consenso. Ao contrário da assinatura dupla, que cria bifurcações com evidências facilmente verificáveis, detectando o comprometimento de um estado inválido requer pares não validados para verificar blocos inteiros, o que implica que eles mantenham uma cópia local do estado e executem cada transação, calculando a raiz do estado de forma independente para eles mesmos. Uma vez detectada, a única maneira de lidar com tal falha é através do consenso social. Por exemplo, em situações onde Bitcoin falhou, seja bifurcação devido a bugs de software (como em março 2013), ou cometendo estado inválido devido ao comportamento bizantino de mineiros (como em julho de 2015), a comunidade bem conectada de empresas, desenvolvedores, mineradores e outras organizações estabeleceu um consenso social sobre quais ações manuais eramexigido pelos participantes para curar a rede. Além disso, desde Pode-se esperar que validators de um Tendermint blockchain sejam identificável, o comprometimento de um estado inválido pode até ser punível por lei ou alguma jurisprudência externa, se desejado. ABCI consiste em 3 tipos de mensagens principais que são entregues de o núcleo da aplicação. O aplicativo responde com mensagens de resposta correspondentes. A mensagem AppendTx é o carro-chefe do aplicativo. Cada a transação em blockchain é entregue com esta mensagem. O aplicativo precisa validar cada transação recebida com o Mensagem AppendTx em relação ao estado atual, protocolo de aplicação, e as credenciais criptográficas da transação. Um validado transação então precisa atualizar o estado do aplicativo - por vinculando um valor a um armazenamento de valores-chave ou atualizando o UTXO banco de dados. A mensagem CheckTx é semelhante a AppendTx, mas é apenas para validando transações. Primeiras verificações do mempool do Tendermint Core a validade de uma transação com CheckTx, e apenas retransmite válido transações para seus pares. Os aplicativos podem verificar um incremento nonce na transação e retornará um erro no CheckTx se o nonce é antigo. A mensagem Commit é usada para calcular uma criptografia compromisso com o estado atual da aplicação, para ser colocado no cabeçalho do próximo bloco. Isso tem algumas propriedades úteis. Inconsistências na atualização desse estado agora aparecerão como blockchain bifurcações que capturam toda uma classe de programação erros. Isso também simplifica o desenvolvimento de soluções leves e seguras clientes, como as provas Merkle-hash podem ser verificadas verificando-se o bloco-hash, e o bloco-hash é assinado por um quórum de validators (por poder de voto).
Mensagens ABCI adicionais permitem que o aplicativo acompanhe e alterar o conjunto validator, e para que a aplicação receba o bloquear informações, como a altura e os votos de confirmação. ABCI solicitações/respostas são mensagens simples do Protobuf. Verifique o esquema yle. Argumentos: Dados ([]byte): os bytes da transação da solicitação Retorna: Código (uint32): código de resposta Dados ([]byte): bytes de resultado, se houver Log (string): mensagem de depuração ou erro Uso:
Anexe e execute uma transação. Se a transação for válida, retorna CodeType.OK Argumentos: Dados ([]byte): os bytes da transação da solicitação Retorna: Código (uint32): código de resposta Dados ([]byte): bytes de resultado, se houver Log (string): mensagem de depuração ou erro Uso:
Valide uma transação. Esta mensagem não deve alterar o estado. As transações são executadas primeiro através do CheckTx antes transmitir para pares na camada mempool. Você pode fazer CheckTx semi-stateful e limpe o estado após Commit ou BeginBlock , para permitir sequências dependentes de transações no mesmo bloco.
Retorna: Dados ([]byte): raiz Merkle hash Log (string): mensagem de depuração ou erro Uso:
Retorne uma raiz Merkle hash do estado do aplicativo. Argumentos: Dados ([]byte): os bytes da solicitação de consulta Retorna: Código (uint32): código de resposta Dados ([]byte): os bytes de resposta da consulta Log (string): mensagem de depuração ou erro Uso:
Limpe a fila de respostas. Aplicativos que implementam types.Application não precisa implementar esta mensagem – é manipulados pelo projeto. Retorna: Dados ([]byte): os bytes de informação Uso:
Retorne informações sobre o estado do aplicativo. Aplicação específico. Argumentos: Chave (string): chave a ser definida
Valor (string): valor a ser definido para a chave Retorna: Log (string): mensagem de depuração ou erro Uso:
Defina as opções do aplicativo. Por exemplo Chave=“modo”, Valor=“mempool” para uma conexão mempool, ou Key=“mode”, Value=“consensus” para uma conexão de consenso. Outras opções são específicas do aplicativo. Argumentos: Validadores ([]Validador): gênese inicial-validators Uso:
Chamado uma vez no Gênesis Argumentos: Altura (uint64): a altura do bloco que está começando Uso:
Sinaliza o início de um novo bloco. Chamado antes de qualquer ApêndiceTxs. Argumentos: Altura (uint64): a altura do bloco que terminou Retorna: Validadores ([]Validador): validators alterados com novos poderes de voto (0 para remover) Uso:
Sinaliza o fim de um bloco. Afinal, chamado antes de cada Commit transações Consulte o repositório ABCI para obter mais detalhes.Existem vários motivos pelos quais um remetente pode querer que o confirmação da entrega de um pacote pela cadeia receptora. Por exemplo, o remetente pode não saber o status do cadeia de destino, se for esperado que esteja com defeito. Ou o remetente pode deseja impor um tempo limite ao pacote (com o parâmetro MaxHeight rendimento de pacotes), enquanto qualquer cadeia de destino pode sofrer um ataque de negação de serviço com um aumento repentino no número de mensagens recebidas. pacotes. Nestes casos, o remetente pode exigir confirmação de entrega definindo o status inicial do pacote como AckPending . Então, é o responsabilidade da cadeia de recebimento de confirmar a entrega, incluindo um abreviado como IBCPacket no aplicativo Merkle hash. Primeiro, um IBCBlockCommit e um IBCPacketTx são postados no “Hub” isso comprova a existência de um IBCPacket na “Zona1”. Diga isso IBCPacketTx tem o seguinte valor: FromChainID: “Zona1” FromBlockHeight: 100 (digamos) Pacote: um IBCPacket:
Cabeçalho: um IBCPacketHeader:
SrcChainID: “Zona1”
DstChainID: “Zona2”
Número: 200 (digamos)
Status: ConfirmadoPendente
Tipo: “moeda”
MaxHeight: 350 (digamos que “Hub” está atualmente na altura 300)
Carga útil:
FromBlockHeight: 400 (digamos)
Pacote: um IBCPacket:
Cabeçalho: um IBCPacketHeader:
SrcChainID: “Zona1”
DstChainID: “Zona2”
Número: 200
Status: AckSent
Tipo: “moeda”
Altura máxima: 350
PayloadHash:
status de “Zona2” pelo bloco 350, teria definido o status automaticamente para Tempo limite . Esta evidência de um tempo limite pode ser postado de volta em “Zone1”, e qualquer tokens pode ser retornado. Existem dois tipos de Merkle trees suportados no Ecossistema Tendermint/Cosmos: A Árvore Simples e o IAVL+ Árvore. A Árvore Simples é um Merkle tree para uma lista estática de elementos. Se o número de itens não é uma potência de dois, algumas folhas estarão em níveis diferentes. Simple Tree tenta manter ambos os lados da árvore mesma altura, mas a esquerda pode ser uma maior. Este Merkle tree é usado para Merkle-ize as transações de um bloco, e o nível superior elementos da raiz do estado do aplicativo.O objetivo da estrutura de dados IAVL+ é fornecer dados persistentes armazenamento para pares de valores-chave no estado do aplicativo, de modo que um A raiz determinística de Merkle hash pode ser calculada de forma eficiente. O árvore é balanceada usando uma variante do algoritmo AVL, e todos as operações são O (log (n)). Em uma árvore AVL, as alturas das duas subárvores filhas de qualquer nó diferem em no máximo um. Sempre que esta condição for violada por um atualização, a árvore é reequilibrada criando O(log(n)) novos nós que apontam para nós não modificados da árvore antiga. No AVL original algoritmo, os nós internos também podem conter pares de valores-chave. O AVL+ algoritmo (observe o sinal de mais) modifica o algoritmo AVL para manter todos valores em nós folha, enquanto usa apenas nós de ramificação para armazenar chaves. Isso simplifica o algoritmo enquanto mantém a trilha merkle hash curto. A árvore AVL + é análoga às tentativas de Patricia de Ethereum. Existem compensações. As chaves não precisam ser hashed antes da inserção em Árvores IAVL+, portanto, isso fornece iteração ordenada mais rápida na chave espaço que pode beneficiar algumas aplicações. A lógica é mais simples de implementar, exigindo apenas dois tipos de nós – nós internos e nós de folha. A prova de Merkle é em média mais curta, sendo uma * / \ / \ / \ / \ * * / \ / \ / \ / \ / \ / \ * * * h6 / \ / \ / \ h0 h1 h2 h3 h4 h5 Uma SimpleTree com 7 elementos
árvore binária balanceada. Por outro lado, a raiz Merkle de um A árvore IAVL+ depende da ordem das atualizações. Apoiaremos Merkle trees eficientes adicionais, como Patricia Trie de Ethereum quando a variante binária se torna disponível. Na implementação canônica, as transações são transmitidas para o Aplicativo hub Cosmos por meio da interface ABCI. O hub Cosmos aceitará uma série de transações primárias tipos, incluindo SendTx , BondTx , UnbondTx , ReportHackTx , SlashTx , BurnAtomTx , ProposalCreateTx e ProposalVoteTx , que são bastante autoexplicativos e serão documentados em um revisão futura deste artigo. Aqui documentamos os dois principais tipos de transação para IBC: IBCBlockCommitTx e IBCPacketTx . Uma transação IBCBlockCommitTx é composta por: ChainID (string): o ID de blockchain BlockHash ([]byte): O bloco-hash bytes, a raiz Merkle que inclui o aplicativo-hash BlockPartsHeader (PartSetHeader): o cabeçalho do conjunto parcial do bloco bytes, necessários apenas para verificar assinaturas de votos BlockHeight (int): a altura do commit BlockRound (int): a rodada do commit Commit ([]Vote): O >⅔ Tendermint Precommit vota que compreende um commit de bloco ValidatorsHash ([]byte): uma raiz Merkle-tree hash do novo validator conjunto
ValidatorsHashProof (SimpleProof): um SimpleTree Merkleproof para provar o ValidatorsHash em relação ao BlockHash
AppHash ([]byte): uma raiz da árvore IAVLTree Merkle hash do
estado do aplicativo
AppHashProof (SimpleProof): uma prova SimpleTree Merkle para
provando o AppHash contra o BlockHash
Um IBCPacket é composto por:
Cabeçalho (IBCPacketHeader): o cabeçalho do pacote
Carga útil ([]byte): os bytes da carga útil do pacote. Opcional
PayloadHash ([]byte) : o hash para os bytes do pacote.
Opcional
Um dos Payload ou PayloadHash deve estar presente. O hash
de um IBCPacket é uma raiz simples de Merkle dos dois itens, Header
e Carga útil . Um IBCPacket sem a carga completa é chamado de
pacote abreviado.
Um IBCPacketHeader é composto por:
SrcChainID (string): o ID blockchain de origem
DstChainID (string): o ID de destino blockchain
Número (int): um número exclusivo para todos os pacotes
Status (enum): pode ser AckPending , AckSent ,
AckReceived , NoAck ou Tempo limite
Tipo (string): os tipos dependem do aplicativo. Cosmos
reserva o tipo de pacote "moeda"
MaxHeight (int): se o status não for NoAckWanted ou AckReceived
nesta altura, o status se torna Timeout . Opcional
Uma transação IBCPacketTx é composta por:FromChainID (string): o ID do blockchain que é
fornecendo este pacote; não necessariamente a fonte
FromBlockHeight (int): a altura blockchain em que o
O seguinte pacote está incluído (Merkle-izado) no bloco-hash de
a cadeia de origem
Pacote (IBCPacket): um pacote de dados, cujo status pode ser um
de AckPending , AckSent , AckReceived , NoAck ou Timeout
PacketProof (IAVLProof): uma prova IAVLTree Merkle para prova
o hash do pacote em relação ao AppHash da cadeia de origem em
dada altura
A sequência para enviar um pacote de “Zona1” para “Zona2”
através do "Hub" está representado na {Figura X}. Primeiro, um IBCPacketTx
prova ao "Hub" que o pacote está incluído no estado do aplicativo de
“Zona1”. Então, outro IBCPacketTx prova para “Zona2” que o
o pacote está incluído no estado do aplicativo “Hub”. Durante este
procedimento, os rendimentos IBCPacket são idênticos: o SrcChainID é
sempre “Zone1” e o DstChainID é sempre "Zone2".
O PacketProof deve ter o caminho à prova de Merkle correto, conforme
segue:
Quando “Zone1” deseja enviar um pacote para “Zone2” através de “Hub”,
os dados de IBCPacket são idênticos, quer o pacote seja Merkleizado na “Zona1”, no “Hub” ou na “Zona2”. O único rendimento mutável é
Status para rastreamento de entrega.
Agradecemos aos nossos amigos e colegas pela ajuda na conceituação,
revisando e fornecendo suporte para nosso trabalho com Tendermint
e Cosmos.
IBC/
Zaki Manian do SkuChain forneceu muita ajuda na formatação e redação, especialmente na seção ABCI Jehan Tremback da Althea e Dustin Byington por ajudar com iterações iniciais Andrew Miller da Honey Badger pelo feedback sobre o consenso Greg Slepak pelo feedback sobre consenso e redação Também obrigado a Bill Gleim e Seunghwan Han por vários contribuições. Seu nome e organização aqui pela sua contribuição 1 Bitcoin: https://bitcoin.org/bitcoin.pdf 2ZeroCash: http://zerocash-project.org/paper 3 Ethereum: https://github.com/ethereum/wiki/wiki/WhitePaper 4 ODAO: https://download.slock.it/public/DAO/WhitePaper.pdf 5 Testemunha Segregada: https://github.com/bitcoin/bips/blob/master/bip0141.mediawiki 6 BitcoinNG: https://arxiv.org/pdf/1510.02037v2.pdf 7 Rede Lightning: https://lightning.network/lightningnetwork-paper-DRAFT-0.5.pdf 8Tendermint: https://github.com/tendermint/tendermint/wiki 9 Impossibilidade de FLP: https://groups.csail.mit.edu/tds/papers/Lynch/jacm85.pdf 10Cortador: https://blog.ethereum.org/2014/01/15/slasher-apunitive-proof-of-stake-algorithm/ 11 PBFT: http://pmg.csail.mit.edu/papers/osdi99.pdf Compartilhamentos de 12 bits: https://bitshares.org/technology/delegatedproof-of-stake-consensus/
13 Stellar: https://www.stellar.org/papers/stellar-consensusprotocol.pdf 14 Registro intermediário: https://interledger.org/rfcs/0001-interledgerarchitecture/ 15 Cadeias laterais: https://blockstream.com/sidechains.pdf 16 Cáspero: https://blog.ethereum.org/2015/08/01/introducing-casperfriendly-ghost/ 17 ABCI: https://github.com/tendermint/abci 18 Ethereum Fragmentação: https://github.com/ethereum/EIPs/issues/53 19LibSwift: 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 Segurança de Thin Client: https://en.bitcoin.it/wiki/Thin_Client_Security 22 Ethereum Papel Malva 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
³ è