Cosmos: Dağıtılmış Defterlerden Oluşan Bir Ağ
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.
giriiş
Açık kaynak ekosisteminin birleşik başarısı, merkezi olmayan yle paylaşımı ve halka açık kripto para birimleri merkezi olmayan internet protokollerinin olduğu anlayışına ilham verdi Sosyo-ekonomik altyapının radikal bir şekilde iyileştirilmesi için kullanılabilir. Bitcoin [1] gibi özel blockchain uygulamalar gördük (a kripto para birimi), Zerocash [2] (gizlilik için bir kripto para birimi) ve Ethereum [3] gibi genelleştirilmiş smart contract platformları, Etherium Virtual için sayısız dağıtılmış uygulama Augur (tahmin piyasası) ve TheDAO gibi makine (EVM) [4] (bir yatırım kulübü). Ancak bugüne kadar bu blockchain'lar çok sayıda sorunla karşı karşıya kaldı Brüt enerji verimsizliği, zayıf veya sınırlı performans ve olgunlaşmamış yönetişim mekanizmaları. Bitcoin adlı kişinin işlem hacmini ölçeklendirmeye yönelik teklifler, örneğin Ayrılmış Tanık [5] ve BitcoinNG [6], dikey ölçeklendirmedir tek bir fiziksel kapasiteyle sınırlı kalan çözümler Tam denetlenebilirlik özelliğini sağlamak için makine. Lightning Network [7], Bitcoin işleminin ölçeklendirilmesine yardımcı olabilir
bazı işlemleri defterin tamamen dışında bırakarak hacim, ve mikro ödemeler ve gizliliğin korunması için çok uygundur ödeme rayları, ancak daha genelleştirilmiş ödeme rayları için uygun olmayabilir ölçeklendirme ihtiyaçları. İdeal bir çözüm, birden fazla paralel blockchain'nin birbirine bağlanmasına izin veren çözümdür. güvenlik özelliklerini korurken birlikte çalışabilirler. Bu var proof-of-work ile imkansız olmasa da zor olduğu kanıtlanmıştır. Birleştirilmiş örneğin madencilik, bir ebeveynin güvenliğini sağlamak için yapılan işin yapılmasına olanak tanır zincirin bir alt zincirde yeniden kullanılması gerekir, ancak işlemlerin yine de olması gerekir sırasıyla her düğüm tarafından doğrulanır ve birleştirme madenciliği yapılır blockchain hashing gücünün çoğunluğunun üzerinde olması durumunda saldırıya karşı savunmasızdır ebeveyn çocuğu aktif olarak birleştirme madenciliği yapmıyor. Akademik bir inceleme alternatif blockchain ağ mimarilerinin sayısı sağlanmıştır ek bağlam ve diğer tekliflerin özetlerini sunuyoruz ve İlgili Çalışmalardaki dezavantajları. Burada yeni bir blockchain ağ mimarisi olan Cosmos'yi sunuyoruz bu, tüm bu sorunları giderir. Cosmos birçok kişiden oluşan bir ağdır bağımsız blockchain'ler, bölgeler olarak adlandırılır. Bölgeler tarafından desteklenmektedir Yüksek performans sağlayan Tendermint Core [8], tutarlı, güvenli PBFT benzeri konsensüs motoru; burada kötü niyetli davranışların kontrol altında tutulması için katı bir hesap verebilirlik garanti edilir aktörler. Tendermint Core'un BFT fikir birliği algoritması çok uygundur genel proof-of-stake blockchains'yi ölçeklendirmek için. Cosmos üzerindeki ilk bölgeye Cosmos Hub adı verilir. Cosmos Hub, basit bir yapıya sahip çok varlıklı bir proof-of-stake kripto para birimidir. Ağın uyum sağlamasını ve uyum sağlamasını sağlayan yönetişim mekanizması yükseltme. Ayrıca Cosmos Hub şu kadar genişletilebilir: diğer bölgeleri birbirine bağlamak. Cosmos ağının hub'ları ve bölgeleri aşağıdakilerle iletişim kurar: blockchain arası iletişim (IBC) protokolü aracılığıyla birbirlerine, blockchains için bir tür sanal UDP veya TCP. Jetonlar olabilir bir bölgeden diğerine güvenli ve hızlı bir şekilde aktarılırbölgeler arasında döviz likiditesine ihtiyaç duymadan. Bunun yerine, tüm bölgeler arası token aktarımlar Cosmos Hub'dan geçer; her bölgenin tuttuğu toplam tokens miktarını takip eder. hub, her bölgeyi diğer bölgelerin arızasından izole eder. Çünkü herkes Cosmos Hub'a yeni bir bölge bağlayabilir, bölgeler buna izin verir yeni blockchain yeniliklerle geleceğe yönelik uyumluluk için. Bu bölümde Tendermint konsensüs protokolünü açıklıyoruz ve onunla uygulamalar oluşturmak için kullanılan arayüz. Daha fazlası için ayrıntılar için eke bakın. Klasik Bizans hataya dayanıklı (BFT) algoritmalarında her düğüm aynı ağırlığa sahiptir. Tendermint'te düğümlerin negatif olmayan bir değeri vardır. oylama gücü miktarı ve olumlu oy kullanan düğümler güçlere validators denir. Doğrulayıcılar katılıyor kriptografik imzalar yayınlayarak fikir birliği protokolü veya bir sonraki blok üzerinde anlaşmaya varmak için oy kullandı. Doğrulayıcıların oy verme yetkileri başlangıçta belirlenir veya bağlı olarak blockchain tarafından deterministik olarak değiştirildi uygulama. Örneğin, aşağıdaki gibi bir proof-of-stake uygulamasında Cosmos Merkezde, oylama gücü şu şekilde belirlenebilir: staking tokens miktarı teminat olarak teminat altına alındı. NOT: ⅔ ve ⅓ gibi kesirler toplam oyların kesirlerini ifade eder güç, tüm validator'ler olmadıkça asla validator'lerin toplam sayısı eşit ağırlığa sahip. >⅔ “⅔'den fazla”, ≥⅓ “en az” anlamına gelir ⅓”. Tendermint kısmen senkronize bir BFT konsensüs protokolüdür DLS konsensüs algoritmasından türetilmiştir [20]. Nane:
basitliği, performansı ve çatal sorumluluğuyla dikkat çekiyor. Protokol, yxed bilinen bir validator kümesi gerektirir; burada her biri validator ortak anahtarıyla tanımlanır. Doğrulayıcılar şunları yapmaya çalışır: Bir bloğun bir liste olduğu her seferinde bir blok üzerinde fikir birliğine varmak işlemler. Blok üzerinde fikir birliği için oylama sürüyor mermi. Her turun bir tur lideri veya teklif sahibi vardır. bir blok öneriyor. validator'ler daha sonra aşamalı olarak oy verirler. Önerilen bloğu kabul etmek veya bir sonraki tura geçmek için. Bir tur için öneride bulunan kişi, sıralananlar arasından deterministik olarak seçilir. oylama güçleriyle orantılı olarak validator'lerin listesi. Protokolün tüm ayrıntıları burada açıklanmaktadır. Tendermint'in güvenliği optimal Bizans kullanımından kaynaklanmaktadır. Süper çoğunluk (>⅔) oylama ve kilitleme yoluyla hata toleransı mekanizma. Birlikte şunları sağlarlar: ≥⅓ ihlale neden olabilmesi için oylama gücünün Bizans olması gerekir ikiden fazla değerin taahhüt edildiği güvenlik. herhangi bir validator kümesi güvenliği ihlal etmeyi başarırsa veya hatta bunu yapmaya kalkışırlarsa protokol tarafından tanımlanabilirler. Bu hem blokların birleştirilmesi hem de yayın için oylamayı içerir haksız oylar Güçlü garantilerine rağmen Tendermint olağanüstü çözümler sunuyor performans. 7'ye dağıtılmış 64 düğümden oluşan kıyaslamalarda 5 kıtadaki veri merkezleri, emtia bulutu örnekleri, Tendermint konsensüs başına binlerce işlemi işleyebilir ikincisi, bir ila iki saniyelik taahhüt gecikmeleriyle. Özellikle, başına binin üzerinde işlem performansı ikincisi zorlu düşmanlık koşullarında bile korunur; validators çöküyor veya kötü niyetle hazırlanmış oylar yayınlıyor. Bkz. ayrıntılar için aşağıdaki resme bakın.

