Sul rapporto pubblicato dalla Fed e dal MIT di Boston

Project Hamilton è un sistema di elaborazione dei pagamenti ad alte prestazioni progettato per le valute digitali della banca centrale (CBDC). Prima di emozionarci, gli autori dell'attesissimo paper tecnico confermano che si tratta di un giocattolo, una prova di certi concetti, non un sistema completo. Tuttavia, è un giocattolo per adulti. Il documento e il codice allegato dimostrano la fattibilità tecnica di un sistema che risolve i pagamenti su una scala come quella degli Stati Uniti e del dollaro USA, una valuta globale ampiamente utilizzata. Il sistema può gestire più di centomila pagamenti al secondo in cui ogni transazione deve essere completata in meno di 5 secondi. Centomila al secondo era un numero a cui è arrivato il team di Hamilton osservando i tassi di pagamento osservati delle carte di credito e di altri sistemi di pagamento, inclusa una previsione per l'espansione futura. L'altra sfida per Hamilton è quella di essere più come i contanti senza la fisicità dei contanti. Ciò significa la libertà per gli utenti di pagare gli altri utilizzando CBDC senza fare affidamento su intermediari come banche o società di carte di credito, con la privacy del contante. Per la resilienza del sistema e un'ampia usabilità, la transazione di pagamento deve essere archiviata in più computer in modo tutto o niente. Una proprietà chiamata atomicità, ovvero la prova del pagamento, deve essere aggiornata in tutte le località o meno in nessuna. Un'altra sfida è costruire un sistema flessibile in grado di attuare politiche che devono ancora essere decise.

La privacy è considerata una delle proprietà più importanti di un tale sistema. Per raggiungere questo obiettivo, l'architettura a strati di Hamilton ha un modello di transazione di pagamento altamente modificato che si basa su Output delle transazioni non spese (UTXO), delineato nel documento bitcoin. Questo modello di transazione incentrato sulla privacy è chiamato il Hash Set fondi non spesi (UHS). Il modello UTXO è difficile da comprendere, perché i conti sono ciò a cui siamo abituati. Solo l'UHS è memorizzato nel sistema centrale. Inoltre, il sistema deve essere resiliente, resistente agli attacchi dannosi e ai bug. Alcuni di questi vengono gestiti, altri rinviati alla Fase II. Il sistema è stato testato in due diverse architetture. Uno dei quali ordina i pagamenti e un altro che no. La prima è una blockchain veloce chiamata modello atomizzatore, la seconda è un modello di commit a 2 fasi senza rollback chiamato 2PC. Il commit 2phase è un modello familiare nei database distribuiti. Il team di Hamilton ha reso disponibile il codice del computer dell'intero sistema in open source, tramite github.

Essendo un programmatore, ho biforcato il sorgente e ho cercato di grok il codice in un ambiente di sviluppo integrato sul mio laptop, dove sto scrivendo questo articolo. È scritto in C++, un linguaggio che posso leggere quasi come la mia lingua madre, ma una lingua madre leggermente arrugginita per il disuso, poiché il codice Hamilton utilizza C++17, un dialetto leggermente successivo a quello a cui sono abituato. Anche l'abitudine allo stile di codifica fa parte del processo di familiarizzazione. Come con qualsiasi sistema complesso, avere accesso al codice non è sufficiente, è necessario dedicare tempo a capire la logica, insieme all'architettura per dare un senso ai dettagli. Un piano per Hamilton Phase II invita alla partecipazione di tutti, compresi i curiosi e i combattivi.

Questo articolo è stato molto impegnativo da scrivere, poiché i dettagli tecnici dovevano essere presentati in modo condensato senza perdere troppe sfumature. La spinta principale è cosa significa questo progetto per la storia del denaro negli Stati Uniti e nel mondo, specialmente per i generalisti interessati. A volte il materiale tecnico ha sopraffatto il racconto della storia. Tuttavia, sono ben accetti commenti sulla presentazione soprattutto sui social media, in modo che il testo possa essere modificato per renderlo più accessibile al grande pubblico.

