- Voltar ao menu
- Voltar ao menuPreços
- Voltar ao menuPesquisar
- Voltar ao menuConsenso
- Voltar ao menu
- Voltar ao menu
- Voltar ao menu
- Voltar ao menuWebinars e Eventos
O debate da lista negra: quando é aceitável interferir no código do Bitcoin?
Um desenvolvedor que colocou sites de apostas na lista negra com um código Bitcoin personalizado gerou ânimos e levantou algumas questões interessantes.
Uma discussão que surgiu online neste mês levantou uma questão importante sobre o Bitcoin: as pessoas deveriam ter permissão para codificar suas próprias regras, e até mesmo opiniões, em suas próprias versões do software que executa a rede?
O debate começou entre os usuários deGentoo– uma variante do sistema operacional Linux que se orgulha de ser altamente configurável para atender a diferentes requisitos do usuário – quando um usuáriorelatou um problemano fórum de bugs do Gentoo em 5 de outubro.
A versão do bitcoind (o cliente de referência oficial para interação com a rede Bitcoin ) distribuída com o Gentoo estava bloqueando endereços Bitcoin específicos, disse o relatório, o que significa que as transações com eles T funcionariam.
A postagem mostrou a saída do Gentoo bloqueando uma transação com umDados Satoshiendereço que estava na lista negra.
“PEBCAK,” respondeu Luke_Jr (significando 'Problema Existe Entre Cadeira e Teclado'). “Não há sinal de que algo esteja realmente quebrado aqui. LOOKS apenas um troll. Status: INVÁLIDO ou FUNCIONAPARA MIM?"
E assim a tempestade de fogo começou.
'Spam' na cadeia de blocos
Luke_Jr éLucas Dashjr, um desenvolvedor que administra seu próprio pool de mineração e temconcorreu às eleições para o conselho da Bitcoin Foundation. Ele também mantém pacotes de software para Gentoo e contribui para a equipe de desenvolvimento do CORE do Bitcoin .
Dashjr escreveu um patch para a versão do bitcoind do Gentoo que colocou na lista negra endereços de Bitcoin usados por vários sites, a maioria dos quais eram sites de apostas:Dados Satoshi,Dados do Bitcoin,Ossos de Satoshi, e Sorte pouco. Também bloqueou endereços operados porMastercoin, e Contraparte. E o endereço discutidoaquicomo um ataque de spam na rede também estava na lista negra.
Uma listagem de códigos para o patch pode ser encontradaaqui.
Dashjr argumentou que ele codificou a lista negra em seu patch porque sites como SatoshiDice usam a cadeia de blocos do bitcoin de forma prejudicial. SatoshiDice e alguns outros sites de apostasuse a cadeia de blocospara retornar o resultado de uma aposta. Isso cria um grande número de pequenas transações na rede, o que pode colocá-la sob pressão.
Na discussão subsequente no fórum de bugs, Dashjr chamou esse modelo de "Ataque DDoS na rede Bitcoin". Sites que operam dessa forma tornam mais caro executar um nó de Bitcoin ao criar transações da forma mais ineficiente possível, ele disse ao CoinDesk. Então ele incluiu a lista negra em um patch projetado para noble block chain 'spam'.
Dashjr explicou:
"Embora ainda não tenhamos uma correção adequada para esse problema, a maioria deles pode ser identificada reutilizando endereços específicos, então eu fiz um hack QUICK para filtrá-los com base nesse critério. Obviamente, esse hack é inapropriado para código de referência, mas é uma maneira simples de melhorar o filtro de spam na produção até que uma correção melhor seja implementada (que pode então ser proposta como uma Request de mesclagem e posteriormente lançada com o código de referência)."
Divulgando mudanças
A mudança do Dashjr foi uma implementação de terceiros do código do CORE do Bitcoin . Isso contrasta com uma mudança 'upstream' para a versão de referência oficial do código, que só pode ser aprovada por alguns membros da comunidade de desenvolvimento do CORE do Bitcoin . No entanto, provocou uma resposta mista.
Parte do problema, como sugerido pelo desenvolvedor do CORE do Bitcoin Mike Hearn em um bate-papo IRC do desenvolvedor Bitcoin, foi uma Aviso Importante inadequada. O patch foi ativado por padrão na atualização mais recente do software.
Hearn disse:
“Se eles querem distribuir um bitcoind com patches como os de Luke (que mudam o comportamento de algumas maneiras fundamentais), então eles deveriam fazer um fork upstream adequado com um novo nome, para que você sempre tenha certeza do que está recebendo.”
Dashjr admitiu que poderia ter fornecido uma documentação melhor sobre o que o patch fez. Quando os usuários atualizavam seu software Gentoo, eles teriam visto uma mensagem indicando que um patch para bitcoind estava sendo instalado, ele disse, acrescentando:
"Infelizmente, parece que nem todos os usuários notaram isso, e alguns até se sentiram enganados. Além disso, negligenciei a documentação adequada da opção, então outros usuários não sabiam que ela estendia a filtragem de spam com correspondência de endereço (na verdade, quando eu estava adicionando o patch ao pacote Gentoo, eu tinha realmente esquecido que ele fazia isso).
No futuro, tentarei melhorar a documentação e a conscientização dos usuários para obter o que eles estão esperando."
Dashjr postou umapedido de desculpas públicoe desligou o patch por padrão, além de separar a parte de gerenciamento de spam dele como um patch separado. Para alguns usuários indignados, tudo está bem novamente na terra do Gentoo.
Perguntas mais profundas
No entanto, a discussão levantou algumas questões interessantes. Alguns no fórum de discussão de bugs do Gentoo refletiram que codificar uma lista negra de endereços em uma implementação do Bitcoin constitui censura, e perguntaram onde isso pararia, e quem decidiria o que seria colocado na lista negra ou não.
É correto tentar codificar suas próprias regras sobre como algo funcionará em uma versão do software Bitcoin ?
Isso depende, disse Gregory Maxwell, membro da equipe de desenvolvimento do CORE do Bitcoin , explicando:
"Algumas partes do Bitcoin devem concordar exatamente, BIT por BIT, em todos os nós da rede ou o sistema T funciona. Nós chamamos isso de 'regras de consenso', e elas cobrem coisas como 'este bloco é válido ou não? É tecnicamente perigoso para o sistema ter qualquer desacordo ou diversidade nas regras de consenso."
Outras coisas são simplesmente melhores se forem bem conhecidas e principalmente uniformes, ele acrescentou, mas elas T precisam concordar estritamente. Isso inclui coisas como quais transações um nó irá retransmitir.
Maxwell se refere a essas coisas como ' Política'. Alguma diversidade é útil nesse nível, ele disse, porque pode proteger a rede de ataques em larga escala. Se muita diversificação ocorrer, isso pode prejudicar a experiência dos usuários de Bitcoin . "Mas a diversidade aqui T pode quebrar o sistema", ele enfatizou.
Embora Maxwell pessoalmente T concordasse com o patch de Dashjr, ele ressaltou que essa é apenas sua Opinião. As pessoas devem poder executar o que quiserem em seus nós Bitcoin . Afinal, o bitcoind é distribuído sob uma licença de software livre do MIT que dá aos desenvolvedores essa capacidade.
Olhando para frente
No futuro, Dashjr gostaria de ver uma variável codificada no Gentoo que permitisse que diferentes patches com diferentes políticas fossem instalados no sistema operacional.
Ele disse:
“Tais políticas permaneceriam como patches e não seriam codificadas diretamente no código de referência (o que se tornaria uma opção de Política 'normal')."
Dashjr também está trabalhando em uma extensão para o CORE do Bitcoin que moveria todas as decisões de Política para uma nova 'classe'. No anexo discussão online para esta bifurcação, ele defende ter nós de Bitcoin com múltiplas políticas.
Mike Hearn adota uma linha mais dura quanto à execução de código personalizado que valida transações de Bitcoin à sua maneira, argumentando que só porque uma licença permite que você faça algo T significa que você deva:
“Luke empurra essa ideia de ' Política', mas não pode haver Política na gestão de transações de Bitcoin . Se mineradores ou comerciantes divergem, então o resultado é fraude de pagamento. Esse não é um resultado aceitável, visto que todo o propósito do Bitcoin é bloquear gastos duplos."
Dashjr argumenta que pode ser perigoso se as pessoas modificarem ou reimplementarem o código de consenso do Bitcoin e dálibbitcoin e BTCD (Bitcoins)como exemplos. Ele T acha que experimentos com código de consenso devam ser interrompidos, contanto que as pessoas estejam cientes dos perigos.
Ele T vê experimentos com mudanças Política como perigosos, argumentando, em vez disso, que eles são benéficos.
"Mudanças de Política em particular são esperadas dos nós, especialmente dos mineradores, e o código de referência para Política é intencionalmente mantido bastante conservador e não tem a intenção de ser usado como está", disse ele.
Quando a reciclagem é ruim
Talvez eles tenham que concordar em discordar, mas há outra questão em jogo: endereços de Bitcoin reutilizados.
Muitos sites que adicionam material à cadeia de blocos, como o SatoshiDice, reutilizam endereços de Bitcoin , e muitos desenvolvedores, incluindo Dashjr e Maxwell, considere isso algo ruim.Afinal, foram os endereços reutilizados que permitiram ao Dashjr bloquear determinados sites.
Se uma organização ou indivíduo reutiliza continuamente um endereço de Bitcoin , isso os torna mais facilmente identificáveis na rede e também facilita a identificação de pessoas que realizam transações com eles.
Isso pode levar a todos os tipos de problemas, Maxwell alerta, incluindo censura. Afinal, foi assim que Dashjr identificou os sites para colocar na lista negra em primeiro lugar.
Se a reutilização de endereços proliferar entre os bitcoiners, a censura por patches como o do Dashjr será a menor das suas preocupações, alerta Maxwell.
Ele explicou:
“Se as pessoas usam Bitcoin de forma preguiçosa e facilmente censurável, reutilizando endereços — que sempre foram pensados para serem únicos no design do sistema — isso cria um sério risco sistêmico, pois alguém pode tentar ordenar que nós, desenvolvedores e/ou mineradores censurem o sistema.”
Educar as pessoas e criar ferramentas melhores é uma maneira de mitigar o problema, sugeriu Maxwell. Mas e a lista negra de patches do Dashjr?
"Posso simpatizar com alguns com a lógica de fazer as pessoas consertarem seu uso vulnerável atacando-as", concluiu. "Talvez seja eficaz, mas atacar as pessoas T é algo que eu possa apoiar."
Lista negraimagem via Shutterstock
Danny Bradbury
Danny Bradbury é escritor profissional desde 1989 e trabalha como freelancer desde 1994. Ele cobre Tecnologia para publicações como o Guardian.
