28 de março de 2023

Garantias do cálculo final ou como avaliar blockchains

Quanto tempo leva para finalizar as transações nas principais blockchains? Quanto tempo leva para calcular As transações de Bitcoin podem ser consideradas perfeitas? Quais são os fatores de risco que precisam aumentar o número de confirmações esperadas? Como as confirmações afetam a liquidação da transação?

Surpreendentemente, nenhuma dessas perguntasNenhuma boa resposta foi dada, mesmo em 2019, 10 anos após a extração do primeiro bloco de Bitcoin. Um estudo completo das propriedades da prova de trabalho é dificultado pela ideia de que essa é apenas uma solução temporária para algum mecanismo de consenso melhor resistente ao ataque de Sibylla e, por outro lado, os bitcoiners estão convencidos das vantagens inabaláveis ​​deste algoritmo.

Mas estas são questões fundamentais. Se você acha que blockchains públicas com grupos abertos de validadores e mecanismos de convergência distribuídos existirão e serão usados ​​para transferir valor em um futuro próximo, vale a pena considerar essas questões. E se você gerencia a troca e sua riqueza financeira depende da avaliação correta do número necessário de confirmações em várias cadeias de blocos, elas são absolutamente cruciais. Para começar, deixe-me explicar por que acho que as garantias de liquidação de transações (sua finalização) são as principais coisas que você deve prestar atenção ao considerar qualquer blockchain público.

Qual é a coisa mais importante sobre o Bitcoin?

Curiosamente, esta questão não é tão simplespara responder. Peça a dez bitcoiners e você receberá dez respostas diferentes. As divergências fundamentais sobre a questão a que se destina o Bitcoin, suas teologias, praticamente dividiram a comunidade em 2014-2017. No ano passado, Hasu e eu tentamos capturar brevemente essas visões concorrentes. Outros perceberam nossa iniciativa e desenvolveram esse tópico. Eu destacaria especialmente um artigo de Murad Makhmudov e Adam Tasha. Daniel Kravitz também abordou esse tópico em 2014.

De acordo com Kravitz, Bitcoin é muito diferenteentendido por duas categorias principais de usuários: investidores e empreendedores. Os investidores, ele escreve, consideram o Bitcoin uma nova forma de base monetária altamente eficiente, que suporta principalmente a soberania do indivíduo. Os investidores tendem a acreditar que o Bitcoin se espalhará devido à força inerente de suas propriedades monetárias. Para eles, evangelismo não faz muito sentido: o preço é o melhor evangelista. Os empresários, no entendimento de Kravitz, estão mais interessados ​​no Bitcoin como um sistema global de pagamentos e prestam mais atenção ao seu uso em atividades comerciais e comerciais. Como todo mundo que monitorou a criptosfera em 2015-2017 sabe, as divergências entre os dois campos levaram a uma feroz "guerra civil" para determinar a missão do Bitcoin, o principal campo de batalha no tamanho dos blocos.

Talvez esses pontos de vista possam ser harmoniosamentecoordenar um com o outro. Estou inclinado a pensar que o mais importante no Bitcoin é sua capacidade de facilitar a transferência de valor através do ambiente de comunicação com garantias extremamente fortes. Eu acredito que o Bitcoin é uma nova tecnologia institucional - uma tecnologia de armazenamento e transferência de valor com um alto nível de garantias e sem dependência do estado ou sistema financeiro, -que abrirá novos modelos de organização humana e permitirá atividades comerciais produtivas em locais onde os direitos de propriedade são pouco respeitados.

Portanto, se os principais recursos do sistema foremgarantias quanto à liquidação das transações, como podemos avaliá-las? E como fazer uma comparação consistente entre o Bitcoin e outros sistemas com validação aberta?

Avaliação de finalização de transação

Então, exatamente o que se entende por garantiascontabilidade de transação? Isso implica na capacidade do sistema de fornecer aos destinatários dos fundos a confiança de que a transação recebida não será cancelada. As transferências eletrônicas de dinheiro através de um sistema de mensagens financeiras (como SWIFT) são populares em parte porque são quase impossíveis de cancelar. Eles são considerados seguros para os destinatários, uma vez que os bancos emissores somente liberarão fundos se estiverem totalmente presentes na conta do remetente.

É por isso que os ladrões que organizaram o bilionésimoassalto ao banco central do Bangladesh, usaram SWIFT e transferências bancárias: eles queriam usar garantias de liquidação final. Em outras palavras, eles decidiram usar um sistema para roubo que eles sabiam que era difícil reverter. Como resultado, 61 milhões de dólares dos roubados neste roubo nunca foram devolvidos. Isso não prova a falha do sistema SWIFT e dos pagamentos bancários, mas mostra os pontos fortes do sistema. Mesmo nesse caso, quando quase todas as partes envolvidas nessas transações queriam cancelá-las, elas não podiam fazê-lo. O sistema é resistente a cancelamento de transação, discrição e alteração retrospectiva. Isso não o torna um sistema ruim. Pelo contrário, isso o torna um sistema que fornece às contrapartes um alto grau de confiança na finalização das transações.