I due Hamilton

Questa sezione potrebbe sembrare una digressione dal tema principale, ma continua a leggere per vedere la rilevanza. Il nome Hamilton vuole evocare Alexander Hamilton, il primo Segretario al Tesoro, che scrisse un rapporto di quindicimila parole nel 1790, per sollecitare il lancio della First National Bank (FNB), simile alla Federal Reserve. L'argomento che ha avanzato era per la moneta cartacea sostenuta dalla FNB che avrebbe liberato il potere dell'economia stimolando l'impresa privata. La First National Bank sarebbe una banca centrale indipendente con un'ampia partecipazione privata. Hamilton ha visto chiaramente i vantaggi di svincolare la valuta cartacea dalle specie (monete e lingotti d'oro o d'argento), supportandola con una vera partnership pubblico-privato, oltre a consentire il decentramento degli investimenti in modo che il capitale e il credito per le imprese potessero essere investiti in modo più agevole attraverso decisioni locali da parte dei singoli. Come con ogni genio, Hamilton aveva una confederazione di asini schierata contro di lui. Questa opposizione fu superata da Hamilton nel 1790 con il suo documento fondamentale, sebbene lo statuto della Banca nazionale non sopravvisse alla sua morte prematura sette anni prima che venisse rinnovato nel 1811.

Non si sa quali sarebbero state le possibilità economiche per l'America nel diciannovesimo secolo, se Hamilton fosse vissuto più a lungo. Invece, nella storia reale, la nazione è stata impantanata in un conflitto fratricida e un intero secolo è stato perso in lotte interne improduttive e malessere economico, con i suoi echi che risuonano oggi. Questa serie di esplosioni, boom, panico e crolli continuò fino al 1913, quando l'istituzione della Federal Reserve, seguendo il piano Hamiltoniano, diede inizio a un secolo di crescita economica e di primato americano. L'idea hamiltoniana di svincolare la valuta, culminò nell'abolizione del gold standard. Questo ci porta al presente, quando l'opposizione a una CBDC emessa dalla Fed è ancora dilagante tra le persone che prescrivono una soluzione puramente privata (le stablecoin per esempio) invece di un dollaro digitale. Il nome Hamilton è quindi appropriato per una valuta che è sull'orlo di un salto nel regno digitale, che è frenata da determinati interessi. Il risultato di questo concorso e le caratteristiche di questa forma emergente di denaro determineranno se l'economia americana sarà sicura, flessibile e stabile a vantaggio di tutte le persone, o rigida, instabile e insicura.

Jim S. Cunha della Boston Fed, l'animatore del progetto Hamilton, ha chiarito che il nome Hamilton doveva anche evocare Margaret Hamilton, che aveva più o meno la stessa età di Alexander Hamilton nel 1776, quando diede un contributo rivoluzionario al software Ingegneria, un termine che ha aiutato a coniare. Margaret Hamilton è stata reclutata dal MIT nel programma Apollo ed è stata la direttrice del software per l'Apollo Command Module, il primo computer portatile che ha viaggiato a lungo per atterrare sulla luna. Un inventore di informatica a prova di errore, un sistema autonomo che è arrivato in un momento cruciale per l'atterraggio lunare di fronte a hardware apparentemente guasto. Senza Margaret Hamilton, l'Aquila potrebbe non essere atterrata sulla luna in quel momento. Il progetto Hamilton ha bisogno di lei come santa patrona (anche se è ancora viva) affinché un colpo di luna CBDC abbia successo.

