Blockchain.info e il ritorno di Satoshi Nakamoto

By | 6 agosto 2015

Satoshi Nakamoto e Blockchain.infoIeri la comunità Bitcoin ha sussultato quando qualcuno ha fatto notare come, sul sito del block explorer online blockchain.info, risultassero transazioni in uscita dai primi blocchi della blockchain, contenenti 250 bitcoin appartenenti a Satoshi Nakamoto, lo pseudonimo dietro il quale si cela l’inventore del protocollo Bitcoin. Quei bitcoin non sono stati mai toccati da quando sono stati minati nel 2009 e la presenza di transazioni in uscita dagli indirizzi su cui sono accreditati ha fatto ritenere (con un certo stupore misto a preoccupazione) che Satoshi Nakamoto in persona avesse deciso di trasferirli altrove. La realtà è ben diversa, Satoshi Nakamoto non è tornato per trasferire i suoi bitcoin ma questo “incidente” ha fatto riflettere su alcune problematiche legate anche alla bitcoin forensics e intelligence.

Ciò che ha colpito gli utenti della rete è stato vedere i 50 BTC di ricompensa coinbase del primo blocco, rimasti intatti dal 9 gennaio 2009, uscire verso l’indirizzo 12c6DSiU4Rq3P4ZxziKxzrL5LmMBrzjrJX (di Satoshi Nakamoto) verso l’indirizzo 1B8BgCRpoJvwTtwVczRLvUiGY6PToqAJ3E (che si presumeva anch’esso suo) mediante la transazione 26d80a02ebdd9886b5a859c69c3470b2150488324e31f309d7981f575662a726.

Il bug di Blockchain.info e la transazione di Satoshi Nakamoto

La transazione di cui riporto screenshot non è più presente su Blockchain.info, capirete a breve perché.

Notiamo invece come l’indirizzo 12c6DSiU4Rq3P4ZxziKxzrL5LmMBrzjrJX sia davvero uno di quelli che si presume detenuti da Satoshi Nakamoto: osserviamo infatti che la coinbase reward di 50 bitcoin (cioé la ricompensa per chi ha minato il blocco) va proprio verso quell’indirizzo ed è etichettata come “Newly Generated Coins“.

12c6DSiU4Rq3P4ZxziKxzrL5LmMBrzjrJX Coinbase Reward

Le transazioni che partono da indirizzi di Satoshi Nakamoto e vanno verso l’indirizzo 1B8BgCRpoJvwTtwVczRLvUiGY6PToqAJ3E non si limitano a quella mostrata sopra (relativa al blocco #1) ma ne sono comparse altre, sempre da 50 bitcoin, provenienti da transazioni sempre facenti parte di coinbase di blocchi minati da Satoshi Nakamoto, come si può notare dalla seguente screenshot della pagina anch’essa ora non più presente su Blockchain.info.

Il bug delle transazioni di Satoshi Nakamoto su Blockchain.info

La realtà ha cominciato a emergere quando alcuni utenti hanno rilevato come altri block explorer non mostravano queste transazioni in uscita dai “conti” di Satoshi Nakamoto. La problematica quindi sembrava essere legata al sito blockchain.info, uno dei block explorer tra i più antichi e consolidati, che oltre a mostrare la blockchain in modo più comprensibile fornisce anche wallet agli utenti per permettere di gestire gratuitamente i propri bitcoin.

La soluzione al dilemma è arrivata in serata quando un utente, che si firma come ShadowShark e si descrive come “security researcher from central europe“, ha scritto su reddit di essere l’autore di queste transazioni. L’intento non era quello di creare il panico nella comunità Bitcoin, ma di fare alcuni esperimenti per verificare come i block explorer gestiscono le transazioni malformate. In particolare, ShadowShark ha creato delle transazioni che prelevano i bitcoin dagli indirizzi ove SatoshiNakamoto li tiene parcheggiati dal 2009 e li versano su alcuni suoi indirizzi, firmandole con chiavi private ovviamente diverse da quelle in possesso di Satoshi Nakamoto. Le ha quindi sottomesse al sistema di push di blockchain.info (che permette di inviare alla rete bitcoin una transazione senza bisogno d’installare software in locale) e ha aspettato per vedere cosa succedeva. Bene, blockchain.info invece di verificare la firma appurando che non era corretta, ha mostrato la transazione come valida e l’ha pubblicata sul sito.

Ovviamente nessuno dei 250 bitcoin è andato nelle sue tasche – o meglio nei suoi indirizzi bitcoin – ma la questione ha sollevato il problema dell’affidabilità dei block explorer online rispetto all’utilizzo di una propria copia della blockchain e di un proprio “visualizzatore”.

Blockchain.info ha subito rimediato aggiungendo le verifiche delle transazioni immesse attraverso il suo sistema di PushTX prima di pubblicarle, ma dal punto di vista della bitcoin forensics si possono trarre alcuni utili spunti.

Innanzitutto i block explorer mostrano una loro interpretazione della blockchain, che invece è univoca e oggettiva, escludendo le problematiche relative alle conferme e le eventuali diramazioni che ne rendono la parte finale (diciamo gli ultimi 6 blocchi) meno attendibile. Alcuni block explorer forniscono visualizzazioni avanzate, spesso utili in ambito di bitcoin intelligence e bitcoin forensics, ma sono sempre visualizzazioni generate dal loro sistema.

Non dimentichiamo poi che, nel momento in cui visualizziamo il balance e le transazioni entranti e uscenti relative a un bitcoin address, stiamo comunicando a un sito web esterno il nostro interesse verso un particolare indirizzo. Un indirizzo che potrebbe essere stato generato offline e ancora mai utilizzato, di cui quindi nessuno (a parte chi lo ha creato, noi e anche il sito web su cui abbiamo fatto la query) era a conoscenza.

Indirizzo bitcoin 1PAoLovhcKdD6UwboVwUxYLZgLey7Jn7qJPrendiamo ad esempio l’indirizzo 1PAoLovhcKdD6UwboVwUxYLZgLey7Jn7qJ, che ho generato offline. Nel momento in cui qualcuno clicca sul link che ne visualizza il balance su Blockchain.info, ne comunica anche l’esistenza. Questo ovviamente è più grave se stiamo navigando con il nostro indirizzo IP pubblico ma, in ogni caso, rimane il fatto che abbiamo fatto disclosure dell’interesse verso un particolare indirizzo bitcoin e della sua “esistenza” stessa, se così si può definire un indirizzo di cui esiste chiave privata da qualche parte ma non è ancora inserito nella blockchain. Inoltre, per quanto possa sembrare paranoico, tutta la nostra navigazione della sessione potrà essere tracciata per legare insieme altri indirizzi e altre transazioni che visualizzeremo sul sito web del block explorer, magari saltando da un link all’altro.

Per quanto poi non coinvolga la bitcoin forensics, un problema come quello accaduto ieri avrebbe potuto creare seri problemi in caso di siti (exchange, wallet ma anche e-commerce) che accettano transazioni con 0 conferme.

Il primo consiglio quindi è quello di cercare di lavorare con una blockchain locale, scaricandosi le decine di GB che la compongono e utilizzando sistemi di visualizzazione sul proprio PC. Il client bitcoin-core è certamente un punto di partenza, anche se non è immediato il suo utilizzo per le indagini sulla blockchain poiché alcune operazioni di aggregazione risultano complesse da eseguire.

Un sistema di visualizzazione della blockchain locale è il modulo Insight di BitPay, realizzato tramite piattaforma NodeJS e disponibile gratuitamente su GitHub. Insight Nasce come insieme di API per web wallet, destinate a fornire funzionalità di gestione della blockchain, ma può essere utilizzato anche in locale per creare un proprio block explorer privato (eventualmente da rendere poi pubblico tramite web server).

Se non avete a disposizione un block explorer locale basato su una vostra copia della blockchain, evitate di utilizzare un solo block explorer online ma eseguite la stessa query su due o tre block explorer alternativi, così da ridurre il rischio di un errore di visualizzazione (o bug…) da parte di uno solo. A questo link potete trovare un elenco di block explorer, con indicazioni sui formati delle URL dirette per richiedere informazioni su transazioni, indirizzi e blocchi. Riporto qui di seguito l’elenco dei block explorer online contenuti nel documento, ovviamente da usare con tutte le cautele di cui sopra:

  • blockchain.info
  • www.blockr.io
  • www.smartbit.com.au
  • www.blocktrail.com
  • insight.bitpay.com
  • chain.localbitcoins.com
  • blockexplorer.com
  • live.blockcypher.com/btc/
  • search.bitaccess.ca
  • explorer.chain.com
  • www.walletexplorer.com
  • biteasy.com
  • coinprism.info
  • chain.so
  • blockchains.io
  • insight.anduck.net
  • tradeblock.com
  • t0.com
  • chainflyer.bitflyer.jp
  • bitcoinchain.com
  • bitinfocharts.com

In conclusione, Satoshi Nakamoto non si è (ancora) fatto vivo, ma sono comunque emerse delle questioni che hanno portato a riflettere sull’affidabilità che conferiamo ai block explorer via web e sull’uso che ne facciamo, quando invece sarebbe meglio (non certo più semplice) lavorare su una blockchain e un visualizzatore locale.

Incoming search terms:

  • indirizzo bitcoin

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *