Por que todo mundo está pirando com esse bug do Bitcoin Cash (2018)

(Tradução Automática Ivan on Tech) Pessoal, sejam bem vindos’s vídeo muito importante e especial onde vamos contar essa história que vamos conte a história de como um desenvolvedor de pedreira Bitcoin salvou todo o ecossistema de dinheiro Bitcoin do colapso ao descobrir um bug crítico no consenso de cache Bitcoin e, em seguida, divulgar esse bug de forma responsável ao cache mordido.

Desenvolvedores e nós vamos discutir que tipo de baguete era, por que era tão significativo e por que causaria o colapso de todo o ecossistema e nós 39; vamos falar sobre divulgação responsável, o que significa e por que é tão importante quando você encontra um bug, por exemplo, em uma moeda enigmática e o que você deve divulgar suas descobertas de maneira muito .

De maneira responsável, vamos discutir o que isso significa, mas antes de começarmos, sei que alguns de vocês ficam extremamente trig Gerado quando digo Bitcoin core, mas estou aqui para dizer que estou dizendo correto, estou ; estou dizendo beacon quarry e estou usando entre o núcleo da maneira mais correta possível, porque você percebe que o núcleo do Bitcoin é o desenvolvimento .

Equipe do cliente Bitcoin mais comum O núcleo do Bitcoin é chamado de núcleo do Bitcoin, portanto, quando digo núcleo do Bitcoin, é’ não é que eu esteja chamando Bitcoin de núcleo de Bitcoin Não estou chamando de núcleo de Bitcoin de BTC I(39;m chamando a equipe de desenvolvimento do maior núcleo Bitcoin cliente BTC porque é exatamente assim que eles são chamados então não precisa explodir no.

Seção de comentários abaixo, pessoal, porque é completamente correto chamar de desenvolvedores do núcleo Bitcoin Desenvolvedores do núcleo Bitcoin, que é exatamente o que eles são agora, algumas pessoas, especialmente na comunidade de dinheiro diferente, chamam Bitcoin Bitcoin core, eles chamam a moeda como um todo Bitcoin core então por favor diferencie diferença entre essas duas coisas é uma coisa para chamar de.

Desenvolvimentos no núcleo Bitcoin porque isso é exatamente o que eles são, é uma coisa totalmente diferente chamar de núcleo BTC Bitcoin e não Bitcoin que estou chamando de desenvolvimento team Bitcoin core e isso está completamente correto, então pessoal, do que estamos falando hoje? Estamos falando de um bug crítico no beacon cash, como foi descoberto e evitado por um.
Desenvolvedor do Bit Concord e você sabe que isso é realmente um rabo e uma saga sobre como ainda precisamos cooperar neste espaço porque às vezes você ouve essa retórica muito forte entre pessoas diferentes em campos diferentes, por exemplo, carne versus limite de dinheiro está discutindo, eles estão discutindo, estão usando palavras muito duras, mas no final do dia, é tudo.

Sobre reunir toda a viagem ao espaço e isso é muito importante principalmente quando se trata a esta história porque você imagina que, se os desenvolvedores principais do Bitcoin fossem maliciosos e realmente vissem isso como uma oportunidade de bagunçar completamente o Bitcoin cash, eu nem tenho certeza do beacon cash estaria no topo 10 criptomoedas hoje, mas.

Eles fizeram isso com responsabilidade, divulgaram tudo com responsabilidade e vamos discutir isso, então basicamente vamos desenhar muito hoje, mas quero começar lendo este artigo de Corey Field, como você pode ver, Corey Fields é um desenvolvedor de núcleo de Bitcoin é um desenvolvedor de núcleo de Bitcoin. o que eles estão bem eu não vou te dizer AI não vai te lembrar mais porque é correto usar Bitcoin core mas não exploda na seção de comentários isso é tudo que eu peço para você então Corey fields basicamente descreve a seguinte situação que em abril 25a 380.

Eu desconheço honestamente e divulgou em particular a vulnerabilidade crítica no Bitcoin cash, uma das criptomoedas mais valiosas do mundo, agora eu sei que alguns de vocês podem estar lendo isso e talvez ouvindo isso e você estão pensando Ivan isso é uma notícia velha isso é de abril 580 de abril 25 por que estamos falando sobre isso agora bem porque isso.

É o primeiro momento em que podemos realmente discutir isso publicamente porque é tudo sobre uma divulgação responsável, então nós’ ; vamos começar discutindo o que é divulgação responsável e depois vamos discutir o que o bug realmente fez e como foi impedido, portanto, a divulgação responsável é quando você encontra o bug em um. Bitcoin talk ou você não pode simplesmente ir em Bitcoin slack ou Bitcoin ABC slack ou Bitcoin cash slack ou canal IRC ou qualquer outro fórum ou mídia social a e você não pode começar a contar a todos sobre esse bug que encontrou e como você é incrível em encontrá-lo.

Bugs e basicamente contar ao mundo sobre suas descobertas porque você percebe se fazer isso alguém vai explorar aquela moto e esse bug do qual estamos falando foi muito significativo porque pode realmente atrapalhar todo o ecossistema desse golpe e nós ; discutiremos mais tarde exatamente o motivo e, portanto, é importante entrar em contato com o.

Desenvolvedores de forma que só eles recebam a mensagem ninguém mais receba esta mensagem a mídia não deveria receber a mensagem Ivan não ;não deveria receber esta mensagem e contar a todos os seus seguidores sobre esta bolsa e apenas os desenvolvedores devem receber esta mensagem que nós 39; discutiremos por que é importante mais tarde e por que é muito difícil, mas é ;é tudo sobre o fato.

Que você não quer que alguém explore t o bug antes de ser consertado você quer que ele esteja escondido silenciosamente ninguém percebe antes que ele já esteja consertado e o perigo tenha passado e que atualmente é o caso que o perigo realmente acabou e podemos conversar sobre isso em agosto, hoje é dia 11 de agosto, mas você percebe que dia 25 de abril.

Não podíamos falar sobre isso e, portanto, quando falamos sobre bugs quando falamos sobre as vulnerabilidades, você costuma receber as notícias meses depois, talvez até meio ano depois, e algumas pessoas também podem dizer Ivan esse bug já foi corrigido por que você está falando bem todos os bugs são corrigidos quando são divulgados publicamente é como esse bug que discutimos. ). para a mídia e basicamente relatando as notícias antes do O bug foi corrigido, então espero que você entenda. distribua os novos clientes fixos e o que Cory escreve também é que ele trabalha para a iniciativa de moeda digital no MIT Media Lab e basicamente você tem a situação em que um núcleo Bitcoin, que é o software principal do bitcoin.

Implementação é usado para muitas outras criptomoedas é usado como clichê para, por exemplo, litecoin e outras criptomoedas funcionam a partir do litecoin e então você tem o código principal do Bitcoin o código para a implementação do núcleo Bitcoin do protocolo Bitcoin sendo usado em muitos ocorrências diferentes, portanto, é importante.

Para verificar os bugs que você encontra no núcleo do Bitcoin, você precisa verificar se esses bugs não estão presentes em todas as outras criptomoedas porque é provável que eles estejam realmente presentes em todas as outras criptomoedas de base de prova de trabalho porque m a maioria deles apenas pega o código do Bitcoin e é isso que a pedreira também faz quando há um bug.

Descoberto no Bitcoin ele pega as outras criptomoedas que estão usando o Bitcoin e então ele também acha que evitar bugs catastróficos é o maior desafio para o futuro e, claro, há muita verdade nisso, porque essas bicicletas podem realmente afetar todo o ecossistema de maneira muito significativa e, portanto, você precisa entender aqui como.

Uma falha de consenso acontece como uma falha de consenso acontece e vamos discutir a situação do telefone que em Bitcoin em Bitcoin e Bitcoin cash e basicamente todas as outras criptomoedas que você tem clientes, então obviamente é uma rede de computadores e digamos que desde o início dos tempos em que o Bitcoin cash era introduzido.

Vamos chamar o primeiro cliente de Bitcoin abc1 para simplificar, baseado em ABC e então você tem versão versão 1 ok então tudo c os clientes desde o início estão usando a versão 1 e talvez pareça que você tem a rede e todos estão rosa porque estão usando a versão 1 bem, então os desenvolvedores criam uma nova versão, a versão 2 e o quê.

O que eles fazem na versão 2 é que eles apenas refatoram o código e esta é uma palavra importante para entender o único código de refatoração e refatoração significa que você não tem intenção de alterar o comportamento do código que deseja que o código para fazer exatamente a mesma coisa que faz atualmente, mas você deseja tornar seu código mais fácil de manter.

Mais fácil de ler é mais fácil de entender é mais fácil de mudar é mais fácil de explicar é mais fácil raciocinar sobre isso é mais fácil de modificar e assim por diante você basicamente torna o código talvez menor talvez você remova parte desnecessária mas você não quer mudar o comportamento do código e então é isso que Cori escreve em seu artigo.

Esse número um você tem muito código comum entre diferentes criptomoedas como mencionamos porque muitos deles apenas usam entre código e ele adquiriu o hábito de passar por algumas dessas mudanças de projetos a cada poucos meses para procurar correções de bugs que também possam ser relevantes para o núcleo do Bitcoin, então basicamente ele olha para outras criptomoedas e.