Ci sono due messaggi qui, uno è il modo in cui si sono sviluppati i programmi Apollo, da quelli che sono andati dall'orbita terrestre bassa all'orbita attorno alla luna (Apollo 8) e poi all'atterraggio sulla luna e al ritorno in sicurezza, tutte le missioni con equipaggio. Apollo è stato il successore dei programmi Explorer, Gemini e Mercury. Gli Stati Uniti non sono nemmeno al livello degli esploratori nelle CBDC. La Cina ha lanciato il proprio Sputnik in e-CNY. L'espansione della conoscenza e della fiducia che derivano dalle vere CBDC deve essere affrontata con programmi pilota che si propagano verso l'esterno da un campus universitario come il MIT, forse anche con più fuochi. Nessuna quantità di test sandbox corrisponderà alle esperienze acquisite dalla casualità della natura. Le CBDC in un paese come gli Stati Uniti non arrivano con il botto.

L'altro messaggio riguarda i sistemi di calcolo a prova di errore e di autoriparazione. L'ossessione di Margaret Hamilton per gli scenari what if che sembrano improbabili, ha salvato la missione quando sono accaduti in modo improbabile. Anche oggi da un terzo a un quarto di qualsiasi codice deve riguardare la gestione e il ripristino degli errori. È necessario tenere conto delle proprietà emergenti di un sistema CBDC complesso. Margaret Hamilton ha trascorso la maggior parte del resto della sua vita lavorando su un linguaggio di sistema universale e sulla sua implementazione in 001, un toolkit per far rispettare il concetto Development Before the Fact (DBTF). Rilevanti anche in una soluzione ad alto rischio come un dollaro digitale sono i modelli di progettazione di Avionics per proteggersi da un risultato a bassa probabilità ma altamente rischioso.

Poiché nella grafica che accompagna l'annuncio del documento tecnico sulla Fed di Boston manca il riferimento a Margaret Hamilton, ho creato una mia grafica che infonde Margaret Hamilton nell'immagine ufficiale del loro annuncio.

Un dollaro digitale per il popolo

Come banca centrale è il Controparte di ultima istanza, il dollaro si ferma letteralmente alla Fed. Un CBDC sarebbe l'unica valuta digitale emessa dalla Banca centrale ampiamente disponibile. Tale strumento comporta il rischio di credito più basso. La maggior parte dei progetti di CBDC sono stati proposti da economisti, consacrano intermediari come vettori di distribuzione e custodi, poiché la loro principale paura è la disintermediazione della creazione di credito, la maggior parte di dollari, euro, sterline, renminbi, rupie e yen sono generati da banche commerciali concedere prestiti a privati ​​e imprese. Poiché il denaro è il modello con cui gli economisti hanno familiarità, propongono un meccanismo di distribuzione simile per i CBDC. L'altra scelta progettuale offerta dagli economisti che progettano questi sistemi è un account contro un sistema di token. Il progetto Hamilton mostra come questi design siano limitati nella loro immaginazione, come dicono loro "Le scelte progettuali del CBDC sono più granulari di quanto comunemente ritenuto". In particolare, sarebbe d'aiuto se gli economisti collaborassero con i tecnologi prima di offrire progetti tecnici al mondo.

Il progetto Hamilton mostra come un progetto tecnico può cavalcare queste scelte apparentemente binarie per offrire nuove capacità. Il design Hamilton modella uno strumento che può funzionare sia come token che come strumento basato sull'account. Una doppia visualizzazione, un asset modellato con UHS, alla bitcoin non lo rende un sistema basato su token. Il documento chiarisce il fatto che questo dipende da chi sta effettuando la ricerca. Un sistema che sembra un sistema opaco basato su token dal vantaggio del sistema principale può essere trasformato in una vista basata sull'account nei loro portafogli digitali. Non sono token OR account, sono token AND account.

Le altre scelte di progettazione tecnica riguardano la creazione di un'infrastruttura pubblica modulare su cui è possibile costruire per attuare le direttive politiche, normative e legali secondo necessità. Capacità che possono essere costruite su una base solida. Il progetto Phase I Hamilton riguarda la creazione di un substrato per tale impresa. Il whitepaper suggerisce che ci sono molti posti in questo progetto in cui gli intermediari privati ​​possono essere coinvolti. Costruire su substrati pubblici è ciò che fa delle scelte.

