Nada em jogo: compromissos com a consciência

Muito brevemente sobre você.


Uma vez em Habré, eles escreveram sobre mim neste artigo, no entanto, parte do público interessado em tecnologias blockchain está quase certamente familiarizada com o meu trabalho através do projeto Monero, no qual a base de código original (CryptoNote) foi desenvolvida principalmente por meus esforços (isso é confirmado em particular meu sobrenome na fonte). Os últimos 7 anos para mim foram associados exclusivamente ao desenvolvimento nesta área, e há pensamentos que eu gostaria de compartilhar.

Deseja saber por que os projetos de PoW desaparecerão?


Provavelmente haverá um suspiro cético agora, e alguém revirará os olhos. Não há nada a ser feito, em todos os lugares onde eles escrevem que o título “com um desafio” fará você ler pelo menos o começo do artigo (curiosamente, funcionou?).

Em uma conversa recente com o editor de uma grande cripto-mídia russa, descobri que as críticas ao PoW já no nível subconsciente são percebidas por muitos como heresia. E quando se tratava de dificuldades práticas, por exemplo, para um pequeno projeto blockchain iniciante com PoW puro, as chances de resistir a um ataque de 51% são bastante fracas, ouvi dizer que o PoW é (atenção) apenas para grandes projetos!
Discussões intermináveis ​​(e, como você sabe, a Internet é um lugar para comentários racionais e ponderados) sobre o tópico "PoW vs PoS" levam ao fato de que a polarização da comunidade de criptomoedas é de natureza quase religiosa.
Neste artigo, explicarei por que o Nothing at Stake é considerado o calcanhar de Aquiles da PoS e, depois, mostrarei por que não é assim.

O advento do PoS


A história do PoS se origina em 2011, quando idéias de consenso baseadas no voto de "detentores" (não mineiros) começaram a ser ditas no bom e velho bitcointalk, e alimentaram o interesse por eles naquele momento, a queima inútil de eletricidade ao minerar o PoW.
A primeira implementação foi a PeerCoin [9], que, como se viu mais tarde, também teve várias desvantagens típicas do PoS. Mas o rubicão foi aprovado e uma compreensão gradual do novo paradigma começou.
Hoje, existe um grande número de projetos que, de uma forma ou de outra, usam uma das variedades de modelos de PoS (DPoS, LPOS, POI, PoA, etc.). Apesar de todos esses algoritmos terem nomes próprios, do ponto de vista do autor, essas são principalmente variações no tópico de PoS. No final do artigo, examinaremos muito brevemente alguns exemplos que são interessantes precisamente no contexto do problema levantado.

Problema nada em jogo nos sistemas PoS


Quase todos os modelos de PoS são criticados por serem vulneráveis ​​ao chamado problema "Nada em jogo". A idéia deste ataque está relacionada ao fenômeno conhecido como "Tragédia dos comuns" [1]. Em termos gerais, "Tragédias de recursos compartilhados" são descritas como uma série de fenômenos em que os interesses dos indivíduos podem contradizer o bem comum, e como o exemplo mais simples é dado por um pasto comum, cujo uso irracional pela maioria leva ao esgotamento total desse recurso. Da mesma maneira, um projeto arbitrário de blockchain pode ser considerado no qual a possibilidade de minerar e receber recompensas está implícita como um benefício para o público em geral.
Ao contrário do PoW, onde a mineração é um processo computacionalmente caro e pode ser realizado simultaneamente em relação a qualquer cadeia, na mineração do PoS não há custos / esforços adicionais (significativos) para votar em uma cadeia alternativa; em outras palavras, a minha também é a segunda cadeia , O mineiro de PoS não perde nada (nada em jogo). Obviamente, o software do projeto, por padrão, não facilitará um ataque de 51% ao minerar quaisquer cadeias disponíveis, mas a teoria dos jogos (e isso não é sobre Dota, mas sobre o que John Nash escreveu) sugere que se os interesses individuais ditará uma estratégia diferente, o minerador PoS teórico modifica o código de acordo, seguindo essa estratégia.
Como exemplo, considere um projeto de blockchain condicional com POS e com 18 milhões de moedas já emitidas, onde todas as moedas são distribuídas entre 1800.000 titulares em partes iguais (10 moedas para cada titular). Alguns dos detentores (talvez todos) participam da mineração de PoS; portanto, toda vez que um bloco é criado, um dos 1800.000 proprietários o faz.
Suponha que alguém decida iniciar um ataque de 51% e suborne os mineiros para participarem da mineração de uma cadeia maliciosa (por exemplo, uma cadeia que realiza gastos duplos no interesse do invasor), motivando-os a quem encontrar o bloco recebe aumento da remuneração (suborno).
Esclarecimento *: É importante enfatizar aqui que, para um invasor, a estratégia de suborno economicamente mais vantajosa será um suborno na forma de atribuir uma recompensa de bloco adicional em sua cadeia alt, para que ele não precise subornar cada mineiro individualmente, e o custo do ataque seja reduzido à quantidade de recompensas em bloco em suas cadeias alt (6 blocos, por exemplo).
Acredita-se que o ataque será bem-sucedido se o minerador conseguir motivar 51% dos mineiros de PoS a participar do ataque, e como os mineiros não exploram computacionalmente nenhum número de cadeias, acredita-se que sejam fáceis (baratos) de motivar a participar do ataque.

