Bitcoin layer-2: di cosa si tratta?

Di Matteo Bertonazzi

Anche per Bitcoin è arrivato il momento di approcciarsi a nuove soluzioni di scalabilità, con Zero Knowledge Rollup in arrivo anche per BTC

Bitcoin layer-2: di cosa si tratta?

Layer-2 per Bitcoin?

Nel nostro approfondimento settimanale, a meno di un mese dall’halving di Bitcoin, dobbiamo trattare di un tema fondamentale che si sta facendo sempre più spazio tra la community.

I problemi di scalabilità nelle blockchain sono centrali, al variare del numero di utenti e delle transazioni, molte blockchain non riescono a mantenere le performance stabili, sono costrette a sacrificare decentralizzazione o costi operativi. Come sappiamo, il trilemma non può essere superato se non scendendo a compromessi.

Bitcoin è sempre stato un protocollo che, tra decentralizzazione, sicurezza e scalabilità, ha sempre preferito mantenere i primi due come pilastri, i costi di transazione e la finalità delle transazioni non sono mai state una priorità del sistema, le principali battaglie del passato come la Blocksize War ne sono un chiaro esempio.

Inoltre. Bitcoin nasce come rete di pagamento tra privati priva di intermediari e libera dalla censura, ma negli anni ha sempre di più incarnato uno spirito politico in grado di dare nuove energie al movimento di liberazione della moneta dal giogo dei governi.

Come sappiamo l’approccio economico attuale è permeato di censura e inflazione, due strumenti utilizzati per indirizzare e controllare il potere economico dei consumatori, e Bitcoin incarna la nemesi di questo sistema, tramite un protocollo pubblico su cui gira una moneta con offerta programmata per essere limitata.

Tuttavia, per evadere completamente dalla trappola dei sistemi economici moderni, le semplici transazioni tra privati, la creazione di uno store of value digitale e timidi accenni di adozione a livello commerciale, non bastano per garantire ad un popolo desideroso di libertà la possibilità di esprimersi completamente.

Per citare una delle fonti principali da cui nasce questo report: “Se potessimo prendere prestiti contro i nostri Bitcoin saremmo disposti ad assumerci maggiori rischi. Se potessimo utilizzare i nostri dispositivi mobili come Hardware Wallet sicuri e utilizzare tecnologie come il FaceID per spendere bitcoin saremmo più attivi e disposti a spendere in un’economia circolare. Il punto è che ci sono molti strumenti, oltre alle semplici transazioni, che ci permettono di esprimere determinati desideri economici”.

Ciò che potrebbe permetterci una maggiore libertà di usare bitcoin nell’attuale sistema economico e predisporre i commercianti ad accettarlo è in buona sostanza una maggiore flessibilità e la possibilità di integrarlo con le attuali necessità finanziarie.

Questo focus on è stato pubblicato in esclusiva sulla nostra newsletter Whale Weekend del 5 aprile 2024. Iscriviti per non perdere articoli inediti, analisi, news della settimana e tanto altro ancora!

Un’idea che ha sempre stuzzicato e che ora prende vita

La storia di Bitcoin ci insegna che da Satoshi Nakamoto a Gregory Maxwell, passando per il nostro Giacomo Zucco e tutti i bitcoiner, sono sempre stati stimolati dall’idea di poter utilizzare Bitcoin su un layer parallelo che fungesse da espansione della rete principale senza intaccare le caratteristiche fondanti.

Nel 2013 Satoshi stesso parla della possibilità di racchiudere più transazioni in una unica, così da risparmiare spazio nei blocchi e delegare l’esecuzione. Gregory Maxwell propone nel 2016 un idea che coinvolgerebbe le ormai famose Zero Knowledge proof per completare questa visione, solo che il protocollo Bitcoin non era pronto tecnologicamente per integrare queste caratteristiche tanto all’avanguardia quanto premature.

Nel 2014 nasce l’idea delle sidechain, una serie di blockchain separate che possono occuparsi dei compiti più disparati come privacy, blocchi più grandi e via dicendo, con la possibilità di muovere BTC tra queste reti ed alleggerire di lavoro la rete principale. Il problema che si presentò fu non riuscire a ridurre la fiducia coinvolta nel bridge per passare gli asset da una chain all’altra

Nel 2017, il protocollo compie un passo importante, viene implementato l’aggiornamento Segwit, il quale risolve la c.d transaction malleability, che permette di abilitare Lightning Network. Questo aggiornamento segrega le firme delle transazioni dal blocco principale permettendo di alleggerire il compito dei validatori e di inscrivere contenuti arbitrari all’interno dei blocchi, se queste parole vi fanno venire in mente inscription e BRC-20 avete colto nel segno.

Il 2019 è un anno di svolta per la roadmap di scalabilità delle blockchain con la nascita dei rollup su Ethereum. Gli sviluppatori abbandonano definitivamente l’idea di scalare la rete tramite plasma e sidechain per concentrarsi sulla scalabilità rollup centrica, un metodo di esternalizzazione dell’esecuzione che garantisce un processo più sicuro tramite l’intervento di Sequencer e prove di validità, i quali permettono di affidarsi alla rete principale per la maggior parte dei compiti occupandosi soltanto di alleggerirla dall’elaborazione delle transazioni.

Tornando a Bitcoin, in questo riassunto cronologico, nel 2020 viene integrato Taproot, un soft fork in grado di riorganizzare la struttura dei dati crittografici tramite un albero binario, il quale permette di maneggiare queste informazioni in maniera più agile.

Ed arriviamo infine a noi. Nel 2023, Robin Linus rilascia il white paper di bitVM, una macchina virtuale che potrebbe eseguire una computazione turing completa anche su bitcoin. Con questa definizione si intende la possibilità di abilitare smart contract e computazioni complesse tramite un astrazione del linguaggio rigido del protocollo, un pò come i moderni linguaggi di programmazione fanno con il linguaggio macchina.

Questo processo evolutivo e la serie di aggiornamenti avvenuti nel corso degli anni aprono le porte all’eventuale integrazione di Zero Knowledge rollup anche su Bitcoin.

Modular Bitcoin

Una delle buzzword più utilizzate nell’ultimo anno nelle crypto, e che sarà trend anche dei prossimi anni, è il concetto di modularità, una soluzione per la combinazione di diversi progetti Blockchain che rappresentano il meglio delle funzionalità richieste ad una rete.

Parliamo del consenso e le sue regole di data availability per la regolazione delle controversie, di settlement per l’irreversibilità e naturalmente dell’esecuzione delle transazioni.

Bitcoin da sempre è stato utilizzato nella narrativa modulare come l’esatto opposto una rete monolitica, che sotto ad un unico progetto gestisce questi quattro compiti, sacrificando performance e costi operativi, ma le carte in tavola stanno cambiando, nessuno viene lasciato indietro, tanto meno il Re delle Cryptovalute.

Portiamo alcuni esempi che ci permettano di capire nel dettaglio di cosa parliamo. Per quanto riguarda l’esecuzione, per esempio, possiamo riconoscerla come Alice che invia un bitcoin a Bob, la transazione una volta firmata finisce nella mempool, una waiting room dove le transazioni attendono di essere minate. Il consenso è regolato dai miner, i quali risolvono la PoW e creano il blocco estrapolando l’operazione di Alice e Bob insieme alle altre transazioni dalla mempool.

Oltre ai dati delle transazioni all’interno dei blocchi, come anticipato, troveremo anche il witness, spazio dedicato alla raccolta delle firme e in cui è possibile inserire dati arbitrari. Il Settlement è invece garantito dai nodi, i quali, verificando il rispetto delle regole di consenso (dimensione, contenuto, contabilità), appendono il nuovo blocco alla loro versione del registro rendendo la transazione immutabile e irreversibile.

Una volta che i nodi hanno validato i blocchi otteniamo l’UTXO set ossia il totale delle UTXO collegate ad ogni indirizzo.

Rollup su Bitcoin, utopia o questione di compromessi?

Per comprendere il funzionamento dei rollup, mettiamo caso che dopo questo intero processo Bob e Alice abbiano rispettivamente 1 e 4 BTC, depositano quindi queste monete all’interno di un Multisig il quale deterrà quindi 5 BTC.

I 5 BTC vengono bloccati all’interno di questo multisig e vengono mintati in corrispettiva quantità anche nel Rollup, li possiamo chiamare “rBTC”.

Essendo “trasportati” all’esterno del L1 di bitcoin è ora possibile eseguire qualsiasi tipo di computazione con questi rBTC, dall’utilizzo in Defi, al minting di Stablecoin, Account Abstraction, Liquidity pool, Privacy Transaction etc. con qualsiasi linguaggio di programmazione da Rust a Solidity.

Immaginiamo che, a seguito di tutti i passaggi di stato avvenuti sul rollup, ora Bob e Alice abbiano rispettivamente 3 e 2 BTC. Il problema della centralizzazione degli oracoli persiste. Sorge quindi un dubbio spontaneo: come trasmettere il cambio di saldi dei nostri attori al L1? Come possiamo far sì che Bob e Alice possano prelevare i propri fondi dal multisig iniziale nelle rispettive quantità considerando che il L1 non può essere reso partecipe dei passaggi di stato off chain?

Nel caso di WBTC, Liquid Bitcoin e gli altri token peggati a BTC, si ricorre ad un livello di fiducia nei confronti degli emittenti di questi token, ma per creare un Rollup che sia degno di questo nome e che rispetti le 5 fette della torta della qualità, bisogna eliminare o ridurre ad un minimo accettabile questa componente di fiducia.

Si vuole quindi evitare che sia incaricata una sola parte a muovere i fondi da questo multisig comportando fiducia, perciò si arriverà ad un momento in cui chiunque potrà muovere questi fondi nella proporzione corretta, a seguito dei cambiamenti di stato off chain, ma per farlo bisognerà presentare una prova di validità matematica, ed è qui che entrano in gioco le Zero Knowledge Proof.

Infatti, per qualsiasi attore malevolo, è impossibile produrre una ZK valida modificando i dati di ciò che è avvenuto off chain, solo nel momento in cui verrà prodotta una prova valida allora questa verrà accettata e collegata ai fondi contenuti nel multisig i quali ripeteranno il processo di Execution-Consensus-Settlement ridistribuendo in maniera proporzionale i BTC ad Alice e Bob.

Facciamo attenzione, perché i nodi del L1 non si occuperanno di validare le transazioni avvenute off chain, ma solo di verificare che la prova ZK prodotta sia stata creata in conformità con le regole del consenso come per esempio il fatto che non vengano creati più di 21 milioni di BTC o che non sia stata eseguita nessuna doppia spesa.

Questo è un procedimento e set up ideale, molti sostengono che non sarà mai possibile principalmente perché bitcoin non può verificare le ZK proof nativamente, abbiamo detto che per muovere i fondi dal multisig sarà possibile solo producendo una prova di validità che bitcoin non può verificare.

bitVM e la computazione off chain

Per risolvere questi problemi di incompatibilità della rete senza modificare i rigidi parametri del protocollo è stato teorizzato bitVM, una sorta di verificatore in grado sia di confermare le ZK proof inserite nel witness, sia di confermare le prove di validità che vincolano i fondi nel multisig.

L’assunzione compormesso che bisogna accettare nell’integrazione di bitVM è la trust assumption 1 di n, ossia che almeno uno dei partecipanti alla computazione di bitVM sia onesto. Questo non lo rende completamente trustless ma trust minimized, con una maggiore partecipazione all’interno del processo di computazione, questa assunzione diventa sempre meno rischiosa.

Il compito di trasportare i dati dal mondo off chain al multisig on chain è delegato al Sequencer, che è il principale elemento di centralizzazione nei rollup moderni.

Avrete sicuramente sentito parlare della centralizzazione dei sequencer. Il fatto che il sequencer sia centralizzato è un problema perché, nonostante non possa muovere i fondi senza una prova di validità può comunque decidere di congelare i fondi smettendo di eseguire operazioni.

