Alberi di Merkle e il problema della Proof of Reserves
Che cos'è un Hash? Cos'è un albero di Merkle? Proof of Reservers dell'albero di Merkle
Traduzione dall’originale di James Lavish - Pubblicato il 27 nov 2022
Tweet d’ispirazione
Con tutti i comportamenti nefasti e del tutto criminali a cui abbiamo assistito di recente nel mondo delle criptovalute, presto inizieremo a sentir parlare molto di Merkle Tree e della loro capacità di verificare le riserve su un exchange o su un'altra piattaforma decentralizzata.
Ma cos'è esattamente un Merkle Tree ed è effettivamente a prova di idiota (o di truffatore, in questi casi) come metodo per dimostrare i saldi?
Non sono uno che scrive codice e non mi aspetto che lo siate anche voi. Perciò, oggi facciamo una bella passeggiata per farvi conoscere un po' meglio il lato collaterale del mondo decentralizzato, che ne dite?
Che cos'è un Hash?
Per cominciare, e nei termini più elementari del mondo della crittografia, un algoritmo di hash sicuro o SHA è una formula matematica che trasforma e comprime una stringa di dati di qualsiasi dimensione in una dimensione fissa completamente diversa dai dati originali.
L'uso più comune degli hash è la crittografia delle password. In questo modo, il server che controlla la password deve tenere traccia solo del valore dell'hash dell'utente, anziché della password stessa. In questo modo, se il database di un'azienda viene violato, vengono rivelati solo gli hash e non le password vere e proprie.
Gli hash possono essere estremamente efficaci grazie al cosiddetto effetto valanga, in cui la modifica di pochi caratteri crittografati può produrre un'enorme variazione nel valore di output.
Nell'esempio seguente si noti come i valori di output siano tutti della stessa dimensione, ma completamente diversi.
Come è noto, Bitcoin utilizza SHA-256, una funzione di hash della famiglia SHA-2 (Secure Hash Algorithm 2). SHA-256 è stata sviluppata dall'NSA nel 2001 per risolvere i problemi di SHA-1.
SHA-256 non è mai stato compromesso ed è una funzione di hash crittografica estremamente sicura. Di conseguenza, è una delle funzioni di hash crittografico più popolari nel mondo delle criptovalute.
Create per essere una strada a senso unico per le informazioni, le funzioni hash, e SHA-256 in particolare, rendono impossibile ricreare l'input di un hash dall'output.
SHA-256 e la rete Bitcoin sono considerati gli algoritmi di hash più sicuri al mondo.
Questo ci porta all'albero di hash, o albero di Merkle.
Che cos'è un Albero di Merkle?
Innanzitutto, un albero di Merkle è semplicemente un albero di hash, un concetto brevettato da Ralph Merkle nel 1979.
Nelle transazioni decentralizzate e peer-to-peer, la verifica dei dati è imperativa. Poiché i dati vengono registrati in numerosi luoghi contemporaneamente, se i dati vengono modificati in un luogo, devono essere modificati ovunque.
E queste modifiche devono essere verificate per essere coerenti ovunque. Ma controllare l'interezza di ogni singolo file in un intero sistema per verificarne la coerenza può diventare un'impresa ardua.
Ma possiamo usare l'hashing per ridurre al minimo la quantità di dati da controllare, giusto?
Trasformare i dati in hash ed elencarli al loro posto (proprio come le password).
Esattamente. È qui che entrano in gioco gli alberi di Merkle o hash.
Fondamentalmente, gli alberi di hash ci permettono di verificare i dati memorizzati o trasferiti all'interno e tra i computer in una rete peer-to-per, assicurando che i blocchi inviati tra i peer siano ricevuti inalterati e non danneggiati.
Un albero di hash è un albero di hash (vedi sotto) in cui le foglie (o fogli o nodi foglia) sono hash di blocchi di dati in un file. I nodi in cima all'albero sono hash dei rispettivi figli.
Ad esempio, l'hash 1 è il risultato della concatenazione (parola di programmazione informatica per indicare la combinazione) dei due hash che si trovano sotto di esso nell'albero.
Cioè, Hash 1 = Hash (hash 1-0 + Hash 1-1)
In cima all'albero si trova il cosiddetto top hash (o radice). Questo hash superiore consente di ricevere qualsiasi parte dell'albero hash da una fonte non attendibile, come una rete peer-to-peer.
Quindi, ogni ramo ricevuto, ecc. può essere controllato con l'hash superiore attendibile per verificare se l'hash è danneggiato o addirittura falso.
In altre parole, invece di inviare un intero file in rete, possiamo inviare solo un hash del file, e la verifica con la radice ci dice se è stato compromesso.
Proof of Reservers dell’Albero di Merkle
Nella contabilità finanziaria tradizionale si utilizzano libri e registri e bilanci. Il bilancio mostra in sintesi ciò che un'azienda possiede e ciò che deve. I libri e le registrazioni mostrano tutte le transazioni che contribuiscono al bilancio.
Tutti questi libri, registri, bilanci, ecc. vengono esaminati e verificati da una terza parte.
Il revisore.
E se un revisore trova qualcosa che non quadra, lo segnala e si rifiuta di garantire la validità dei libri contabili finché la discrepanza non viene risolta.
Quindi, se depositate del denaro presso una banca tradizionale, ad esempio JP Morgan, c'è una registrazione abbastanza chiara del fatto che avete inviato del denaro dalla vostra banca a JP Morgan e quindi una responsabilità nei loro libri contabili nei vostri confronti.
I gestori dei conti, i contabili, i controllori, il direttore finanziario e i revisori di JP Morgan sono tutti d'accordo sul fatto che il vostro deposito è lì e che JP Morgan ve lo deve.
Ma che dire degli exchange decentralizzati senza la stessa catena di custodia e supervisione umana dei conti?
Se avete inviato un Bitcoin a Binance, per esempio, come potete dire che il vostro deposito, poche ore, giorni o mesi dopo, è ancora lì? Che non siano stati prestati o spostati da un cattivo attore?
Sembrerebbe assurdo che Binance pubblichi un elenco di ogni singolo saldo di ogni conto in modo che i singoli possano verificare il proprio saldo, giusto?
Un piccolo problema di privacy.
Quindi, qual è la soluzione?
L'avete trovata. L'albero di Merkle.
Binance ha appena annunciato che utilizzerà un Merkle Tree per verificare che gli asset siano 1:1 e "consentire alle persone di verificare i propri asset all'interno della piattaforma".
Ecco una foto del Merkle Tree che Binance ha ora sulla pagina Proof of Reserves del suo sito web:
E le istruzioni: Accedere al sito web di Binance, fare clic su Wallet, fare clic su Audit e trovare il proprio Merkle Leaf e Record ID all'interno della pagina.
Fantastico. Così potrete verificare che i vostri saldi siano ancora lì e che non siano stati spostati o sottratti.
Tutto bene. Il problema della verifica delle riserve è risolto, fine della storia, giusto?
Giusto?
Cosa manca?
Torniamo al Tweet d'ispirazione di oggi e a Jesse Powell, CEO di Kraken Exchange, per una visione contraria sulla questione.
Egli fa notare che, affinché la prova delle riserve del Merkle Tree sia un modo valido per verificare i propri bilanci, la società deve includere anche le passività per dimostrare la solvibilità.
E deve essere verificata da un revisore terzo affidabile.
In altre parole, la prova delle riserve (attraverso la Merkle Tree o qualsiasi altro metodo affidabile) è semplicemente una prova delle attività.
E prova delle attività + passività verificate = prova di solvibilità.
Perché la solvibilità (e la verifica di un rapporto attività/passività superiore a 1:1), come molti sembrano imparare a fatica in questi giorni, è tutto ciò che conta davvero quando si verifica che le proprie attività sono al sicuro su una borsa o un'altra piattaforma decentralizzata.
Ma poi torniamo a fidarci delle fonti di informazione umane. Voglio dire, guardate quante persone sono state complici della frode FTX questo mese.
Tutti dicevano che FTX era solvibile e sicuro. La gente si è fidata. Le persone si sono fatte male.
Alcuni hanno perso i risparmi di una vita.
Naturalmente, esiste un metodo molto più affidabile per garantire che i vostri saldi siano sicuri e protetti. Molti di voi che leggono questo articolo lo predicano già continuamente. Ma per coloro che non lo fanno e non l'hanno ancora fatto, la soluzione è semplice.
Togliete le vostre monete dagli exchange e mettetele in un portafoglio protetto da voi. Prendete possesso dei vostri beni. In fondo è questo lo scopo del protocollo peer-to-peer senza fiducia di Bitcoin.
Auto-sovranità.
Questo, amici miei, è l'unico modo per essere veramente certi che i vostri saldi siano sicuri.
Se state cercando di ottenere un rendimento extra dando in pegno i vostri Bitcoin (o altri titoli) su un exchange, riconoscete il rischio che state correndo. Assicuratevi di capirlo subito, prima che sia troppo tardi.
State affidando a qualcun altro la custodia e la sicurezza del vostro denaro. Punto. Non c'è altro modo per dirlo.
Quindi, se avete troppa paura di autotutelarvi, provate a farlo per gradi (facile come 1, 2, 3):
Comprate una Ledger o una Trezor o una ColdCard, sempre direttamente dal produttore e mai da Amazon o eBay o altri rivenditori,
Guardare i video di YouTube sui passaggi per spostare le monete dall'exchange al portafoglio.
Il mio buon amico Ben di BTC Sessions su YouTube ha dei video fenomenali e facili da seguire su come fare (è esattamente come ho imparato io),
Quindi muovete solo una piccola parte la prima volta per vedere come funziona e per prendere confidenza con il processo, prima di spostare tutto alla fine.
Presto vi sentirete sicuri e vi fiderete di voi stessi. Questo è l'unico modo per essere sicuri che i vostri saldi siano al sicuro da malintenzionati, frodi o furti totali.
Questo è tutto. Spero che vi sentiate un po' più intelligenti conoscendo gli Alberi di Merkle, il loro funzionamento e i loro limiti. E spero che siate ispirati a prendere possesso dei vostri beni.
Come acquistare Bitcoin?
Personalmente, reputo il miglior servizio quello offerto da Relai.
Per acquistare bitcoin risparmiando lo 0,5% in commissioni puoi usare il codice “REL3166”.
Si tratta di un’applicazione sviluppata da un’azienda svizzera che applica una politica di KYC light: a differenza dei grandi exchange non richiede registrazioni o dati personali, tutto ciò che serve per acquistare è il tuo IBAN.
E’ lo strumento ottimale per impostare dei piani di accumulo (DCA).
Per ridurre al massimo le commissioni di acquisto, ti consiglio di:
effettuare acquisti maggiori di 100€ (-0,5%)
impostare un piano di accumulo settimanale o mensile (-0,5%)
applicare il codice invito REL3166 (-0,5%)
Una delle migliori caratteristiche è il servizio non-custodial. Gli euro bonificati a Relai vengono convertiti automaticamente in bitcoin e trasferiti su un wallet di cui sei solo tu ad avere il controllo. I grossi exchange, al contrario, non forniscono le chiavi private ai clienti. In più Relai non vende centinaia di inutili criptovalute, ma solo bitcoin.
Cosa ci guadagno? Quello che fanno guadagnare i referral code. In questo caso se acquisti usando il codice “REL3166” risparmi lo 0,5% sulle commissioni e io ricevo (in bitcoin) lo 0,5% dell’importo che hai deciso di investire.
Per ulteriori informazioni, o per effettuare il primo acquisto, premi sul pulsante sottostante e ti verrà mostrata una dettagliata guida in italiano.
NOTA - Questo NON è un messaggio pubblicitario. Relai è un servizio che utilizzo personalmente e che reputo tra i migliori sul mercato in termini di affidabilità, sicurezza e facilità d’uso. Lo consiglio spesso ad amici e parenti.