Na parte anterior, descrevemos a ideia básica de uma moeda digital descentralizada e sua implementação prática na forma de Bitcoin. Como qualquer novo conceito, o Bitcoin na prática enfrentou muitos problemas relacionados ao protocolo de operação de rede e à proteção da integridade do banco de dados. Neste artigo, discutiremos as limitações atuais da rede, moedas alternativas com soluções para um ou outro problema de Bitcoin e por que as grandes empresas se interessaram pelo blockchain.
Parte 1. Bitcoin
Parte 2. Outros tipos (não) populares de Bitcoin, blockchain
Parte 3. Ethereum
Blocos
O Bitcoin mostrou não apenas a consistência da ideia do sistema de pagamento p2p, mas também propôs uma solução para o problema do consenso público (descentralizado). Para o leitor, no estágio inicial, a arquitetura do Bitcoin pode parecer excessivamente complicada. Por exemplo, se existem regras gerais e podemos simplesmente ignorar transações incorretas / fraudulentas, por que precisamos de blocos e mineração? Para fazer isso, precisamos entender como a transação e a prevenção de gastos duplos são implementadas.
Transação
No Bitcoin, ao formar uma transação na entrada, muitas transações anteriores são combinadas e, na saída, são realizadas transferências para outras contas (veja a figura). As transferências resultantes da saída são chamadas de transações não gastas (UTXO) até que entrem em outra transação.
Ao criar uma nova transação, o UTXO é gasto como um todo, mas se você precisar gastar apenas uma parte, apenas outra transferência será adicionada com o restante à sua própria conta.
Se não confiarmos na validade da transação anterior, teremos que verificar novamente toda a cadeia de transações a cada vez, até o momento da emissão. Para evitar isso, as transações são empacotadas em um bloco, que, por sua vez, é selado com um belo hash e é vinculado por outros blocos dos dois lados. Isso nos dá uma certa garantia de que a transação que caiu no bloco é válida e já pode ser referenciada.
Tendo resumido todos os UTXOs endereçados a uma determinada conta, podemos encontrar seu saldo, portanto, a qualquer momento, a soma de todos os UTXOs é igual à quantidade total de dinheiro no sistema.
Gastos duplos
Em sistemas descentralizados, é difícil sincronizar os registros de todos os usuários, há problemas com a sequência de transações e o dobro de gastos. Imagine uma situação em que um usuário inicie (quase) simultaneamente várias transações usando o mesmo UTXO. Devido a atrasos na rede, os participantes receberão essas mensagens em ordem diferente ou podem pular parte (consulte o diagrama).
Obviamente, se tivéssemos um sistema que proporcionasse a todos os participantes um tempo exato universal, poderíamos evitar essa confusão, mas isso é centralização posterior, que inicialmente recusamos. Para solucionar esse problema, foram inventados blocos e mineração, que determinam a sequência e a confirmação dessas transações. Diversas filiais são mineradas ao mesmo tempo, mas a complexidade da mineração é ajustada para que, dentro de 3 a 4 blocos, uma filial avance, o que corrige todas as transações no histórico para sempre.
Prova de trabalho
Como lembramos do artigo anterior, o PoW protege a integridade do banco de dados. Mas o que é um ataque de 51% e quais ações na teoria podem ser executadas se alguém (vamos chamá-lo de atacante) tem recursos impressionantes.
Um atacante será capaz de construir a cadeia mais rapidamente do que outros (e receber a maior parte da recompensa), mas apenas de maneira honesta. A correção do bloco é fácil de verificar e, assim que essa atividade é detectada, os participantes de boa fé ignoram esses bloqueios e transações.
- Um invasor pode cancelar uma transação e devolver seu dinheiro (veja o diagrama).
Em geral, esse estado de coisas por um curto período de tempo não fará muito mal, exceto para reverter suas próprias transações e bloquear outras. Porém, devido ao fato de que a maior parte da recompensa será recebida por um participante, outros mineradores se espalharão, e isso também significa o fim da rede.
Em 2014, o pool do Ghash.io acumulou 51% da energia por várias horas, e alguns mineradores deixaram o pool por conta própria para não prejudicar a confiança no Bitcoin.
Outros mecanismos de consenso descentralizado
Uma das principais desvantagens do PoW são os custos de energia. Como alternativa eficiente em termos energéticos, foi desenvolvido o protocolo de consenso de Prova de Estaca, em que o participante com maior participação tem maior probabilidade de criar o próximo bloco. Este mecanismo e outros tipos de consenso são descritos muito bem aqui .
Problemas atuais de Bitcoin
De acordo com as regras da rede, em média, 1 bloco é criado em 10 minutos. É aconselhável aguardar cerca de seis blocos para que a transação seja considerada explicitamente corrigida no blockchain, e isso já é uma hora. Comparado às transferências interbancárias, isso é obviamente muito rápido, mas ainda não é adequado para pequenas empresas.
O tamanho do bloco é limitado a um megabyte, dado que o bloco foi criado, é mais lucrativo para os mineradores atenderem transações com alta comissão. Recentemente, houve uma tentativa de atualizar o protocolo alterando a estrutura e o tamanho do bloco, o que levou a rede a se ramificar no clássico Bitcoin (BTC) e BitcoinCache (BCH).
Outra desvantagem é o alto limite de entrada para os mineradores, não faz sentido se dedicar à mineração sem máquinas ASIC. Além disso, as mineradoras estão se unindo para obter um lucro estável, e isso é uma espécie de centralização.
Variedades
O Namecoin é o primeiro fork do Bitcoin, que permite registrar nomes, escrevendo-os no blockchain. Existem d / espaços para nomes de domínio na zona .bit e id / para registrar um nome com informações relacionadas. Graças ao consenso público, dentro da rede, você tem a posse de um nome específico, enquanto o paga regularmente. Esse modelo é uma alternativa digna ao sistema atual da ICANN e, em teoria, eliminará problemas com registradores.
Litecoin é um dos garfos populares. A transação é 4 vezes mais rápida e com baixa comissão em comparação com o Bitcoin. Além disso, foi escolhido um algoritmo para PoW que complicaria a mineração em placas GPU e máquinas ASIC.
PeerCoin é a primeira moeda com um modelo híbrido de PoW e PoS.
Zerocoin é uma moeda completamente anônima que permite acompanhar o movimento do dinheiro.
Ethereum é uma plataforma que serve como uma máquina virtual para aplicativos descentralizados. Por exemplo, algum tipo de contrato inteligente está sendo desenvolvido, eles o estão reabastecendo com dinheiro (como uma comissão, aqui é chamado de combustível) e enviado à rede. Os mineiros, por sua vez, processam os blocos executam o bytecode desses aplicativos e removem o combustível desses aplicativos como pagamento pelo trabalho.
E quanto a blockchain?
A maneira como o Bitcoin armazena dados, juntamente com métodos de consenso, evoluiu para um tópico independente. As perspectivas de implementação podem estar em qualquer área em que haja necessidade de consenso e uma base transparente:
- Finanças, comércio;
- Seguros, negócios de apostas;
- Bancos de dados públicos, registros;
- Votação, governo eletrônico.
Cada área tem seus próprios requisitos para o modelo de segurança, privacidade de dados, mecanismos de consenso, dependendo dos participantes e da natureza dos objetos que circulam na blockchain.
Um exemplo é uma blockchain interbancária privada, onde o anonimato é excluído e os participantes inicialmente confiam um no outro. Conseqüentemente, os mecanismos de proteção de rede são simplificados e os bancos simplesmente terão uma ferramenta para sincronizar a base e o gerenciamento conjunto de certos ativos. Outros requisitos necessários podem ser o intercâmbio de dados privados entre participantes, a conexão das autoridades de supervisão etc.
Inicialmente, o blockchain abordou a questão dos ativos digitais de gasto duplo, mas em áreas como rastreamento e seguro de produtos, é necessário um método eficaz de serializar objetos físicos que impeça vários tipos de fraude.
Aqui você pode aprender mais sobre a visão geral das plataformas blockchain.
A próxima parte descreverá a plataforma Ethereum e analisará exemplos de contratos inteligentes.