A EMERsion of Blockchain: descobrindo os segredos da Emercoin
Publicados: 2021-08-09No primeiro de uma série de artigos que revelam a gama de aplicações das tecnologias de blockchain habilitadas para Emercoin, veremos como essa criptomoeda surgiu e como ela é diferente de todos os outros espécimes da crescente indústria de criptomoeda.
As redes ponto a ponto crescem em eficiência e confiabilidade conforme o número de participantes aumenta. Isso os torna uma ferramenta perfeita para soluções em escala corporativa e global que vão muito além de “meros” aplicativos financeiros. O mundo está começando a perceber isso agora. Na Emer, essa foi a ideia que impulsionou nosso crescimento desde o início.
Emercoin Core
Historicamente, o núcleo Emercoin foi herdado de Peercoin, que por sua vez surgiu do Bitcoin. A Peercoin introduziu uma inovação essencial chamada consenso de Prova de Participação (PoS). Isso permitiu expandir e melhorar o algoritmo de prova de trabalho (PoW) então existente.
Consenso é um algoritmo usado em uma rede descentralizada para validar uma determinada versão de um blockchain em crescimento. O consenso resulta de todos os mineiros ”usando seus próprios recursos para“ votar ”por tal validação. Para isso, eles são recompensados com criptomoedas recém-criadas. Em outras palavras, os mineiros vendem seu serviço de “manutenção de confiança de rede” em troca de moedas.
Então, como sabemos quem tem direito de votar?
Não pode ser uma carteira, porque então um usuário fraudulento poderia criar milhões de carteiras e usar esses votos fantasmas para validar qualquer versão de blockchain de sua preferência.
Também não pode ser um endereço IP, pois qualquer ISP pode falsificar uma grande rede, criando também hordas de eleitores fantasmas.
Portanto, votar requer um recurso limitado que não pode ser replicado ou falsificado.
Para o sistema Bitcoin, Satoshi Nakamoto propôs uma solução de Prova de Trabalho, que envolve validação por capacidade computacional. Na verdade, se a capacidade de computação do seu computador for X, você pode criar N subcomputadores virtuais, mas a capacidade de computação agregada não vai exceder X. Em outras palavras, o proprietário de tais subcomputadores virtuais não terá mais votos do que um único usuário.
Em seguida, outros conceitos de consenso foram oferecidos com foco em recursos de computação diferentes dos processadores. Por exemplo, a prova de capacidade foi baseada na capacidade da unidade de disco. Isso provoca uma corrida armamentista na evolução do ecossistema da criptomoeda. Os mineiros continuam investindo em seu hardware até que as despesas de depreciação do equipamento zerem a receita gerada pela mineração. Em seguida, eles começam a reclamar que "mineração não gera ganho" ou "criptomoeda nada mais é que uma fraude".
Prova de aposta foi um conceito inovador introduzido por Sunny King na Peercoin. Peercoin limitou a capacidade de voto por suas próprias moedas. Isso ajudou a evitar a corrida armamentista ao substituir recursos materiais (processadores, drives de disco) por virtuais (moedas). Como resultado, as pessoas pararam de desperdiçar recursos materiais, dinheiro e eletricidade na busca por maior poder de mineração.
O algoritmo PoS, também, suas falhas. Por exemplo, é vulnerável a ataques internos. Os últimos são parcialmente evitados por ferramentas adicionais, como, por exemplo, pontos de verificação dinâmicos. Em geral, o PoS provou ser mais seguro do que o PoW.
O protocolo de consenso híbrido usado pelo Peercoin é considerado o mais seguro, e é por isso que o usamos como base para o projeto Emercoin. Para ter sucesso, um invasor no Emer precisa possuir 51% da capacidade computacional agregada da rede e 51% de seu estoque de moedas. Duas barreiras de natureza diferente protegem amplamente a rede de ser desacreditada.
Outra razão pela qual Peercoin foi escolhido foi o código Bitcoin clássico e maduro usado em seu núcleo. Ele não foi apenas revisado por muitos especialistas em segurança, mas também lidou com vários ataques fracassados.
Finalmente, queríamos seguir uma abordagem industrial para projetos, permitindo a conformidade máxima com os padrões e especificações existentes, e as tecnologias Bitcoin e API determinaram de fato os padrões para a indústria de criptografia.
Emercoin vs Bitcoin: semelhanças e diferenças
PoW + PoS vs PoW
Como já mencionado, Emercoin usa um protocolo de consenso híbrido. retirado de Peercoin. A única mudança que fizemos foi aumentar o peso do PoS para aproximadamente 80%. Assim, Emer é uma criptomoeda essencialmente baseada em PoS, com uma ferramenta PoW auxiliar.
SHA-256
Emercoin fecha blocos usando a mesma função hash SHA-256. Nós o escolhemos porque é um padrão oficial e suficientemente seguro. Além disso, ASICs especiais já fazem mineração SHA-256 há algum tempo, então os mineradores podem ter certeza de que nenhum novo hardware de propósito especial projetado para outro algoritmo provocará uma revolução de complexidade para sacudir a rede e consolidar a capacidade de mineração nas mãos de aqueles que possuem esse novo hardware.
Como observação lateral, somos contra a mineração com computadores de uso geral, pois essa abordagem é potencialmente perigosa para partes não envolvidas. Antes do aparecimento dos ASICs, vários vírus de computador usavam as capacidades de computação dos computadores afetados para extrair Bitcoins. Os ASICs tornaram esse malware economicamente inviável. Mas outras criptomoedas extraídas de computadores de uso geral ainda estão expostas a esse risco.
Intervalo de bloco de 10 minutos
Assim como Bitcoin e Peercoin, Emercoin oferece 10 minutos para fechar um bloco. Um tempo mais curto por bloco resultaria em mais colisões com blocos órfãos e uma perda na confiabilidade da rede.
A probabilidade de colisão é calculada dividindo o tempo de atualização da rede pelo tempo de fechamento do bloco. O tempo de atualização da rede depende da topologia e da carga da rede. Atualizar a rede Bitcoin leva minutos. Outras criptomoedas (por exemplo, Quark) que reduziram o tempo de fechamento do bloco para menos de um minuto encontram exposição constante do fork assim que a carga da rede se torna mais ou menos substancial.
Alguém pode objetar, referindo-se ao excelente protocolo Ghost da Ethereum, que não é exposto a garfos. Mesmo que seus blocos órfãos (“tios”) não façam parte do blockchain resultante, eles participam da votação de uma versão em cadeia, portanto, o intervalo do bloco pode ser reduzido para cerca de 20 segundos.
Mas este protocolo tem suas próprias vulnerabilidades. Por exemplo, uma rede Ghost está sujeita a tempestades de rede, quando uma quantidade extrema de tráfego ocorre em redes Ethernet sob uma determinada carga. Simplificando, a rede é vulnerável porque seu tempo de atualização é proporcional ao seu tráfego. Sob uma carga crítica (muitas transações por segundo), o tempo de atualização se torna comparável ao tempo de geração do bloco. Neste caso, diferentes mineradores podem gerar independentemente blocos candidatos a serem incluídos no blockchain. E aí vem uma surpresa: esses blocos conterão as mesmas transações. Assim, eles voltarão a circular pela rede, multiplicando o tráfego, ou seja, gerando mais carga de rede, mais atrasos e mais “tios”. A rede irá se comportar como se estivesse exposta a um ataque de amplificação DNS / NTP, com os mesmos nós da rede sendo o atacante e a vítima.
Além disso, apenas um bloco candidato está incluído no blockchain. Como a rede usou recursos não apenas para calcular aquele bloco, mas também seus companheiros - blocos, que votaram, mas não foram incluídos no blockchain resultante, a confiança no blockchain aceito diminui drasticamente. Como resultado, a rede pode ser atacada com menos de 51% de sua capacidade computacional agregada.
Em suma, acreditamos que a abordagem proposta por Satoshi Nakamoto ainda é a melhor disponível.
Complexidade de recomputação após cada bloco
Ao contrário do Bitcoin, que recalcula sua complexidade de mineração a cada 2016 blocos (ou seja, aproximadamente a cada duas semanas), as redes Emer e Peercoin fazem isso após cada novo bloco, contribuindo para a confiabilidade da rede. Aqui está um exemplo:
Suponha que, após uma recomputação de complexidade programada, 50% dos mineradores de Bitcoin parem de trabalhar. Aliás, essa situação não é tão improvável quanto pode parecer. Isso poderia acontecer se os governos em países que hospedam grandes reservatórios de mineração promulgassem algumas leis para esse fim - como pode muito bem ser o caso em breve na China. Como resultado, os intervalos de fechamento dos blocos dobrarão para 20 minutos e o tamanho do bloco também dobrará. Considerando que muitos blocos hoje atingiram o limite de 1 MB, é provável que muitas transações fiquem sem confirmação por dias. Isso poderia provocar pânico e mais transações por parte de quem deseja vender pelo preço atual, agravando ainda mais a situação. Levaria semanas para o sistema se recuperar.
Uma rede que recalcula sua complexidade após cada novo bloco não está exposta a esse risco, pois se ajusta instantaneamente à capacidade de computação agregada dos novos mineradores. Além disso, sendo predominantemente uma criptomoeda PoS, a Emercoin não é muito afetada pela mineração e / ou piscinas. Mesmo se todos os pools parassem de funcionar ao mesmo tempo, levaria apenas 20% mais tempo para adicionar um bloco, e o sistema de ajuste resolveria isso em apenas 24 horas.
Reavaliando o número de blocos de PoW concedidos
A Emercoin tem mais um mecanismo para manter sua capacidade de mineração mais confiável, um loop de feedback negativo que usa a taxa de hash da rede (capacidade de mineração agregada). A questão é que a recompensa do mineiro não é fixa (como no caso do Bitcoin), mas inversamente proporcional à 4ª raiz da complexidade da rede.

