Zephyrnet Logo

DLT, o que é prova de trabalho ou estaca?

Data:

Foto por Dominick Vanyi on Unsplash

Em meu post anterior sobre DLT, toquei no conceito de Prova de Trabalho e mencionei de passagem a Prova de Participação. Neste blog, eu amplio esses conceitos e como eles são fundamentais para a ideia de um consenso distribuído sem confiança.

Em primeiro lugar, temos que descrever qual é o problema que estamos tentando resolver. O Bitcoin se propôs a resolver a complicada questão de criar confiança entre um grupo de agentes sem confiança.

Então, qual é esse problema? Uma pessoa lhe pede um dinheiro emprestado e concorda em pagar amanhã. Como você está confiante, você empresta dez dólares a eles. No dia seguinte, você pede seu dinheiro de volta, eles respondem que nunca pediram o dinheiro emprestado de você. O que você faz? Não houve registro de transação; você não tem muito recurso. Você provavelmente se tornará menos confiante no futuro. Na próxima vez que você inserir uma transação desse tipo, envolverá um terceiro para manter o controle da transação. Quando o tomador do empréstimo fica inadimplente, você pode trazer o terceiro para atestar que a transação aconteceu. Se o mutuário se recusar a pagar, você pode ir ao sistema jurídico e pedir que intervenha em seu nome. Idealmente, o terceiro é alguém de confiança, digamos um advogado, e a transação pode ser registrada em cartório para provar sua autenticidade. Imagine que você queira fazer isso em grande escala com pessoas que não estão no mesmo país que você. Existem diferentes sistemas jurídicos, diferentes recursos, oh as dores de cabeça.

O livro razão distribuído visa substituir a estrutura legal com identidade de propriedade, notarizações criptográficas e uma forma de estabelecer confiança. A primeira parte é razoavelmente direta. Cada um de nós tem uma identidade; na forma de uma chave privada; podemos usar essa identidade para 'assinar' quaisquer dados arbitrários.

Na sua forma mais simples, os detentores da chave pública podem provar com excepcional confiança que a assinatura pertence ao detentor da chave privada e apenas a uma chave privada. Essa assinatura digital é um conceito atraente, pois permite que qualquer pessoa com uma chave privada afirme que possui a chave privada. É seguro dar a chave pública a qualquer pessoa, pois não há como pegar a chave pública e criar uma cópia da chave privada. Apenas certifique-se de não perder sua chave privada!

A notarização decorre naturalmente da identidade; se uma parte assina uma mensagem, uma terceira parte pode referendar a mensagem assinada. Se você confia na identidade da parte do reconhecimento de firma, você tem sua chave pública e sabe quem ela é; eles podem fazer declarações sobre a parte original, como eu conheço essa pessoa, e você pode confiar neles. Você pode observar essa noção de confiança em toda a Internet sempre que visitar um site criptografado; você confia em um certificado autenticado por meio de uma cadeia de confiança. No topo dessa cadeia está uma entidade raiz; neste exemplo, é 'Baltimore CyberTrust Root'.

Cadeia de certificados de confiança

Essa cadeia de confiança ainda nos deixa com um problema. Se você não conhece ou não quer confiar em nenhuma parte central, como autenticar transações para que sejam irrefutáveis? O BlockChain clássico resolve esse problema por um processo denominado mineração. A mineração pode ser dividida em duas categorias, Prova de Trabalho e Prova de Participação. Falaremos sobre isso em breve.

Primeiro, devemos nos dirigir ao elefante na sala, o chamado blockchain baseado em permissão. Nos últimos anos, muitos exemplos dessas cadeias surgiram, normalmente oferecidos como alternativas de alto desempenho para os blockchains sem confiança. A natureza da mineração é que leva tempo e tem um custo. Essas cadeias baseadas em permissão identificam um ou mais grupos confiáveis ​​que realizam reconhecimento de firma de mensagens na cadeia. Se houver um erro ou uma mudança de ideia, esses notários de confiança podem reescrever a história e, se forem maus atores, podem agir em nome de terceiros para enganar. Em nosso exemplo original, um notário ruim tem potencial para ficar do lado da pessoa que pede o dinheiro emprestado.

Do ponto de vista da confiança, pode-se argumentar que uma cadeia baseada em permissão não é melhor do que ter um banco de dados gerenciado e operado por terceiros. Ainda há benefícios para o razão digital nesses casos; por exemplo, cada parte tem uma cópia completa do livro-razão, as transações são padronizadas e a assinatura criptográfica das transações. A assinatura digital é uma razão convincente por si só, pense em verificar uma assinatura humana versus sua contraparte digital. As considerações de complexidade, desempenho e operacionais são geralmente mais fáceis de resolver em um banco de dados tradicional do que com DLT.