Estudo de caso


É impossível considerar a teoria dos jogos nada em jogo, sem considerar que o mineiro de PoS é um detentor e, do ponto de vista de interesses pessoais, também está interessado em manter / aumentar o preço de uma moeda. O custo de uma moeda consiste em um grande número de fatores, mas a condição direta para a existência de liquidez é a capacidade real da rede de desempenhar sua função direta - de efetuar pagamentos com segurança (aqui estamos falando de projetos reais de blockchain, e não de tokens), e se a rede for comprometida por um gasto duplo através de um ataque 51 %, as conseqüências podem ser mais fatais - começando com colapsos sérios na taxa de câmbio e terminando com o fechamento do fechamento das trocas, que sofrem principalmente com esses ataques.
Assim, no caso de a rede mudar para uma cadeia maliciosa, o minerador PoS subornado arrisca apenas o valor equivalente de suas moedas. Semelhante à “tragédia de recursos compartilhados”, o minerador PoS médio é motivado por ganhos pessoais mais do que preocupação pela segurança da rede. Se o seu próprio lucro (no caso em que ele ganhar um bloco em uma cadeia alternativa maliciosa) for maior que a sua perda potencial (ou seja, mais de 10 moedas), o mineiro ainda terá motivação para se juntar ao ataque.

Agora vamos examinar as circunstâncias práticas e, mais importante, compará-las com os sistemas PoW clássicos. Deixe-me lembrá-lo de que o exemplo acima descreve uma moeda irrealista com uma distribuição completamente uniforme, que não é encontrada na vida real.
Várias vezes ouvi uma opinião interessante de que qualquer criptomoeda, sendo um sistema financeiro típico, tem o mesmo modelo da distribuição global de riqueza [2] (Fig. Abaixo), e supostamente o comportamento dos mercados de criptomoeda confirma isso.

imagem


Para avaliar aproximadamente a natureza da distribuição de moedas, por exemplo, pegue o maior projeto com o ecossistema mais desenvolvido e o maior número de titulares - Bitcoin. Felizmente, o modelo de privacidade permite fazer isso sem muita dificuldade. A tabela abaixo é retirada de [3] e reflete a distribuição atual de moedas nos endereços presentes na blockchain.

imagem


*: Bitcoin , Bitcoin , - [4], , . , , , , « ».
**: , , PoS, , , .

Para manter a imparcialidade, não operaremos com a palavra Bitcoin na análise de 51% dos ataques, que serão mostrados abaixo. Isso seria errado por várias razões objetivas: o Bitcoin é um projeto único e existe em uma realidade tecnológica ligeiramente diferente (é quase impossível encontrar um hashrate adicional para um player tão grande, é difícil subornar mineradores ASIC devido à especificidade de seus equipamentos, etc.). Analisaremos ainda mais o aspecto tecnológico impessoal.
Agora, voltando à tabela 1, assumiremos que temos dois projetos separados, mas idênticos, com exatamente a mesma ampla distribuição de moedas - o projeto PoS e o projeto PoW, que tentaremos atacar.

