O que é um algoritmo de consenso Blockchain?
introdução
um algoritmo de consenso é um mecanismo que permite que usuários ou máquinas se coordenem em uma configuração distribuída. Tem de garantir que todos os agentes do sistema podem chegar a acordo sobre uma única fonte de verdade, mesmo que alguns agentes falham. Em outras palavras, o sistema deve ser tolerante à falha (veja também: tolerância à falha bizantina explicada).Numa configuração centralizada, uma única entidade tem poder sobre o sistema. Na maioria dos casos, eles podem fazer mudanças como quiserem – não há algum sistema de governança complexo para alcançar consenso entre muitos administradores. Mas numa configuração descentralizada, é outra história. Digamos que estamos trabalhando com uma base de dados distribuída-como chegamos a um acordo sobre o que as entradas são adicionadas?Superar este Desafio num ambiente onde estranhos não confiam uns nos outros foi talvez o desenvolvimento mais crucial que abriu caminho para os blockchains. Neste artigo, vamos dar uma olhada em como os algoritmos de consenso são vitais para o funcionamento de criptocurências e livros distribuídos.
algoritmos de consenso e cryptocurrency
em cryptocurrencies, os saldos dos utilizadores são registados numa base de dados – a cadeia de blocos. É essencial que todos (ou mais precisamente, cada nó) mantenham uma cópia idêntica da base de dados. Caso contrário, acabarias em breve com informações conflitantes, minando todo o propósito da rede de criptomoeda.
a criptografia de chave pública garante que os usuários não podem gastar as moedas uns dos outros. Mas ainda precisa de haver uma única fonte de verdade em que os participantes da rede confiam, para poder determinar se os fundos já foram gastos.Satoshi Nakamoto, o criador da Bitcoin, propôs uma prova do sistema de trabalho para coordenar os participantes. Vamos ver como o PoW funciona em breve-por agora, vamos identificar alguns dos traços comuns dos muitos algoritmos de consenso existentes.
em primeiro lugar, nós exigimos que os usuários que querem adicionar blocos (vamos chamá-los validadores) fornecer uma estaca. A aposta é algum tipo de valor que um validador deve apresentar, o que os desencoraja de agir desonestamente. Se fizerem batota, perdem a estaca. Exemplos incluem o poder da computação, criptomoeda, ou até mesmo reputação. Por que arriscariam os seus próprios recursos? Bem, também há uma recompensa disponível. Isto geralmente consiste na criptomoeda nativa do protocolo e é composto de taxas pagas por outros usuários, unidades de criptomoeda recém-geradas, ou ambos.A última coisa de que precisamos é de transparência. Temos de ser capazes de detectar quando alguém está a fazer batota. Idealmente, deveria ser caro para eles produzir blocos, mas barato para qualquer um validá-los. Isso garante que os validadores são mantidos sob controle por usuários regulares.
Types of consensus algorithms
Proof of Work (PoW)
Proof of Work (PoW) is the godfather of blockchain consensus algorithms. Foi implementado pela primeira vez na Bitcoin, mas o conceito real já existe há algum tempo. Em prova de trabalho, validadores (referidos como mineiros) hash os dados que eles querem adicionar até que eles produzem uma solução específica.Um hash é uma cadeia aparentemente aleatória de letras e números que é criada quando você executa dados através de uma função hash. Mas, se você executar os mesmos dados através dele novamente, você sempre vai acabar com a mesma saída. Mude até mesmo um detalhe, no entanto, e seu hash será completamente diferente.Olhando para a saída, não é possível dizer Que informação foi introduzida na função. São, portanto, úteis para provar que você conhecia um dado antes de um certo tempo. Você pode dar a alguém seu hash, e quando você mais tarde revelar os dados, essa pessoa pode executá-lo através da função para se certificar de que a saída é a mesma.Em prova de trabalho, o protocolo estabelece condições para o que torna um bloco válido. Pode dizer, por exemplo, apenas um bloco cujo hash começa com 00 será válido. A única maneira de o mineiro criar um que corresponda a essa combinação é usando a força bruta. Eles podem ajustar um parâmetro em seus dados para produzir um resultado diferente para cada palpite até que eles obtenham o hash direito.
com grandes blockchains, a barra é definida incrivelmente alta. Para competir com outros mineiros, você precisa de um armazém cheio de hardware de hashing especial (ASICs) para ter a chance de produzir um bloco válido.A sua participação, na exploração mineira, é o custo destas máquinas e a electricidade necessária para as utilizar. ASICs são construídas para um propósito, então eles não têm uso em aplicações fora da mineração criptocurrency. A única forma de recuperar o seu investimento inicial é o meu, que dá uma recompensa significativa se adicionar com sucesso um novo bloco ao blockchain.
é trivial para a rede verificar que você realmente criou o bloco direito. Mesmo que você tenha tentado trilhões de combinações para obter o hash direito, eles só precisam executar seus dados através de uma função uma vez. Se os seus dados produzirem um hash válido, será aceite e receberá uma recompensa. Caso contrário, a rede vai rejeitá-lo, e você terá perdido tempo e eletricidade para nada.
a prova da estaca (PoS)
a prova da estaca (PoS) foi proposta nos primeiros dias da Bitcoin como uma alternativa à prova do trabalho. Em um sistema PoS, não há conceito de mineiros, hardware especializado ou consumo massivo de energia. Só precisas de um PC normal.
bem, não todos. Ainda precisas de pôr alguma pele no jogo. Em PoS, você não apresenta um recurso externo (como eletricidade ou hardware), mas uma unidade interna – criptocurrency. As regras diferem com todos os protocolos, mas geralmente há um montante mínimo de fundos que você deve ter para ser elegível para apostar.A partir daí, você tranca seus fundos em uma carteira (eles não podem ser movidos enquanto você está estaca). Você tipicamente concorda com outros validadores sobre quais transações irão para o próximo bloco. De certa forma, você está apostando no bloco que será selecionado, e o protocolo vai escolher um.Se o seu bloco for seleccionado, receberá uma proporção das taxas de transacção, dependendo da sua participação. Quanto mais fundos tiverem guardado, mais terão a ganhar. Mas se você tentar enganar propondo transações inválidas, você vai perder uma parte (ou toda) de sua participação. Portanto, temos um mecanismo semelhante para agir honestamente é mais rentável do que agir desonestamente.
geralmente, não há moedas recém-criadas como parte da recompensa para os validadores. A moeda nativa do blockchain deve, portanto, ser emitida de outra forma. Isto pode ser feito através de uma distribuição inicial (isto é, um ICO ou IEO) ou por ter o lançamento do protocolo com o PoW antes da transição posterior para PoS.
até à data, a prova pura de estaca só foi realmente implantada em pequenas criptocurências. Portanto, não é claro se pode servir como uma alternativa viável ao PoW. Embora pareça teoricamente sólido, será muito diferente na prática. Uma vez que PoS é lançado em uma rede com uma grande quantidade de valor, o sistema se torna um campo de jogo da teoria dos jogos e incentivos financeiros. Qualquer um com o know-how para “hackear” um sistema PoS provavelmente só o faria se pudesse ganhar com ele – portanto, a única maneira de descobrir se é viável é em uma rede ao vivo.Em breve veremos o PoS testado em grande escala-Casper será implementado como parte de uma série de atualizações para a rede Ethereum (coletivamente conhecido como Ethereum 2.0).
outros algoritmos de consenso
prova de trabalho e prova de participação são os algoritmos de consenso mais discutidos. Mas há uma grande variedade de outros, todos com suas próprias vantagens e desvantagens. Confira os seguintes artigos:
- Atrasado à Prova de Trabalho Explicou
- Alugadas Prova de Estaca Consenso Explicado
- Prova de Autoridade Explicado
- Prova de Queimar Explicado
- Delegados Prova de Estaca Explicado
- Híbrido PoW/PoS Consenso Explicado
Fechamento de pensamentos
Mecanismos para obtenção de consenso são vitais para o funcionamento de sistemas distribuídos. Muitos acreditam que a maior inovação na Bitcoin foi o uso de Provas de trabalho para permitir que os usuários concordem em um conjunto de fatos compartilhados.Algoritmos de consenso hoje sustentam não apenas sistemas monetários digitais, mas blocos que permitem que desenvolvedores executem código através de uma rede distribuída. Eles são agora uma pedra angular da tecnologia blockchain e são críticos para a viabilidade a longo prazo das várias redes existentes.
de todos os algoritmos de consenso, a prova do trabalho continua a ser a oferta dominante. Uma alternativa mais confiável e segura ainda não foi proposta. Dito isto, há uma enorme quantidade de pesquisa e desenvolvimento em substituições para PoW, e é provável que vejamos mais deles emergindo nos próximos anos.