Abbiamo detto poco fa che si arriverà ad un punto in cui chiunque potrà produrre una ZK proof per muovere i fondi dal multisig. Mettiamo caso che il sequencer decida di smettere di compiere l’operazione di validity proof e bloccare i fondi di Alice e Bob nel multisig. Secondo quanto abbiamo appena detto può intervenire Alice e produrre una prova in grado di svincolare i propri fondi, questo procedimento è chiamato Unilateral Exit.

Per fare ciò, Alice ha bisogno dei dati delle computazioni avvenute off chain, le quali dovranno obbligatoriamente essere pubblicate nel witness on chain o su un DA Layer esterno, tramite un metodo chiamato State Diff. (una sorta di somma algebrica di tutte le transazioni), così che Alice potrà in qualsiasi momento risalire ai dati e produrre la validity proof in grado di svincolare i propri fondi dal multisig,

È vero, questo procedimento è centralizzato, ma comunque censorship resistant e sicuro. Abbiamo parlato nei primi capitoli di come i linguaggi di programmazione tramite diversi livelli di astrazione permettono di comunicare con il linguaggio binario dell’elettronica, infatti Python è costruito sopra C++ che è un estensione di C e che è costruito sopra assembly, e così via fino a scendere al linguaggio macchina binario.

bitVM permette di prendere qualsiasi tipologia di codice, come per esempio la verifica di crittografia ZK, e di suddividerlo nel suo linguaggio basilare, come fa python con il linguaggio macchina, permettendo così di comunicare con bitcoin grazie a Taproot e i suoi Merkle Trees.

Il Merkle Tree permette di suddividere questo codice complesso ad un punto tale che può essere inserito all’interno di una transazione bitcoin.

La danza del Prover e Verifier

BitVM opera su un’architettura semplice ma potente che coinvolge due attori principali: il Prover e il Verifier. Il Prover è la parte che avvia un calcolo o che garantisce un asserzione, essenzialmente dicendo: “Ecco un programma, ed ecco cosa affermo che farà o produrrà”. Il Verifier, d’altra parte, è responsabile della convalida di tale affermazione. Questa danza di coppia consente un livello di controlli e bilanciamenti, garantendo che i risultati computazionali siano accurati e affidabili.

L’ingegnosità di BitVM risiede nella sua gestione dei carichi computazionali. A differenza delle blockchain convenzionali, che impongono significativi carichi computazionali a validatori e nodi, BitVM esegue la maggior parte dei suoi calcoli complessi off-chain. Ciò riduce drasticamente la quantità di dati che devono essere memorizzati direttamente sulla blockchain di Bitcoin, migliorando l’efficienza e riducendo i costi.

Secondo questo procedimento il Prover mette a garanzia una certa quantità di BTC ed esegue le computazioni off chain producendo una ZK Proof, a quel punto ogni Verifier può mettere in discussione il lavoro del Prover e nel caso di attività truffaldina slashare il suo stake.

Così facendo, si crea una struttura basata su una teoria dei giochi ottimistica, dove il Prover si assume esegua il suo lavoro correttamente ma allo stesso tempo può essere messo in discussione da un’intera rete di verificatori in grado di punirlo e rielaborare le transazioni fraudolente.

Conclusioni

Questa innovazione ancora acerba nella sua implementazione permetterebbe di raggiungere quello stato di massima espressività ed innovazione completa di cui parlavamo in apertura di questo approfondimento. Ricordiamo però che non ha nessuna applicazione concreta attualmente e che tanti progetti L2 di Bitcoin promettono di integrarla, ma ancora non si possono testare i risultati concreti né tantomeno le fragilità.

Ciò che si prospetta all’orizzonte di un futuro in cui bitVM sarà utilizzato e funzionante è un panorama di Rollup e Zero Knowledge in grado di transare il valore di Bitcoin all’esterno della rete principale e di farlo fluire e transare nelle più disparate applicazioni Defi.

L’utente Bitcoin, se e quando questo protocollo open source sarà largamente utilizzato, potrà vedere i propri asset guadagnare utilità finora mai viste ed esprimere le proprie preferenze commerciali grazie a layer paralleli alla rete principale, scalabili ed economici, senza sacrificare le caratteristiche che più ci stanno a cuore, come l’irreversibilità, l’immutabilità, la trasparenza e la decentralizzazione.

Questo nuovo filone di innovazioni che sta per inondare il mondo crypto non solo ridà a Bitcoin un ruolo centrale nella frontiera delle crypto, ma rende nuovamente lo sviluppo intorno al re delle cryptovalute da seguire con attenzione, per non perdersi trend e utilità da sfruttare direttamente con i nostri cari BTC.

Se pensi che non ti terremo aggiornato su ogni progetto che valga la pena approfondire, ti sbagli di grosso, su The Crypto Gateway troverai sempre notizie d’avanguardia e ricerche direttamente dalla trincea delle Crypto.

Corri a studiare i nostri contenuti gratuiti sulle Crypto sulla nostra piattaforma Learn e sul nostro canale YouTube e iscriviti al nostro canale Telegram per non perderti le ultime notizie.


X

Vuoi essere sempre sul pezzo?

Iscriviti alla newsletter per ricevere approfondimenti esclusivi e analisi ogni settimana.

Se ti iscrivi c’è un regalo per te!

bitcoin
Bitcoin (BTC) $ 61,378.45
ethereum
Ethereum (ETH) $ 2,984.82
tether
Tether (USDT) $ 1.00
bnb
BNB (BNB) $ 595.85
solana
Solana (SOL) $ 143.59
usd-coin
USDC (USDC) $ 0.999259
xrp
XRP (XRP) $ 0.513437
staked-ether
Lido Staked Ether (STETH) $ 2,984.40
dogecoin
Dogecoin (DOGE) $ 0.146983
the-open-network
Toncoin (TON) $ 6.01
cardano
Cardano (ADA) $ 0.453061
shiba-inu
Shiba Inu (SHIB) $ 0.000023
avalanche-2
Avalanche (AVAX) $ 34.22
tron
TRON (TRX) $ 0.125518
wrapped-bitcoin
Wrapped Bitcoin (WBTC) $ 61,388.45
polkadot
Polkadot (DOT) $ 6.88
bitcoin-cash
Bitcoin Cash (BCH) $ 449.37
chainlink
Chainlink (LINK) $ 14.02
near
NEAR Protocol (NEAR) $ 7.25
matic-network
Polygon (MATIC) $ 0.682111
litecoin
Litecoin (LTC) $ 81.91
internet-computer
Internet Computer (ICP) $ 11.96
leo-token
LEO Token (LEO) $ 5.93
uniswap
Uniswap (UNI) $ 7.30
fetch-ai
Fetch.ai (FET) $ 2.17
dai
Dai (DAI) $ 1.00
render-token
Render (RNDR) $ 10.58
ethereum-classic
Ethereum Classic (ETC) $ 27.20
hedera-hashgraph
Hedera (HBAR) $ 0.108831
first-digital-usd
First Digital USD (FDUSD) $ 1.00
aptos
Aptos (APT) $ 8.57
cosmos
Cosmos Hub (ATOM) $ 8.99
pepe
Pepe (PEPE) $ 0.000008
mantle
Mantle (MNT) $ 1.01
crypto-com-chain
Cronos (CRO) $ 0.124268
filecoin
Filecoin (FIL) $ 5.79
wrapped-eeth
Wrapped eETH (WEETH) $ 3,100.86
stellar
Stellar (XLM) $ 0.107201
okb
OKB (OKB) $ 50.21
blockstack
Stacks (STX) $ 2.06
immutable-x
Immutable (IMX) $ 2.05
renzo-restaked-eth
Renzo Restaked ETH (EZETH) $ 2,939.35
kaspa
Kaspa (KAS) $ 0.120106
dogwifcoin
dogwifhat (WIF) $ 2.85
optimism
Optimism (OP) $ 2.59
arbitrum
Arbitrum (ARB) $ 1.02
bittensor
Bittensor (TAO) $ 387.63
the-graph
The Graph (GRT) $ 0.269089
vechain
VeChain (VET) $ 0.035135
arweave
Arweave (AR) $ 38.64