PoS


Como descobrimos acima, para motivar os mineradores de PoS com suborno, ele deve ser pelo menos equivalente ao valor das moedas que o mineiro possui. Se definirmos o tamanho do suborno, por exemplo, para 0,01 moeda, cobriremos apenas os proprietários de carteiras para a primeira e a segunda linhas (0,15% de todas as moedas); no restante, a motivação será insuficiente. Se você aumentar para 1 moeda, já cobrimos 4 linhas, e isso é 4,57% - ainda é irremediavelmente pequeno. Para obter 51%, temos que chegar à linha com saldos de 100-1000 moedas. Um suborno de 100 moedas abrangerá apenas 38,44% das moedas e 1000 moedas abrangerá até 58,29%, por isso acreditamos de olho - um suborno de 750 moedas pode convencer 51% dos mineiros a participar do ataque.

Pancada


Digamos que a recompensa para o bloco no momento seja de 12,5 moedas e, grosso modo, a extração de 6 blocos (o número de confirmações por padrão) não deve custar mais de 75 moedas (o valor equivalente dessas moedas, em termos do valor do hashrate). Isso é muito importante - na verdade, o custo de um ataque de 51% é de 75 moedas (76 se importante para alguém). Isso não era um problema antes, naqueles dias em que os próprios mineiros montavam suas plataformas para minerar um projeto específico, porque gostavam ou porque seus equipamentos trabalhavam com mais eficiência com esse hash. Não havia onde adquirir capacidades livres capazes de ultrapassar a cadeia principal. E agora o equipamento está disponível gratuitamente para aluguel em áreas abertas (serviços como www.nicehash.com, algo como uber no mundo da mineração), e isso faz com que um ataque de 51% a um projeto de PoW seja pelo menos 10, 10 vezes mais barato que um ataque a um projeto semelhante com PoS. Você pode enlouquecer!

Mas ainda não terminamos, existem mais alguns pontos:
1. Em projetos reais de PoS, via de regra, apenas uma parte das moedas emitidas está envolvida na mineração, e é característico que, para os minoritários, a mineração de PoS não seja lucrativa devido à baixa probabilidade de encontrar um bloqueio nos custos de eletricidade, portanto, na verdade, a maior parte da energia PoS é criada médios e relativamente grandes, o que dificulta ainda mais o ataque, conforme descrito acima. Além disso, levamos a distribuição de moedas para o projeto maior e mais maciço, e para um projeto típico no primeiro cem mercado de moedas, a distribuição complicará ainda mais o ataque de suborno, sem mencionar a startup start-up de blockchain, que você pode planejar neste fim de semana.
2. ASIC. As opiniões se dividem no campo de PoW: a maioria considera o mal e inventa hashes que devem funcionar com mais eficiência em equipamentos de massa (ProgPoW, RandomX). Seus oponentes não se esforçam e usam hashes rápidos resistentes a criptografia (sha256, sha3, blake), alegando que o ASIC é, embora centralizado, mas de fato - protegido contra 51%. E no contexto das considerações acima, as últimas parecem ainda mais viáveis, mas apenas até o momento em que os dispositivos ASIC subitamente adquirem a capacidade de extrair não apenas uma, mas vários hashes relacionados. Mas espere, eles já adquiriram essa capacidade (por exemplo, Giant + A2000). E mais uma nuance importante deve ser levada em consideração - desde o momento em que o projeto é lançado até o primeiro ASIC aparecer no mercado para venda, pode levar bastante tempo e todo esse tempo o projeto ficará muito vulnerável.
3. Um ataque de nada em jogo é um ataque puramente teórico, com muitas suposições. Por exemplo, um pré-requisito é a suposição de que o atacante tem um canal direto de comunicação com todos os detentores que ele pretende subornar para organizar esse ataque. Isso é um pouco realista, em primeiro lugar. Em segundo lugar, dificilmente pode ser mantido em segredo das próprias trocas, que poderão tomar medidas para se proteger disso (por exemplo, suspender temporariamente os depósitos ou aumentar o número de confirmações para um valor inadequado). Quando falamos de um ataque de 51% contra o PoW, este é um cenário prático muito linear, que, aliás, foi feito mais de uma vez, recentemente aqui, por exemplo, no Ethereum Classic [11] [12].

