O abaixo é um trecho direto de Marty’s Bent Problema nº 1278: “Surge outro bug LND/btcd.” Assine a newsletter aqui.
Pela segunda vez em menos de um mês, btcd (uma implementação alternativa do Bitcoin) e, por extensão, LND (uma das implementações do Lightning) se tornaram incompatíveis com o resto da rede Bitcoin devido a alguma interferência de um desenvolvedor chamado Burak.
Em 9 de outubro, Burak concluiu uma transação multisig 998-0f-999 tapscript que o btcd reconheceu como inválida enquanto o Bitcoin Core e outras implementações (corretamente) a reconheceram como válida. Como a implementação da Lightning Network pelo LND depende do btcd, ela se tornou incompatível com o restante da Lightning Network, interrompendo a capacidade de todos os usuários de realizar transações com segurança. Não é ideal.
Avançando para ontem e Burak estava de volta para interromper btcd e LND com o tipo de transação que você vê acima: um gasto P2TR (pay-to-taproot) contendo N OP_SUCCESSx com 500.001 pushes, que excede o limite codificado em btcd. Enquanto a transação multisig de 998 de 999 tapscript parecia ser um erro honesto, a transação de ontem foi uma exploração aberta por Burak.
Algo a ser observado sobre essa transação OP_SUCCESSx é que ela normalmente não seria incluída em um bloco. No entanto, parece que Burak subornou os mineradores anexando uma taxa particularmente alta a essa transação que a F2Pool não resistiu.
Essa situação gerou muito debate nos últimos dois dias. Burak estava errado em explorar esse bug em estado selvagem na rede principal? Ele deveria ter divulgado adequadamente a vulnerabilidade para btcd e LND em particular, permitindo que eles corrigissem o código antes que o bug fosse explorado à solta? O LND deve ser dependente do btcd, que é uma implementação alternativa do Bitcoin que não chega nem perto da quantidade de atenção e revisão que o Bitcoin Core recebe?
Seu tio Marty certamente não tem as respostas certas para todas essas perguntas, mas é importante para vocês, malucos, estarem cientes dessas coisas, então pensei em chamar sua atenção.
Essa é a natureza dos sistemas distribuídos de código aberto. Pode haver muitas vulnerabilidades à espreita e não há uma maneira clara de lidar com os problemas. Muitos defenderão divulgações responsáveis em particular, enquanto outros defenderão ações contraditórias que forçam a questão. Este é um dos trade-offs que você escolhe quando decide optar por uma rede monetária de mercado livre.
Fonte: bitcoinmagazine.com