Compartilhe este artigo

Il dibattito sulla lista nera: quando è accettabile interferire con il codice Bitcoin?

Uno sviluppatore che ha inserito nella blacklist siti web di gioco d'azzardo con codice Bitcoin personalizzato ha suscitato scalpore e sollevato alcune domande interessanti.

Una polemica scoppiata online questo mese ha sollevato un'importante questione su Bitcoin: le persone dovrebbero essere autorizzate a codificare le proprie regole, e perfino le proprie opinioni, nelle proprie versioni del software che gestisce la rete?

Il dibattito è iniziato tra gli utenti diGentoo– una variante del sistema operativo Linux che si vanta di essere altamente configurabile per soddisfare le diverse esigenze degli utenti – quando un utentesegnalato un problemasul forum dedicato ai bug di Gentoo il 5 ottobre.

A História Continua abaixo
Não perca outra história.Inscreva-se na Newsletter Crypto Daybook Americas hoje. Ver Todas as Newsletters

Secondo il rapporto, la versione di bitcoind (il client di riferimento ufficiale per interagire con la rete Bitcoin ) distribuita con Gentoo bloccava determinati indirizzi Bitcoin , il che significa che le transazioni con essi T funzionavano.

Il post mostrava l'output di Gentoo che bloccava una transazione con unSatoshiDiceindirizzo che era stato inserito nella lista nera.

"PEBCAK", rispose Luke_Jr (che significa "Esiste un problema tra sedia e tastiera"). "Nessun segno che qualcosa sia effettivamente rotto qui. LOOKS solo un troll. Stato: NON VALIDO o WORKSFORME?"

E così ebbe inizio la tempesta di fuoco.

'Spamming' della blockchain

Luke_Jr èLuca Dashjr, uno sviluppatore che gestisce il proprio pool di mining e hasi è candidato alle elezioni al consiglio Bitcoin Foundation. Mantiene anche i pacchetti software per Gentoo e contribuisce al team di sviluppo CORE Bitcoin .

Dashjr aveva scritto una patch per la versione di bitcoind di Gentoo che specificatamente metteva nella blacklist gli indirizzi Bitcoin utilizzati da diversi siti, la maggior parte dei quali erano siti di gioco d'azzardo:SatoshiDice,BitcoinDadi,Satoshibone, E Momento fortunatoHa inoltre bloccato gli indirizzi gestiti daMastercoin, E Controparte. E l'indirizzo discussoQuipoiché nella blacklist era presente anche un attacco spam alla rete.

È possibile trovare un elenco di codice per la patchQui.

Dashjr ha sostenuto di aver codificato la blacklist nella sua patch perché siti come SatoshiDice usano la blockchain di bitcoin in modo dannoso. SatoshiDice e alcuni altri siti di gioco d'azzardoutilizzare la catena di blocchiper restituire il risultato di una scommessa. Ciò crea un gran numero di piccole transazioni sulla rete, il che può metterla sotto pressione.

Nella discussione successiva sul forum dei bug, Dashjr ha definito questo modello un "Attacco DDoS alla rete Bitcoin". I siti che operano in questo modo rendono più costoso gestire un nodo Bitcoin creando transazioni il più inefficienti possibile, ha detto a CoinDesk. Quindi ha incluso la blacklist in una patch progettata per eliminare lo 'spam' della blockchain.

Dashjr ha spiegato:

"Sebbene non abbiamo ancora una soluzione adeguata per questo problema, la maggior parte di questi può essere identificata riutilizzando indirizzi specifici, e quindi ho buttato insieme un QUICK hack per filtrarli in base a quel criterio. Ovviamente questo hack non è appropriato per il codice di riferimento, ma è un modo semplice per migliorare il filtro antispam in produzione finché non verrà implementata una soluzione migliore (che potrebbe quindi essere proposta come Request di unione e in seguito rilasciata con il codice di riferimento)."

Divulgazione delle modifiche

La modifica di Dashjr è stata un'implementazione di terze parti del codice CORE Bitcoin . Ciò contrasta con una modifica "upstream" alla versione di riferimento ufficiale del codice, che può essere approvata solo da alcuni membri della comunità di sviluppo CORE Bitcoin . Tuttavia, ha provocato una risposta mista.

Parte del problema, come suggerito dallo sviluppatore di Bitcoin CORE Mike Hearn su un chat IRC per sviluppatori Bitcoin, era Dichiarazione informativa inadeguata. La patch è stata attivata di default nell'ultimo aggiornamento del software.

Hern ha detto:

"Se vogliono distribuire un bitcoind con patch come quella di Luke (che modificano il comportamento in modi piuttosto fondamentali), allora dovrebbero fare un fork upstream appropriato con un nuovo nome, così da essere sempre sicuri di cosa stanno ottenendo."

Dashjr ha ammesso che avrebbe potuto fornire una documentazione migliore su cosa facesse la patch. Quando gli utenti aggiornavano il loro software Gentoo, avrebbero visto un messaggio che indicava che era stata installata una patch per bitcoind, ha detto, aggiungendo:

"Purtroppo, sembra che non tutti gli utenti se ne siano accorti, e alcuni si sono persino sentiti ingannati. Inoltre, ho trascurato di documentare correttamente l'opzione, quindi altri utenti non erano a conoscenza del fatto che estendeva il filtro antispam con la corrispondenza degli indirizzi (infatti, quando ho aggiunto la patch al pacchetto Gentoo, me ne ero dimenticato).

In futuro, cercherò di migliorare la documentazione e la consapevolezza degli utenti per ottenere ciò che si aspettano."

Dashjr ha pubblicato unscuse pubblichee ha disattivato la patch di default, oltre a separare la parte di gestione dello spam come una patch separata. Per alcuni utenti indignati, tutto è di nuovo a posto nel mondo di Gentoo.

Domande più profonde

Tuttavia, la discussione ha sollevato alcune domande interessanti. Alcuni sul forum di discussione sui bug di Gentoo hanno riflettuto sul fatto che codificare una blacklist di indirizzi in un'implementazione di Bitcoin costituisca censura, e hanno chiesto dove ciò si fermerebbe e chi deciderebbe cosa mettere nella blacklist e cosa no.

È giusto provare a codificare le proprie regole su come funzionerà qualcosa in una versione del software Bitcoin ?

Dipende, ha affermato Gregory Maxwell, membro del team di sviluppo Bitcoin CORE , spiegando:

"Alcune parti di Bitcoin devono concordare esattamente, BIT per BIT, in tutti i nodi della rete o il sistema T funziona. Le chiamiamo 'regole di consenso' e riguardano cose come 'questo blocco è valido o no? È tecnicamente pericoloso per il sistema avere qualsiasi disaccordo o diversità nelle regole di consenso".

Altre cose sono semplicemente migliori se sono ben note e per lo più uniformi, ha aggiunto, ma T devono necessariamente concordare. Ciò include cose come quali transazioni un nodo trasmetterà.

Maxwell si riferisce a queste cose come "Politiche". Un po' di diversità è utile a questo livello, ha detto, perché può proteggere la rete da attacchi su larga scala. Se si verifica troppa diversificazione, può sminuire l'esperienza degli utenti Bitcoin . "Ma la diversità qui T può rompere il sistema", ha sottolineato.

Anche se Maxwell personalmente T era d'accordo con la patch di Dashjr, ha sottolineato che questa è solo la sua Opinioni. Le persone dovrebbero essere in grado di eseguire ciò che vogliono sui loro nodi Bitcoin . Dopo tutto, bitcoind è distribuito con una licenza di software libero del MIT che fornisce agli sviluppatori tale capacità.

Guardando avanti

In futuro, Dashjr vorrebbe vedere una variabile codificata in Gentoo che consenta l'installazione di patch diverse con policy diverse sul sistema operativo.