Como fortalecer o consenso


Como mencionado acima, o problema Nada em jogo é puramente teórico e não encontrou uma única confirmação dos ataques realmente realizados com base nessa vulnerabilidade; no entanto, se depois de ler o exposto acima parecer que o problema é completamente irrelevante, não será assim. O problema existe, embora em um nível diferente em relação ao PoW, e esforços consideráveis ​​são feitos para resolvê-lo. Entre as soluções existentes, identifiquei duas áreas principais, das quais falarei brevemente.

Soluções de tolerância a falhas bizantinas


Os algoritmos de BFT são estudados há cerca de 30 anos, e há uma boa base científica que comprova a confiabilidade dos algoritmos dessa família, incluindo o pBFT (a confiabilidade é fornecida se o número de participantes desonestos do consenso no sistema não exceder um terço). Existem vários projetos que usam essa abordagem para implementar ou fortalecer o consenso, e a maioria deles afirma que, nesse contexto, eles obtêm uma propriedade chamada “finalidade”, que pode ser traduzida como “finalidade”. Entende-se como impossibilidade de reconstruir a cadeia (e, portanto, cancelar a transação) após um certo número de confirmações. Deixe-me lembrá-lo que, no consenso clássico de Nakamoto, a mudança para outra sub-cadeia pode ocorrer em qualquer profundidade (mas não mais profunda do que a verificação pontual é óbvia) e, portanto,mesmo após várias confirmações, não há 100% de garantia de que a transação não será cancelada.

Considere a essência dessa abordagem usando o exemplo da tecnologia Casper , que está sendo desenvolvida pela equipe Ethereum [5].
Esclarecimento ***: De fato, existem dois modelos de PoS no ethereum, um de autoria de Vlad Zamfir “Um modelo para protocolos de consenso corrigidos por construção” e o outro de Vitalik Buterin e Virgil Griffith “Casper the Friendly Finality Gadget”. Neste artigo, consideraremos a última opção, porque provavelmente será usado no Ethereum.
O Casper está posicionado como uma melhoria no modelo de consenso, potencialmente aplicável a qualquer sistema PoW, e é arquitetonicamente um complemento ao PoW. A idéia básica é que uma vez a cada 100 blocos, um grupo de validadores de PoS gere dinamicamente pontos de verificação. Para se tornar um validador, você precisa criar um depósito especial associado ao endereço do validador e, posteriormente, esse depósito pode ser usado para estimular o comportamento honesto do validador (mais sobre isso abaixo). O algoritmo é seguro desde que ⅔ dos validadores se comportem honestamente, enquanto ⅔ são determinados precisamente pela quantidade de dinheiro depositado.
Para incentivar os validadores a conduzir um comportamento honesto, é usado um mecanismo chamado “Slasher” - caso se tenha notado que o validador votou em uma cadeia alternativa (alternativa em relação àquela considerada na mesma altura), então quem notou isso pode anexar evidências de tal voto em sua cadeia e, em seguida, o depósito do validador desonesto será destruído, a comissão motivadora correspondente será paga àqueles que encontraram a “violação”. Além disso, supõe-se que, se o usuário for registrado como um validador de PoS, fazendo um depósito apropriado, mas na verdade não participar da validação, seu depósito será gradualmente reduzido.
Assim, do ponto de vista do protocolo Casper, após dois pontos de verificação, os blocos têm a propriedade "finalidade", ou seja, se ⅔ validadores foram confirmados duas vezes por pontos de verificação na cadeia, o bloco sob os pontos de verificação não pode ser cancelado.
A parte duvidosa desse modelo, do ponto de vista do autor, é que o conjunto de validadores de PoS é limitado a um número finito. Obviamente, esse número será uma espécie de compromisso entre o tamanho da evidência (ou seja, o número de assinaturas, numericamente mais validadores - o tamanho da evidência total de votação) e o grau de descentralização - quanto menos validadores, maior a centralização. Tudo depende de quais parâmetros serão finalmente escolhidos em uma implementação específica, mas, em geral, o modelo pode se tornar muito mais centralizado do que a tendência geral discutida na primeira parte.