Da mesma forma, o Bitcoin é um sistema útil, pois fornece aos usuários garantias poderosas do acordo final. Quanto esse sistema é bom, não sabemos exatamente. LaurentMT escreveu provavelmente o estudo mais científico deste tópico. Embora, em geral, as propriedades do PoW do Bitcoin ainda não sejam totalmente compreendidas. Existem vários episódios da reorganização em sua história, mas, tanto quanto sabemos, não foram reorganizações deliberadas com o objetivo de desfalque. E sabemos que as mineradoras alocam enormes recursos do mundo real para mineração de transações. Isso significa que os destinatários das transações de bitcoin podem ter uma confiança extremamente alta de que, após receber algumas confirmações, é improvável que a transação seja cancelada.

No entanto, isso não pode ser dito de muitos outros.criptomoedas. Embora externamente, em muitos casos, possam parecer semelhantes ao Bitcoin, nenhum deles pode fornecer aos usuários garantias iguais do acordo final. Isso não é necessariamente uma conseqüência de algumas falhas de design, apenas o espaço dos blocos de Bitcoin tem um custo acumulado mais alto - e, portanto, o custo do ataque - por unidade de tempo e, além disso, o Bitcoin tem quase o monopólio de sua função de hash e é usado para mineração equipamento especializado. Surpreendentemente, muitas blockchains mais fracas não foram invadidas, mesmo que o custo de atacá-las fosse relativamente baixo. Isso provavelmente ocorre devido ao fato de que para monetizar um ataque, 51% precisam de uma bolsa de valores, o que cria dificuldades adicionais. E, francamente, a maioria das moedas pequenas é bastante pequena (e quase ilíquida), o que limita significativamente a lucratividade do ataque.

Para ter uma ideiaquão vulneráveis ​​são muitas criptomoedas, dê uma olhada no crypto51.app. A metodologia de recursos é baseada na suposição um tanto irreal de que um invasor pode alugar equipamentos suficientes em Nicehash, mas permite determinar o limite inferior do custo de um ataque a esses sistemas.

Então, quais são as principais variáveis ​​para medirfinalização de transação em sistemas públicos de blockchain? Proponho primeiro classificar essas variáveis ​​com base na conveniência da quantificação: aquelas que são mais fáceis e as que são mais difíceis de avaliar dessa maneira.

Variáveis ​​quantificáveis

Valor acumulado do registro

O custo acumulado (ou "alto custo", eng. custo) do registro é a mais profunda e direta das variáveis ​​disponíveis para avaliar as garantias da finalização das transações na blockchain. Simplificando, é equivalente ao valor pago aos validadores / seletores de transação por unidade de tempo. No Bitcoin, os mineradores recebem recompensas em bloco e taxas de transação como recompensa, o que lhes dá um incentivo financeiro para "seguir as regras", realizando fielmente suas tarefas. Nos algoritmos de prova de trabalho, os mineradores fornecem evidências irrefutáveis ​​de que gastaram uma certa quantidade de eletricidade e, portanto, incorreram em custos para cada bloco que propuseram. No momento da mineração em bloco, o mineiro deve gastar recursos, cujo custo, com raras exceções, é aproximadamente equivalente ao custo do bloco (geralmente com uma pequena margem). Portanto, os mineradores têm um incentivo para criar os blocos corretos que correspondem às regras da rede.

É como um projeto escolar no qual você precisaleia o livro e envie sua análise escrita. Você precisa fornecer ao professor a prova de que lê o livro, para escrever um trabalho analítico (como um hash de bloco válido com zeros à esquerda), o que você só pode fazer se realmente ler o livro (hashes suficientes calculados). Como seu professor também é muito atencioso com o estilo do texto, você precisará formatar seu trabalho corretamente (crie um bloco bem formado e válido). Seria uma tragédia ler o livro inteiro apenas para apresentar uma obra formada incorretamente e não ter êxito. A prova de trabalho funciona de maneira semelhante: o trabalho é feito primeiro e a recompensa por isso é recebida mais tarde. Você suporta despesas reais e seus negócios dependem da implementação correta de todas as etapas burocráticas necessárias para receber a remuneração; assim, você faz todo o possível para não estragar esta parte. Recentemente, o mineiro fez todo o trabalho necessário para formar o bloco, mas tropeçou no último estágio, criando um bloco inválido. (Para uma descrição mais completa de como o sistema de incentivos funciona no PoW, leia o artigo de Hugo Nguyen.)