Tendermint'in fikir birliği algoritmasının önemli bir avantajı basitleştirilmiştir hafif istemci güvenliği, onu mobil ve mobil cihazlar için ideal bir aday haline getiriyor Nesnelerin interneti kullanım örnekleri. Bitcoin hafif istemcinin senkronize edilmesi gerekirken blok başlık zincirleri ve en fazla kanıta sahip olanı bulun Tendermint hafif istemcilerinin yalnızca değişikliklere ayak uydurması gerekir validator kümesine gidin ve ardından >⅔ Ön Taahhütleri doğrulayın. En son durumu belirlemek için en son blok. Kısa ve öz hafif istemci provaları aynı zamanda inter-blockchain'yi de etkinleştirir iletişim. Tendermint'in belirli durumları önlemek için koruyucu önlemleri vardır. Uzun menzilli, tehlikede olmayan çifte harcamalar gibi dikkate değer saldırılar ve sansür. Bunlar ekte daha ayrıntılı olarak tartışılmaktadır.Tendermint fikir birliği algoritması, Tendermint Core adlı program. Tendermint Core bir herhangi bir şeyi dönüştürebilen, uygulamadan bağımsız “fikir birliği motoru” deterministik kara kutu uygulamasını dağıtılmış olarak çoğaltılmış bir uygulamaya dönüştürün blockchain. Tendermint Core blockchain uygulamaya bağlanır Uygulama Blok Zinciri Arayüzü aracılığıyla (ABCI) [17]. Böylece, ABCI blockchain uygulamaların herhangi bir biçimde programlanmasına olanak tanır dil, yalnızca fikir birliğine varılan programlama dili değil motora yazılmıştır. Ek olarak ABCI bunu kolayca mümkün kılar mevcut herhangi bir blockchain yığınının fikir birliği katmanını değiştirin. Tanınmış kripto para birimi Bitcoin ile bir benzetme yapıyoruz. Bitcoin her düğümün koruduğu bir blockchain kripto para birimidir tamamen denetlenmiş Harcanmamış İşlem Çıkışı (UTXO) veritabanı. Eğer ABCI üzerine Bitcoin benzeri bir sistem oluşturmak isteniyordu, Tendermint Core şunlardan sorumlu olacak: Düğümler arasında blokları ve işlemleri paylaşma Kanonik/değişmez bir işlem sırası oluşturmak ( blockchain) Bu arada, ABCI uygulaması şunlardan sorumlu olacaktır: UTXO veritabanının bakımı İşlemlerin kriptografik imzalarını doğrulama İşlemlerin var olmayan fonları harcamasını önleme İstemcilerin UTXO veritabanını sorgulamasına izin veriliyor Tendermint, blockchain tasarımını şu şekilde ayrıştırabilir: başvuru süreci arasında çok basit bir API sunuyor ve fikir birliği süreci.
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 Mimarlık
Cosmos bağımsız paralel blockchain'lerden oluşan bir ağdır ve bunlar her biri klasik BFT fikir birliği algoritmaları tarafından desteklenmektedir: İhale 1. Bu ağdaki ilk blockchain, Cosmos Hub olacaktır. Cosmos Hub, diğer birçok blockchains'ye (veya bölgeye) bir ağ aracılığıyla bağlanır. yeni inter-blockchain iletişim protokolü. Cosmos Merkezi çok sayıda token türünü izler ve toplamın kaydını tutar bağlı her bölgedeki tokens sayısı. Jetonlar olabilir bir bölgeden diğerine güvenli ve hızlı bir şekilde aktarılır bölgeler arasında sıvı değişimine gerek kalmadan, çünkü hepsi bölgeler arası para transferleri Cosmos Hub üzerinden yapılır. Bu mimari, blockchain alanının karşılaştığı birçok sorunu çözmektedir. Uygulamaların birlikte çalışabilirliği, ölçeklenebilirliği ve kesintisiz yükseltilebilirlik. Örneğin, Bitcoind'den türetilen bölgeler, Go-Ethereum, CryptoNote, ZCash veya herhangi bir blockchain sistemi şunları yapabilir: Cosmos Hub'a takılmalıdır. Bu bölgeler Cosmos'nin şunları yapmasına izin verir: Küresel işlem talebini karşılamak için sonsuz ölçeklenebilirlik. Bölgeler aynı zamanda olarak desteklenecek olan dağıtılmış bir değişim için harika bir yt peki. Cosmos yalnızca tek bir dağıtılmış defter değildir ve Cosmos Hub duvarlarla çevrili bir bahçe ya da evrenin merkezi değil. Biz dağıtılmış defterlerden oluşan açık bir ağ için bir protokol tasarlamak gelecekteki finansal sistemler için yeni bir temel görevi görebilecek, Kriptografi ilkelerine, sağlam ekonomiye, fikir birliğine dayalı teori, şeffaflık ve hesap verebilirlik. Cosmos Hub, Cosmos bölgesindeki ilk genel blockchain merkezidir. Ağ, Tendermint'in BFT fikir birliği algoritması tarafından desteklenmektedir. Tendermint açık kaynak projesi 2014 yılında bu sorunu çözmek için doğdu. Bitcoin'nin çalışma kanıtı fikir birliği algoritmasının hızı, ölçeklenebilirliği ve çevresel sorunları. Kanıtlanmış olanı kullanarak ve geliştirerek
BFT MIT'de 1988'de geliştirilen algoritmalar [20], Tendermint ekip kavramsal olarak proof-of-stake'yi sergileyen ilk ekip oldu tehlikede olmayan hiçbir şey sorununu çözen kripto para birimi ilk nesil proof-of-stake kripto para birimlerinin sıkıntısını çekti NXT ve BitShares1.0 olarak. Bugün neredeyse tüm Bitcoin mobil cüzdanlar güvenilir sunucuları kullanıyor. onlara işlem doğrulaması sağlayın. Bunun nedeni, iş kanıtının bir onaydan önce birçok onayın beklenmesini gerektirmesidir. işlemin geri dönülemez şekilde taahhüt edildiği kabul edilebilir. Doublespend saldırıları halihazırda aşağıdaki gibi hizmetlerde gösterilmiştir: CoinBase. Diğer blockchain fikir birliği sistemlerinden farklı olarak Tendermint şunları sunar: anında ve kanıtlanabilir şekilde güvenli mobil müşteri ödeme doğrulaması. Tendermint hiçbir zaman çatallanmayacak şekilde tasarlandığından, mobil cüzdanlar anında işlem onayı alabilir, bu da Güvenilir ve pratik ödemeler akıllı telefonlarda gerçek oluyor. Bu Nesnelerin İnterneti uygulamaları için önemli sonuçlar doğurmaktadır. peki. Cosmos içindeki doğrulayıcılar, Bitcoin madencilerine benzer bir role sahiptir, ancak bunun yerine oy vermek için kriptografik imzaları kullanın. Doğrulayıcılar taahhüt etmekten sorumlu güvenli, özel makineler bloklar. validator olmayanlar staking token'leri devredebilir (çağrılır) Blok ücretlerinin ve atomun bir kısmını kazanmak için herhangi bir validator'ye "atomlar") ödüller, ancak cezalandırılma (kesilme) riskiyle karşı karşıya kalırlar; validator numaralı delege saldırıya uğradı veya protokolü ihlal etti. Kanıtlanmış Tendermint BFT konsensusunun güvenlik garantileri ve teminatlar paydaşların depozitosu–validators ve delegeler–sağlar Düğümler ve hafif istemciler için kanıtlanabilir, ölçülebilir güvenlik. Dağıtılmış kamu defterlerinin bir anayasası ve yönetim sistemi. Bitcoin, Bitcoin Vakfına güveniyor veyükseltmeleri koordine etmek için madencilik yapın, ancak bu yavaş bir süreçtir. Ethereum, adrese zorlanmanın ardından ETH ve ETC'ye bölündü DAO hacklenmesinin nedeni büyük ölçüde önceden bir toplumsal sözleşmenin olmamasıydı ne de bu tür kararları almaya yönelik mekanizma. Cosmos Merkezindeki doğrulayıcılar ve yetki verenler oy verebilir sistemin önceden ayarlanmış parametrelerini değiştirebilecek öneriler otomatik olarak (blok gaz limiti gibi), yükseltmeleri koordine edin insanların okuyabileceği anayasada yapılacak değişikliklere oy vermek Cosmos Hub'ın politikalarını yöneten. Anayasa gibi konularda paydaşlar arasında uyum sağlar. hırsızlık ve hatalar (TheDAO olayı gibi), daha hızlı ve daha temiz çözünürlük. Her bölgenin kendi anayasası ve yönetimi de olabilir mekanizması da. Örneğin, Cosmos Hub'ın bir özelliği olabilir Merkezde değişmezliği zorunlu kılan anayasa (geri alma yok, Cosmos Hub düğümü uygulamasının hataları için tasarruf edin), her bölge geri alma işlemleriyle ilgili kendi politikalarını belirleyebilir. Farklı politika alanları arasında birlikte çalışabilirliği sağlayarak, Cosmos ağı, kullanıcılarına en üst düzeyde özgürlük ve potansiyel sunar. izinsiz deneme. Burada yeni bir ademi merkeziyet ve ölçeklenebilirlik modelini tanımlıyoruz. Cosmos, birçok blockchain'den oluşan bir ağdır. Nane. Mevcut teklifler “tek bir blockchain” toplam küresel işlem sıralamasıyla birlikte, Cosmos birçok blockchain'nin birbiriyle eşzamanlı çalışmasına izin verir birlikte çalışabilirliği korurken. Temelde Cosmos Hub birçok bağımsız yönetimi yönetiyor blockchains "bölgeler" olarak adlandırılır (bazen "parçalar" olarak da anılır), "parçalama" olarak bilinen veritabanı ölçeklendirme tekniğine referans.
Yayınlanan bölgelerden gelen son blok işlemlerinin sürekli akışı Hub, Hub'ın her bölgenin durumunu takip etmesine olanak tanır. Benzer şekilde, her bölge Hub'ın durumuna ayak uydurur (ancak bölgeler aracılığıyla dolaylı olarak birbirinizi takip etmeyin. Merkez). Bilgi paketleri daha sonra birinden iletilir. Merkle-kanıtlarını kanıt olarak yayınlayarak bölgeden diğerine geçin. Bilgiler gönderildi ve alındı. Bu mekanizmaya denir inter-blockchain iletişim veya kısaca IBC. Bölgelerden herhangi biri döngüsel olmayan bir grafik oluşturmak için merkez olabilir, ancak netlik sağlamak amacıyla yalnızca basit olanı tanımlayacağız. Yalnızca bir hub'ın ve birçok hub'ın olmadığı yapılandırma bölgeler. Cosmos Hub, çoklu varlıkları barındıran bir blockchain'dır token'lerin bireysel kullanıcılar tarafından tutulabileceği dağıtılmış defter veya bölgelerin kendileri tarafından. Bu token'ler bir bölgeden taşınabilir diğerine "bozuk para paketi" adı verilen özel bir IBC paketinde. Merkez toplamın küresel değişmezliğini korumaktan sorumludur bölgeler genelinde her token miktarı. IBC bozuk para paketi işlemler gönderen, hub ve alıcı tarafından gerçekleştirilmelidir blockchains.Cosmos Merkez, tüm hesap için merkezi defter görevi gördüğü için Sistemde Hub'ın güvenliği büyük önem taşımaktadır. iken her bölge şu şekilde güvence altına alınan bir Tendermint blockchain olabilir: 4 kadar az (veya BFT fikir birliğine ihtiyaç duyulmuyorsa daha da az), Hub küresel olarak merkezi olmayan bir validator kümesi tarafından güvence altına alınmalıdır; gibi en şiddetli saldırı senaryolarına dayanabilir. kıtasal ağ bölünmesi veya ulus devlet destekli bir saldırı. Cosmos bölgesi, IBC alışverişini yapan bağımsız bir blockchain bölgesidir Hub ile mesajlar. Merkezin bakış açısına göre bir bölge bir çok varlıklı dinamik üyelikli çoklu imza hesabı IBC paketleri kullanarak tokens gönderip alabilir. Bir gibi kripto para birimi hesabı, bir bölge şu sayıdan daha fazla tokens aktaramaz sahiptir, ancak bunlara sahip olan diğer kişilerden token alabilir. Bir bölge bir veya daha fazla token türünün "kaynağı" olarak belirtilebilir, ona token arzını doldurma gücü veriyor. Cosmos Hub'ın atomları bir bölgenin validator'leri tarafından desteklenebilir Hub'a bağlı. Bu bölgelere çift harcama saldırıları yapılırken oylama gücünün >⅔'ünün olduğu bir bölge olan Tendermint'in hesap verebilirliği ile atomların parçalanmasıyla sonuçlanacaktır Bizans geçersiz durumu taahhüt edebilir. Cosmos Hub çalışmıyor diğer bölgelerde gerçekleştirilen işlemleri doğrulayın veya yürütün; güvendikleri bölgelere token'ler gönderme sorumluluğu kullanıcıların sorumluluğundadır. Gelecekte Cosmos Hub'ın yönetim sistemi Hub'ı geçebilir Bölge arızalarını hesaba katan iyileştirme önerileri. için örneğin, bazı (veya tüm) bölgelerden giden token aktarımlar Bölgelerin acil devre kesilmesine izin vermek için kısılabilir (token aktarımların geçici olarak durdurulması) bir saldırı algılandığında. Şimdi Hub ve bölgelerin birbiriyle nasıl iletişim kurduğuna bakıyoruz diğer. Örneğin, üç adet blockchains varsa, "Bölge1", "Bölge2",