Ha detto:

"Tali policy rimarrebbero patch e non verrebbero codificate direttamente nel codice di riferimento (che diventerebbe di per sé un'opzione Politiche 'vanilla')."

Dashjr sta anche lavorando a un'estensione del CORE Bitcoin che sposterebbe tutte le decisioni Politiche in una nuova "classe". Nell'allegato discussione online per questo fork, sostiene l'esigenza di avere nodi Bitcoin con più policy.

Mike Hearn adotta una posizione più dura nei confronti dell'esecuzione di codice personalizzato che convalida le transazioni Bitcoin a modo suo, sostenendo che solo perché una licenza ti consente di fare qualcosa T significa che dovresti:

"Luke spinge questa idea di ' Politiche', ma non può esserci alcuna Politiche nella gestione delle transazioni Bitcoin . Se i minatori o i commercianti divergono, il risultato è una frode nei pagamenti. Questo non è un risultato accettabile, visto che l'intero scopo di Bitcoin è quello di bloccare la doppia spesa."

Dashjr sostiene che potrebbe essere pericoloso se le persone modificassero o reimplementassero il codice di consenso Bitcoin e forniscemonetalibbit E BTCCDcome esempi. T pensa che gli esperimenti con il codice di consenso debbano essere fermati, finché le persone sono consapevoli dei pericoli.

T ritiene che gli esperimenti che prevedono cambiamenti Politiche siano pericolosi, ma sostiene piuttosto che sono utili.

"In particolare, ci si aspetta che i nodi, in particolar modo i miner, apportino modifiche Politiche e il codice di riferimento per le Politiche è intenzionalmente mantenuto abbastanza conservativo e non è destinato a essere utilizzato così com'è", ha affermato.

Quando il riciclaggio fa male

Forse dovranno accettare di non essere d'accordo, ma c'è un altro problema in gioco: gli indirizzi Bitcoin riutilizzati.

Molti siti che aggiungono materiale alla blockchain, come SatoshiDice, riutilizzano gli indirizzi Bitcoin e molti sviluppatori, inclusi Dashjr e Maxwell, considera questa una cosa negativa.Dopotutto, sono stati gli indirizzi riutilizzati a consentire a Dashjr di bloccare determinati siti.

Se un'organizzazione o un individuo riutilizza continuamente un indirizzo Bitcoin , diventa più facilmente identificabile sulla rete e diventa anche più facile identificare le persone che effettuano transazioni con loro.

Ciò può portare a tutti i tipi di problemi, avverte Maxwell, inclusa la censura. Dopotutto, è così che Dashjr ha identificato i siti da mettere nella blacklist in primo luogo.

Se il riutilizzo degli indirizzi dovesse proliferare tra i bitcoiner, allora la censura tramite patch come quella di Dashjr sarebbe il minimo dei loro problemi, avverte Maxwell.

Ha spiegato:

"Se le persone usano Bitcoin in modo pigro e facilmente censurabile, riutilizzando indirizzi (che sono sempre stati concepiti per essere monouso nella progettazione del sistema), allora questo crea un serio rischio sistemico in quanto qualcuno potrebbe provare a ordinare ai nodi, agli sviluppatori e/o ai minatori di censurare il sistema".

Istruire le persone e creare strumenti migliori è ONE modo per mitigare il problema, ha suggerito Maxwell. Ma che dire della blacklist delle patch di Dashjr?

"Posso simpatizzare con alcuni per la logica di far sì che le persone correggano il loro utilizzo vulnerabile attaccandole", ha concluso. "Forse sarà efficace, ma attaccare le persone T è qualcosa che posso supportare".

Lista neraimmagine tramite Shutterstock

Danny Bradbury

Danny Bradbury è uno scrittore professionista dal 1989 e lavora come freelance dal 1994. Si occupa di Tecnologie per pubblicazioni come il Guardian.

Picture of CoinDesk author Danny Bradbury