La maggior parte del white paper tecnico descrive il modello di transazione sia nell'atomizzatore (o blockchain) che nel modello 2PC (un database distribuito). Alla base di tutto c'è il modello di transazione, il modello dati di un pagamento, come un pagamento da un utente all'altro si trasforma in un UHS passando attraverso i livelli di convalida, spogliato dei dati privati, finendo in un archivio replicato come prova di pagamento, alimentato da funzioni hash unidirezionali. Il flusso della transazione, la scala, la velocità della finalità, i diversi modelli principali sono tutti sospesi dal modello della transazione. Gli utenti detengono portafogli digitali che conservano i loro mezzi per dimostrare il loro diritto a spendere il CBDC nel portafoglio, oltre a un modo per vedere quanto CBDC hanno. Questo portafoglio interagisce con il livello di convalida della transazione che consiste di due livelli, una sentinella che controlla gli input della transazione e inoltra la transazione attestata al livello principale. Il livello di convalida della transazione è separato dal livello di archiviazione principale. Questa pre-convalida è una caratteristica di una popolare blockchain aziendale, Hyperledger Fabric, che utilizza anche UTXO al suo interno. Il livello di convalida della transazione compatta la transazione di pagamento fino a quando solo la prova dei pagamenti rimane da depositare nel sistema principale, la maggior parte dei dati, compresi gli importi, non finisce nel sistema principale. Questi sono i livelli: il portafoglio, il livello di convalida della transazione e il sistema principale. Il livello di convalida della transazione e il sistema principale sono il livello di elaborazione della transazione.

Il design potrebbe comportare un portafoglio digitale di auto-custodia come una delle opzioni, questo è il massimo in termini di privacy e controllo. Tutte le operazioni di base, conio di nuova moneta e trasferimento di fondi si basano solo sulla coppia chiave pubblica/chiave privata, le chiavi private sono conservate solo ai bordi, nei portafogli. La chiave pubblica è l'unica manifestazione di identità. La scelta può anche portare a funzionalità multi-sig (in cui sono necessarie più firme per la spesa) e portafogli deterministici gerarchici (un modo per creare più chiavi), un altro modo di gestire le chiavi.

Questa estensione di funzionalità assomiglia all'unione di architetture Layer-2 nella soluzione fin dall'inizio. La privacy e la possibilità di autocustodia wallet sono due dei contributi più significativi di questo progetto. Questo autorizza le persone, i pagatori, i beneficiari, gli utenti di questo sistema. Il sistema è più privato del bitcoin, conserva l'opzione per i portafogli di auto-custodia.

In questo e nella costruzione del flusso delle transazioni, le scelte architetturali chiave fino ad ora hanno portato ad alcune domande senza risposta, prima fra tutte come è possibile accedere a dati non disponibili nel sistema centrale senza distruggere la privacy. Potrebbe essere necessario per raccogliere statistiche economiche come la velocità del denaro o per il recupero di un portafoglio smarrito. L'applicazione dei limiti al flusso di denaro, l'antiterrorismo, il riciclaggio di denaro e altri controlli normativi che dovrebbero essere garanzie sistemiche diventano più difficili se non impossibili. L'implementazione di un'architettura che preserva la privacy più in profondità nelle viscere dell'infrastruttura principale e negli stessi portafogli può risolvere queste scelte. Questi possono includere prove a conoscenza zero e protocolli di crittografia omomorfi. Questi sono visti come obiettivi degni per la Fase II.

Blockchain o non Blockchain

