Tem havido muita conversa sobre a interoperabilidade do blockchain recentemente com o lançamento do Cosmos e a ameaça potencial ao ecossistema Ethereum. Essa peça vai ser um mergulho profundo sobre os aspectos técnicos Cosmos e Polkadot, mas também fornecerá o conhecimento pré-requisito necessário para compreender esses protocolos em um nível técnico (com imagens para ajudar na compreensão).
Em primeiro lugar, é importante saber por que interoperabilidade assuntos. Na Internet existente, podemos acessar e modificar vários conjuntos de dados por meio de APIs (interfaces específicas de aplicativos). No entanto, com blockchains, os dados são isolados pela cadeia em que existem. Então, o que significa ter interoperabilidade?
- Transferência sem confiança ativos entre diferentes cadeias
- Contratos inteligentes entre cadeias que podem interagir entre si
- Redes especializadas que pode ser usado por outros blockchains
Antes de entrarmos nos detalhes de qualquer abordagem específica de interoperabilidade, gostaria de passar algum tempo descrevendo alguns dos noções básicas de sistemas distribuídos para nos ajudar a entender os conceitos mais tarde. Lembre-se de que blockchains são simplesmente um conjunto de máquinas em todo o mundo chegando a um acordo sobre como deveria ser uma coleção de dados.
Sistemas distribuídos são, como o nome indica, um grupo de computadores trabalhando juntos para realizar um trabalho muito meta específica. Um exemplo desse objetivo pode ser servir o mesmo conteúdo em todo o mundo para muitas pessoas (como manter o feed de notícias do Twitter atualizado). Na tentativa de atingir este objetivo, eles têm que superar os seguintes problemas:
- Cronometragem. Cada computador/sistema executará a mesma tarefa em seu próprio ritmo e tempo.
- Encomendar. Tentar resolver o que aconteceu e quando com o tempo ainda é muito difícil, pois os relógios começam a “derivar” após um período de tempo. Isto torna a ordem um desafio complicado, uma vez que cada sistema tem o seu próprio relato do que aconteceu e quando.
- Falha. A coordenação entre sistemas pode falhar devido a uma falha no sistema, ao não recebimento/envio de mensagens para outros sistemas corretamente ou à escolha de agir maliciosamente (bizantino)
Tal como os humanos, a forma de resolver a maioria dos problemas é através de uma boa comunicação. Porém, com computadores, isso é um pouco mais complicado, pois eles podem se comunicar assincronamente or sincronicamente.
O que isso significa?
- Síncrono = cada sistema tem um certo tempo alocado para se comunicar e eles se revezam. Pense nisso em conversas reais para humanos.
- Assíncrono = cada sistema pode se comunicar quando quiser e não há suposições sobre quando falarão. Pense nisso como um Slack para humanos.
Tudo dito e feito, no final das contas, um blockchain deveria ter segurança (acordo sobre o mesmo resultado) e vivacidade (a cadeia continua crescendo e funcionando). Se a sua corrente tiver segurança, mas não vivacidade, pare de produzir blocos. Se tiver vivacidade, mas não tiver segurança, produzir muitos garfos e você não saberá qual é o blockchain correto, a menos que tenha uma regra (por exemplo, a cadeia mais longa em Bitcoin)!
A tolerância prática a falhas bizantinas é uma implementação desenvolvida por Bárbara Liskov e Miguel Castro e introduzidas em 1999. As cadeias de Proof of Stake como Cosmos e Polkadot têm elementos em seu design inspirados no PBFT, então vale a pena descrever o que é e como funciona.
- Uma parte ouvirá inúmeras transações até poder formar um bloco dessas transações. Vamos nos referir a esta festa como propor, Desde que eles oferece um bloco.
- Uma vez proposto um bloco, todos participam de um pré-votação para confirmar que ouviram o mesmo bloqueio. É importante observar que um bloqueio pode ser incorreto/malicioso, mas ainda assim ser válido na fase de pré-votação, já que todos estão simplesmente tentando chegar a um consenso de que receberam o mesmo dados/bloco.
- Quando mais de ⅔ dos participantes concordarem que receberam o mesmo bloco, eles passam para o pré-compromisso etapa. Uma votação pré-confirmação é então lançada para determinar se este é um válido bloquear e nada malicioso está acontecendo.
- Se mais de ⅔ dos participantes votarem que o bloco é realmente válido e correto, então poderemos com sucesso commit este bloco para o blockchain.
- A altura do blockchain é aumentada e as etapas 1 a 5 são repetidas.
Pelo que aprendemos acima, podemos ver que as etapas a seguir garantem que o ordem de blocos é conhecido (pela altura do blockchain aumentando quando um commit acontece), cada computador pode levar algum tempo para chegar à sua própria conclusão e depois comunicar o resultado a que chegou (cronometragem) e pode lidar falha (nó malicioso propondo um bloco ou nó não podendo votar).
Entra em cena a Cosmos, fundada em 2016 por Jae Kwon e Ethan Buchman e criada ao longo de $ 17M+ em seu ICO para ATOMs. O Cosmos Hub é isso próprio blockchain que se conecta a outras zonas (blockchains) e, portanto, permite a comunicação entre diferentes zonas. Qualquer blockchain de prova de trabalho, como Bitcoin, Ethereum, ZCash ou um blockchain específico de aplicativo, teria que ser conectado a uma zona de ponte por meio da estrutura de comunicação Inter Blockchain.
Entrando nos detalhes arquitetônicos, o Cosmos Hub usa Tendermint já que é um algoritmo de consenso (inspirado no PBFT) criado por Jae Kwon em 2014. O que isso significa é que cada estágio de votação (pré-votação e pré-comprometimento) tem um período fixo de tempo para todos votarem antes de passar para o próximo estágio. Depois que um bloco é finalizado, não há como voltar atrás. Isso significa que você pode ter pagamentos instantâneos móveis e pela Internet das coisas, pois assim que a transação estiver em um bloco, ela será finalizada. Desde sem confirmações são necessários, isso é chamado de “finalidade rápida”.
ATOMs mantidos por usuários podem ser usados para tornem-se validadores no sistema ou para delegar ATOMs para um validador. A blockchain Cosmos terá Validadores 100 para começar e planejamos aumentar o limite por meio de um parâmetro de governança no futuro. Somente aqueles com poder razoável na rede poderão participar da segurança da rede.
Para tornar tudo isso menos teórico, descreverei um conjunto de etapas para possivelmente converter ETH para BTC. - o exemplo favorito de todos.
- A zona intermediária confiável será criado para Ethereum e haverá um conjunto de validadores que serão responsáveis por retransmitir mensagens da zona-ponte Ethereum para o Cosmos Hub.
- Como tanto o Ethereum quanto o Bitcoin são probabilísticos (há uma chance de a cadeia atual não ser a correta), os validadores precisam esperar por um certo número de confirmações para garantir que a transação realmente foi realizada.
- Assim que os validadores tiverem certeza de que a transação foi finalizada, eles iniciarão uma transação de sua zona para o Cosmos Hub informando que de fato receberam o Ether. O hub irá então crio uma forma de Éter Cosmos Embrulhado que isso vai aguentar. Todas as outras zonas do Cosmos agora saberão que há um novo Wrapped Cosmos Ether no sistema.
- Supondo que uma taxa de câmbio tenha sido determinada antecipadamente, o Wrapped Cosmos Ether será trocado para Cosmos Bitcoin embrulhado. Este Wrapped Cosmos Bitcoin é então enviei para a zona Bitcoin intermediária confiável e enviada para o endereço especificado na cadeia Bitcoin real.
Existem algumas suposições/coisas a serem observadas com este modelo:
- O Cosmos Hub precisa garantir que os saldos dos ativos Wrapped Cosmos sejam aumentados e diminuídos corretamente. Embora esta seja uma desvantagem potencial, a equipe do Cosmos projetou o sistema de forma que qualquer pessoa possa criar seu próprio hub. Essencialmente, o Cosmos será uma rede de Hubs e Zonas administradas por diferentes grupos.
- É preciso confiar que cada zona está transmitindo as mensagens corretas sobre os ativos enviados/recebidos. Os remetentes também precisam confiar que o conjunto de validadores retransmitirá corretamente suas mensagens e não roubará seus ativos.
Polkadot foi fundada por Gavin Wood, cofundador e ex-CTO da Ethereum e presidente da Web3 Foundation. Polkadot arrecadou mais de 145 milhões no final de 2017 vendendo a moeda nativa DOT durante uma venda coletiva. Se o Cosmos se assemelha a uma rede aberta de hubs e zonas, Polkadot é uma única “cadeia de retransmissão” que oferece inúmeros benefícios às cadeias, chamadas “parachains” (abreviação de cadeias paralelizáveis), que se junta a ele.
Alguns aspectos principais que Polkadot pretende inovar são:
- Cada ganho de parachain segurança agrupada do conjunto validador da cadeia de relés. Depois que uma cadeia se conecta à rede Polkadot tornando-se um parachain, ela é protegida com o mesmo nível de segurança que toda a rede Polkadot. No Cosmos, cada nova cadeia precisa de seu próprio conjunto de validadores e precisa inicializar sua própria segurança.
- Parachains podem interagir com outros parachains usando comunicação entre cadeias de taxas de confiança. Os usuários que desejam se comunicar entre cadeias não precisam confiar em todas as cadeias para as quais transmitem mensagens, mas apenas na segurança singular de toda a rede Polkadot. Novamente, isso é diferente de como o Cosmos funciona, onde um usuário precisaria confiar na cadeia de origem, nas cadeias de roteamento e na cadeia de destino com cada um de seus conjuntos de validadores separados.
O mecanismo de consenso de Polkadot consiste em dois componentes: VOVÔ e BABE. GRANDPA é um gadget de finalidade que se baseia em algumas ideias por trás da regra de escolha de fork GHOST (como Casper de Ethereum) e BABE é um mecanismo de produção de blocos semelhante ao Ouroboros de Cardano. A introdução de um dispositivo de finalidade permite que partes da cadeia sejam “finalizadas” e provavelmente nunca serão revertidas. Separar o gadget de finalidade da produção de blocos permite que o dispositivo de finalidade mais lento funcione em um processo diferente da geração de novos blocos na cadeia. Isso significa que a produção real de blocos pode ser escalonada, diferentemente do algoritmo Cosmos Tendermint vinculado a PBFT.
No ecossistema Polkadot, você tem as seguintes partes:
- Collators — Produzir os blocos para parachains e passar as informações aos validadores para verificação.
- Nominador — Aloca seu capital aos validadores para participarem do mecanismo de staking.
- Validador — Exigem um alto requisito de ligação porque são responsáveis por realmente vedar os novos blocos da cadeia de relés. Suas funções cruciais incluem:
- Criação de novos blocos.
- Finalizando a cadeia de revezamento através da participação no GRANDPA.
- Validar blocos parachain garantindo que as transações ocorridas estão corretas e que as mensagens cross-chain foram processadas.
- Pescadores — Caçadores de recompensas que “vão pescar” atores maliciosos observando os outros nós da rede.
Uma boa maneira de pensar no Polkadot é como um sistema interconectado que se conectará a outras cadeias com as quais deseja se comunicar por meio de pontes. Todos os parachains e a cadeia de retransmissão operam como um, sistema unificado. Um parachain pode incorporar lógica personalizada e será responsável por lidar com suas próprias transições de estado enquanto recebe e publica mensagens para outras cadeias. Parachains serão capazes de comunicar-se com outros parachains ouvindo uns aos outros, ao contrário do Cosmos, onde tudo deve ser encaminhado através do Hub.
A arquitetura do Polkadot é elegante pelas principais suposições de design que ele fez. Isso começa com o fato de que parachain ler informações passivamente de contratos-ponte, em vez de depender de contratos-ponte enviando mensagens para outros parachains. Cada parachain é tratado Não é diferente para qualquer outro parachain. Isso significa que a estrutura de comunicação entre cadeias de Polkadot é verdadeiramente confiável, uma vez que os parachains agem no interesse da cadeia de retransmissão, e não de qualquer parachain específico que estão validando. Além disso, os validadores são transferido para outro parachain em intervalos e aleatoriamente.
Vamos dar um exemplo que pode ser mais identificável: como funcionaria se você quisesse converter moedas de um parachain para outro? Vejamos o exemplo popular de conversão de ETH em BTC.
Collators pois o parachain Ethereum passaria cabeçalhos de bloco para validadores em seu parachain. O validadores assinaria e publicaria as transações relevantes no contrato inteligente da ponte Ethereum em um formato que pudesse ser reconhecido e comunicado com o para-quedas zona. Qualquer ETH enviado seria mantido por um conjunto validador Polkadot, que também forneceria DOTs como garantia para transações inválidas. O parachain Ethereum, por sua vez, se comunicaria com o parachain Bitcoin, que liberaria o BTC para o endereço especificado por meio do conjunto de validadores que governa esse parachain específico. As decisões de design ainda estão sendo finalizadas, mas a ideia em torno da comunicação entre cadeias é que ela não será confiável.
Uma coisa a ter em conta é que o mecanismo de parachain de Polkadot alocará slots de parachain por meio de leilões on-chain sem permissão. Esses leilões envolveriam o bloqueio dos DOTs por algum tempo para manter o parachain conectado à rede Polkadot. A governança será capaz de intervir e corrigir a situação no caso de situações urgentes em que os parachains contenham um bug crítico ou sirvam a algum propósito malicioso. Polkadot será governado por um mecanismo de governança on-chain, pois acredita que é a melhor maneira de governar redes criptográficas.
Como Gavin Wood afirmou neste artigo: “Acredito que quaisquer blockchains que não introduzam governança na cadeia, incluindo o fornecimento de um mecanismo viável para emitir atualizações, acabarão por se envenenar através do populismo tóxico. Não acredito que “processos fora da cadeia”, “sinalização na cadeia” e “consenso aproximado” forneçam meios suficientes para permitir que os verdadeiros intervenientes no ecossistema da cadeia governem eficazmente e conduzam uma cadeia para o sucesso a longo prazo. Também acredito que é essencialmente impossível modernizar a governação.”
Muitos dos principais problemas de interoperabilidade parecem ter sido resolvidos a um alto nível, mas a execução ainda está muito atrasada. O Cosmos foi lançado em março de 2019, mas só colocou o Cosmos Hub em funcionamento. Os próximos passos são finalizar como o Comunicação entre Blockchain estrutura funcionará. Polkadot está pronto para ser lançado final de 2019 com apenas a cadeia de retransmissão ativa.
No geral, estou extremamente animado com o lançamento do Cosmos e do Polkadot. O que será interessante ver é a adoção dos desenvolvedores e as lutas políticas de cada rede e como elas se desenrolam. Cadeias específicas de aplicativos são um sonho neste momento, já que não apenas a infraestrutura básica está longe de ser concluída, mas os desenvolvedores precisarão pensar sobre o recursos e pessoas eles precisarão estar conectados e ter segurança suficiente.
Será mesmo uma troca relevante? É difícil dizer. Talvez Governança fora da cadeia do Ethereum é exatamente o que lhe permite prosperar, apesar da execução mais lenta do roteiro, uma vez que permite uma verdadeira inovação sem permissão com as garantias de uma cadeia altamente segura.
O outro lado deste argumento é que todas as redes criptográficas irão inicializar a sua segurança noutra cadeia, como a Ethereum, e depois passarão para a sua própria cadeia, uma vez que possam garantir a segurança da mesma através da sua comunidade existente. Um bom exemplo seria MakerDAO, eles teriam recursos suficientes para criar sua própria rede e obter apoio político suficiente para fazer parte da para-cadeia de Polkadot. Se por algum motivo não conseguir apoio suficiente para fazer parte da para-chain, poderá estabelecer uma zona de ponte em Cosmos e inicializar sua própria segurança. Polkadot planeja fornecer slots de ponte para cadeias que não são capazes de fornecer segurança agrupada, mas ainda transmitem mensagens ao longo da linha.
Acho que esses são os tipos de perguntas diferenciadas que nós, como comunidade, precisamos fazer, em vez de encarar as cadeias como um jogo de soma zero. Pessoalmente, estou animado para saber aonde tudo isso nos leva e receptivo aos seus comentários sobre este artigo. Entre em contato comigo no Twitter @kermankohli.
Agradecimentos especiais a Gavin Wood (Web3 Foundation), Logan Saether (Web3 Foundation), Billy Rennekamp (Cosmos), Chjango Unchained (Cosmos) por suas contribuições para garantir a precisão técnica do artigo.
- 2016
- 2019
- Acesso
- Conta
- Adoção
- Acordo
- algoritmo
- Todos os Produtos
- APIs
- Aplicação
- arquitetura
- por aí
- artigo
- Ativos
- MELHOR
- Pouco
- Bitcoin
- blockchain
- PONTE
- BTC
- Bug
- capital
- casper
- desafiar
- cofundador
- vinda
- Comunicação
- comunidade
- computadores
- Consenso
- contract
- conversas
- Cosmos
- Casal
- cripto
- CTO
- Moeda
- Atual
- dados,
- dia
- Design
- Developer
- desenvolvedores
- DID
- ETH
- Ether
- ethereum
- Ecossistema Ethereum
- EU
- EV
- exchange
- Fixar
- garfo
- formulário
- formato
- Quadro
- futuro
- jogo
- Bom estado, com sinais de uso
- governo
- Grupo
- Crescente
- GV
- Manipulação
- Alta
- segurar
- Como funciona o dobrador de carta de canal
- HTTPS
- Humanos
- ICO
- idéia
- Incluindo
- Crescimento
- INFORMAÇÕES
- Infraestrutura
- Inovação
- interesse
- Internet
- Interoperabilidade
- IP
- IT
- juntar
- manutenção
- Chave
- Conhecimento
- lançamento
- aprendido
- Nível
- Line
- longo
- Março
- Matéria
- média
- Móvel Esteira
- modelo
- mover
- rede
- redes
- nós
- Oferece
- aberto
- ordem
- Outros
- pagamentos
- Pessoas
- veneno
- Popular
- poder
- presidente
- Produção
- prova
- Prova de Trabalho
- publicar
- Recursos
- Execute
- corrida
- Segurança
- Escala
- segurança
- conjunto
- Baixo
- folga
- smart
- smart contract
- So
- RESOLVER
- gastar
- Etapa
- estaca
- Staking
- começo
- Estado
- sucesso
- .
- sistemas
- Dados Técnicos:
- A fonte
- tempo
- tolerância
- transação
- Transações
- Confiança
- us
- usuários
- Voto
- Votação
- QUEM
- Atividades:
- trabalho
- mundo
- Equivalente há
- Zcash