Há também vários projetos nos quais a sustentabilidade do consenso é alcançada através da hibridação de PoW e PoS. Na maioria das vezes, o projeto Decred é associado ao híbrido PoW / PoS [6]. Eles usam um sistema de bilhetes que são comprados por um certo número de moedas, e esses bilhetes têm o direito de votar em um bloco depois de algum tempo e, em seguida, a probabilidade de confirmar um bloco para um bilhete aumenta com o tempo - quanto maior a idade, maior a chance (em certo sentido) este também é um sistema de depósito). A prova de Jake Yocom-Piatt é apresentada em [7], que afirma que na rede Decred, o custo de ataque de 51% para um invasor com uma pequena quantidade de PoS será 20 vezes maior que o Bitcoin. No entanto, ao calcular por algum motivo, o preço de compra do equipamento é indicado, apesar do fato deque, nesses modelos, é habitual calcular o custo do aluguel de um hashrate pela duração do ataque.
Outro exemplo interessante de PoW / PoS híbrido é o Zano [8], um projeto baseado em tecnologia de privacidade (agora vou dizer em grande segredo que este é o nosso projeto - eu sei, inesperadamente). Primeiro, de acordo com a teoria Nada em jogo, o atacante deve poder se comunicar com os detentores para convencê-los a participar do ataque. No caso de um projeto de privacidade, no blockchain do qual não há informações sobre endereços ou saldos de carteira, isso será ainda mais difícil. Além disso, para se defender do ataque de longo alcance, bem como do problema Nada em jogo, Zano usa uma regra especial de escolha de bifurcação, que não analisa a complexidade total de toda a cadeia (da gênese), mas sempre compara apenas dois sub-cadeias relativas ao ponto de ramificação e prefere essa ramificação,que altera minimamente a proporção entre a complexidade do PoW e a complexidade do PoS, mantendo ou aumentando a complexidade cumulativa. Portanto, para implementar o ataque de 51%, mesmo que o invasor tenha conseguido subornar algum número de mineradores de PoS, ele também precisará investir uma quantia significativa de dinheiro para fornecer a parte do ponto de vista do ataque, o que é, em última análise, muito mais caro do que o ataque ao PoW clássico ou PoS separadamente.

Sumário



Apesar do possível conflito com as idéias de descentralização, as soluções atuais baseadas em pBFT que fornecem "finalidade" parecem mais seguras contra uma ampla gama de ataques, incluindo ataques de longo alcance e Nada em jogo, além de oferecer a oportunidade de implementar sistemas PoS robustos e limpos no futuro. Mas a questão de onde está o equilíbrio certo entre centralização e confiabilidade permanece em aberto, o que oferece boas chances para soluções híbridas.

Você pode esclarecer as circunstâncias dos exemplos dados e mergulhar em sutilezas como "quanto o preço cairá durante o ataque, quanto a intenção de vender imediatamente a um grande número de detentores cientes do ataque afetará a liquidez, se todos os detentores terão esse desejo", etc., mas a principal coisa O conceito deste artigo é que os mineradores PoS, porque o “recurso de mineração” não é alienado da rede, o grau de lealdade natural à rede é maior que os mineradores PoW, e estou profundamente convencido de que essa circunstância Roedel horizonte de desenvolvimento da indústria.
Não concordo? Escreva seu ponto de vista nos comentários!

Fontes:
  1. en.wikipedia.org/wiki/Tragedy_of_the_commons
  2. en.wikipedia.org/wiki/Distribution_of_wealth
  3. bitinfocharts.com/top-100-richest-bitcoin-addresses.html
  4. en.bitcoin.it/wiki/Deterministic_wallet
  5. arxiv.org/pdf/1710.09437.pdf
  6. docs.decred.org
  7. medium.com/decred/decreds-hybrid-protocol-a-superior-deterrent-to-majority-attacks-9421bf486292
  8. zano.org/downloads/zano_wp.pdf
  9. www.peercoin.net
  10. medium.com/@slowmist/the-analysis-of-etc-51-attack-from-slowmist-team-728596d76ead
  11. bravenewcoin.com/insights/more-51-blockchain-attacks-expected

Source: https://habr.com/ru/post/undefined/


All Articles