Si parla molto di alcune affermazioni nell'Executive Summary e nella relazione tecnica. Le righe riguardano l'idoneità di un'architettura blockchain per un sistema amministrato da un'unica entità, la Federal Reserve. Questo viene letto come il ripudio della filosofia blockchain per i CBDC. Queste affermazioni riguardano più l'adeguatezza di un tale meccanismo per un sistema amministrato da una singola entità, soprattutto perché i costi più elevati, nel tempo e nella complessità devono essere pagati per il coordinamento in una blockchain. Come la maggior parte degli algoritmi di consenso basati su blockchain che assicurano che tutte le copie (repliche nel gergo del sistema distribuito) siano atomicamente coerenti, rallentano la replica. Un classico algoritmo della pratica dei sistemi distribuiti, Raft, è utilizzato da Hamilton. Questo algoritmo è una delle scelte per Hyperledger Fabric. Gli algoritmi di tolleranza agli errori bizantini (BFT), così chiamati perché questi algoritmi ammettono la presenza di attori maliziosi o imperfetti nella cerchia ristretta, servono a generare fiducia da una cerchia di partecipanti inaffidabili. Si basa su un classico problema dei sistemi distribuiti chiamato problema dei generali bizantini. Questa trasformazione un algoritmo BFT è anche promesso nella Fase II.

L'interpretazione più basilare di una blockchain è quella di una struttura dati, una catena di blocchi, Il giornale bitcoin di Satoshi dice che il giornale non menziona mai la parola blockchain. Un blocco è costituito da un insieme di transazioni e una catena dice un ordine seriale, un blocco dopo l'altro. Una volta forgiata, la catena dovrebbe essere infrangibile, un nuovo blocco viene costantemente lavorato, estendendo la catena. La maggior parte delle idee sulle transazioni di pagamento, in Project Hamilton, provengono da bitcoin. L'UHS e l'idea della custodia e dei trasferimenti crittografici. Il risultato, la protezione, contro la doppia spesa, contro gli attacchi di replay. Le transazioni nel modello UHS creano microledger, ogni transazione porta con sé riferimenti a tutte le transazioni precedenti sotto forma di catena. Arriviamo allo stesso tema, il design crea un modello di transazione che è una blockchain e non una blockchain anche nel modello 2PC.

Le operazioni di base in un modello di transazione per un sistema di pagamento sono solo tre: coniare, riscattare e trasferire. Queste operazioni riguardano l'offerta di moneta e l'utilizzo della moneta per i pagamenti. L'offerta di moneta può espandersi o contrarsi, il denaro può essere speso trasferendo da un portafoglio all'altro. Doppia spesa (quando lo stesso denaro viene speso due volte) e riprodurre gli attacchi (quando una transazione osservata viene reinviata, in altre parole spendere soldi di altre persone che sono già stati spesi) sono impediti dal modello di transazione. Il conio e il riscatto come operazioni di base non sono stati modellati adeguatamente, il tutto a causa di una naturale cautela attorno a queste funzioni che sono altamente sensibili. Beh, forse nella Fase II.

Hamilton Fase II

Man mano che la storia si svolge, si può vedere che nella Fase I mancano molte caratteristiche che rendono il CBDC pienamente funzionante. La maggior parte di queste è ovviamente difficile da modellare, è anche possibile che alcune di esse non possano essere implementate senza modificare il design di base e caratteristiche costrutti della Fase I come Privacy, Sicurezza, Auditability, il modello di transazione stesso. Calciare la lattina lungo la strada è popolare e necessario in contesti accademici e documenti, è un bug e una caratteristica dell'indagine aperta. Nel complesso, nessun'altra soluzione per CBDC ha aperto il codice sorgente per un controllo e, cosa più importante, su cui basarsi. Bitcoin lo ha fatto, così come Ethereum e molti altri blockchain pubblici. Tuttavia questi non sono CBDC. Delle blockchain aziendali, Hyperledger è un progetto open source che ospita molte varianti, tra cui Fabric, che è una blockchain aziendale ampiamente utilizzata, in molti progetti CBDC, alcuni dei quali in produzione. Hyperledger è una grande tenda che include Besu, un'implementazione di Ethereum, una blockchain pubblica ampiamente utilizzata.

La fase II promette di affrontare

  • Privacy e verificabilità
  • programmabilità
  • Interoperabilità
  • Pagamenti offline
  • Conio e redenzione
  • Produzione
  • Attacchi Denial of Service
  • Resistenza quantistica

Questo è un bel miscuglio di capacità e caratteristiche su scale diverse da diverse discipline. Alcuni possono essere considerati abbastanza basilari senza i quali nessun CBDC non può funzionare (ad esempio conio e riscatto). Tutti questi, tranne la resistenza quantistica, sono necessari per un CBDC completamente funzionante. Alcuni ne mancano: aggiornabilità, un portafoglio digitale perfettamente funzionante, sicurezza e monitoraggio.

Il team del MIT ha rilasciato l'intero codice sorgente del Progetto Hamilton Fase I in open source. È costituito da tutto il codice necessario per eseguire e interagire con le due architetture principali.

Oltre ad essere esso stesso open source, il codice si basa su una serie di librerie e componenti open source, tra cui il compilatore e gli strumenti llvm cang, LevelDB di Google, NuRaft di Paypal, componenti di crittografia di Bitcoin. La configurazione del test è su server AWS che utilizzano le reti interne di AWS. Questi componenti AWS non sono open source. Tuttavia, dovrebbe essere possibile eseguirlo su qualsiasi hardware Linux compatibile.

La decisione di rendere open source il progetto cbdc è la decisione più importante del progetto Hamilton. Molte aziende grandi e piccole utilizzano software open source. Il 98% delle imprese utilizza l'open source, anche se solo poche contribuiscono, che è il problema dei freerider. Come si può vedere dall'esempio di opencbdc-tx, il progetto non avrebbe potuto essere completato così rapidamente senza l'uso gratuito di software open source. Le statistiche favoriscono il software open source (OSS) ci sono solo .19 bug per ogni 1000 righe in OSS rispetto a 20-30 per ogni 1000 righe nel software proprietario standard. Le correzioni sono più rapide e la propagazione e il coordinamento più facili in OSS.

Conclusione

Anche se possiamo lamentarci del fatto che sia troppo poco e troppo tardi, sono state fatte diverse scoperte, la più significativa di queste è la creazione di un quadro in cui la privacy è fondamentale, raggiunta con il principio "non può essere malvagio" non " non essere malvagio”. Si può vedere per quanto tempo tale purezza può essere mantenuta sotto la pressione dell'audibilità che entra nel quadro della Fase II. La segregazione dei dati ai margini è uno sviluppo significativo che darà il primato ai dispositivi che sono nelle mani di tutti e quindi il controllo sarà decentralizzato di nuovo alle persone. Gli investimenti nella progettazione dell'interfaccia utente e miglioramenti nell'usabilità, non la suite forte per gli sviluppatori di back-end, hanno ricevuto poca attenzione nella Fase I del Progetto Hamilton. La Fase II non può ignorare questo importante elemento. Per un'adozione diffusa, il design front-end e back-end del portafoglio digitale su un dispositivo mobile deve essere semplice e intuitivo, più facile a dirsi che a farsi. Utilizzo online per impostazioni disconnesse in cui la connessione Internet è scarsa o assente, su diversi tipi di dispositivi, dalle schede ai telefoni con funzionalità, sono necessari per migliorare l'accessibilità. Un progetto pilota con un'implementazione graduale, facilità di feedback, aggiornamenti rapidi e rilasci dovrebbe far parte della pianificazione della Fase II.

Un dollaro digitale può avere successo solo se i legislatori sono scesi dal recinto e hanno approvato il passaggio alla certezza del diritto e l'affermazione di un progetto CBDC. L'attuale stato di divisione e tensione nei vari rami del governo e nel Paese in generale non è di buon auspicio per un simile esito.

Fonte: https://www.forbes.com/sites/vipinbharathan/2022/02/09/project-hamilton-on-the-report-published-by-the-boston-fed-and-mit/