Todas as línguas
O objetivo do Harmony é criar um blockchain baseado em fragmentos com total escalabilidade e segurança. Ela estudou muitas soluções de blockchain no mercado e propôs seu próprio plano de implementação de engenharia. É aqui que Harmony merece a atenção de todos.
Este é um objetivo muito alto. Em primeiro lugar, tem escalabilidade completa. O sharding do Harmony inclui não apenas confirmação de transação, comunicação de rede, mas também sharding de estado de blockchain. Em segundo lugar, devemos garantir a segurança da fragmentação. O sharding do Harmony é baseado no processo DRG (Distributed Random Generation), que o torna imprevisível, justo, verificável e escalável. Além disso, o Harmony adota o mecanismo PoS em vez do mecanismo PoW para selecionar validadores e possui sua própria otimização para o mecanismo de consenso PBFT. O PoS tem um certo limite, não apenas para garantir que pequenos interessados possam participar da rede e obter renda, mas também para impedir que invasores mal-intencionados obtenham controle sobre um único fragmento. O Harmony implementa a disseminação de informações dentro de um shard e através de uma rede de shard usando o Adaptive Information Dispersal Algorithm. O Harmony também usa o roteamento Kademlia para realizar transações entre estilhaços que escalam logaritmicamente à medida que o número de estilhaços aumenta. Com o sharding, a consistência das transações cross-shard também deve ser mantida. O Harmony também suporta transações cross-shard, suporta comunicação direta entre shards e garante a consistência das transações cross-shard por meio de um mecanismo de bloqueio atômico.
Ao todo, Harmony tenta fornecer um blockchain escalável, seguro e descentralizado, otimizando a camada de protocolo e a camada de rede, que pode suportar cenários de aplicativos descentralizados mais convencionais, incluindo jogos, trocas descentralizadas, IoT, etc. Esta é uma visão ambiciosa.
Atualmente, muitos novos projetos de blockchain estão tentando aumentar a velocidade de processamento de transações (taxa de transferência), mas novas soluções como dPoS em EOS e TRON, Rootchain em Quarkchain, etc. devem sacrificar alguns elementos-chave, por exemplo, descentralização e a segurança podem melhorar significativamente o desempenho.
Embora tal sistema funcione muito rapidamente, ele só pode ser considerado como um sistema semicentralizado, que perde o conceito central de blockchain - descentralização.
Como solução para a expansão do blockchain, o sharding pode melhorar significativamente o desempenho da rede sem comprometer a segurança e a descentralização.
O Harmony resolve o problema da expansão do blockchain introduzindo fragmentação de estado no blockchain - uma vez que cada nó só precisa executar e armazenar uma parte dos dados do blockchain para concluir a transação, a carga de trabalho do processamento da transação é compartilhada por Isso melhora muito o escalabilidade do próprio bloco.
O dimensionamento é um dos problemas mais comentados na indústria de blockchain no momento. Quem resolver esse problema primeiro se tornará o líder do setor. Claro, a premissa aqui é que, sob a premissa de levar em consideração os dois atributos de segurança e descentralização, se um avanço for alcançado sacrificando esses dois atributos-chave, isso é apenas um avanço de baixo nível ou está se movendo em direção a um caminho de desenvolvimento diferente.
Sob a premissa de levar em conta a segurança e a descentralização, o sharding é um dos caminhos mais importantes para a expansão do blockchain. Este é o foco da exploração do Harmony. Embora existam outros projetos de sharding blockchain, incluindo Ethereum 2.0, também existem projetos cross-chain. Se o Harmony pode explorar o sharding, pode ser mais sólido do que outros projetos. Então ele tem uma chance de obter uma vantagem na competição.
Claro que a equipe Harmony escolheu um caminho difícil, que exige muito esforço e tem concorrentes muito fortes. De acordo com a introdução da equipe Harmony ao Blue Fox Notes, o projeto completou 18 milhões de dólares em financiamento e os investidores têm fundos do Vale do Silício, Austrália, Hong Kong e Cingapura, e teve um bom começo.
Do white paper da Harmony, pode-se ver que a equipe tem pensamento técnico claro e pensou profundamente sobre os problemas a serem enfrentados na implementação de projetos de sharding. A equipe é composta principalmente por pessoal de P&D, principalmente do background da Microsoft, Google e Apple.
Mecanismo de consenso FBFT escalável
Harmony não adota PoW, mas mecanismo PoS, os usuários obtêm os direitos e recompensas de produzir blocos por tokens de aposta. Ao mesmo tempo, o Harmony usa o mecanismo FBPT no processo de produção e verificação de blocos. Antes de explicar o que é FBFT, sabemos que PBFT é uma prática de tolerância a falhas bizantina. Como o PBFT possui um mecanismo que os verificadores precisam transmitir seus votos para outros verificadores, isso aumenta muito a complexidade de comunicação do PBFT, dificultando a expansão do blockchain se o sistema tiver centenas ou milhares de nós.
Para o problema de que o PBFT é difícil de expandir, o FBFT foi otimizado e o FBFT pode alcançar expansão linear em termos de complexidade de comunicação. Especificamente, como alcançá-lo? No mecanismo FBFT, ele também tem as funções de líder e verificador, e não exige que todos os verificadores transmitam seus votos. O líder executa um processo de assinatura multi-assinatura para coletar os votos dos verificadores. O tamanho dessa assinatura múltipla é O(1 ) e, em seguida, transmita a votação. Isso significa que cada validador precisa receber apenas uma multiassinatura, reduzindo a complexidade da comunicação de O(n^2) para O(n).
O mecanismo de assinatura Schnorr pode atingir agregação de múltiplas assinaturas de tamanho constante e formar uma árvore multicast entre os verificadores para facilitar a entrega de mensagens, mas a assinatura múltipla Schnorr requer rodadas de compromisso secreto, o que levará ao problema de duas viagens de ida e volta para uma única multi-signature , o FBFT usa o esquema de assinatura múltipla BLS (Boneh-Lynn-Shacham) para otimizar esse problema, e apenas uma viagem de ida e volta é necessária para alcançá-lo. Portanto, o FBFT é 50% mais rápido que o BFT usando o mecanismo de assinatura Schonorr. Por fim, o Harmony também emprega o código-fonte RaptorQ para acelerar o processo de transmissão em bloco.
Uma coisa a observar é que todos os verificadores de consenso Harmony são selecionados com base no mecanismo PoS. Os validadores com mais ações votantes têm mais votos do que todos os outros, em vez de assinar um voto por vez. Isso também significa que o que o líder espera não é a assinatura dos verificadores 2f+1, mas o voto dos verificadores 2f+1.
Algoritmo aleatório integrando VRF e VDF
Para o blockchain, ele precisa ser expandido rapidamente. Por exemplo, o FBFT mencionado acima pode obter confirmação de transação mais rápida, mas a segurança é sempre o mais importante importante de. No processo de validação de blocos, manter a aleatoriedade é uma prioridade para a segurança.
Um bom algoritmo aleatório deve ser imprevisível, verificável, não discriminatório e escalável ao mesmo tempo. Alguns protocolos podem ser imprevisíveis, não discriminatórios e verificáveis, mas a escalabilidade é fraca, como o protocolo RandHound. Eles têm suas próprias vantagens e desvantagens.
Harmony propõe um algoritmo de geração aleatória que combina as tecnologias VRF e VDF. VRF é uma função aleatória verificável e VDF é uma função de atraso verificável. A Algorand usa classificação criptográfica baseada em VRF (Função Aleatória Verificável) para selecionar um grupo de verificação de consenso; Ethereum 2.0 propõe VDF (Função Verificável de Atraso) para atrasar a revelação do número aleatório real e impedir o ataque do último revelador.
Devido ao VDF, o líder não pode saber o número aleatório final real até que o pRnd seja submetido ao blockchain. Como o VDF é usado para calcular Rnd, o prRnd já foi confirmado no bloco anterior, portanto o líder não pode manipulá-lo. Se o líder não enviar o pRnd para interromper o protocolo, o FBFT possui um mecanismo de timeout para alternar o líder e reiniciar o protocolo. Além disso, a complexidade do protocolo DRG adotado pelo Harmony é O(n), que é pelo menos uma ordem de grandeza mais rápida do que alguns projetos.
Sharding baseado em PoS
Tanto PoW quanto PoS devem prevenir ataques Sybil. A cadeia PoW usa poder de computação para provar sua identidade e, assim, obtém o direito de produzir blocos. A Harmony adota o mecanismo PoS, e o PoS usa o penhor do token de patrimônio do validador para provar isso. Para se tornar um validador do Harmony, você deve primeiro apostar certos tokens. Quanto mais tokens apostados, mais ações de votação do validador você pode obter. Cada ação votante corresponde a um voto para o consenso BFT.
As partes interessadas recebem ações com direito a voto proporcional aos tokens que apostam. As ações com direito a voto são atribuídas aleatoriamente a fragmentos. As partes interessadas que se tornam validadores de shard obtêm direitos de voto correspondentes no shard.
No processo de consenso e sharding do Harmony, existe um conceito de ciclos (Epochs). Períodos são intervalos de tempo predeterminados durante os quais a estrutura do shard é fixa e cada shard executa continuamente o consenso com o mesmo conjunto de validadores.
No início de cada ciclo, um número aleatório será gerado pelo protocolo DRG, e a estrutura de fragmentação será determinada com base no número aleatório. Os validadores devem apostar seus tokens no período anterior se quiserem validar transações durante um determinado período. O prazo para a promessa de aposta é antes que o número aleatório de pré-imagem pRnd seja enviado ao blockchain.
No início de cada novo ciclo de validação, as ações com direito a voto do novo validador são atribuídas aleatoriamente aos fragmentos. Novos validadores ingressam em um shard e suas ações com direito a voto são distribuídas. O consenso de fragmentos requer assinaturas de bloco com pelo menos 2f+1 ações com direito a voto.
Para garantir a segurança de um único shard, o Harmony adota um limite adaptável PoS, que ajusta o preço das ações com direito a voto por meio de algoritmos de maneira adaptativa e atribui ações individuais com direito a voto aos shards em vez de uma única verificação por.
Para evitar ataques de token prometido em grande escala, o Harmony não fragmenta por meio de verificadores, mas fragmenta por meio de ações com direito a voto para evitar que um grande número de verificadores detentores de moedas ocupem um único fragmento. Um único validador pode ser atribuído a vários shards se tiver ações com direito a voto atribuídas a diferentes shards. O líder de um shard é determinado para ser o validador com a primeira ação votante em um determinado grupo.
Ao mesmo tempo, as ações com direito a voto são tão pequenas que invasores mal-intencionados não conseguem reunir poder em um único fragmento. Após o cálculo, Harmony acredita que, uma vez que mais de 600 ações com direito a voto, a alta segurança do sharding pode ser garantida.
Considerando os benefícios econômicos, validadores com mais tokens apostados têm mais chances de serem eleitos líderes. Em caso de comportamento malicioso, os validadores que apostaram tokens temem que seus interesses sejam diminuídos, garantindo assim a segurança da rede.
Além dos mecanismos acima, o Harmony também adota um esquema de sharding remodelado para melhorar sua segurança. Porque se os fragmentos permanecerem estruturados, os invasores mal-intencionados ainda terão a oportunidade de realizar seus ataques. Como a implementação do ataque de ciclo estático, ataque de adaptação lenta ou ataque de adaptação total e assim por diante. O Harmony usa um mecanismo de resharding baseado nas regras do Cuckoo para resolver esses problemas. Ao final de um ciclo de validação em que os validadores que retiram a aposta são expulsos da rede, os que mantêm a aposta ficam.
Sincronização de estado rápida
O primeiro bloco de uma época contém um link hash para o primeiro bloco da época anterior. Isso permite que o estado de novos nós seja sincronizado rapidamente, onde eles podem contar com blocos cinza para verificar rapidamente o estado atual.
Se você precisar baixar todo o histórico do blockchain para verificar as transações do shard, o tempo é muito longo. Se você sincronizou o histórico do blockchain do Ethereum, saberá que pode levar vários dias. O Harmony só precisa baixar o estado atual dentro de uma janela de tempo de ciclo.
No Harmony, novos validadores que ingressam em um estilhaço primeiro baixam as tentativas de estado atual para esse estilhaço. Novos nós baixam cabeçalhos de bloco históricos e verificam os cabeçalhos de bloco verificando suas assinaturas. O estado do fragmento é válido desde que haja vestígios criptográficos do estado atual de volta ao bloco de gênese, como ponteiros de hash e assinaturas.
Ao mesmo tempo, para reduzir o custo e o tempo de cálculo da verificação de assinatura, o primeiro bloco de cada ciclo do Harmony contém um ponteiro hash adicional apontando para o primeiro bloco do ciclo anterior. Dessa forma, um novo nó pode pular outros blocos em um ciclo ao rastrear seu ponteiro de hash para o bloco de gênese, acelerando assim a verificação do estado atual da blockchain. Por fim, para otimizar ainda mais o processo de sincronização de estado, o Harmony manterá o próprio estado da blockchain o menor possível.
Links relacionados:
https://www.qukuaiwang.com.cn/szhb/3285.html###