Verifica que tipo de bugs eles encontram para que a equipe principal do Bitcoin também possa aplicar essas alterações e aplicar essas correções ao núcleo do Bitcoin e basicamente ele olhou para o Bitcoin ABC Repositório de dinheiro Bitcoin e ele mencionou e notou que algumas das partes mais críticas da validação da transação foram refatoradas para que o código.

Valida as transações foram refatoradas e lembre-se refatoração significa que você apenas altera a estrutura do código, mas o comportamento é o mesmo, então, quando o Bitcoin Cash refatorou o código de validação para transações, eles queriam que o código fizesse exatamente a mesma coisa que faz atualmente, mas talvez de uma maneira mais suave.
Dentro uma forma mais fácil de ler e assim por diante eles não tiveram a intenção de mudar o comportamento mas foi exatamente isso que eles fizeram eles sem querer mudaram o comportamento da validação da transação e Cori notou uma coisa muito estranha que ele percebeu que apenas dois revisores haviam olhado no código, basicamente, quando você desenvolve, classifique o código-fonte quando você. olhando para ele antes de ser aprovado você tem dez pessoas revisando e neste caso particular apenas duas pessoas olharam para essas mudanças e isso é algo muito estranho que Cori notou e basicamente tenta encontrar bytes nisso.

Mude então, depois de ver a revisão mínima que as mudanças sofreram, ele escreve e o grande número de linhas mudadas, pensei que era razoavelmente provável que uma bolsa pudesse ter escorregado e então fui procurar e depois das dez e dez minutos ele encontrou este bug de hash SIG e então por que é tão significativo ficant e por que é tão importante esse bug em particular.

Entenda que precisamos entender mais uma coisa final e que é mais da metade quase metade da rede tinha atualizado para esta nova versão, então você vê em nossa foto aqui, temos a versão um da válvula, a versão dois que é refatorada e quase metade das atualizações de rede para a versão 2 e a versão dois, como mencionamos.

Tem exatamente o mesmo comportamento da versão um, nada mudou quando se trata do que o código realmente faz, como o código realmente se parece e como o código realmente funciona e as únicas alterações são no código-fonte e, portanto, a versão um é capaz de se comunicar com a versão.

Dois e vice-versa, você ainda tem uma rede trabalhando em conjunto, mas lembra que houve um erro na refatoração então aqui foi uma mudança não intencional uma mudança intencional de comportamento uma mudança intencional de comportamento e o que isso significa havior mudou para uma versão mais leve de validação de transação, então basicamente você tem mais leve.

Regras deixe-me realmente usar a ferramenta de texto você tem regras mais leves para validação de transação significa que a versão dois em casos específicos aceitaria transações que a versão um rejeitaria ok vamos repetir que em casos específicos a versão dois aceitaria transações que a versão um rejeitaria e isso é obviamente uma ingestão.

E comportamento intencional porque a única razão pela qual a versão 2 foi lançada foi enviar o cliente que se comporta da mesma forma, mas está escrito em uma maneira melhor, mas eles também mudaram involuntariamente a forma como as transações são validadas e quando você tem a situação em que metade dos clientes são atualizados para a versão 2 e você tem um.

Transação que é construída de uma maneira específica que utiliza e explora esse bug específico, você tem a situação em que a cadeia se dividiria em duas partes básicas ally a rede não seria mais uma rede uma moeda seriam duas redes e duas moedas com duas cadeias de blocos diferentes pois a transação seria aceita por versão.

Dois e seria rejeitado pela versão um e as cadeias de blocos se dividiriam e iriam em direções diferentes, então, basicamente, se ilustrarmos, temos a seguinte situação: a versão um é assim e então a versão dois vem e a cadeia de prata é a mesma porque as versões 1 e 2 ainda se comunicam.

Um com o outro, mas de repente surge uma transação que é construída de forma maliciosa para explorar essa mudança de comportamento não intencional e fazer com que a versão 2 aceita esta transação a versão 2 diz ok vamos incluir esta transação em um blockchain é completamente bom, mas a versão 1 que tem regras mais rígidas que.

Ficamos mais leves na versão 2 a versão 1 tem regras mais rígidas vai dizer galera vocês sabem o que não aceitamos isso transação particular, então criamos nosso próprio bloco onde excluímos essa transação e a partir de agora você tem duas cadeias diferentes indo em duas direções diferentes e isso é mais perigoso quando a metade do quando.

A rede tem um cliente e metade da rede tem o outro cliente porque então você realmente tem uma divisão de cadeia muito significativa e é aqui que você obtém duas moedas em vez de uma moeda, então isso é muito importante para entender se você realmente deseja entender como esse consenso específico muda e como as transações são.

Validated causa um hard fork e por que é tão importante e por que é tão perigoso porque de repente você tem duas moedas em vez de uma e tudo isso é feito sem querer, sem nenhum controle e muito provavelmente as pessoas não entenderiam exatamente o que está acontecendo se essa bolsa não fosse descoberta e explicou que pode levar tempo.

Para os desenvolvedores entenderem por que o chai n se dividiu em duas cadeias e por que você tem um coração para isso, mas também algo muito interessante neste artigo é a parte sobre a descoberta e responder à divulgação responsável, basicamente, como você conta à equipe de desenvolvimento entre dinheiro sobre isso de uma forma que só eles receba a mensagem e.

Basicamente Cori tentou basicamente encontrar algum tipo de manual sobre Bitcoin ABCs porque muitas vezes você tem uma política de divulgação responsável e uma política de divulgação responsável é basicamente um manual sobre como você deve divulgar bugs muito significativos e ele não encontrou nenhuma política desse tipo no Bitcoin ABC github que ele não encontrou ;t encontre alguma maneira de fazer isso e então.

Ele pensou bem, como posso relatar esse bug de uma forma que apenas os desenvolvedores recebam a mensagem e ninguém senão receber a mensagem, o público não deve receber esta mensagem porque o público exploraria esse bug e se isso fosse apenas para desenvolvedores do Bitcoin ABC, então ele tentou procurar por chaves de criptografia e se você está seguindo pessoas no espaço criptográfico.

No Twitter, às vezes você vê que eles têm suas chaves de criptografia em sua biografia do Twitter, basicamente, você pode usar essa chave de criptografia para para criptografar uma mensagem e apenas essa pessoa será capaz de descriptografá-la com sua chave privada, mas a pedreira não encontrou essas chaves, mas ainda conseguiu obtê-las chaves basicamente escrevendo onde.

Ele escreveu de alguma forma de alguma forma, ele recebeu as chaves cinco horas depois e rapidamente as usou para responder com uma mensagem criptografada basicamente descrevendo tudo o que ele tinha encontrado e este bug foi corrigido e este bug foi lançado a correção para este bug foi lançada e agora vários meses depois, quando a versão três, basicamente agora estamos na versão let’ ;s.

Veja qual cor devemos usar vamos usar sim vamos usar ; vamos usar rosa claro rosa ou reduzido, vamos usar um azul, então agora a versão três é construída fixando esse bug e agora em agosto você tem uma situação em que todos os nós são na verdade a versão três e isso significa que agora podemos divulgar o bug porque a versão dois não é mais.

Relevante ninguém usa mais a versão dois todos estão usando a versão três e você tem uma rede que é salva mais uma vez sem nenhum consenso diz e obviamente os números da versão não são versão 1 2 e 3 eles são chamados de algo diferente eu não’ nem me lembro vamos ver talvez aqui você vê vamos 39 ;vamos ver vamos ver se você é como a versão 0.17 ou algo assim, mas a pessoa simplesmente é para simplificar, usamos a versão 1 2 e 3 e esta é a situação e esta é a história de como um Bitcoin desenvolvedor principal realmente economizou entre o dinheiro do colapso e é como eu mencionei uma história sobre bugs que é.

Sobre forçá-lo É sobre como as criptomoedas às vezes são realmente frágeis porque você percebe que é tão fácil criar um Buy it& #39; é tão fácil criar uma divisão de consenso não intencional e por que é tão importante que realmente tenhamos moral neste espaço, porque você percebe se o núcleo do Bitcoin’t tem nenhuma moral.

Eles apenas explorariam esse bug e sincronizariam entre dinheiro, mas dinheiro diferente sendo a quarta maior criptomoeda hoje quando trata-se de uma lacuna no mercado de moedas. Pessoalmente, duvido que seria bom para qualquer pessoa se o dinheiro entrasse em colapso dessa maneira, mas mostra que você deve ter muito cuidado ao introduzir novas mudanças.
Revisores olhando para o seu código antes de você realmente enviar um código para o repositório principal e lançar no ecossistema porque você nunca sabe quando há uma mordida, você nunca sabe quando há uma falha de consenso, portanto precisamos ter muito, muito cuidado, pessoal, espero que vocês e Gostei espero que tenham gostado desse episódio e deixem um like se gostaram.

Deixe um like se você aprendeu algo e deixe um like se gostou desejo maravilhoso sábado aproveitem o dia e tchau pessoal tchau tchau

Rate this post

Posts Relacionados

Deixe um comentário

error: