Avrete letto nei giorni scorsi che è stato ufficialmente rilasciato dal protocollo Ark, con la prima implementazione pratica di questa tecnologia di scaling chiamata Arkade.
https://arkadeos.com/
Se non sapete di cosa si tratti, vi faccio un brevissimo recap di Ark: questo protocollo, ormai in sviluppo da oltre un anno, si propone come la soluzione di scaling perfetta per Bitcoin ed in effetti le premesse ci sono tutte perchè garantisce:
-numero di transazioni offchain illimitato
-senza bisogno di modifiche al layer base, alle regole del consenso e senza hard o soft fork
-senza bisogno di token (shitcoin) aggiuntivi
-senza bridge o forme "wrappate" di bitcoin
-senza i limiti della gestione della liquidità inbound di LN
-con l'utente che resta custode unico dei fondi (non-custodial)
Interessante,vero ?
Ark utilizza per lo scaling una architettura client server, dove ogni client si collega ad un server (chiamato ASP Ark Service Provider).
Più utenti possono collegarsi inviando all'ASP una batch transaction tramite la quale gli UTXO coinvolti vengono convertiti in una loro copia virtuale identica chiamata VTXO.
Tecnicamente quindi, durante l'uso di Ark, gli UTXO bitcoin sono conservati su un address multisignature cofirmato dall'utente e dall'ASP. Quindi l'ASP da solo non può spendere i fondi dell'utente.
Gli utenti possono, da quel momento in poi, spendere VTXO a piacimento offchain a costi infinitesimali e tempi quasi immediati.
L'ASP gestisce dei round temporali molto brevi al termine dei quali aggiorna il suo ledger interno con le transazioni avvenute e condivide il saldo aggiornato con ogni utente.
Al termine di ogni round ogni utente ha la possibilità di uscire riconvertendo il saldo VTXO offchain in UTXO onchain, oppure, se non fa nulla, il suo saldo aggiornato è riportato al round successivo
I round saranno parametrizzati genericamente in 1 ora ma con possibilità per ogni ASP di personalizzare la durata.
cosa succede se l'ASP sparisce o froda?
L'utente ha un meccanismo di protezione chiamato "exit transaction": all'inizio di ogni round il suo saldo viene prefirmato dall'utente e dal ASP con un
commitment , cioè una transazione perfettamente valida ma non ancora instradata sulla blockchain.
Nel caso qualcosa vada storto, l'utente può, senza bisogno di interazione da parte dell'ASP, inviare questa transazione di uscita sulla blockchain e tornare in possesso dei fondi che aveva al termine del round più recente.

Da un punto della usabilità si vedono gli enormi passi in avanti rispetto a LN: non è necessario gestire i canali e i loro problemi di liquidità.
Usare un wallet ARK e spendere VTXO è identico ad usare un wallet Bitcoin e spendere UTXO, con la sola differenza che nel primo caso bisogna collegarsi ad un server, cosa che peraltro già avviene per tutti i wallet SPV (come Electrum) per lo storage aggiornato della blockchain.

Avrà dei difetti o è tutto bellissimo?

Difetti ci sono ovviamente. Innanzitutto c'è una trust assumption, anche se veramente minima: se l'ASP sparisce prima della fine del round i pagamenti che l'utente ha fatto durante quel round non sono verificabili on chain e i fondi ricevuti potrebbero essere persi. Dato che round dureranno 1 ora il rischio è abbastanza limitato.
Altro rischio: prima del refresh dello stato, un ASP colluso con un altro utente potrebbe fare double spending dei fondi di quest'ultimo. Come sempre, se questa cosa si diffonde i server avranno un livello di trust e quelli più grandi e affidabili dubito che si sputtaneranno una reputazione (e i relativi guadagni sulle fees) per fare i rubagalline.
Ma il più grosso limite di ARK è un altro (risolvibile):
allo stato attuale delle cose ARK non permette offchain l'instradamento di un pagamento tra ASP diversi.Ogni server è un'isola: se due utenti sono collegati allo stesso possono transare tra loro, altrimenti no. Almeno non via Ark
Anche LN all'inizio aveva questo limite: i pagamenti erano possibili solo su canali locali. Poi arrivarono i
routable payments e il problema fu superato.
Anche l'email (

) agli albori di Internet aveva questo problema: un utente AOL non poteva mandare una mail a un utente Lotus Notes. Poi arrivo SMTP e la questione fu risolta.
Nell'attesa di soluzioni integrate un possibile workaround sarebbe l'integrazione Ark+LN.Gli ASP potrebbero diventare HUB LN che gestiscono la liquidità per conto dei clienti ARK e inviano transazioni tra loro via LN in modo trasparente per l'utente. In sostanza:
-pagamenti tra utenti dello stesso server-> via Ark
-pagamenti tra utenti di server diversi->via LN gestito dagli ASP quindi "under the hood": per l'utente è identico ad una qualsiasi altra transazione Ark (e quindi bitcoin)
Ecco un esempio di "pagamento ibrido"
Gli utenti vivono su Ark.
Gli ASP parlano tra loro via Lightning.
E Bitcoin resta la base di sicurezza e settlement.C'è ancora molto da fare ma la direzione è quella giusta.