Então, por que o maior acumulado por unidadeO custo do registro significa mais segurança para as contrapartes? Como a maior remuneração dos mineiros (presume-se que este seja um mineiro de boa-fé) significa que, para derrotá-los, você precisará coletar mais mercenários. Esses recursos devem vir de algum lugar: você precisará mobilizar recursos e equipamentos capazes de produzir hashes, eletricidade e assim por diante. (Há um argumento de que, como os atacantes recebem um subsídio em bloco em um ataque de 51%, a segurança da rede no PoW é realmente garantida apenas por comissões. Aqui não vou entrar em uma discussão completa sobre esse tópico - por enquanto, vou continuar com isso que os subsídios, especialmente ao usar equipamentos especializados, são como um grande caroço, que primeiro precisa ser limpo de tudo o que é supérfluo antes que possa ser teorizado sobre o cenário de ataque em 51%.)

Para resumir, tente vencer a multidãomineiros honestos que produzem fielmente blocos de Bitcoin são muito caros. Hoje, sua renda total é de US $ 6,9 bilhões por ano, e muitos deles supostamente investiram pesadamente neste negócio em antecipação a fluxos de caixa futuros (isso significa que a quantidade de equipamentos ativos na rede pode ser ainda maior do que correlacionada com a renda bruta atual dos mineiros).

A receita bruta anual dos mineradores de Bitcoin, em USD. Dados: Coinmetrics.io

Assim, o Bitcoin é protegido não apenas pela recompensa que o protocolo paga aos mineradores agora, mas também pela recompensa com desconto que esses mineradores esperam receber no futuro.

Não temos uma maneira fácil de simularexpectativas, portanto, a coisa mais simples que pode ser feita é pegar a renda do mineiro por unidade de tempo e comparar as cadeias de blocos com base nisso. Mesmo que você pare de ler o artigo e lembre-se do último pensamento, já terá uma melhor compreensão da segurança da blockchain do que a maioria das pessoas. Muito poucos atores, mesmo aqueles para quem as apostas são muito altas - como trocas - se dão ao trabalho de conduzir uma análise comparativa das cadeias de blocos.

Anthony Lusardi já fez um ótimodivulgação sobre este tópico. Ele apresentou o BitConf (em inglês) (a partir da confirmação em inglês - confirmação), um indicador de quantas confirmações são necessárias para outras blockchains, como o Litecoin, para atingir um nível de segurança equivalente a uma confirmação do Bitcoin.

Basta dizer que a maioria das pessoas nãoEles usam o BitConf e não tentam indexar a liquidação de transações em diferentes blockchains. Na visão "popular", cálculo, finalização é uma função linear do número de confirmações. Esta opinião, infelizmente, é muito comum. Mesmo no site da Litecoin Foundation, a seguinte declaração é implicitamente permitida:

As transações de Litecoin são confirmadas mais rapidamente do que ema maioria das criptomoedas, como o Bitcoin, porque no Litecoin um bloco é gerado a cada 2,5 minutos, em contraste com o intervalo de 10 minutos na rede Bitcoin. Isso significa que seu dinheiro chega ao destinatário mais rapidamente.

O momento da seleção inicial da transação deO mempool e sua inclusão na cadeia no Litecoin realmente são mais rápidos, mas em criptomoedas, o cálculo da transação deve ser considerado de maneira probabilística. Em outras palavras, se você está preocupado apenas com a primeira confirmação, o Litecoin é realmente mais rápido, mas assim que você estiver interessado em uma finalização de longo prazo (através de muitas confirmações), fica claro que o Litecoin é muito mais lento.

Se você acredita que cada confirmação emLitecoin e Bitcoin dão garantias iguais da liquidação final; então, graficamente, isso pode ser expresso da seguinte maneira; e Bitcoin, neste caso, é obviamente mais lento:

Mas isso está errado. O Litecoin gera mais blocos por unidade de tempo, mas acumula o valor do registro muito mais lentamente. De fato, o Bitcoin paga muito melhor ao seu exército de mineradores e, como resultado, eles produzem uma segurança significativamente maior na forma de hashes por minuto.

Em relação ao valor acumuladoOs blocos de Bitcoin são significativamente mais pesados ​​que os blocos de Litecoin. Mesmo se houvesse um intervalo de 10 minutos entre os blocos no Litecoin, no Bitcoin, um bloco ainda custaria 14,5 vezes mais do que no Litecoin. As confirmações não importam muito. O lucro perdido dos mineradores por unidade de tempo é o que importa.

Como alternativa, você pode visualizaro valor acumulado do registro na forma de blocos acumulados sobre seus predecessores, onde as transações se tornam cada vez mais finais à medida que se afundam mais na matriz de blocos.

A largura do bloco é aproximadamente proporcional aos custos de segurança relativos de cada blockchain.

Quanto mais for adicionado à matriz emais blocos, a probabilidade de cancelar blocos anteriores é reduzida e as transações estão se tornando cada vez mais finais. Nesta figura, dimensionei a largura dos blocos de acordo com o custo relativo acumulado do registro e descrevi a trituração em blocos.