Agora voltamos à mineração. Em sua essência, a mineração é uma operação que mostra que um ator, normalmente referido como um nó, construiu confiança suficiente para assinar um conjunto de transações (o bloco em blockchain) para afirmar que as transações são consistentes e gastam o dobro gratuitamente. O gasto duplo é uma noção simples no "mundo real"; se eu lhe der uma nota de um dólar, só poderei fornecer essa nota exata uma vez, a menos que você a devolva posteriormente para mim. No mundo digital, esse é um problema muito mais complexo. Bancos de dados clássicos resolvem isso implementando transações. Freqüentemente, você ouvirá isso como uma garantia transacional ACID.

Em um sistema contábil tradicional de dupla entrada, o razão registra a movimentação de um ativo de uma conta (ou carteira) para outra. Para um razão que rastreia uma única moeda, você pode impor duas propriedades principais. Primeiro, o razão preserva o número total de qualquer ativo no razão em todas as transações de movimentação. Você não pode criar ou destruir, a menos que haja suporte para uma transação unilateral específica. Em segundo lugar, você pode garantir que só pode mover um ativo de uma carteira para outra se a carteira de origem tiver uma instância desse ativo disponível. Em uma transação com várias carteiras, todas as carteiras devem permanecer equilibradas após a transação. Essas regras podem ser generalizadas para uma transação de vários ativos, garantindo que o custo (o valor de cada ativo convertido em um ativo comum) seja igual a zero em toda a transação. O modelo de múltiplos ativos é um assunto mais longo a ser coberto.

Para um DLT, todas as transferências de tokens (ou ativos) devem obedecer às regras acima. Normalmente, a única transação unilateral suportada pela cadeia é a criação de novos tokens por meio do processo de mineração. Então, como um razão distribuído faz isso?

Em primeiro lugar, abordamos a Prova de Trabalho, pois é o sistema mais estabelecido. Na Prova de Trabalho, cada nó de mineração no sistema 'compete' um contra o outro para chegar a uma solução para um problema suficientemente complexo. Para Bitcoin, esse problema calcula o hash dos dados no bloco e adiciona um valor 'nonce' (um inteiro) para calcular o hash criptográfico do bloco. A mineração é bem-sucedida quando o hash final mencionado acima tem um número específico de zeros à esquerda em sua representação binária. O nonce é atualizado repetidamente até que uma solução seja encontrada. Na realidade, é um pouco mais complexo do que isso, com vários hashes ocorrendo.

Cada minerador é capaz de realizar um número fixo de cálculos hash por segundo. O hardware do nó de computação define esse limite. A dificuldade do problema é ajustada de forma que a soma das taxas de hash de todos os mineiros encontre um bloco em aproximadamente dez minutos. A rede ajusta a dificuldade para levar em consideração a taxa de hash atual. No momento em que este artigo foi escrito, a rede Bitcoin tinha uma taxa de hash de cento e oitenta milhões de hashes de terra por segundo. Essa taxa de hash é uma quantidade enorme de poder computacional e aponta para um dos debates significativos do Bitcoin, seu impacto no meio ambiente. Porém, como os preços das energias renováveis ​​caem abaixo dos de outras formas de energia, a lucratividade da mineração fornece um incentivo para mudar para a fonte de energia de menor preço; a verdade disso acontecerá nos próximos anos.

Uma das 'falhas' frequentemente identificadas no protocolo de mineração Bitcoin é paralisar trivialmente a operação de hashing. Esse recurso levou a uma centralização significativa do poder de hashing e, sem dúvida, derrota parte do design descentralizado da cadeia. A agregação de hashes é conhecida como mineração de pool. A mineração solo não tem valor para todos os efeitos; as chances de qualquer nó da rede encontrar uma solução por conta própria antes dos hashes agrupados são infinitesimamente pequenas. Os pools compartilham as recompensas da mineração em proporção direta à taxa de hash doada ao pool. Embora você não receba um grande pagamento, pode obter uma pequena quantia cada vez que uma piscina extrair um bloco. Um pequeno número de pools (8) constitui a supermaioria do poder de hashing. Se esses grupos conspirarem juntos, eles terão a oportunidade de fazer escolhas sobre as regras futuras da cadeia.