Se o valor fiduciário da Emercoin aumentar, ou seja, mais usuários começarem a minerá-lo, isso contribui para a complexidade da rede e, portanto, reduz a recompensa por cada bloco. Como resultado, a rede fica protegida contra a alta inflação fiat . Por outro lado, se os mineiros perderem o interesse na Emercoin por qualquer motivo, o sistema se torna muito menos complicado e os retém oferecendo recompensas mais altas.
Em teoria, a estratégia de mineração mais eficiente da Emercoin é cooperar e minerar usando a capacidade mínima e compartilhando a renda máxima. No entanto, isso é improvável, porque os mineiros enfrentarão uma variação do dilema do prisioneiro .
6% de rendimento percentual anual para PoS
Como a Emercoin é uma criptomoeda PoS, um minerador pode gerar renda com hardware de mineração e moedas em sua carteira. Optamos por pagar bônus PoS à taxa de 6% ao ano. Ou seja, se as moedas utilizadas para fechar uma transação permanecerem intactas por mais de um mês, é provável que possam ser utilizadas para fechar um bloco, gerando um APY de 6% para o proprietário. Uma vez que as moedas são usadas, o período de inatividade “esgota-se” e um novo período de inatividade começa para o novo proprietário. Em outras palavras, 6% APY é a recompensa PoS máxima, que só pode ser recebida se as moedas permanecerem intactas. Atualmente, o aumento real do estoque de dinheiro por meio do PoS APY é de cerca de 4-5% ao ano. À medida que a Emercoin se torna mais difundida e as transações mais numerosas, esse valor diminuirá para corresponder às taxas típicas de moedas fiduciárias sólidas - embora nunca seja completamente anulado.
Pode-se objetar que este 6% APY gera inflação, mas deve-se mencionar que a Emercoin tem uma tendência deflacionária, ou seja, o valor da moeda está crescendo, e bastante rápido. Isso pode ser visto em sua taxa de câmbio, que aumentou quase quatro vezes desde o início do ano. Esse descompasso com o modelo ingênuo se deve ao fato de o valor da moeda estar vinculado ao valor econômico correspondente. O crescimento econômico acarreta um aumento no valor da moeda, de modo que o PoS tem uma contribuição insignificante para o crescimento geral do estoque monetário, em comparação com outros fatores.
Emissão e anulação de Emercoins
Pode-se concluir do exposto que o estoque de dinheiro da Emercoin pode crescer perpetuamente. Parece ser verdade na primeira aproximação. Na verdade, os participantes que mantêm o consenso vendem seus serviços para a rede e são recompensados com moedas recém-criadas. No entanto, a Emercoin possui um mecanismo que anula moedas, equilibrando assim a emissão de moedas. Ele faz isso cobrando uma taxa por serviços de blockchain, como o envio de moedas ou a compra de contas com o NVS. Ou seja, ao contrário do Bitcoin, que possui limites para a emissão de moedas e não possui ferramentas para anulá-las, a Emercoin permite a emissão indefinidamente, mas também possui um processo oposto para equilibrá-la. Os participantes que vendem seus serviços para a rede são recompensados e aqueles que compram serviços da rede pagam por eles.
Em uma estimativa aproximada e considerando os fatores atualmente disponíveis, um total de cerca de 1 bilhão de EMC será gerado em 80 anos.
Revelando endereços IP externos
A primeira inovação exclusiva implementada pela Emercoin foi o protocolo RFC5389, uma ferramenta STUN para revelar endereços IP externos. Após o NAT, o software da carteira precisa saber o endereço IP externo para funcionar corretamente. O Bitcoin costumava recebê-lo, e outros ainda o recebem, endereçando um servidor centralizado ( http://checkip.dyndns.org ). Posteriormente, mudou para UPNP e definições de configuração manual. Rejeitamos essa abordagem por vários motivos, como a falha do UPNP após um NAT multicamadas. No final, decidimos não usar um servidor centralizado, mas sim aplicar o padrão STUN, que é usado para propósitos semelhantes no VoIP. No momento, gerenciamos a lista mais completa de servidores públicos STUN disponíveis e usamos esses servidores em nosso subsistema STUN para identificar endereços IP externos.
Otimizador de transações
O Transaction Optimizer é outra inovação exclusiva implementada na Emercoin.
As criptomoedas com blockchains contendo transações exigem que você selecione um subconjunto para gastos ao criar uma nova transação. Bitcoin e outras criptomoedas usam um algoritmo estocástico que pega 1.000 amostras aleatórias para selecionar um subconjunto que contém um valor o mais próximo possível do necessário. No entanto, mesmo se a carteira contiver um subconjunto correspondente à soma exata, o algoritmo padrão quase sempre o ignoraria, criando uma nova transação para pagamento e mantendo a diferença. Isso resulta na criação de transações superdimensionadas e na geração de uma transação futura para gastar a diferença.
Esse algoritmo também leva ao problema do “pó de ouro”, resultando em um grande número de transações de baixo valor.
A Emercoin aplica uma abordagem de programação dinâmica para selecionar o subconjunto de transações. Este algoritmo tem a garantia de encontrar um subconjunto perfeitamente correspondente, se existir. Nossas avaliações mostram que o valor médio das transações diminuiu 5%, desacelerando o crescimento do blockchain.
Pontos de verificação dinâmicos distribuídos
As criptomoedas PoS são vulneráveis a alguns ataques exóticos específicos de PoS. Um dos mais perigosos deles é o “ataque interno”. Se um ator fraudulento obtiver controle sobre as carteiras que contêm moedas já gastas, ele pode simular uma reversão para um momento em que essas carteiras realmente contivessem moedas. Assim, o ator ganharia controle sobre 51% das moedas, construiria um blockchain alternativo mais longo do que o principal e mudaria o conteúdo do blockchain retrospectivamente.
Esses ataques podem ser evitados por meio de checkpoints que limitam a reestruturação do blockchain a um certo nível de profundidade. O Bitcoin usa apenas pontos de verificação rígidos embutidos no código da carteira; esses pontos de verificação são atualizados a cada atualização da carteira. Peercoin e Emercoin, por outro lado, usam checkpoints dinâmicos com dados de checkpoint enviados online. Isso não requer nenhuma atualização de código por parte do cliente e permite a atualização constante da estrutura do ponto de verificação.
O Peercoin fornece apenas um nó para enviar os dados do ponto de verificação. Se enviados por vários nós, esses dados gerariam um conflito de rede. Consequentemente, a falha deste nó evitaria que os dados do ponto de verificação dinâmico fossem atualizados.
Emer, por outro lado, implementou um algoritmo de ponto de verificação dinâmico distribuído, que evita que vários nós independentes enviem dados de ponto de verificação duplicados. Isso contribui para a confiabilidade da rede, uma vez que os pontos de verificação ainda são atualizados, mesmo que alguns dos nós quebrem.
Contratos inteligentes sem estilo Ethereum
A Emercoin não prevê tais contratos e não tem intenção de introduzi-los. Somos totalmente contra esses contratos por motivos de segurança. Sempre acreditamos que o download não autorizado do código dependente da operação de Turing-complete é extremamente perigoso, e o recente roubo de $ 31 milhões do Ether provou que estávamos certos.
Armazenamento de nome-valor (NVS)
O subsistema de armazenamento de nome-valor (NVS) é nossa inovação principal com um valor prático externo, inspirado na criptomoeda DNS distribuída Namecoin.
Ao contrário de uma estrutura semelhante no Namecoin, que tinha um foco rígido em DNS distribuído, o Emercoin NVS é um sistema de armazenamento de uso geral distribuído confiável com controle compartilhado.
Simplificando, esse subsistema pode armazenar quaisquer dados binários de até 20 Kb de tamanho. Esses pontos de dados estão vinculados a uma chave de pesquisa de até 512 bytes, exclusiva para toda a rede. Cada registro está associado a um endereço de pagamento pertencente ao proprietário da carteira correspondente.
O proprietário do endereço de pagamento é a única pessoa autorizada a gerenciar o registro. Gerenciar um registro significa criar um novo registro para substituir o antigo ou transferir a propriedade para outro endereço de pagamento. Os registros antigos nunca são apagados e permanecem acessíveis no blockchain relevante. Assim, cada registro tem o histórico completo de mudanças em sua propriedade.
Tecnicamente, um registro no blockchain é o resultado de uma transação de 0,01 EMC (que logo será reduzida para 0,0001 EMC), atribuída ao endereço de pagamento do proprietário do registro. Como tal, este resultado contém o conteúdo NVS. O proprietário do registro é a única pessoa autorizada a gastar esse resultado, pois a chave privada para autorizar o fluxo de saída só pode ser encontrada em sua carteira. Gastar esse valor requer a modificação do valor do registro ou outros atributos, incluindo o endereço de pagamento. Neste último caso, o registro é transferido para a carteira que contém o endereço do beneficiário.
O subsistema NVS pode ser endereçado por meio de uma API JSON (semelhante à do Bitcoin) ou por meio da GUI da carteira.
O sistema NVS Emercoin é o que potencializa todos os serviços baseados em Emercoin que descreveremos em nossos próximos posts, de 2017 a 2018 - portanto, fique atento.