A linha inferior aqui é que a liquidação das transações emsistemas blockchain é um fluxo. O intervalo entre os blocos em geral não importa. O Ethereum cria muito mais blocos por hora que o Bitcoin, mas o cálculo das transações nessas blockchains deve ser comparado com base no custo do registro, não no número de confirmações.

Lucratividade do cancelamento: tamanho da transação

O valor do registro não éa única coisa que importa para a finalização do cálculo. O incentivo para cancelar uma transação que alguém possa ter também é importante. A codificação mais pura de tal incentivo é simplesmente o tamanho da transação. Se você é o destinatário de uma transação de 50.000 BTC, pode esperar mais do que as 6 confirmações geralmente aceitas, como precaução. Se você receber 1000 satoshi, uma confirmação provavelmente será suficiente. Ou seja, dependendo do tamanho da transação, eles podem ter mais ou menos "finalização" percebida, um número aceitável de confirmações antes que o cálculo possa ser considerado final.

Elaine Wu formalizou esse conceito emum artigo maravilhoso para a Bloomberg, no qual ela afirma que a liquidação da transação pode ser considerada perfeita quando o valor acumulado do registro for igual ao valor da transação.

O texto de Elaine combina com sucesso doisAs variáveis ​​quantitativas mais importantes nos cálculos de blockchain: valor do registro e rentabilidade do cancelamento da transação. Se você desejar aguardar a liquidação final de uma transação recebida por US $ 10 milhões no BTC, de acordo com esta regra, o período de espera será de aproximadamente 60 blocos ou 10 horas. (Coincidentemente, à taxa de câmbio do BTC / USD de US $ 13.330 que existia no momento da redação, o Bitcoin acumulou o custo do registro a uma taxa de US $ 1 milhão / hora.

Agora que nomeamos as duas variáveis ​​mais importantes para finalização, vamos substituir os números e comparar o resultado para as maiores redes de PoW.

Todos os números são de 15/07/2019. Dados: Coinmetrics.io

Escusado será dizer que o cálculo final paraAs transações de blockchain do Bitcoin até agora são as mais rápidas (assumindo apenas essas duas variáveis, sem outros indicadores importantes). O cálculo de uma transação recebida de até US $ 1 milhão em muitas cadeias de blocos pode ocorrer extremamente lentamente. Com exceção do Bitcoin, Ethereum e Litecoin, em qualquer outro registro descentralizado, esse processo leva mais de um dia (não considero Ripple e Stellar, porque o processo de validação neles não é descentralizado). As blockchains menores simplesmente não pagam aos mineradores uma remuneração suficiente para que a liquidação final das transações ocorra em um período de tempo razoável.

No Howmanyconfs, informações comparativas sobre o número necessário de confirmações são apresentadas na forma de uma tabela atualizada dinamicamente.

Também é importante notar que no Bitcoin Cash eA liquidação final das transações do Bitcoin SV ocorre respectivamente 33 e 69 vezes mais lentamente que no Bitcoin. Sendo em muitos aspectos funcionalmente idênticos ao Bitcoin, eles são de fato muito mais lentos, pois oferecem menos recompensa aos mineradores. Isso contradiz diretamente seu posicionamento usual como blockchains "mais rápidos".

Também pode servir como um ótimo exemplo.como o Bitcoin resiste à duplicação. Você pode criar algo parecido com Bitcoin, mas não pode reproduzir suas garantias do cálculo final decorrente do custo acumulado do registro. Os mineiros existem na realidade econômica e não podem ser convencidos a apoiar um protocolo que paga por seu trabalho insuficiente. De fato, como aprenderemos na próxima seção, o Bitcoin Cash e o Bitcoin SV são ainda mais fracos do que o mostrado nesta tabela, devido à presença da terceira variável.

Monopólio em sua própria função de hash

Até agora não mencionei a terceira críticauma variável que afeta diretamente as garantias da liquidação final das transações em um determinado blockchain: possui um monopólio real no equipamento que trabalha com sua função de hash? Como eu disse, o Bitcoin Cash e o Bitcoin SV são extremamente desvantajosos em comparação com o Bitcoin, sendo suportados apenas por uma fração desprezível de todos os mineradores SHA-256 ASIC em funcionamento. Isso significa que qualquer piscina, mesmo de tamanho médio ou pequeno, o Bitcoin de mineração, pode redirecionar temporariamente seu poder de hash para um dos garfos menores do Bitcoin e realizar um ataque de 51% a ele.

A parcela relativa da receita das mineradoras: BTC (laranja), BCH (verde), BSV (vermelho). Coinmetrics.io

Que essas blockchains ainda não foram atacadas,não garante sua segurança futura. Isso pode ser devido ao fato de que, no momento, não há maneiras no Bitcoin que desejem interferir maliciosamente no trabalho de qualquer garfo, mas a dependência da boa vontade dos mineiros torna o modelo de segurança desses garfos extremamente fraco. Como esse risco está constantemente presente, pode-se argumentar que, em princípio, nenhuma blockchain pode garantir a liquidação final das transações, independentemente do número de confirmações. Isso se deve ao fato de que no Bitcoin existem pools de mineração mais do que suficientes, o que poderia reorganizar facilmente o blockchain BSV em 100 ou mais blocos de profundidade.

Essa variável torna a análise mais difícil. Um hash maior por si só não significa necessariamente que o blockchain é mais seguro; também deve ser apoiado por uma parcela maior de equipamentos especializados.

Neste exemplo, eu descreveria o blockchain Acomo menos seguro em comparação com B, embora tenha um valor mais alto de registro em termos absolutos, porque é teoricamente mais fácil atrair equipamento suficiente para atacar o blockchain A.

Portanto, essa variável deve ser considerada comológico: se o blockchain possui um monopólio real em equipamentos compatíveis, a análise é simples. Se estiver em uma posição malsucedida, quando o equipamento para trabalhar com a mesma função de hash também for usado para minerar em outras cadeias de bloco, e apenas uma fração relativamente pequena dessas capacidades de hash for suportada, então essa blockchain provavelmente será fundamentalmente insegura. Embora seja difícil determinar quão inseguro é, o risco de um ataque depende da capacidade dos invasores atrairem eletricidade e equipamentos suficientes.

Variáveis ​​menos quantificáveis

As três variáveis ​​mencionadas acima não sãoabrangente, eles são simplesmente mais fáceis de quantificar. Com eles, você provavelmente poderia construir um modelo plausível que supera os usados ​​pela maioria das trocas hoje. Mas há muitos outros fatores que também precisam ser considerados.

Rentabilidade de cancelamento: Goldfinger Attack

O nome "Goldfinger" é emprestado do filme de James Bond, no qual o vilão planeja irradiar todo o ouro em Fort Knox e, assim, aumentar o valor possuir ouro. Este termo descreve uma classe de ataques quando as ações de um invasor são motivadas por algum tipo de incentivo financeiro que existe fora do protocolo. Joseph Bonnet, mais cientificamente, os descreve como ataques nos quais "os agressores [têm] motivação externa para interromper o processo de consenso".

Quantifique o risco de tais ataques praticamenteimpossível, porque os atacantes podem ter motivos muito diferentes e, em regra, não os revelam antes do ataque. Aqui darei outros dois exemplos em que a lucratividade do cancelamento de transações aumenta acentuadamente, o que pode pôr em causa as garantias da liquidação final das transações.

Sobrecarga da camada superior

Isso se refere a uma condição na qual uma grandea quantidade de ativos financeiramente significativos é criada na forma de tokens sobre algum protocolo da camada base - como ativos Omni no Bitcoin ou ERC20 no Ethereum. Como esses tokens herdam sua segurança da camada base e dependem inteiramente dela, eles são vulneráveis ​​a ataques no blockchain base.

À medida que as assimetrias entre valor se desenvolvemferramentas do segundo e mais níveis e o custo de atacar a camada base, o problema de sobrecarregar as camadas superiores começa a aparecer. Se a assimetria se tornar grande o suficiente, um invasor pode tentar abrir uma posição curta em uma das ferramentas de nível superior e, ao mesmo tempo, atacar a blockchain subjacente, minerando blocos vazios e ataques de DoS nos tokens correspondentes, ou reorganizando a blockchain e criando confusão.

Já temos exemplos reais de consequências parasistemas com camadas superiores sobrecarregadas. Os atacantes começaram recentemente a atacar regularmente o índice base, que define o preço dos derivativos BitMEX. Devido à assimetria significativa entre as garantias presentes no BitMEX (acima) e o mercado de referência subjacente (base), torna-se rentável queimar fundos em ordens de mercado no Bitstamp, porque um invasor pode obter lucro desencadeando um movimento exagerado de preços no BitMEX devido à eliminação de posições de margem .

Eu não acho que nenhuma das blockchainsenfrenta esse problema hoje, mas à medida que mais e mais instrumentos financeiros são convertidos em tokens que existem no topo de blockchains, a lucratividade de um ataque à camada base aumentará.

Mercados de Derivativos de Liquidez

Isso é explicado de maneira bastante simples. Instrumentos financeiros derivativos e, em particular, opções, dão aos participantes do mercado financeiro a oportunidade de negociar com maior alavancagem e receber mais receita, mesmo como resultado de uma mudança relativamente pequena no preço do ativo subjacente. Como no caso de sobrecarregar as camadas superiores, o risco para o blockchain surge quando há uma assimetria significativa entre o custo do ataque e sua lucratividade.

A criação de mercados de derivativos líquidos permiteos atacantes aumentam seus lucros ao prever movimentos de preços; e se eles puderem provocar uma queda no preço de um ativo, atacando-o, as garantias para o cálculo de transações na blockchain estão potencialmente em risco. À medida que a lucratividade do ataque aumenta, aumenta a quantidade de recursos que o atacante está pronto para usar. Portanto, o aumento da alavancagem no lado da venda enfraquece potencialmente as garantias da liquidação final da blockchain. Mas, devido à heterogeneidade dos atores e à incerteza sobre a capacidade de monetizar tal ataque, torna-se impossível quantificar esse risco, ajustado pelo nível de segurança da blockchain.

Obviamente, um dos contrapesos a esses ataques poderiaexiste uma potencial relutância da bolsa em pagar lucro sobre a posição se houver suspeitas de que o comerciante correspondente tenha coordenado suas ações com um atacante atacando o blockchain.

Aspectos adicionais em relação ao equipamento

Em relação aos equipamentos para trabalhar com uma função de hash específica, deve-se notar que as moedas com mineração de GPU não pode possui o monopólio do uso de equipamentos, pois existem muitas GPUs no mundo (graças a jogos e outros aplicativos que não são de criptomoeda).

Assim, para moedas de mineração de GPU sempremais confirmação deve ser necessária. É difícil dizer exatamente como deve ser a relação entre a unidade de valor acumulado do registro na mineração de GPU e o registro na mineração ASIC. Mas com absoluta precisão, a construção de um modelo de segurança baseado na mineração de GPU deve ser considerada como um fator de risco adicional. Pelo menos por causa da simplicidade de mobilizar equipamentos para mineração de GPU.

Estudo de caso: Requisitos de confirmação Kraken

Surpreendentemente, de muitas das minhas conversas comrepresentantes de trocas que têm algo a perder com regras mal equilibradas para o cálculo de transações, parece que geralmente pensam pouco nas regras de confirmação. Não consegui encontrar informações detalhadas sobre quantas confirmações da troca consideram as transações recebidas como finalizadas. Felizmente, Kraken publicou seus critérios.

Decidi comparar os requisitos de confirmação do Kraken com a ingênua implementação do BitConf da Lusardi - exigindo apenas que todas as blockchains forneçam o equivalente a seis confirmações no Bitcoin.

: Tempo de processamento do depósito em Kraken, Coin Metrics

Os resultados são surpreendentes. Dependendo do ponto de vista, pode-se dizer que o Kraken faz requisitos extremamente rigorosos para transações de Bitcoin ou subestima os requisitos para transações em outras blockchains. Exigindo seis confirmações para o Bitcoin depositar um depósito, eles solicitam apenas 12 confirmações para o Litecoin (onde 174 confirmações seriam equivalentes ao Bitcoin em termos de segurança), 30 para Ethereum (equivalente a Bitcoin: 173) e 15 para Monero (equivalente a Bitcoin: 2000).

Meu palpite é que seisas confirmações são claramente redundantes para o Bitcoin e, sob essa ótica, o Kraken é menos exigente em outras blockchains parece um pouco mais razoável. No entanto, os resultados da comparação com o uso consistente do valor acumulado variável do registro às vezes parecem até cômicos. O QTUM, por exemplo, para atingir o mesmo nível de segurança exigirá 67.000 confirmações ou 115 dias de espera. (O QTUM, no entanto, pode muito bem ter algum modo alternativo desconhecido de calcular transações: meus cálculos são simplesmente baseados no valor dos pagamentos aos validadores).

Obviamente, essa é uma implementação muito ingênua do modelo. Uma versão mais complexa teria que levar em conta os requisitos de segurança mais altos para os que não são monopólios em termos de equipamentos de blockchains, moedas de mineração de GPU, grandes transações de entrada etc. Eu recomendaria que todas as trocas considerassem a introdução de um conjunto sistemático de regras para transações recebidas, se ainda não o fizeram. Independentemente da fórmula escolhida, o resultado provavelmente será menos confirmações para Bitcoin e mais para blockchains de menor escala.

Algumas conclusões

Que valor prático tudo isso tem? Bem, embora continuemos esperando a formalização dessas variáveis ​​dentro da estrutura de um modelo bem significativo que seja diretamente aplicável ao uso diário de criptomoedas, aqui estão algumas conclusões que podem ser tiradas agora:

I. O intervalo entre os blocos pode ser qualquer coisa, muda pouco

A única coisa que altera o intervalo mais curto entreblocos, - isso reduz a discrepância no tempo de espera pela confirmação inicial. Uma pessoa impaciente provavelmente preferirá uma blockchain com um intervalo de 2,5 minutos entre os blocos, mas isso não significa que o cálculo das transações nele seja mais rápido. Isso não afetará a taxa de acumulação do valor do registro, que é uma função da taxa de emissão e do preço das moedas.

De fato, o bitcoin pode reduzir o tamanhobloqueie em 25% e reduza o intervalo entre os blocos para 2,5 minutos - e ninguém notará a diferença. O sistema permaneceria funcionalmente idêntico, apenas a regra geralmente aceita de seis confirmações seria substituída pela regra de 24 confirmações. Satoshi escolheu um intervalo de 10 minutos porque não sabia com que facilidade o sistema poderia chegar à convergência. Atrasos e grandes blocos interferem na validação e dificultam a convergência entre os nós. Um intervalo saudável de 10 minutos entre os blocos deixa ao sistema uma margem suficiente e também nos dá uma idéia de que tipo de sistema Satoshi planejou (dica: não é adequado para pequenas transferências de dinheiro).

É verdade que a primeira confirmação foivalor, já que sua transação não pode começar a afundar mais sob o peso dos blocos subseqüentes até que seja incluída pelos mineradores no bloco. Além disso, um espaçamento menor entre os blocos reduz a variação de algumas variáveis, como a produção diária. No entanto, com essas reservas, o intervalo entre os blocos pode ser absolutamente qualquer. Além de qualidades acumulação de valor do registro,a finalidade da liquidação das transações também é determinada pelo custo da segurança por unidade de tempo. Um espaçamento menor entre blocos significa apenas que você divide esse fluxo de segurança em fragmentos menores. Isso não torna o cálculo final mais rápido.

II A segurança do Bitcoin é redundante ou outras blockchains são fundamentalmente inseguras.

Esta é a conclusão mais clara que pode ser extraída detodos os exercícios na análise comparativa que fiz para este artigo. Se compararmos as blockchains apenas em termos de tamanho dos pagamentos aos seletores de transação (mineradores e validadores) por unidade de tempo, a maioria deles parecerá catastroficamente fraca em comparação ao Bitcoin. Basta dar uma olhada neste gráfico. Além do Bitcoin, Ethereum e Litecoin, o restante das criptomoedas são quase indistinguíveis - seus custos de segurança são tão mínimos.

Renda diária dos mineiros em USD (média móvel de 7 dias). Coinmetrics.io

Isso não é necessariamente fatal. Talvez o Bitcoin esteja pagando muito mais por segurança e a prova de trabalho seja realmente "melhor" do que pensamos. Na verdade, estou inclinado a este ponto de vista agora: devido ao tamanho atual dos subsídios em bloco, combinado com o alto custo do BTC, o Bitcoin provavelmente gasta "demais" em segurança. Mas isso cria uma margem de segurança, o que lhe proporcionará um bom grau de proteção no futuro período de transição.

Portanto, esses resultados não são necessariamenteapocalíptico para pequenas cadeias de blocos. Afinal, apesar de Satoshi ter abençoado a regra das seis confirmações, pode muito bem ser que, para a maioria das transações, um ou dois blocos sejam suficientes. Isso reduziria a carga em outras blockchains tentando, de alguma forma, corresponder aos custos da segurança do Bitcoin.

III A finalização de transações é sempre probabilística.

Eu admito que fiquei um pouco animado comde quando novas blockchains ganham "final absoluto". A única maneira de realmente receber as transações finais é uma certa organização atestá-las, garantindo sua finalidade, ou seja, realmente aprovando-as. Porém, nesse caso, as autoridades que possam estar interessadas em cancelar transações (por exemplo, se suspeitarem de alguma atividade criminosa) geralmente exigirão que a organização cancele os pagamentos relevantes, o que prejudica a conclusão percebida dos cálculos.

Tome a EOS como exemplo. A EOS tem o conceito de "Último bloco irreversível", em relação às transações nas quais, segundo a EOS Canadá,

você pode ter 100% de confiança de que eles são finais, totalmente confirmados e inalterados. Se o número do bloco for menor que o último bloco irreversível, será considerado final.

De acordo com o EOS Network Monitor, o topo da blockchainapós o último bloco irreversível atual (no momento da escrita), totalizaram 330 blocos, o que equivale a cerca de 2 minutos e 40 segundos. Juntos, isso torna o tempo reivindicado para finalização no blockchain da EOS muito pequeno.

Além disso, existe uma nuance: A EOS possui (ou foi?) Um processo burocrático através do qual os usuários podem entrar em contato com o Fórum Central de Arbitragem da EOS (ECAF) e solicitar que congelem e devolvam os fundos supostamente roubados às vítimas e cancelem as transações finalizadas há muito tempo. Uma série desses cancelamentos foi feita em julho de 2018. Isso foi possível devido ao fato de haver apenas 21 entidades (produtoras de blocos), que foram instruídas para processar transações, e cada uma delas era bem conhecida pela administração e, portanto, responsável.

Embora muitos observadores tenham gostado do retornofundos roubados, do ponto de vista do cálculo de transações, isso elimina as qualidades que as contrapartes procuram na blockchain. Na prática, qualquer mecanismo de cancelamento de cancelamento de transação pode ser usado por abuso. O motivo da inclusão de comissões nas transações com cartões bancários é a prevalência de fraude no reembolso.

Imagine um golpe complicado no qual alguémVendi o EOS para autorização em uma transação p2p, depois recorreu da ECAF e consegui recuperá-los, declarando a transação fraudulenta. Esse tipo de esquema se torna possível quando há exceções administrativas à finalização das transações.

Eu poderia dar muitos exemplos sobre esse assunto, masVou me limitar a um. Na prática, muitas blockchains, declarando sua finalidade completa e válida, também deixam em seus sistemas a capacidade de cancelar seletivamente transações e bloquear contas. Em qualquer caso, é necessário considerar a probabilidade de uma transação ser cancelada, mesmo que não esteja explicitamente declarada no código.

IV Sendo aberto sobre seu modelo de segurança, o algoritmo PoW do Bitcoin é completamente transparente.

Citando novamente Elaine W, uma das mais úteisAs qualidades do modelo de segurança Bitcoin são sua abertura e compreensibilidade. Não é fácil determinar o tamanho exato das garantias (quantas confirmações são necessárias para calcular uma bilionésima transação)? Mas você pode determinar a quantidade de recursos gastos na manutenção da viabilidade do sistema. A qualquer momento, o observador pode determinar facilmente quantos hashes e quanta energia é necessária para superar o sistema. Nos últimos anos, ficou claro que nem uma única entidade, com exceção dos estados mais poderosos, pode mobilizar recursos suficientes para superar a maioria genuína.

Em contraste com a simplicidade do modelo Bitcoin,outras blockchains tentam aumentar a segurança ocultando, aumentando a complexidade ou usando regimes opacos de finalização institucional. A Verge, por exemplo, combinou cinco funções diferentes de hash em seu modelo exótico de prova de trabalho, e isso levou à falha. O invasor percebeu que poderia realizar um ataque "Time Warp" (distorção do tempo), visando apenas uma das funções de hash e reduzindo gradualmente a complexidade para 1. Aumentar a complexidade do sistema não apenas não aumenta sua segurança, mas também adiciona novos vetores de ataque.

Resumir

Se você escolher a coisa mais importante que eu gostaria,que você trouxe deste artigo, será o seguinte. Em vez de considerar o cálculo das transações em função de um certo número predeterminado de confirmações, considere o cálculo em um sistema de prova de trabalho como um processo de fossilização lenta da madeira. Ele prossegue a uma velocidade determinada, que não pode ser aumentada artificialmente. A velocidade é determinada pelas variáveis ​​listadas acima: principalmente, o custo acumulado do registro, o tamanho da transação e a disponibilidade dos equipamentos utilizados na mineração. No final do processo, a madeira é substituída por minerais e endurece. As formas e características da madeira congelam com o tempo.

Da mesma forma, e blockchains, de acordo com o textoNika Szabo, isso é âmbar computacional. Inicialmente, o âmbar é uma seiva de árvore e só se torna mais difícil ao longo do tempo no processo de preservação de informações (DNA de insetos etc.). O processo mais importante de ocultar as alterações passadas do registro com valor falsificado, fornecido como prova dos custos incorridos, fornece as mesmas garantias de finalização lenta. Com o acúmulo de um grande número de blocos, a gravidade da blockchain se manifesta, fazendo uma mudança profunda na história de seus registros, cara e inconveniente.

Remuneração disponível para os mineiros - e,portanto, os custos incorridos - é uma função da taxa de liberação, preço unitário e comissões. Nenhum desses indicadores, com exceção da taxa de liberação, pode ser programado diretamente. E a alta taxa de lançamento por si só não pode garantir a segurança, uma vez que os investidores devem investir na blockchain, garantindo seu valor. Nesse sentido, garantias confiáveis ​​da liquidação final das transações no sistema de prova de trabalho não podem ser planejadas, apenas podem surgir no processo. Se essa conclusão é sombria ou não, é com você.

Neste artigo, tentei falar sobrevariáveis ​​que considero mais importantes para avaliar as garantias de liquidação final em blockchains, especialmente com a prova de trabalho. Mas, como você provavelmente notou, não dou um modelo formal ou uma solução recomendada para o problema. Muitas dessas variáveis ​​não são fáceis de quantificar, e eu provavelmente ignorei algumas delas. A criação de um modelo de implementação mais volumoso ou prático deixarei para os autores subsequentes.

Se ignorarmos esses problemas, mais cedo ou mais tardemais tarde, inevitavelmente, surgirão diante de nós. O surgimento de liquidez no lado da venda para a maior parte do mercado implicará a descoberta de novos tipos de ataques, que geralmente serão direcionados às trocas. Da mesma forma, quando grandes custodiantes e câmaras de compensação começarem a trabalhar com depósitos de criptomoedas no valor de centenas de milhões ou até bilhões de dólares, eles precisarão desenvolver regras formais para o que é considerado um cálculo para transações em blockchains. Eles devem pensar seriamente na segurança das cadeias de blocos em que confiam.