ve “Hub” ve "Bölge1"in hedeflenen bir paket üretmesini diliyoruz. “Hub”tan geçen “Bölge2” için. Bir paketi birinden taşımak için blockchain diğerine, alıcı zincirine bir kanıt gönderilir. Kanıt, gönderen zincirin bir paket yayınladığını belirtir. iddia edilen varış noktası Alıcı zincirin bu kanıtı kontrol etmesi için gönderenin blok başlıklarını takip edebilmelidir. Bu mekanizma, yan zincirler tarafından kullanılan mekanizmaya benzer; Birbiriyle etkileşim halinde olan iki zincirin birbirinden haberdar olması varoluş kanıtı datagramlarının çift yönlü akışı (işlemler). IBC protokolü doğal olarak iki tür kullanılarak tanımlanabilir. işlemler: izin veren bir IBCBlockCommitTx işlemi blockchain herhangi bir gözlemciye en son bloğunun hash olduğunu kanıtlamak için, ve bir IBCPacketTx işlemi; bu, blockchain işleminin yapılmasına olanak tanır. herhangi bir gözlemciye verilen paketin gerçekten yayınlandığını kanıtlayın gönderenin başvurusuyla, Merkle-kanıtı aracılığıyla en son blok-hash. IBC mekaniğini iki ayrı işleme bölerek, Alıcı zincirin yerel ücret piyasası mekanizmasının hangi paketlerin işleneceğini (yani onaylanacağını) belirlerken, Gönderim zincirinde bunun nasıl yapılacağı konusunda tam bir özgürlük sağlanması birçok giden pakete izin verilir. Yukarıdaki örnekte, "Zone1"in-hash bloğunu güncellemek için “Hub”da (veya “Zone2”deki “Hub”da), bir IBCBlockCommitTxişlem “Hub” üzerinde hash bloğuyla yayınlanmalıdır. “Bölge1” (veya “Hub”ın hash bloğuyla "Bölge2" üzerinde). Daha fazla bilgi için IBCBlockCommitTx ve IBCPacketTx'e bakın. iki IBC işlem türünde. Aynı şekilde Bitcoin dağıtılmış olduğundan daha güvenlidir, toplu kopyalanmış defter sayesinde borsaları daha az savunmasız hale getirebiliriz blockchain üzerinde çalıştırarak harici ve dahili saldırıları gerçekleştirebilirsiniz. Biz buna dağıtılmış değişim diyoruz. Kripto para topluluğunun merkezi olmayan yapı olarak adlandırdığı şey Bugünkü borsalar “atomik çapraz zincir” (AXC) işlemleri adı verilen bir şeye dayanıyor. Bir AXC işlemiyle iki kullanıcı iki farklı zincir iki transfer işlemi yapabilir her iki defterde birlikte işlenir veya hiç yapılmaz (ör. atomik olarak). Örneğin, iki kullanıcı bitcoinleri eterle takas edebilir (veya AXC işlemlerini kullanarak iki farklı defterdeki herhangi iki tokens, Bitcoin ve Ethereum her birine bağlı olmasa da diğer. AXC işlemlerinde borsa çalıştırmanın faydası kullanıcıların birbirlerine veya ticari eşleştirmeye güvenmesine gerek yok hizmet. Dezavantajı ise her iki tarafın da çevrimiçi olması gerekmesidir. gerçekleşecek olan ticarettir. Merkezi olmayan değişimin bir başka türü de kitlesel olarak kopyalanan borsalardır. kendi başına çalışan dağıtılmış borsa blockchain. Kullanıcılar bu tür borsalar limit emri verebilir ve emirlerini çevirebilirler. bilgisayar kapalıdır ve işlem kullanıcı olmadan yürütülebilir çevrimiçi. blockchain eşleşir ve takası onun adına tamamlar tüccarın.
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.
Uygulamalar
Merkezi bir borsa, derin bir limit emir defteri oluşturabilir siparişler verir ve böylece daha fazla tüccar çeker. Likidite daha fazlasını doğurur Borsa dünyasında likidite ve dolayısıyla güçlü bir ağ var takasta etkisi (veya en azından kazananın çoğunu alması etkisi) iş. Bugünün kripto para borsalarının mevcut lideri Poloniex 24 saatlik hacimle 20 milyon dolar ile ikinci sırada yer alıyor. Bitynex'in 24 saatlik hacmi 5 milyon dolar. Bu kadar güçlü bir ağ göz önüne alındığında AXC tabanlı merkezi olmayan borsaların Merkezi borsalarda hacim kazanma. Merkezi olmayan bir sistem için Merkezi bir borsayla rekabet edebilmek için borsanın derin emir defterlerini limitli emirlerle desteklemek. Yalnızca dağıtılmış blockchain üzerindeki değişim bunu sağlayabilir. Tendermint, daha hızlı işlem yapmanın ek faydalarını sağlar taahhüt eder. Ödün vermeden hızlı üretime öncelik vererek tutarlılık sayesinde Cosmos içindeki bölgeler işlemleri hızlı bir şekilde analiz edebilir; hem takas emri işlemleri hem de IBC token transferleri ve diğer bölgelerden. Kripto para borsalarının bugünkü durumu göz önüne alındığında, büyük bir Cosmos başvurusu dağıtılmış borsadır (diğer adıyla Cosmos DEX). İşlem çıkış kapasitesi ve taahhüt gecikmesi merkezileştirilmiş olanlarla karşılaştırılabilir olabilir borsalar. Yatırımcılar gerçekleştirilebilecek limitli emirler gönderebilirler her iki tarafın da çevrimiçi olmasına gerek kalmadan. Ve Tendermint ile, Cosmos merkezi ve IBC ile yatırımcılar fonları içeri ve dışarı taşıyabilirler hızlı bir şekilde diğer bölgelere gidiş-dönüş alışverişi. Ayrıcalıklı bir bölge, köprülenmiş bir token kaynağı olarak hareket edebilir başka bir kripto para birimi. Köprü ilişkiye benzer Cosmos hub ve bölge arasında; her ikisi de buna ayak uydurmalı tokens'nin sahip olduğu kanıtları doğrulamak için diğerinin en son blokları birinden diğerine taşındı. Cosmos üzerinde bir "köprü bölgesi" ağ hem Hub'a hem de diğerine ayak uydurur
kripto para birimi. Köprü bölgesi üzerinden yönlendirme, Hub'ın mantığının basit kalması ve diğerlerine göre agnostik olması blockchain Bitcoin'nın proof-of-work gibi fikir birliği stratejileri madencilik. Her köprü bölgesi validator Tendermint destekli bir sistem çalıştıracaktır. blockchain özel bir ABCI köprü uygulamasına ve aynı zamanda tam düğüme sahip “köken” blockchain. Başlangıç noktasında yeni bloklar çıkarıldığında köprü bölgesi validators imzalayarak taahhüt edilen bloklar üzerinde anlaşmaya varacak ve kaynağın blockchain ile ilgili yerel görüşlerini paylaşıyorlar ipucu. Bir köprü bölgesi başlangıç noktasında ödeme aldığında (ve davada yeterli onayın görüldüğü konusunda anlaşmaya varıldı Ethereum veya Bitcoin gibi bir PoW zincirinin), karşılık gelen Bu bakiye ile köprü bölgesinde hesap oluşturulur. Ethereum durumunda köprü bölgesi aynısını paylaşabilir validator--Cosmos Hub olarak ayarlandı. Ethereum tarafında ( Origin), bir köprü sözleşmesi, Ether sahiplerinin Ether göndermesine izin verecek tarihinde köprü sözleşmesine göndererek köprü bölgesine Ethereum. Köprü sözleşmesiyle eter alındıktan sonra, Uygun bir IBC paketi sağlanmadıkça eter geri çekilemez köprü sözleşmesiyle köprü bölgesinden alındı. köprü sözleşmesi köprü bölgesinin validator kümesini izler; Cosmos Hub'ın validator-setiyle aynı olabilir. Bitcoin durumunda kavram benzerdir ancak bunun yerine tek bir köprü sözleşmesi, her UTXO bir kişi tarafından kontrol edilecektir. eşik çoklu imza P2SH yayını. Sınırlamalar nedeniyle P2SH sisteminde imzalayanlar Cosmos ile aynı olamaz Hub validator-set.Köprü bölgesindeki eter ("köprülü eter") şuraya aktarılabilir: ve Hub'dan ve daha sonra bir işlemle yok edilmesi Ethereum adresindeki belirli bir para çekme adresine gönderir. Bir IBC İşlemin köprü bölgesinde gerçekleştiğini kanıtlayan paket etere izin vermek için Ethereum köprü sözleşmesine gönderilebilir geri çekilmek. Bitcoin durumunda, kısıtlı komut dosyası sistemi bunu yapar IBC para transfer mekanizmasını yansıtmak zor. Her biri UTXO kendi bağımsız yayın metni vardır, dolayısıyla her UTXO kümesinde bir değişiklik olduğunda yeni bir UTXO'ye taşındı Bitcoin emanet imzalayanlar. Çözümlerden biri sıkıştırmak ve toplam sayıyı korumak için UTXO-setinin sıkıştırmasını gerektiği kadar açın UTXOs'den fazlası kapatıldı. Böyle bir köprüleme sözleşmesinin riski hileli bir validator kümesidir. ≥⅓ Bizans'ın oy verme gücü eterin çekilmesine neden olabilir Ethereum üzerindeki köprü sözleşmesinden, köprüyü köprü bölgesinde tutarken. Daha da kötüsü, Bizans'ın oylama gücü >⅔ Eteri köprü sözleşmesine gönderenlerden doğrudan çalmak köprü bölgesinin orijinal köprüleme mantığından saparak. Köprüyü uygun şekilde tasarlayarak bu sorunları çözmek mümkündür. tamamen sorumlu. Örneğin, hub'dan gelen tüm IBC paketleri ve menşei, köprü bölgesi tarafından onaylanmayı gerektirebilir öyle ki köprü bölgesinin tüm durum geçişleri merkez ya da menşe tarafından verimli bir şekilde sorgulanmış ve doğrulanmıştır köprü sözleşmesi. Hub ve menşe, validators köprü bölgesinin teminat göndermesine ve token'nin merkezden transfer yapmasına izin vermelidir. Köprü sözleşmesi ertelenmeli (ve teminatların çözülmesi yeterince uzun bir süre) herhangi bir zorluğun üstesinden gelinmesine izin vermek için bağımsız denetçiler. Şartnamenin tasarımını bırakıyoruz ve bu sistemin uygulanması gelecekte açık olacak Cosmos
iyileştirme teklifi, Cosmos Merkez tarafından onaylanacak yönetim sistemi. Ölçekleme sorununu çözmek Ethereum için açık bir konudur. Şu anda Ethereum düğüm her bir işlemi işliyor ve ayrıca tüm durumları saklar. bağlantı. Tendermint, blokları Ethereum'den çok daha hızlı işleyebildiğinden proof-of-work, EVM bölgeleri Tendermint konsensusu tarafından desteklenmektedir ve köprülü eter üzerinde çalışmak daha yüksek performans sağlayabilir Ethereum blockchains. Ayrıca, Cosmos Hub ve IBC paket mekaniği keyfi sözleşme mantığına izin vermez kendi başına yürütme, token hareketleri koordine etmek için kullanılabilir farklı bölgelerde çalışan Ethereum sözleşmeler arasında, token merkezli Ethereum ölçeklendirme için bir temel sağlar parçalama. Cosmos bölgeleri, şu saatte tanımlanan rastgele uygulama mantığını çalıştırır: bölgenin yaşamının başlangıcıdır ve potansiyel olarak güncellenebilir zamanla yönetim tarafından Bu esneklik, Cosmos bölgelerinin Ethereum gibi diğer kripto para birimlerine köprü görevi görür veya Bitcoin ve aynı zamanda bu blockchain'lerin türevlerine de izin verir, aynı kod tabanını kullanıyor ancak farklı bir validator kümesiyle ve ilk dağıtım. Bu, mevcut birçok kripto para biriminin Ethereum, Zerocash, Bitcoin gibi çerçeveler, Tendermint Core ile kullanılacak CryptoNote vb. ortak bir ağ üzerinde daha yüksek performanslı bir fikir birliği motoru, arasında birlikte çalışabilirlik için muazzam bir fırsat yaratıyor platformlar. Ayrıca, çoklu varlık blockchain olarak tek bir işlem birden fazla girdi ve çıktı içerebilir; burada her biri giriş herhangi bir token türünde olabilir; bu, Cosmos öğesinin doğrudan şu şekilde hizmet vermesini sağlar: emirlerin varsayılmasına rağmen merkezi olmayan değişim için bir platformdiğer platformlar aracılığıyla eşleştirilecek. Alternatif olarak bir bölge hizmet verebilir Dağıtılmış, hataya dayanıklı bir borsa olarak (sipariş defterleri ile), mevcut merkezi sisteme göre kesin bir gelişme olabilir zamanla saldırıya uğrama eğiliminde olan kripto para borsaları. Bölgeler ayrıca kurumsal işletmenin blockchain destekli sürümleri olarak da hizmet verebilir ve belirli bir hizmetin parçalarının bulunduğu hükümet sistemleri geleneksel olarak bir kuruluş veya kuruluşlar grubu tarafından yönetilir bunun yerine belirli bir bölgede ABCI uygulaması olarak çalıştırılır; Kamunun güvenliğini ve birlikte çalışabilirliğini devralmasına izin verir Temeldeki kontrolden ödün vermeden Cosmos ağı hizmet. Dolayısıyla Cosmos her iki dünyanın da en iyisini sunabilir blockchain teknolojisini kullanmak isteyen ancak Kontrolü tamamen dağıtılmış bir üçüncüye bırakma konusunda ihtiyatlı davranın parti. Bazıları tutarlılığı tercih etmenin büyük bir sorun olduğunu iddia ediyor Tendermint gibi fikir birliği algoritmaları, herhangi bir ağın
⅔ ile tek bir bölümün olmamasına neden olan bölüm oylama gücü (örneğin ≥⅓ fanzinden çıkmak) fikir birliğini tamamen durduracaktır. Cosmos mimarisi, aşağıdakileri kullanarak bu sorunun azaltılmasına yardımcı olabilir: oy verme yetkisinin olduğu bölgesel özerk bölgelere sahip küresel bir merkez her bölge için ortak bir coğrafi temele göre dağıtılır bölge. Örneğin, ortak bir paradigma bireysel olabilir. şehirleri veya bölgeleri paylaşırken kendi bölgelerini işletmek ortak merkez (ör. Cosmos Merkez), belediye faaliyetlerinin hub'ın geçici bir ağ nedeniyle durması durumunda devam etmesi bölüm. Bunun gerçek jeolojik, politik ve Sağlam tasarımda dikkate alınması gereken ağ topolojik özellikleri Birleşik hataya dayanıklı sistemler.
NameCoin bu sorunu çözmeye çalışan ilk blockchain'lardan biriydi. Bitcoin blockchain uyarlanarak ad çözümleme sorunu. Ne yazık ki bu yaklaşımla ilgili çeşitli sorunlar yaşandı. Namecoin ile örneğin @satoshi'nin olduğunu doğrulayabiliriz. Geçmişte bir noktada belirli bir genel anahtarla kayıtlı olan, ancak genel anahtarın o zamandan beri kullanılıp kullanılmadığını bilemiyoruz. sonuncusundan bu yana tüm blokları indirmediğimiz sürece yakın zamanda güncellendi bu ismin güncellenmesi. Bunun nedeni Bitcoin'nin sınırlamasıdır UTXO işlem Merkleleştirme modeli; burada yalnızca işlemler (ancak değiştirilebilir uygulama durumu değil) Merkle'lidir hash bloğuna. Bu, bir ismin daha sonraki güncellemelerinin var olmadığını değil, varlığını kanıtlamamızı sağlar. Bu nedenle bunu bilemeyiz tam olarak güvenmeden bir ismin en son değerini kesin olarak belirlemek indirerek bant genişliğinde önemli maliyetlere neden olmak tamamı blockchain. NameCoin'de Merkle'li bir arama ağacı uygulanmış olsa bile, proof-of-work bağımlılığı, hafif istemci doğrulamasını sağlar sorunlu. Light istemcilerin tam bir kopyasını indirmeleri gerekir. blockchain'un tamamındaki tüm bloklar için başlıklar (veya en azından bir ismin son güncellemesinden bu yana başlıklar). Bu şu anlama gelir: bant genişliği gereksinimleri zaman miktarıyla doğrusal olarak ölçeklenir [21]. Ayrıca proof-of-work blockchain numaralı telefondaki ad değişiklikleri ek proof-of-work onaylama bloklarının beklenmesini gerektirir, Bitcoin tarihinde bu işlem bir saate kadar sürebilir. Tendermint ile ihtiyacımız olan tek şey en son blok-hash validators'lik bir çoğunluk (oy gücüne göre) ve bir Merkle tarafından imzalandı isimle ilişkili mevcut değerin kanıtı. Bu onu yapar kısa ve öz, hızlı ve güvenli bir ışık istemcisine sahip olmak mümkün ad değerlerinin doğrulanması. Cosmos'de bu konsepti alıp daha da genişletebiliriz. Her biri Cosmos içindeki ad kayıt bölgesi, ".com" veya ".org" gibi ilişkili bir üst düzey alan (TLD) adına sahip olabilir ve her ad-
kayıt bölgesinin kendi yönetimi ve kaydı olabilir kurallar.
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.
Yönetişim ve Ekonomi
Cosmos Hub çok varlıklı dağıtılmış bir defter olsa da, atom adı verilen özel bir yerli token. Atomlar tek staking Cosmos Hub'ın token. Atomlar, sahibine ait bir lisanstır. oy verin, doğrulayın veya diğer validator'lere yetki verin. Ethereum gibi eter, atomlar aynı zamanda işlem ücretlerini ödemek için de kullanılabilir spam'ı azaltın. Ek şişirici atomlar ve blok işlemi ücretler validator'lere ve yetki veren delegelere ödüllendirilir validators. BurnAtomTx işlemi herhangi bir veriyi kurtarmak için kullanılabilir. rezerv havuzundan orantılı miktarda tokens. tokens ve validators atomunun Genesis'teki ilk dağılımı Cosmos Bağış Kampanyasının bağışçılarına (%75), lider bağışçılara gidecek (%5), Cosmos Network Foundation (%10) ve ALL IN BITS, Inc. (%10). Oluşumdan itibaren toplam atom miktarının 1/3'ü her yıl kefil validator'lere ve delegelere ödüllendirilecektir. Ek ayrıntılar için Cosmos Plana bakın. Bitcoin veya diğer proof-of-work blockchain'lerden farklı olarak, bir Tendermint Artan hız nedeniyle blockchain daha fazla validator ile yavaşlıyor iletişim karmaşıklığı. Neyse ki yeterince destek verebiliyoruz validators, küresel olarak sağlam bir şekilde dağıtılmış blockchain oluşturmak için çok hızlı işlem onaylama süreleriyle ve bant genişliği olarak,
depolama ve paralel bilgi işlem kapasitesi artışları sayesinde şunları yapabileceğiz: gelecekte daha fazla validator desteklemek için. Yaratılış gününde maksimum validators sayısı şu şekilde ayarlanacak: 100, bu sayı 10 yıl boyunca %13 oranında artacak, 300 validators'ye yerleşti. Henüz atom sahibi olmayanlar şu tarihe kadar validators olabilirler. bir BondTx işleminin imzalanması ve gönderilmesi. miktarı Teminat olarak sağlanan atomların sıfırdan farklı olması gerekir. Herkes olabilir Geçerli boyutun boyutu dışında herhangi bir zamanda validator validator kümesi maksimum validators sayısından daha büyük izin verildi. Bu durumda işlem ancak tutarı kadar geçerli olur. atomları, tutulan etkin atomların miktarından daha fazladır. en küçük validator; burada etkin atomlar, devredilen atomları içerir. Yeni bir validator mevcut bir validator öğesinin yerini bu şekilde aldığında, mevcut validator devre dışı kalır ve tüm atomlar ve delege edilen atomlar bağlanmamış duruma girer. validators'ye herhangi bir ceza uygulanması gerekir. yaptırımlardan kasıtlı veya kasıtsız sapma protokol. Bazı deliller derhal kabul edilebilir. aynı yükseklikte ve yuvarlakta çift işaret veya kuralların ihlali Yıl 0: 100 Yıl 1: 113 2. Yıl: 127 Yıl 3: 144 4. Yıl: 163 Yıl 5: 184 Yıl 6: 208 Yıl 7: 235 Yıl 8: 265 Yıl 9: 300 Yıl 10: 300 ...
"kilidi önceden oyla" (Tendermint konsensüs protokolünün bir kuralı). Bu tür kanıtlar validator'nin iyi itibarını kaybetmesine neden olacaktır ve bağlı atomlarının yanı sıra tokens'nin orantılı payı topluca "hissesi" olarak adlandırılan rezerv havuzu kesilecek. Bazen bölgesel nedenlerden dolayı validators kullanılamayabilir ağ kesintileri, elektrik kesintisi veya diğer nedenler. Eğer herhangi bir zamanda geçmiş ValidatorTimeoutWindow bloklarındaki bir nokta, bir validator taahhüt oyu blockchain sayısından fazlasına dahil edilmedi ValidatorTimeoutMaxAbsent kez, bu validator olur etkin değil ve ValidatorTimeoutPenalty'yi (VARSAYILAN %1) kaybedersiniz hisse. Bazı “kötü niyetli” davranışlar açıkça fark edilebilir sonuçlar doğurmaz blockchain ile ilgili kanıt. Bu durumlarda validators şunları yapabilir: Bu kötü amaçlı yazılımların zaman aşımını zorlamak için bant dışı koordinasyonu sağlayın validators, eğer çoğunlukta bir fikir birliği varsa. Cosmos Merkezin ≥⅓ koalisyon nedeniyle durduğu durumlarda Oy gücünün tükenmesi veya ≥⅓ koalisyonun olduğu durumlarda oy verme yetkisinin kötü niyetli davranışlara dair kanıtlarını sansürlemek blockchain'ye girildiğinde hub'ın hard fork ile kurtarılması gerekir yeniden düzenleme teklifi. (“Çatallar ve Sansür Saldırıları”na bağlantı). Cosmos Hub validator'ler herhangi bir token türünü veya kombinasyonunu kabul edebilir Bir işlemin işlenmesine ilişkin ücretler gibi türler. Her validator şunları yapabilir: istediği döviz kurunu öznel olarak belirler ve seçer BlockGasLimit olduğu sürece istediği işlemler ne olursa olsun aşılmadı. Toplanan ücretlerden aşağıda belirtilen vergiler düşüldükten sonra, bağlı hissedarlara orantılı olarak yeniden dağıtılır. bağlı atomları, her ValidatorPayoutPeriod (VARSAYILAN 1 saat).Toplanan işlem ücretlerinden ReserveTax (VARSAYILAN %2) rezerv havuzunu arttırmak için rezerv havuzuna gidin ve Cosmos ağının güvenliğini ve değerini artırın. Bunlar fonlar da kararlara uygun olarak dağıtılabilir yönetim sistemi tarafından yapılmıştır. Oy verme yetkisini diğer validator'lere devreden atom sahipleri Yetki verilen validator'ye komisyon ödeyin. Komisyon şunları yapabilir: her validator tarafından ayarlanabilir. Cosmos Hub'ın güvenliği, temel validators ve yetki verenlerin yetki seçimi. Bulunanların keşfedilmesini ve erken raporlanmasını teşvik etmek amacıyla Cosmos Hub, bilgisayar korsanlarını güvenlik açıklarını yayınlamaya teşvik ediyor "Bu, validator saldırıya uğradı. Lütfen bu adrese ödül gönderin”. üzerine böyle bir istismar durumunda validator ve yetki verenler pasif hale gelecektir, Herkesin atomlarının HackPunishmentRatio (varsayılan %5'i) alınacak kesildi ve herkesin atomlarının HackRewardRatio'su (varsayılan %5) hackerın ödül adresine ödüllendirilecek. validator kalan atomları yedek anahtarlarını kullanarak kurtarmaları gerekir. Bu özelliğin kötüye kullanılmasını önlemek için aktarıma yatırımsız atomlar, yatırımsız atomlara karşı yatırımsız atomların kısmı validator'ler ve delegeler ReportHackTx'ten önce ve sonra aynı kalacak ve hacker ödülü bazı varsa, yatırımsız atomlar. Cosmos Hub, dağıtılmış bir kuruluş tarafından işletilmektedir. iyi tasarlanmış bir yönetim mekanizmasına ihtiyaç duymaktadır. değişken gibi blockchain'deki çeşitli değişiklikleri koordine edin
sistem parametrelerinin yanı sıra yazılım yükseltmeleri ve anayasa değişiklikleri. Tüm validator'ler tüm tekliflere oy vermekten sorumludur. başarısız Bir teklife zamanında oy vermek validator ile sonuçlanacaktır adı verilen bir süre boyunca otomatik olarak devre dışı bırakılır. Devamsızlık Cezası Süresi (VARSAYILAN 1 hafta). Delege edenler, delege edilenlerin oylarını otomatik olarak devralır validator. Bu oy manuel olarak geçersiz kılınabilir. Bağlanmamış atomlar oy alamamak Her teklif için MinimumProposalDeposit tutarında bir depozito gerekir tokens; bir veya daha fazla tokens'nin birleşimi olabilir atomlar dahil. Seçmenler her öneri için oy kullanabilirler. depozito. Seçmenlerin yarısından fazlası seçime girerse depozito (ör. teklifin spam olması nedeniyle), depozito şu adrese gider: yakılan atomlar hariç yedek havuz. Her öneri için seçmenler aşağıdaki seçeneklerle oy kullanabilir: Evet EvetWithForce Hayır NayWithForce Çekimser Evet veya YeaWithForce oylarının tam çoğunluğu (veya Hayır veya Teklifin şu şekilde karara bağlanması için NayWithForce oyu gereklidir) geçti (veya başarısız olduğuna karar verildi), ancak 1/3+ çoğunluğu veto edebilir “zorla” oy kullanarak karar verir. Kesin çoğunluk veto edildiğinde, herkes VetoPenaltyFeeBlocks'u kaybederek cezalandırılır (VARSAYILAN 1 günlük blok değerinde) tutarında ücret (vergiler hariç) etkilenmeyecektir) ve çoğunluğu veto eden taraf
karar ayrıca VetoPenaltyAtoms'un kaybedilmesiyle cezalandırılacaktır (VARSAYILAN %0,1) atomlarının. Burada tanımlanan parametrelerden herhangi biri değiştirilebilir. bir ParameterChangeProposal'ın iletilmesi. Atomlar şişirilebilir ve havuz fonları harcanabilir. Bir Ödül Teklifinin kabul edilmesi. Protokolün yükseltilmesi teklifi gibi diğer tüm teklifler, genel TextProposal aracılığıyla koordine edilecektir. Plana bakınız. blockchain fikir birliğinde birçok yenilik oldu ve Son birkaç yılda ölçeklenebilirlik. Bu bölüm kısa bir bilgi sağlar seçilmiş sayıda önemli olanın araştırılması. Kötü niyetli katılımcıların varlığında fikir birliği bir sorundur Leslie Lamport'un icat ettiği 1980'lerin başlarına kadar uzanıyor. "Bizans hatası" ifadesi, keyfi süreç davranışını ifade eder. “Çarpışma hatasının” aksine, amaçlanan davranıştan saparsa, burada bir süreç basitçe çöküyor. Erken çözümler keşfedildi bir üst sınırın olduğu senkronize ağlar içinmesaj gecikmesi, ancak pratik kullanım oldukça sınırlıydı uçak kontrolörleri gibi kontrollü ortamlar ve veri merkezleri atom saatleri aracılığıyla senkronize edilir. O zamana kadar değildi 90'ların sonlarında Pratik Bizans Hata Toleransının (PBFT) [11] olduğu Verimli, kısmen senkronize bir fikir birliği olarak tanıtıldı algoritma, davranan süreçlerin ⅓'üne kadar tolere edebilir keyfi olarak. PBFT standart algoritma haline geldi ve birçok kapsamında IBM tarafından en son oluşturulanlar da dahil olmak üzere varyasyonlar Hyperledger'a katkıları. PBFT üzerinde Tendermint fikir birliğinin ana avantajı şudur: Tendermint geliştirilmiş ve basitleştirilmiş bir temel yapıya sahiptir, bunlardan bazıları blockchain paradigmasını benimsemenin bir sonucudur. Tendermint blokları sırayla işlenmelidir, bu da PBFT ile ilişkili karmaşıklık ve iletişim ek yükü görünüm değişiklikleri. Cosmos ve birçok kripto para biriminde N bloğu olduğunda i >= 1'in işleme alınması için N+i bloğuna izin verilmesi gerekir kendisi henüz taahhütte bulunmadı. N bloğunun nedeni bant genişliği ise Cosmos bölgesinde taahhütte bulunmadıysa, kullanılmasına yardımcı olmaz N+i blokları için bant genişliği paylaşımı oyları. Bir ağ bölümü veya N bloğunun taahhüt edilmemesinin nedeni ofzine düğümleridir, o zaman N+i yine de taahhütte bulunmayacağım. Ayrıca işlemlerin bloklar halinde gruplandırılması, yerine uygulama durumunun düzenli Merkle-hashing'lenmesi PBFT'nın kontrol noktası şemasındaki gibi periyodik özetler. Bu izin verir hafif istemciler için daha hızlı kanıtlanabilir işlem taahhütleri ve daha hızlı blockchain arası iletişim. Tendermint Core ayrıca birçok optimizasyon ve özellik içerir PBFT'de belirtilenlerin ötesine geçen. Örneğin, validators tarafından önerilen bloklar Merkle'li parçalara bölünmüştür, ve yayıncılığı iyileştirecek şekilde dedikodu yapıldı performansı (ilham için bkz. LibSwift [19]). Ayrıca, Tendermint Core noktadan noktaya herhangi bir varsayımda bulunmaz
P2P ağı açık olduğu sürece bağlantı ve işlevler zayıf bağlantılı. proof-of-stake (PoS), BitShares1.0 [12] dağıtımını yapan ilk yıl olmasa da PoS'un araştırılmasına ve benimsenmesine önemli ölçüde katkıda bulundu blockchains, özellikle "yetkilendirilmiş" PoS olarak bilinenler. içinde BitShares, paydaşlar siparişten sorumlu "tanıkları" seçer işlemleri gerçekleştiren ve yürüten "temsilciler" yazılım güncellemelerini ve parametre değişikliklerini koordine etmek. BitShares2.0 yüksek performansa ulaşmayı hedefliyor (100k tx/s, 1s gecikme) ideal koşullarda, her bloğun tek bir kişi tarafından imzalandığı imzalayan kişi ve işlem bütünlüğü, imzalayandan biraz daha uzun sürüyor blok aralığı. Kanonik bir spesifikasyon halen geliştirilme aşamasındadır. Paydaşlar, uygunsuz davranan tanıkları bir platformda kaldırabilir veya değiştirebilir. günlük olarak, ancak önemli bir tanık veya tanık teminatı yoktur. Tendermint PoS benzeri delegeler kesildi Başarılı bir çift harcama saldırısı durumunda. Ripple'ın öncülüğünü yaptığı bir yaklaşımı temel alan Stellar [13], Federe Bizans Anlaşması modeli burada süreçler fikir birliğine katılmak yxed ve küresel bir anlaşma oluşturmaz bilinen küme. Bunun yerine, her süreç düğümü bir veya daha fazlasını seçer Her biri bir dizi güvenilir süreçten oluşan “çekirdek dilimleri”. bir Stellar içindeki “yesayı”nın, aşağıdakileri içeren bir düğüm kümesi olduğu tanımlanmaktadır: kümedeki her düğüm için en az bir yetersayı dilimi, öyle ki anlaşmaya varılabilir. Stellar mekanizmasının güvenliği şu varsayıma dayanır: herhangi iki yeter sayının kesişiminin boş olmadığı, ancak Bir düğümün kullanılabilirliği, çekirdek dilimlerinden en az birinin tamamen doğru düğümlerden oluşur ve bunlar arasında bir değiş-tokuş yaratır. Dengelenmesi zor olabilecek büyük veya küçük çekirdek dilimlerinin kullanılması Güvenle ilgili önemli varsayımlar empoze etmeden. Sonuçta,düğümlerin bir şekilde yeterli çekirdek dilimlerini seçmesi gerekir yeterli hata toleransı (veya herhangi bir "sağlam düğüm" olması, makalenin sonuçlarının çoğu buna bağlıdır) ve tek böyle bir yapılandırmanın hiyerarşik olmasını sağlamak için sağlanan strateji ve internetteki üst düzey ISP'ler tarafından küresel yönlendirme tabloları oluşturmak için kullanılan Sınır Ağ Geçidi Protokolüne (BGP) benzer ve TLS sertifikalarını yönetmek için tarayıcılar tarafından kullanılanlar; ikisi de meşhur güvensizlikleri için. Tendermint tabanlı hisse kanıtı sistemlerine ilişkin Stellar belgesindeki eleştiri, açıklanan token stratejisiyle hafifletildi burada atom adı verilen yeni bir token türü yayınlanır; ücret ve ödüllerin gelecekteki kısımlarına ilişkin talepleri temsil eder. Tendermint tabanlı proof-of-stake'nin avantajı görecelidir basitlik, aynı zamanda yeterli ve kanıtlanabilir güvenlik sağlarken garanti eder. BitcoinNG, Bitcoin için önerilen ve aşağıdakilere izin verecek bir iyileştirmedir: blok boyutunun arttırılması gibi dikey ölçeklenebilirlik biçimleri için, tipik olarak ilişkili olumsuz ekonomik sonuçlar olmadan orantısız derecede büyük etki gibi bir değişiklikle küçük madencilerde. Bu iyileştirme, ayrıştırılarak elde edilir. işlem yayınından lider seçimi: liderler ilk sırada proof-of-work tarafından "mikro bloklar" halinde seçildi ve ardından yeni bir mikro bloğa kadar gerçekleştirilecek yayın işlemleri Bulundu. Bu, gerekli bant genişliği gereksinimlerini azaltır. PoW yarışını kazanarak küçük madencilerin daha adil bir şekilde rekabet edebilmesini sağlayın, ve işlemlerin daha düzenli yapılmasına olanak sağlanması Mikro bloğu bulan son madenci. Casper [16] önerilen bir proof-of-stake fikir birliği algoritmasıdır. Ethereum. Başlıca çalışma şekli “bahse dayalı fikir birliği”dir. Tarafından validators'nin hangi blokta olacağına inandıkları üzerine yinelemeli olarak bahis oynamasına izin vermek
diğer bahislere bağlı olarak blockchain'ye bağlanın Şu ana kadar gördükleri gibi, sonunda aynılığa ulaşılabilir. bağlantı. Bu, Casper ekibinin aktif bir araştırma alanıdır. Buradaki zorluk, yapılabilecek bir bahis mekanizması oluşturmaktır. evrimsel olarak istikrarlı bir strateji olduğu kanıtlanmıştır. Başlıca faydası Casper, Tendermint ile karşılaştırıldığında "kullanılabilirlik" sunuyor olabilir aşırı tutarlılık” – fikir birliği >⅔ yeterli çoğunluk gerektirmez oylama gücü – belki taahhüt hızı pahasına veya uygulama karmaşıklığı. Interledger Protokolü [14] kesinlikle bir ölçeklenebilirlik çözümü değildir. o farklı defterler arasında geçici bir birlikte çalışma sağlar Gevşek bir şekilde bağlı ikili ilişkiler ağı aracılığıyla sistemler. Lightning Network gibi ILP'nin amacı da ödemeler, ancak özellikle farklı ödemeler arasındaki ödemelere odaklanıyor defter türleri ve atomik işlem mekanizmasını genişletir yalnızca hash kilitleri değil, aynı zamanda noter yetersayısını da içerir (buna denir) Atomik Taşıma Protokolü). için ikinci mekanizma Defterler arası işlemlerde atomikliğin uygulanması şuna benzer: Tendermint'in hafif istemci SPV mekanizması, yani ILP ve Cosmos/IBC arasındaki ayrım garanti edilir ve aşağıda verilmiştir. 1. ILP'deki bağlayıcının noterleri üyeliği desteklemez değişiklikler arasında zexible ağırlıklandırmaya izin vermeyin ve noterler. Öte yandan, IBC özellikle şunlar için tasarlanmıştır: blockchains; burada validators farklı ağırlıklara sahip olabilir ve üyeliğin dönem boyunca değişebileceği yer blockchain. 2. Lightning Network'te olduğu gibi ILP'de ödemenin alıcısı Gönderene onay gönderebilmek için çevrimiçi olmanız gerekir. birtoken, alıcının validator kümesi olan IBC üzerinden aktarım blockchain onayın sağlanmasından sorumludur, kullanıcıyı alıyor. 3. En çarpıcı fark, ILP'nin konnektörlerinin Ödemeler konusunda sorumlu veya yetkili devleti tutmak, Cosmos'de ise bir hub'ın validator'leri şu otoritenin yetkisindedir: IBC token eyaleti transferlerinin yanı sıra her bir bölgede tutulan tokens miktarı (ancak miktarı değil) token'ler bir bölge içindeki her hesapta tutulur). Bu Güvenli asimetriklik sağlayan temel yenilik token'lerin bölgeden bölgeye aktarılması; ILP'nin analogu Cosmos içindeki bağlayıcı kalıcı ve maksimum düzeyde güvenlidir blockchain defter, Cosmos Merkez. 4. ILP'deki defterler arası ödemelerin bir belgeyle desteklenmesi gerekir. Asimetrik transfer olmadığından takas emir defteri madeni paraların bir defterden diğerine aktarılması, yalnızca değerin veya piyasa eşdeğerleri. Yan zincirler [15], Bitcoin'yi ölçeklendirmek için önerilen bir mekanizmadır. "iki yönlü sabitlenmiş" alternatif blockchain'ler aracılığıyla ağ Bitcoin blockchain. (İki yönlü sabitleme şuna eşdeğerdir: köprüleme. Cosmos'de piyasa sabitlemeden ayırt etmek için "köprüleme" diyoruz). Yan zincirler, bitcoinlerin etkili bir şekilde hareket etmesini sağlar. Bitcoin blockchain yan zincire ve arkaya doğru ilerleyin ve aşağıdakilere izin verin: yan zincirdeki yeni özelliklerin denenmesi. Olarak Cosmos Hub, yan zincir ve Bitcoin hafif istemciler olarak hizmet eder madeni paraların ne zaman yatırılması gerektiğini belirlemek için SPV kanıtlarını kullanarak birbirlerine yan zincire ve arkaya aktarılır. Elbette, Bitcoin tarihinden beri proof-of-work kullanıyor, Bitcoin merkezli yan zincirler zarar görüyor proof-of-work'nın birçok sorunu ve riskinden dolayı Konsensüs mekanizması. Üstelik bu bir Bitcoin-maksimalist çeşitli token'leri yerel olarak desteklemeyen çözüm ve
Cosmos'un yaptığı gibi bölgeler arası ağ topolojisi. Bununla birlikte, çekirdek iki yönlü çivinin mekanizması prensipte bununla aynıdır Cosmos ağı tarafından kullanılıyor. Ethereum şu anda bir dizi farklı stratejiyi araştırıyor Ethereum blockchain adresinin durumunu parçalamak için ölçeklenebilirlik ihtiyaçları. Bu çabaların amacı, Geçerli Ethereum Sanal Makine tarafından sunulan soyutlama katmanı paylaşılan durum alanı boyunca. Çoklu araştırma çabaları şu sıralar sürüyor. [18][22] Cosmos ve Ethereum 2.0 Leylak rengi [22] farklı tasarım hedeflerine sahiptir. Cosmos özellikle tokens ile ilgilidir. Mauve ölçeklendirmeyle ilgilidir genel hesaplama. Cosmos EVM'ye bağlı değildir, dolayısıyla farklı VM'ler bile birlikte çalışabiliriz. Cosmos, bölgeyi oluşturanın bölgeyi kimin doğruladığını belirlemesine olanak tanır bölge. Cosmos bölgesinde herkes yeni bir alt bölge başlatabilir (yönetim olmadığı sürece) aksi yönde karar verir). Hub bölge hatalarını izole ederek global token değişmezlerinin korunmuş. Lightning Network önerilen bir token aktarım ağıdır Bitcoin blockchain (ve diğer genel) üzerindeki bir katmanda çalışan blockchains), birçok büyüklükte iyileştirmeye olanak sağlar işlemlerin çoğunluğunu taşıyarak işlem verimini artırın fikir birliği defterinin dışında sözde "ödeme kanallarına" aktarılır.Bu, zincir üstü kripto para birimi komut dosyalarıyla mümkün olmaktadır. Tarafların ikili devlet sözleşmeleri yapmalarına olanak sağlamak, dijital imzalar ve sözleşmeler paylaşılarak durum güncellenebilir kanıtların blockchain üzerinde Yynal olarak yayınlanmasıyla kapatılabilir. Mekanizma ilk olarak zincirler arası atomik takaslarla popüler hale getirildi. Tarafından Birçok tarafla ödeme kanallarının açılması, katılımcılar Lightning Network, yönlendirme için odak noktaları haline gelebilir başkalarının ödemeleri, tamamen bağlantılı bir ödeme kanalına yol açar sermayenin ödeme kanallarına bağlanması pahasına ağ. Lightning Network aynı zamanda kolaylıkla genişleyebilir. değer aktarımına izin vermek için birden fazla bağımsız blockchains bir döviz piyasası yoluyla asimetrik olarak kullanılamaz token'ları bir blockchain'den diğerine aktarın. Asıl fayda burada açıklanan Cosmos ağının amacı bu tür doğrudan token aktarımlar. Bununla birlikte, ödeme kanallarının ve Lightning Network, ürünlerimizle birlikte geniş çapta benimsenecek token aktarım mekanizması, maliyet tasarrufu ve gizlilik nedeniyle. Ayrılmış Tanık, bir Bitcoin iyileştirme teklifi bağlantısıdır. Blok başına işlem hacmini 2 kat veya 3 kat artırmayı hedefliyor, aynı anda yeni düğümler için blok senkronizasyonunu daha hızlı hale getirir. Bu çözümün mükemmelliği, sistem içinde nasıl çalıştığındadır. Bitcoin'nin mevcut protokolünün sınırlamaları vardır ve yumuşak çatala izin verir yükseltme (yani yazılımın eski sürümlerine sahip istemciler yükseltmeden sonra çalışmaya devam edin). Tendermint, yeni olmak protokolün tasarım kısıtlaması yoktur, dolayısıyla farklı bir ölçeklendirmeye sahiptir öncelikler. Tendermint öncelikle BFT hepsini bir kez deneme algoritması kullanır madencilik yerine kriptografik imzalara dayalı birden fazla paralel üzerinden yatay ölçeklendirmeye önemsiz bir şekilde izin verir blockchains, düzenli, daha sık blok işlemeleri izin verirken dikey ölçeklendirme de.
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
³ é
Fikir Birliği ve Teknik Detaylar
İyi tasarlanmış bir fikir birliği protokolü bazı özellikleri sağlamalıdır. Tolerans kapasitesinin aşılması durumunda garantiler ve fikir birliği başarısız olur. Bu özellikle ekonomik açıdan gereklidir. Bizans davranışının önemli mali etkiye sahip olabileceği sistemler ödül. Bu türden en önemli garanti, fikir birliğine yol açan süreçlerin başarısız (yani protokol istemcilerinin farklı değerleri kabul etmesine neden oldu - bir çatal) kurallarına göre belirlenebilir ve cezalandırılabilir. protokol veya muhtemelen hukuk sistemi. Hukuk sistemi ne zaman güvenilmez veya çağrılması aşırı pahalı, validators olabilir katılmak için depozito yatırmaya zorlananlar ve Kötü niyetli davranışlar ortaya çıktığında mevduatlar iptal edilebilir veya kesilebilir. [10] algılandı. Bunun, çatallanmanın olağan bir olay olduğu Bitcoin'den farklı olduğunu unutmayın ağ eşzamansızlığı ve göndermenin olasılıksal doğası nedeniyle kısmi hash çarpışmalar. Çoğu durumda kötü niyetli bir çatal olduğundan eşzamansızlık nedeniyle çataldan ayırt edilemez, Bitcoin olamaz Örtülü olanlar dışında çatal sorumluluğunu güvenilir bir şekilde uygulayın Yetim durumdaki bir bloğun madenciliği için madencilerin ödediği fırsat maliyeti. Oylama aşamalarına PreVote ve PreCommit diyoruz. Bir oy şuna olabilir: belirli bir blok veya Nil için. >⅔ ÖnOylardan oluşan bir koleksiyona diyoruz aynı turdaki tek bir blok için bir Polka ve >⅔ koleksiyonu Aynı turda tek bir blok için Ön Taahhütler. >⅔ ise Aynı turda Nil için Ön Komite, bir sonrakine geçiyorlar yuvarlak. Protokoldeki katı determinizmin zayıf bir etki yarattığını unutmayın. Hatalı liderlerin tespit edilmesi gerektiğinden senkronizasyon varsayımı ve
atlandı. Böylece, validators bir süre bekler, TimeoutPropose, Ön Oy Vermeden Önce ve değeri TimeoutPropose her turda artar. İlerleme bir turun geri kalanı tamamen eşzamansızdır, bu nedenle ilerleme yalnızca validator ağın >⅔'ünden haber aldığında yapılır. Pratikte, süresiz olarak engellemek için son derece güçlü bir düşman gerekirdi zayıf eşzamanlılık varsayımı (uzlaşının başarısız olmasına neden olur) asla bir blok gerçekleştirin) ve bunu yapmak daha da fazla yapılabilir Her birinde TimeoutPropose'un rastgele değerlerini kullanarak zor validator. Ek bir dizi kısıtlama veya Kilitleme Kuralı, ağ sonunda her yükseklikte yalnızca bir blok işleyecektir. Herhangi biri Birden fazla bloğun işlenmesine neden olmaya yönelik kötü niyetli girişim Belirli bir yükseklikte tanımlanabilir. İlk olarak, bir blok için PreCommit o blok için bir Polka şeklinde gerekçeli olarak gelmelidir. validator zaten R_1 turunda bir blok PreCommit'e sahipse, o blokta kilitli olduklarını söylüyorlardı ve Polka da bu durumu haklı çıkarıyordu. R_2 turundaki yeni Ön Taahhüt, R_polka turunda gelmelidir burada R_1 < R_polka <= R_2. İkincisi, validator'ler Teklif Vermeli ve/veya kilitli oldukları bloğa ÖnOy verin. Birlikte bunlar koşullar, bir validator'nin olmadan Ön Taahhüt yapmamasını sağlar Gerekçe olarak yeterli delil ve validator'ler PreCommit zaten PreCommit'e delil olarak katkıda bulunamaz başka bir şey. Bu hem güvenliği hem de canlılığı sağlar. fikir birliği algoritması. Protokolün tüm ayrıntıları burada açıklanmaktadır. Alternatif bir zincirin (çatal) varlığı ≥⅓ anlamına geldiğinden TendermintPoS'ta tüm blok başlıklarını senkronize etme ihtiyacı ortadan kalkar. bağlı hisse kesilebilir. Tabii ki, kesme işlemi gerektirdiğinden Birisi bir çatalın kanıtını paylaşıyorsa, hafif istemciler saklamalıdır herhangi bir blok-hash gördüğünü taahhüt eder. Ayrıca hafif istemcilervalidator kümesinde yapılan değişikliklerle periyodik olarak senkronize kalabilir. uzun menzilli saldırılardan kaçınmak için (ancak diğer çözümler mümkün). Ethereum'ye benzer bir ruhla Tendermint, uygulamaların her bloğa global bir Merkle kökü hash gömerek kolayca izin verin Hesap bakiyeleri, değer gibi şeyler için doğrulanabilir durum sorguları bir sözleşmede saklanması veya harcanmamış bir işlemin varlığı uygulamanın niteliğine bağlı olarak çıktı. Yeterince dayanıklı bir yayın ağları koleksiyonu varsayarsak ve statik bir validator kümesi varsa, blockchain içindeki herhangi bir çatal tespit edildi ve rahatsız edici validator'lerin mevduatları kesildi. Bu Vitalik Buterin'in ilk olarak 2014'ün başlarında önerdiği yenilik, diğer proof-of-stake'nin tehlikede olmayan hiçbir şey sorunu kripto para birimleri (bkz. İlgili Çalışma). Ancak validator ayarlandığından beri orijinali uzun bir süre boyunca değiştirebilmelidir validators'nin tümü bağımsız hale gelebilir ve dolayısıyla hiçbir maliyete katlanmadan, oluşum bloğundan yeni bir zincir oluşturun artık kilitli mevduatları yok. Bu saldırı gerçekleşti Kısa Menzilli Saldırının aksine Uzun Menzilli Saldırı (LRA) olarak bilinir Şu anda bağlı olan validator'lerin menzil saldırısına neden olduğu Menzil Saldırısı çataldır ve bu nedenle cezalandırılabilir (çataldan sorumlu olduğu varsayılarak BFT Tendermint fikir birliği gibi bir algoritma). Uzun Menzilli Saldırılar genellikle proof-of-stake'ye kritik bir darbe olduğu düşünülür. Neyse ki LRA aşağıdaki şekilde hafifletilebilir. Öncelikle bir süreliğine validator borcunu çözebilir (böylece teminat depozitolarını geri alabilir) ve artık fikir birliğine katılmak için ücret kazanmıyoruz), depozito belirli bir süre devredilemez hale getirilmelidir "bağların çözülme dönemi" olarak bilinen ve haftalar veya aylar. İkincisi, hafif istemcinin güvende olması için ilk ağa bağlandığında yeni bir bloğu doğrulaması gerekir-hash güvenilir bir kaynağa veya tercihen birden fazla kaynağa karşı. Bu
duruma bazen “zayıf öznellik” adı verilir. Son olarak, güvende kalabilmesi için şu tarihteki en son validator ayarıyla senkronize edilmesi gerekir en az bağlanma süresinin uzunluğu kadar sıklıkta. Bu Hafif istemcinin validator'deki değişikliklerden haberdar olmasını sağlar validator'nin sermayesi serbest olduğundan ve dolayısıyla artık tehlikede, bu da müşteriyi kandırmasına izin verecek bir noktadan başlayarak yeni bloklar oluşturarak uzun menzilli bir saldırı bağlandığı yerin yüksekliği (yeterince kontrole sahip olduğu varsayılarak) ilk özel anahtarların çoğu). LRA'nın bu şekilde üstesinden gelinmesinin, proof-of-work orijinal güvenlik modeli. PoW'da, hafif bir istemcinin mevcut yükseklikle senkronize edilebileceğini varsaydı. her blok başlığında iş kanıtını işleyerek istediğiniz zaman güvenilir bir oluşum bloğu oluşturabilirsiniz. Ancak LRA'nın üstesinden gelmek için hafif bir istemcinin belli bir düzenlilikle çevrimiçi olmasını gerektirir validator kümesindeki değişiklikleri takip edin ve ilk kez çevrimiçi olduklarında kimlik doğrulama konusunda özellikle dikkatli olmaları gerekir ağdan güvenilir kaynaklara karşı duyduklarını. arasında elbette, bu ikinci gereksinim Bitcoin gereksinimine benzer; burada protokol ve yazılımın da güvenilir bir yerden alınması gerekir. kaynak. LRA'yı önlemeye yönelik yukarıdaki yöntem validators için çok uygundur ve Tendermint destekli bir blockchain'nin tam düğümleri çünkü bunlar düğümlerin ağa bağlı kalması amaçlanır. yöntem aynı zamanda hafif istemciler için de uygundur. ağ ile sık sık senkronize edin. Ancak hafif istemciler için internete sık erişime sahip olmaları beklenmemektedir veya blockchain ağı, üstesinden gelmek için başka bir çözüm daha kullanılabilir LRA. validator olmayan token sahipleri token'lerini şu şekilde gönderebilir: çok uzun bir çözülme süresine sahip teminat (örneğin çok daha uzun validators için ayrılma döneminden daha uzun) ve hafif istemcilere hizmet veriyor Geçerliliğin geçerliliğini doğrulamak için ikincil bir yöntemle ve geçmiş blok-hashes. Bu token'ler hesaba katılmasa da blockchain'in fikir birliğinin güvenliği, yine deHafif müşteriler için güçlü garantiler sağlayın. Geçmiş blok ise-hash sorgulama Ethereum'de destekleniyordu, herkes kendi tokens'yi özel olarak tasarlanmış bir smart contract içinde sağlayın ve sağlayın Ücretli tasdik hizmetleri, hafif istemci LRA güvenliği için etkili bir pazar oluşturuyor. Blok taahhüdünün tanımlanması nedeniyle herhangi bir ≥⅓ koalisyonu oylama gücü blockchain'yi fanzin kapanıp kapanmayarak durdurabilir oylarını yayınlıyorlar. Böyle bir koalisyon aynı zamanda sansür de yapabilir bunları içeren blokları reddederek belirli işlemleri işlemler, ancak bu önemli bir oranda sonuçlanacaktır hızı yavaşlatacak blok tekliflerinin reddedilmesi blockchain'nin blok taahhütlerinin artması, faydasını ve değerini azaltır. Kötü niyetli koalisyon aynı zamanda oyları damla damla yayınlayabilir. blockchain blok taahhütlerinin neredeyse durma noktasına gelmesi veya devreye girmesi için bu saldırıların herhangi bir kombinasyonu. Son olarak aşağıdakilere neden olabilir: blockchain çift imzalayarak veya kilitlemeyi ihlal ederek çatallanmaya kurallar. Eğer küresel çapta aktif bir düşman da işin içinde olsaydı, bu durum bölüşülebilirdi. ağı yanlış gibi görünebilecek şekilde Yavaşlamadan validators alt kümesi sorumluydu. bu değil sadece Tendermint'in bir sınırlaması, daha ziyade hepsinin bir sınırlaması Ağı potansiyel olarak bir kişi tarafından kontrol edilen konsensüs protokolleri aktif düşman Bu tür saldırılar için validators'nin bir alt kümesi bir yeniden düzenleme teklifini imzalamak için harici yollarla koordinasyon sağlamak bir çatal (ve bunun herhangi bir kanıtını) ve başlangıç alt kümesini seçer validators imzalarıyla birlikte. Böyle bir yeniden düzenleme teklifini imzalayan doğrulayıcılar, diğer tüm çatallardaki teminatlarından vazgeçer. Müşteriler şunları yapmalıdır: Yeniden düzenleme teklifindeki imzaları doğrulayın, her türlü kanıtı doğrulayın, ve bir karar verin veya son kullanıcıyı bir karara yönlendirin. için Örneğin, bir telefon cüzdanı uygulaması kullanıcıya bir güvenlik kodu sorabilir.
uyarı, buzdolabı herhangi bir yeniden düzenleme teklifini kabul edebilirken Orijinal validator'lerin +½'si tarafından oylama yetkisiyle imzalanmıştır. Hiçbir senkronize olmayan Bizans hataya dayanıklı algoritma gelemez Oylama gücünün ≥⅓'ü sahtekâr olduğunda fikir birliğine varmak, ancak yine de çatallanmak oylama gücünün ≥⅓'ünün halihazırda sahtekâr olduğunu varsayar gerekçesiz olarak çift imza veya kilit değiştirme. Yani imzalamak yeniden düzenleme teklifi çözülemeyecek bir koordinasyon sorunudur senkronize olmayan herhangi bir protokolle çözülür (ör. otomatik olarak ve güvenilirliği hakkında varsayımlarda bulunmadan temel ağ). Şimdilik, yeniden düzenleme önerisi koordinasyonu sorununu toplumsal uzlaşma yoluyla insan koordinasyonuna bırakıyoruz. internet medyasında. Doğrulayıcılar, orada olduğundan emin olmak için dikkatli olmalıdır. Çakışan iki yeniden düzenleme teklifinin imzalandığı durumları önlemek için, bir yeniden düzenleme teklifinin imzalanmasından önce kalan ağ bölümü yoktur. Harici koordinasyon ortamının ve protokolün sağlam, buradan çatalların sansürden daha az endişe verici olduğu sonucu çıkıyor saldırılar. ≥⅓ Bizans gerektiren çatal ve sansüre ek olarak oylama gücü, >⅔ oylama gücünden oluşan bir koalisyon taahhütte bulunabilir keyfi, geçersiz durum. Bu herhangi bir (BFT) özelliğidir Konsensüs sistemi. Çatal oluşturan çift imzalamanın aksine kolayca doğrulanabilir kanıtlarla, bir kişinin bağlılığını tespit etmek geçersiz durum, doğrulama yapmayan eşlerin tüm blokları doğrulamasını gerektirir, bu, durumun yerel bir kopyasını tuttukları ve yürüttükleri anlamına gelir Her işlem için durum kökünü bağımsız olarak hesaplayarak kendileri. Bir kez tespit edildiğinde böyle bir arızayla baş etmenin tek yolu toplumsal mutabakat yoluyla gerçekleşir. Örneğin, Bitcoin durumunda yazılım hataları nedeniyle çatallanma başarısız oldu (Mart ayında olduğu gibi) 2013) veya Bizans davranışından dolayı geçersiz bir durumun gerçekleştirilmesi Madenciler (Temmuz 2015'te olduğu gibi), iyi bağlantılara sahip bir topluluk işletmeler, geliştiriciler, madenciler ve diğer kuruluşlar manuel eylemlerin ne olduğu konusunda toplumsal bir fikir birliği oluşturduKatılımcıların ağı iyileştirmesi gerekiyor. Ayrıca, beri validators İhale blockchain olması beklenebilir tanımlanabilir, geçersiz bir durumun taahhüdü bile olabilir istenirse kanun veya bazı harici içtihatlar tarafından cezalandırılabilir. ABCI, şu adresten teslim edilen 3 ana mesaj türünden oluşur: uygulamanın çekirdeği. Uygulama şu şekilde yanıt verir: karşılık gelen yanıt mesajları. AppendTx mesajı uygulamanın çalışma atıdır. Her biri blockchain içindeki işlem bu mesajla iletilir. uygulamanın, alınan her işlemi doğrulaması gerekir. Mevcut duruma, uygulama protokolüne karşı AppendTx mesajı, ve işlemin kriptografik kimlik bilgileri. Doğrulanmış işlemin daha sonra uygulama durumunu güncellemesi gerekir - tarafından bir değeri anahtar değerler deposuna bağlamak veya UTXO değerini güncelleyerek veritabanı. CheckTx mesajı AppendTx'e benzer ancak yalnızca işlemlerin doğrulanması. Tendermint Core'un ilk bellek havuzu kontrolleri CheckTx ile yapılan bir işlemin geçerliliği ve yalnızca aktarmaların geçerli olması akranlarıyla işlem yapıyor. Uygulamalar artan bir değeri kontrol edebilir işlemde nonce ve eğer CheckTx'te bir hata döndürüyorsa nonce eski. Taahhüt mesajı bir şifreleme hesaplamak için kullanılır mevcut başvuru durumuna bağlılık, sonraki blok başlığı. Bunun bazı kullanışlı özellikleri var. Bu durumun güncellenmesindeki tutarsızlıklar artık şu şekilde görünecek: blockchain tüm programlama sınıfını yakalayan çatallar hatalar. Bu aynı zamanda güvenli hafifliğin geliştirilmesini de kolaylaştırır. Merkle-hash kanıtları kontrol edilerek doğrulanabildiği için istemciler blok-hash ve blok-hash yetersayı tarafından imzalandı validators (oy gücüne göre).
Ek ABCI mesajları uygulamanın takip etmesine olanak tanır ve validator kümesini değiştirin ve uygulamanın yükseklik ve taahhüt oyları gibi bilgileri bloke edin. ABCI istekler/yanıtlar basit Protobuf mesajlarıdır. Kontrol et şemayı çıkarın. Argümanlar: Veri ([]bayt): İstek işlemi baytları İade: Kod (uint32): Yanıt kodu Veri ([]bayt): Varsa sonuç baytları Günlük (dize): Hata ayıklama veya hata mesajı Kullanımı:
Bir işlem ekleyin ve çalıştırın. İşlem geçerli ise CodeType.OK değerini döndürür Argümanlar: Veri ([]bayt): İstek işlemi baytları İade: Kod (uint32): Yanıt kodu Veri ([]bayt): Varsa sonuç baytları Günlük (dize): Hata ayıklama veya hata mesajı Kullanımı:
Bir işlemi doğrulayın. Bu mesaj, devlet. İşlemler ilk önce CheckTx üzerinden gerçekleştirilir bellek katmanındaki eşlere yayınlanır. Yapabilirsin CheckTx yarı durumlu ve Taahhüt üzerine durumu temizler veya BeginBlock , bağımlı işlem dizilerine izin vermek için aynı blokta.
İade: Veri ([]bayt): Merkle kökü hash Günlük (dize): Hata ayıklama veya hata mesajı Kullanımı:
Uygulama durumunun Merkle kökünü hash döndürün. Argümanlar: Veri ([]bayt): Sorgu isteği baytları İade: Kod (uint32): Yanıt kodu Veri ([]bayt): Sorgu yanıtı baytları Günlük (dize): Hata ayıklama veya hata mesajı Kullanımı:
Yanıt kuyruğunu temizleyin. Gerçekleştiren uygulamalar type.Uygulamanın bu mesajı uygulamasına gerek yoktur; proje tarafından ele alınmaktadır. İade: Veri ([]bayt): Bilgi baytları Kullanımı:
Uygulama durumuyla ilgili bilgileri döndürün. Başvuru özel. Argümanlar: Anahtar (dize): Ayarlanacak anahtar
Değer (dize): Anahtar için ayarlanacak değer İade: Günlük (dize): Hata ayıklama veya hata mesajı Kullanımı:
Uygulama seçeneklerini ayarlayın. Örn. Anahtar=“mod”, Değer=“bellek havuzu” için bir bellek havuzu bağlantısı veya Anahtar=“mod”, Değer=“fikir birliği” fikir birliği bağlantısı. Diğer seçenekler uygulamaya özeldir. Argümanlar: Doğrulayıcılar ([]Doğrulayıcı): İlk oluşum-validators Kullanımı:
Bir zamanlar yaradılışta çağrıldı Argümanlar: Yükseklik (uint64): Başlangıç bloğunun yüksekliği Kullanımı:
Yeni bir bloğun başlangıcını işaret eder. Herhangi birinden önce çağrıldı Ek Tx'ler. Argümanlar: Yükseklik (uint64): Biten blok yüksekliği İade: Doğrulayıcılar ([]Doğrulayıcı): validators yenisiyle değiştirildi oylama yetkileri (kaldırmak için 0) Kullanımı:
Bir bloğun sonunu işaret eder. Sonuçta her Taahhütten önce çağrıldı işlemler Daha fazla ayrıntı için ABCI deposuna bakın.Bir göndericinin bu bilgiyi istemesinin birkaç nedeni vardır. Paketin tesliminin alıcı zincir tarafından onaylanması. Örneğin, gönderen e-postanın durumunu bilmiyor olabilir. Arızalı olması bekleniyorsa hedef zincir. Veya gönderen pakete bir zaman aşımı uygulamak istiyorsanız (MaxHeight ile) Paket sarımı), ancak herhangi bir hedef zincir, gelen paketlerin sayısında ani bir artışla hizmet reddi saldırılarına maruz kalabilir. paketler. Bu durumlarda gönderici teslimat onayını talep edebilir. başlangıç paket durumunu AckPending olarak ayarlayarak. O halde, bu teslimatı onaylamak için teslim alma zincirinin sorumluluğundadır. Merkle uygulamasında IBCPacket olarak kısaltılmıştır hash. İlk olarak, "Hub" üzerinde bir IBCBlockCommit ve IBCPacketTx yayınlanır. bu, "Bölge1"de bir IBCPaket 'in varlığını kanıtlar. Bunu söyle IBCPacketTx şu değere sahiptir: FromChainID : “Bölge1” FromBlockHeight: 100 (örneğin) Paket : bir IBCPaket :
Başlık: an IBCPacketHeader:
SrcChainID : “Bölge1”
DstChainID : “Bölge2”
Sayı: 200 (örneğin)
Durum : Onay Bekleniyor
Tür: “para”
MaxHeight : 350 (“Hub”ın şu anda 300 yükseklikte olduğunu söyleyin)
Yük :
FromBlockHeight: 400 (örneğin)
Paket : bir IBCPaket :
Başlık : an IBCPacketHeader :
SrcChainID : “Bölge1”
DstChainID : “Bölge2”
Sayı : 200
Durum: AlındıGönderildi
Tür: “para”
Maksimum Yükseklik : 350
PayloadHash :
durumu 350 bloğundaki “Bölge2”den ayarlasaydı, durumu ayarlardı otomatik olarak Zaman Aşımı'na geçer. Bu zaman aşımı kanıtı, “Bölge1”e geri gönderilir ve tüm token'ler iade edilebilir. Desteklenen iki tür Merkle trees vardır Tendermint/Cosmos ekosistemi: Basit Ağaç ve IAVL+ Ağaç. Basit Ağaç, statik bir öğe listesi için Merkle tree'dur. Eğer öğelerin sayısı ikinin katı değil, bazı yapraklar farklı seviyeler. Simple Tree, ağacın her iki tarafını da aynı seviyede tutmaya çalışır. aynı yükseklikte, ancak soldaki daha büyük olabilir. Bu Merkle tree Bir bloğun işlemlerini ve üst seviyeyi Merkle-ize etmek için kullanılır uygulama durumu kökünün öğeleri.IAVL+ veri yapısının amacı kalıcı uygulama durumundaki anahtar/değer çiftleri için depolama, öyle ki deterministik Merkle kökü hash verimli bir şekilde hesaplanabilir. ağaç, AVL algoritmasının bir çeşidi kullanılarak dengelenir ve tümü işlemler O(log(n))'dir. Bir AVL ağacında herhangi bir düğümün iki alt alt ağacının yükseklikleri en fazla bir farklılık gösterir. Bu koşul herhangi bir şekilde ihlal edildiğinde güncelleme, ağaç O(log(n)) yeni düğümler oluşturularak yeniden dengelenir eski ağacın değiştirilmemiş düğümlerine işaret eder. Orijinal AVL'de Algoritmaya göre iç düğümler aynı zamanda anahtar/değer çiftlerini de tutabilir. AVL+ algoritma (artıya dikkat edin) tümünü koruyacak şekilde AVL algoritmasını değiştirir anahtarları depolamak için yalnızca dal düğümlerini kullanırken, yaprak düğümlerdeki değerler. Bu, merkle hash izini korurken algoritmayı basitleştirir kısa. AVL+ Ağacı, Ethereum'nin Patricia denemelerine benzer. var ödünleşimler. Anahtarların eklenmeden önce hashed edilmesi gerekmez IAVL+ ağaçları, böylece anahtarda daha hızlı sıralı yineleme sağlar bazı uygulamalara fayda sağlayabilecek alan. Mantık daha basit yalnızca iki tür düğüm gerektiren uygulama; iç düğümler ve yaprak düğümleri. Merkle kanıtı ortalama olarak daha kısadır; * / \ / \ / \ / \ * * / \ / \ / \ / \ / \ / \ * * * h6 / \ / \ / \ h0 h1 h2 h3 h4 h5 7 öğeli bir SimpleTree
dengeli ikili ağaç Öte yandan, bir sayının Merkle kökü IAVL+ ağacı güncellemelerin sırasına bağlıdır. Ek verimli Merkle tree'leri destekleyeceğiz, örneğin Ethereum’den Patricia Trie ikili değişken haline geldiğinde mevcut. Kanonik uygulamada, işlemler şu adrese aktarılır: ABCI arayüzü aracılığıyla Cosmos hub uygulaması. Cosmos Hub bir dizi birincil işlemi kabul edecektir SendTx , BondTx , UnbondTx , ReportHackTx dahil olmak üzere türler, SlashTx , BurnAtomTx , ProposalCreateTx ve ProposalVoteTx , bunlar oldukça açıklayıcıdır ve bir belgede belgelenecektir. Bu makalenin gelecekteki revizyonu. Burada iki birincil belgeyi belgeliyoruz IBC için işlem türleri: IBCBlockCommitTx ve IBCPacketTx. Bir IBCBlockCommitTx işlemi şunlardan oluşur: ChainID (string) : blockchain'nin kimliği BlockHash ([]byte) : Block-hash bayt, Merkle kökü bu uygulamayı içerir-hash BlockPartsHeader (PartSetHeader) : Blok parça kümesi başlığı bayt, yalnızca oy imzalarını doğrulamak için gerekli BlockHeight (int) : Taahhüdün yüksekliği BlockRound (int) : Taahhüt turu Taahhüt ([]Oy): >⅔ Tendermint Ön Taahhüdü şunu oylar: bir blok taahhüdünü içerir ValidatorsHash ([]byte) : Yeninin Merkle ağacı kökü hash validator ayarlandı
ValidatorsHashProof (SimpleProof): ValidatorsHash'in BlockHash'e karşı kanıtlanması için SimpleTree Merkleproof
AppHash ([]byte) : IAVLTree Merkle ağacı kökü hash
uygulama durumu
AppHashProof (SimpleProof): SimpleTree Merkle'ye karşı dayanıklı
AppHash'in BlockHash'a karşı kanıtlanması
Bir IBCPaket aşağıdakilerden oluşur:
Başlık (IBCPacketHeader): Paket başlığı
Yük ([]bayt): Paket yükünün baytları. İsteğe bağlı
PayloadHash ([]byte) : Paketin baytları için hash.
İsteğe bağlı
Payload veya PayloadHash'tan birinin mevcut olması gerekir. hash
IBCPaket 'in iki öğesi olan Başlık'ın basit Merkle köküdür
ve Yük . Tam yük taşımayan bir IBCPakete adı verilir
kısaltılmış paket
Bir IBCPacketHeader aşağıdakilerden oluşur:
SrcChainID (string) : Kaynak blockchain kimliği
DstChainID (string): Hedef blockchain kimliği
Sayı (int): Tüm paketler için benzersiz bir sayı
Durum (numaralandırma): AckPending , AckSent ,'den biri olabilir
AckReceived, NoAck veya Zaman Aşımı
Tür (dize): Türler uygulamaya bağlıdır. Cosmos
"jeton" paket türünü saklı tutar
MaxHeight (int): Durum NoAckWanted veya AckReceived değilse
bu yüksekliğe göre durum Timeout olur. İsteğe bağlı
Bir IBCPacketTx işlemi şunlardan oluşur:FromChainID (string) : blockchain'nın kimliği:
bu paketi sağlamak; mutlaka kaynak değil
FromBlockHeight (int) : blockchain yüksekliği
Aşağıdaki paket, hash bloğuna dahil edilmiştir (Merkle-ized)
kaynak zinciri
Paket (IBCPacket): Durumu bir olabilecek bir veri paketi
AckPending , AckSent , AckReceived , NoAck veya Timeout'un sayısı
PacketProof (IAVLProof): Kanıtlama için IAVLTree Merkle geçirmez
paketin hash kaynak zincirinin AppHash'ine karşı
verilen yükseklik
“Bölge1”den “Bölge2”ye paket gönderme sırası
"Hub" aracılığıyla geçiş {Şekil X}'te gösterilmektedir. İlk olarak bir IBCPacketTx
"Hub"a paketin uygulama durumuna dahil olduğunu kanıtlar
“Bölge1”. Daha sonra başka bir IBCPacketTx "Bölge2"ye şunu kanıtlar:
paket “Hub”un uygulama durumuna dahil edilir. Bu sırada
prosedür, IBCPacket verileri aynıdır: SrcChainID
her zaman “Bölge1”dir ve DstChainID her zaman "Bölge2"dir.
PacketProof doğru Merkle geçirmez yola sahip olmalıdır.
şöyle:
“Bölge1” “Hub” üzerinden “Bölge2”ye paket göndermek istediğinde,
IBCPaket verileri, paketin "Bölge1", "Hub" veya "Bölge2"de Merkleleştirilmiş olmasına bakılmaksızın aynıdır. Değişebilen tek sarı
Teslimatı takip etme durumu.
Kavramsallaştırmada yardım eden arkadaşlarımıza ve akranlarımıza teşekkür ederiz.
Tendermint ile yaptığımız çalışmaları gözden geçirmek ve destek sağlamak
ve Cosmos.
IBC/
SkuChain'den Zaki Manian, biçimlendirme konusunda çok yardımcı oldu ve özellikle ABCI bölümü altındaki ifadeler Althea'dan Jehan Tremback ve Dustin Byington'a yardımlarından dolayı ilk yinelemeler Honey Badger'dan Andrew Miller'a fikir birliğiyle ilgili geri bildirimleri için teşekkür ederiz Greg Slepak'a fikir birliği ve ifadelerle ilgili geribildirim için teşekkür ederiz. Ayrıca çeşitli katkılarından dolayı Bill Gleim ve Seunghwan Han'a teşekkürler. katkılar. Adınız ve kuruluşunuz katkılarınız için burada 1 Bitcoin: https://bitcoin.org/bitcoin.pdf 2 ZeroCash: http://zerocash-project.org/paper 3 Ethereum: https://github.com/ethereum/wiki/wiki/WhitePaper 4DAO: https://download.slock.it/public/DAO/WhitePaper.pdf 5 Ayrılmış Tanık: https://github.com/bitcoin/bips/blob/master/bip0141.mediawiki 6 BitcoinNG: https://arxiv.org/pdf/1510.02037v2.pdf 7 Yıldırım Ağı: https://lightning.network/lightningnetwork-paper-DRAFT-0.5.pdf 8 İhale: https://github.com/tendermint/tendermint/wiki 9 FLP İmkansızlığı: https://groups.csail.mit.edu/tds/papers/Lynch/jacm85.pdf 10 Kesici: 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 Interledger: https://interledger.org/rfcs/0001-interledgerarchitecture/ 15 Yan Zincir: 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 Parçalama: https://github.com/ethereum/EIPs/issues/53 19 LibSwift: http://www.ds.ewi.tudelft.nl/yleadmin/pds/papers/Performa nceAnalizOfLibswift.pdf 20 DLS: http://groups.csail.mit.edu/tds/papers/Lynch/jacm88.pdf 21 İnce İstemci Güvenliği: https://en.bitcoin.it/wiki/Thin_Client_Security 22 Ethereum 2.0 Leylak Rengi Kağıt: http://vitalik.ca/yles/mauve_paper.html https://www.docdroid.net/ec7xGzs/314477721-ethereumplatform-review-opportunities-and-challenges-for-privateand-consortium-blockchains.pdf.html
3 e