A Prova de Trabalho fornece confiança e integridade quando é mais caro reescrever a história da cadeia ou controlar a taxa de hash suficiente (maior que cinquenta e um por cento) para alterar o protocolo para beneficiar uma parte em relação a outra do que receber a recompensa de mineração. A recompensa de mineração é definida como parte do protocolo Bitcoin e inclui moedas recém-cunhadas e taxas para as transações processadas no bloco. Atualmente, a recompensa de mineração por um bloco é de 6.25 BTC, mais as taxas de transação. Essa recompensa é de mais de trezentos mil dólares por bloco. Todos os dias, cento e quarenta e quatro blocos são impressos, gerando cerca de quarenta e cinco milhões de dólares de receita de mineração.

Os mineiros têm um forte incentivo para fazer a coisa certa. Esse incentivo econômico também incentiva os mineradores a investirem em mais hardware de mineração e ajuda a garantir que nenhum grupo tenha o controle majoritário da cadeia. É o próprio 'custo' da mineração que fornece essa garantia. Conforme o valor do Bitcoin aumenta, o incentivo para minerar mais também aumenta.

Cadeias mais recentes, como Ethereum, implementam a Prova de Trabalho usando algoritmos diferentes. Hoje existem muitas opções, a mais notável sendo aquelas que derivam trabalho do custo de mover dados na memória (é assim que Etherium funciona) versus poder computacional bruto. Ao limitar a 'largura de banda', as cadeias de prova de trabalho como Etherium permitem a mineração lucrativa em hardware de commodity do usuário final (GPUs). Para ser lucrativo na mineração de Bitcoins, é necessário investir em hardware ASIC personalizado.

O Proof of Stake é um substituto emergente do Proof of Work, que tenta enfrentar o consumo de energia (e a corrida do hardware) que permeia as gerações atuais de cadeias. Na Prova de Participação, os mineiros colocam (ou apostam) uma quantidade da moeda da rede para que recebam uma recompensa por assinar um bloco, na forma de taxas de transação, e podem perder sua aposta se assinarem um bloco de uma forma que é inconsistente com a regra da cadeia. Ie. Sem gastos em dobro.

Vamos tentar um experimento mental simples. Considere uma sala com sete pessoas, cada uma colocando uma nota de cem dólares em uma mesa no meio da sala. Esse dinheiro é a aposta deles; agora, dois dos sete fazem um acordo, um vai emprestar os outros dez dólares devolvidos no dia seguinte. Eles escrevem o acordo em um pedaço de papel e o colocam na mesa da estaca. Agora escolhemos, ao acaso, uma das sete pessoas na sala para autenticar o documento. Eles leem o jornal e adicionam sua assinatura para dizer que esta é uma transação válida. Os outros seis podem examinar o documento e validar se os termos da transação estão de acordo com as regras da sala. Supondo que todos concordem, a transação é vinculativa. Cada uma das pessoas na sala recebe um pequeno pagamento para validar a transação. As pessoas que faziam a negociação pagavam a taxa. Essa taxa fornece uma compensação por ter ativos bloqueados como aposta.

Agora imagine que a pessoa selecionada para validar é uma das duas pessoas que fazem parte da transação ou conluio. Eles assinam o documento mesmo que ele quebre as regras da sala. Agora, quando as outras pessoas na sala validam a negociação e mais de cinquenta por cento da sala indicam que o contrato é inválido, a negociação é desfeita. A aposta pertencente ao verificador é retirada da mesa e é dividida igualmente entre as outras seis pessoas. A sétima pessoa não tem mais uma aposta e não pode mais participar da validação e está fora de sua aposta de cem dólares. Uma vez que o valor da aposta superou o valor da transação de validação, não é do interesse da pessoa mentir.

Quando você tem mais de cinquenta por cento dos participantes agindo honestamente, o sistema funciona. Por isso, eles mantêm sua aposta e são justamente compensados ​​por suas ações. Enquanto para uma transação, pode valer a pena fraudar o sistema; quando você olha para o total, é de grande interesse que eles se comportem honestamente.

Uma observação interessante sobre a prova de aposta é que ela precisa que os itens que você está apostando sejam valiosos. Essa observação é uma das principais razões pelas quais a Ethereum começou com um sistema de Prova de Trabalho e está trabalhando na mudança para a Prova de Participação agora que o Ether é altamente valorizado.

Ainda não vimos um sistema de Prova de Participação funcionando em escala com alto valor em risco. Nos próximos anos, veremos como eles substituem a Prova de Trabalho.

Espero que este blog ajude a explicar alguns dos termos, da próxima vez em Smart Contracts.

Coinsmart. Beste Bitcoin-Börse na Europa
Source: https://medium.com/geekculture/dlt-what-is-proof-of-work-or-stake-41ca9cbdb8a3?source=rss——-8—————–cryptocurrency

local_img

Inteligência mais recente

local_img