Aggiornamento di sicurezza BitBox - Sponsor di Bitcoin Train
Se usate una BitBox02 o BitBox02 Nova, aprite la BitBoxApp già installata e aggiornate il firmware alla versione 9.26.5.
L’aggiornamento Dixence corregge due vulnerabilità gravi:
Una corruzione della memoria nell’edizione Multi, sfruttabile prima della configurazione tramite un computer malevolo per eseguire codice arbitrario;
Una falla nei Silent Payments che poteva bloccare i fondi su un indirizzo diverso da quello previsto.
BitBox ha inoltre rivalutato come grave un problema del bootloader del BitBox02, già corretto con il firmware 9.26.2, che poteva consentire l’installazione di firmware malevolo dopo un attacco di phishing riuscito. BitBox02 Nova non era interessata da quest’ultima falla.
BitBox non segnala sfruttamenti né fondi rubati, le seed esistenti restano sicure e non serve alcuna migrazione. Per aggiornare, usate il banner o il numero di versione dentro la BitBoxApp ufficiale già installata, evitando link ricevuti via email e risultati dei motori di ricerca. BitBox non chiederà mai le vostre parole di recupero.
Se invece volete acquistare una BitBox02 o BitBox02 Nova, visitate bitbox.swiss/bitcointrain per ottenere il 5% di sconto su tutti i prodotti BitBox.
Con Debifi hai accesso a liquidità fiat immediata senza rinunciare ai tuoi bitcoin.
Debifi è una piattaforma di prestiti Bitcoin-only e non-custodial. Depositi i tuoi bitcoin come collaterale in un escrow multisig 3-di-4: le chiavi sono distribuite tra te, il creditore, un key holder autorizzato e Debifi. Servono 3 firme su 4 per muovere i fondi - nessuno può toccare i tuoi bitcoin unilateralmente.
Puoi ottenere la liquidità anche senza KYC: scopri qui le offerte no-KYC.
Dimentica l’incubo del 33% di tasse sulle plusvalenze derivanti dalla vendita di bitcoin: il prestito non è un evento tassabile!
Scegli la durata del prestito, il LTV (la quota di bitcoin che impegni rispetto a quanto ricevi in fiat) e ricevi il prestito in euro, dollari o stablecoin.
Il codice è open source: puoi verificare tutto. Non vendere mai più i tuoi bitcoin!
Richiedi il tuo primo prestito da qui: https://debifi.com
Annuncio sponsorizzato
Sabato scorso ho sbagliato la valutazione del wallet Glow.
L’avevo inserito insieme a Blockstream Swaps e Arkade Intents tra i progetti che stanno riducendo la dipendenza dei wallet da un singolo operatore. Dopo una settimana passata sulla documentazione, quella frase merita una correzione.
Glow è l’applicazione dimostrativa del nuovo SDK di Breez, costruito sul protocollo Spark. Lo stesso protocollo viene già usato da Wallet of Satoshi, Primal, Blink, Blitz, Cake Wallet e Xverse. Gli ultimi due dichiarano rispettivamente oltre un milione e 1,6 milioni di utenti.
Da martedì Spark viene usato anche nei depositi Lightning di Freedomia, una popolare carta Visa no-KYC che molti di voi conoscono (se volete supportarmi, potete provarla da questo link). Dopo la sospensione dei servizi di Boltz, Freedomia ha ricostruito il flusso con Breez: il pagamento viene instradato tramite Spark e Orchestra, convertito in USDC su Polygon e accreditato sul saldo della carta.
La proposta commerciale di Spark è chiara: pagamenti istantanei, ricezione offline, nessun canale Lightning da aprire, nessuna liquidità da gestire e controllo delle chiavi da parte dell’utente. Wallet e servizi lo presentano come una soluzione self-custodial.
La domanda da verificare è altrettanto precisa: un utente può riportare i propri bitcoin on-chain quando gli operatori Spark smettono di collaborare o diventano irraggiungibili?
La risposta ha due livelli. Il protocollo prevede una vera unilateral exit, ma molti wallet popolari dipendono ancora dagli operatori per ottenere i dati necessari a costruirla.
Come vengono controllati i bitcoin su Spark
Un deposito Spark finanzia un output Taproot sulla blockchain di Bitcoin. La chiave che controlla quell’output deriva dalla combinazione di due componenti: una appartiene all’utente, l’altra al gruppo degli operatori Spark.
La configurazione mainnet pubblicata negli SDK elenca tre operatori: Lightspark, Breez e Flashnet. Ognuno possiede una quota della componente collettiva e ne bastano due per produrre la firma. Quando utente e operatori firmano insieme, sulla blockchain compare una normale firma Schnorr.
Gli operatori non possiedono la componente dell’utente e da soli non possono spendere il deposito. Per eseguire le normali operazioni Spark, l’utente deve invece interagire con loro.
Quando Alice trasferisce dei bitcoin a Bob, l’output on-chain rimane invariato. Spark modifica le componenti delle chiavi fuori dalla blockchain: Bob ottiene una nuova componente personale e gli operatori aggiornano le proprie quote affinché la chiave pubblica complessiva continui a corrispondere a quella dell’output originale.
Gli operatori devono poi cancellare le quote precedenti, quelle compatibili con la chiave di Alice. La documentazione ufficiale definisce questa assunzione “fiducia in un momento preciso”: se la cancellazione avviene correttamente durante il trasferimento, una compromissione successiva degli operatori non consente di ricostruire lo stato precedente.
La cancellazione di un dato rimane impossibile da provare crittograficamente. Alice e un numero sufficiente di operatori che avessero conservato le vecchie quote potrebbero firmare una spesa concorrente. Bitcoin Layers considera questa eventualità il principale rischio di finalità di Spark.
Il caso rimane teorico e privo di precedenti documentati. Richiederebbe un precedente proprietario disposto a rubare, la collusione degli operatori e la conservazione delle quote riferite allo stesso stato.
Spark presenta spesso la propria sicurezza con la formula “basta un operatore onesto”. La configurazione pubblicata è però 2-di-3: due vecchie quote sono sufficienti per formare la componente collettiva della firma. Il terzo operatore può rifiutarsi di partecipare senza impedire agli altri due di procedere.
Come funzionano alberi e foglie
Le prime statechain consentivano di trasferire fuori dalla blockchain soltanto un intero UTXO. Spark ha aggiunto la possibilità di dividere quel valore attraverso una struttura gerarchica di transazioni pre-firmate.
La prima transazione della struttura, chiamata root transaction, spende l’output di deposito. Le transazioni intermedie spendono gli output del livello precedente e li suddividono in importi inferiori. I nodi terminali vengono chiamati foglie e rappresentano le singole porzioni di saldo controllate dagli utenti.
Queste transazioni rimangono fuori dalla blockchain durante il funzionamento ordinario. Gli operatori ne conservano struttura, stato e firme nei propri database. Il wallet somma il valore delle foglie assegnate all’identità dell’utente e mostra un unico saldo.
Per effettuare un pagamento, il wallet seleziona una combinazione di foglie che copra l’importo richiesto. Quando le denominazioni disponibili non consentono di comporre la cifra, lo Spark Service Provider - SSP - esegue uno swap atomico: riceve un gruppo di foglie e restituisce un altro gruppo dello stesso valore con denominazioni differenti.
Pagamenti, ricezioni, swap, rinnovi e ottimizzazioni modificano quindi l’insieme delle foglie possedute e la loro posizione nella struttura. Ogni foglia ha un percorso specifico composto dalla radice e da tutte le transazioni intermedie che la precedono.
Una seed importata in un altro wallet ricrea l’identità e le chiavi dell’utente. Il nuovo wallet interroga poi gli operatori per conoscere le foglie assegnate a quell’identità, il loro stato e le transazioni che le precedono.
Il saldo recuperato tramite seed dipende quindi dalla disponibilità dei database Spark.
Come funziona davvero l’unilateral exit
Quando una foglia viene creata o trasferita, utente e operatori firmano in anticipo anche le transazioni necessarie a portarla on-chain. L’utente può pubblicarle in futuro senza chiedere nuove firme.
Ogni nuovo proprietario riceve una transazione con un timelock più breve rispetto a quello del proprietario precedente. Se Alice pubblica una vecchia versione, Bob ha un intervallo durante il quale può pubblicare la propria e far valere lo stato più recente. Gli operatori conservano copie di queste transazioni e agiscono da watchtower. Spark riconosce che il mancato intervento entro la finestra prevista consentirebbe al vecchio proprietario di completare la spesa.
L’uscita cooperativa richiede utente, operatori e SSP. Le parti firmano una nuova transazione diretta all’indirizzo Bitcoin scelto dall’utente. Il processo produce una sola transazione on-chain.
L’unilateral exit usa invece le transazioni firmate in precedenza. Il wallet deve recuperare la foglia corrente e tutte le transazioni che la collegano alla radice. Poi le pubblica in ordine, dalla radice alla foglia. Ogni livello deve confermare prima che il successivo possa entrare nella mempool.
Le transazioni pre-firmate hanno fee pari a zero, perché il costo futuro dello spazio nei blocchi è sconosciuto. Ciascuna contiene un ephemeral anchor che consente di aggiungere una seconda transazione con commissioni sufficienti per entrambe. Il meccanismo si chiama CPFP e richiede all’utente di possedere separatamente almeno un UTXO Bitcoin con cui finanziare le fee.
Dopo la conferma delle transazioni intermedie, l’utente deve attendere la scadenza del timelock della foglia, pubblicare la transazione di rimborso e infine spendere il relativo output verso l’indirizzo Bitcoin desiderato.
Blink ha eseguito questo processo con un wallet da 100.000 sat su mainnet. Le 22 foglie richiedevano complessivamente 253 pacchetti. Il primo tentativo di inviarli insieme ne ha fatti rifiutare 252, perché la mempool ammetteva soltanto un livello non confermato per ogni percorso.
A 1 sat/vB, 18 foglie contenenti complessivamente 9.888 sat avevano un costo di uscita superiore al proprio valore. Le quattro economicamente recuperabili contenevano 90.112 sat. Il processo ha richiesto decine di conferme, timelock fino a 1.400 blocchi e la successiva pubblicazione da parte di una watchtower di transazioni alternative già firmate.
Le quattro foglie sono infine arrivate in output controllati dalla seed dell’utente senza nuove autorizzazioni degli operatori. Dopo gli ultimi sweep, il recupero previsto era di circa 82.000 sat.
Il test dimostra che l’unilateral exit di Spark funziona fino a un certo punto. Dimostra, in particolare, che richiede stato aggiornato, fondi esterni per le fee, strumenti capaci di gestire package relay, numerose conferme e tempi che possono superare una settimana. Soprattutto, per le foglie più piccole può risultare antieconomica.
Perché la seed non basta
Blink aveva preparato prima del test un recovery bundle contenente tutte le foglie correnti, le transazioni pre-firmate e i loro antenati.
La seed permette di derivare le chiavi crittografiche. Il recovery bundle contiene lo stato dinamico necessario a stabilire quali transazioni firmate appartengano oggi all’utente e in quale ordine debbano essere pubblicate.
Una seed creata mesi prima non registra i trasferimenti, gli swap e le riorganizzazioni successive. Durante un blackout completo degli operatori può generare le chiavi dell’utente, mentre rimangono sconosciute le foglie correnti e le transazioni necessarie all’uscita.
La documentazione della release 0.22 di Breez, pubblicata lo scorso 13 agosto, lo dichiara esplicitamente: gli operatori devono essere raggiungibili quando viene preparata l’uscita, perché l’SDK recupera da loro le transazioni pre-firmate.
Lo scorso giovedì Breez ha unito nel codice il supporto per archiviare localmente la struttura completa, raccogliere automaticamente gli antenati, esportare lo stato e costruire l’uscita offline. La modifica deve ancora arrivare in una release pubblica e poi nei wallet che usano l’SDK.
Il codice pubblico di Blink e Glow usa la versione 0.22. Primal usa la 0.17.1 e Cake la 0.14. In queste versioni il percorso completo con operatori offline rimane fuori dall’app.
Blitz conserva nel proprio database foglie e antenati e permette di esportare un recovery bundle. Il completamento dell’uscita richiede ancora lo strumento esterno sviluppato da Blink per preparare le fee, costruire e pubblicare i pacchetti, attendere i timelock e completare gli sweep.
Wallet of Satoshi è closed source. La sua guida afferma che la seed o il backup su Google Drive consentono di ripristinare il wallet su un altro telefono. Il ripristino interroga l’infrastruttura Spark. Manca una procedura pubblica per completarlo durante un blackout totale.
Una revisione indipendente conclusa a luglio ha esaminato otto wallet consumer senza trovare un’implementazione completa dell’uscita operator-offline dentro le applicazioni. Blitz ha aggiunto successivamente l’export, mentre l’esecuzione resta affidata a strumenti esterni.
Il controllo operativo di Lightspark
Lightspark gestisce uno dei tre operatori, è il coordinatore fisso al quale gli SDK inviano le richieste principali e controlla l’unico SSP configurato di default. Breez e Flashnet possono produrre insieme la soglia crittografica, ma le applicazioni non passano automaticamente a loro quando il coordinatore Lightspark smette di rispondere.
Il codice è open source e un altro gruppo può lanciare un proprio Spark Entity con operatori differenti. La rete usata dai wallet più popolari rimane però permissioned: l’elenco degli operatori è scritto nella configurazione degli SDK e ogni modifica deve essere distribuita alle applicazioni.
Il codice contiene anche un controllo chiamato wallet kill switch. Ogni operatore può usarlo per bloccare le operazioni che modificano lo stato di una specifica identità, lasciando disponibili le letture. Il wallet riceve lo stesso messaggio previsto per un normale errore di autenticazione e quindi non può distinguere le due situazioni.
Il registro pubblico documenta soltanto il codice e l’uso contro utenti reali rimane privo di riscontri. La presenza del controllo dimostra comunque che gli operatori dispongono di uno strumento per bloccare selettivamente un wallet.
David Marcus, Ceo di Lightspark, arriva da PayPal, Facebook Messenger e Libra/Diem. Nel 2019 difese davanti al Congresso americano il tentativo di Facebook di creare una rete monetaria globale permissioned, governata da un’associazione di aziende. Il progetto fu ridimensionato e infine abbandonato dopo anni di opposizione politica e regolamentare.
Il curriculum di Marcus offre un contesto. Mostra la continuità tra due obiettivi: creare un’infrastruttura globale per il denaro e renderla abbastanza semplice da essere integrata in prodotti usati da milioni di persone.
Il punto è che Bitcoin richiede scetticismo by default, come peraltro hanno dimostrato i fatti delle ultime settimane: richiede di valutare il sistema nel worst-case scenario, a prescindere dalle intenzioni di chi lo costruisce.
Un errore vecchio di cinque anni ha fatto generare a Coldcard seed deboli. La malizia era superflua. La lezione della Fermata #311 vale anche per Spark: bug, compromissioni e pressioni politiche devono essere considerati condizioni previste dal progetto.
Lightspark vende anche Grid, conti globali e infrastruttura regolata per fiat e stablecoin. I termini del servizio prevedono KYC, controllo delle sanzioni, rifiuto, ritardo, reversal e congelamento delle operazioni. Grid è separato da Spark e questi termini dimostrano soltanto l’orientamento commerciale e regolamentare dell’azienda.
Resta possibile formulare uno scenario ipotetico. Un regolatore potrebbe richiedere in futuro l’identificazione per accedere all’uscita cooperativa o alle API degli operatori. L’SSP potrebbe applicarla all’uscita più economica, i server alla distribuzione dello stato. Un utente con un recovery bundle completo continuerebbe a usare l’unilateral exit. Un utente provvisto soltanto della seed dipenderebbe dall’infrastruttura sottoposta alla nuova regola.
La sua possibilità tecnica basta per applicare il criterio corretto: ogni wallet deve conservare e consegnare all’utente tutti i dati necessari all’uscita prima che quel rischio si materializzi.
La verifica da chiedere ai wallet Spark è concreta: operatori spenti, SSP spento, applicazione ancora capace di costruire l’uscita, pubblicarla e arrivare fino a un UTXO Bitcoin usando un backup che l’utente sa di dover proteggere.
Finché questa prova manca, definire quei wallet self-custodial significa chinare il capo al marketing di Lightspark.
Supporta la battaglia legale di Bull Bitcoin contro DAC8 diventando loro cliente. L’intero sforzo nei tribunali è sostenuto dai ricavi operativi.
Non-custodial, supporta Bitcoin on-chain, Lightning e Liquid. E potete anche spendere i vostri bitcoin per pagare qualsiasi IBAN in euro, senza passare da una banca.
Iscrivendoti con il codice “federico” otterrai uno spread ridotto all’1,75% invece del 2%, per sempre. Puoi farlo da qui.






