Davvero interessantissima questa discussione.
Francamente trovo geniale l'accoppiata "address trappola" + "ritardo nella transazione", e penso sia l'unica soluzione possibile. Penso però che l'idea messa così non sia sufficiente, e che vada integrata.
Tanto per cominciare, come ha giustamente fatto notare qualcuno, non è possibile, lato utente, far passare artificiosamente tanto tempo tra la propagazione della transazione sulla blockchain e la prima conferma, perchè questo rallenterebbe l'intero sistema. Nè è possibile dire ai miners "confermami questa tx dopo un tot di blocchi"... se anche ci fosse il modo di comunicare ai miners un'istruzione del genere, non vedo per quale motivo loro dovrebbero seguirla. La loro unica regola è il profitto, e del fatto che tu stai subendo una rapina non gliene può fregare di meno. In questo senso, si potrebbero persuadere i miners a ritardare la conferma impostando una fee di 1 sat/B che di solito ci mette una vita, ma è una soluzione assolutamente non sicura in quanto aleatoria: non si può avere certezza che un miner non la inserirà subito in un blocco, e se dovesse succedere sarebbero cazzi.
Il problema, dunque, è che la transazione, sulla blockchain, non ci deve arrivare proprio, perchè una volta arrivata i BTC sono già persi. Certo, se non ci sono ancora conferme allora teoricamente si potrebbero recuperare con una double spending, ma si potrebbe fallire nell'intento o non fare in tempo, e non mi sembra il caso di correre questo rischio.
A questo punto, ho pensato che l'unico modo per risolvere questi problemi sia di inserire TUTTE le nostre cripto in un unico wallet ideale appositamente creato per prevenire queste situazioni, con delle caratteristiche che ora andrò ad elencare. Il fatto di inserire tutti i nostri averi (anche milioni di euro di controvalore) in un unico wallet, può apparire una contraddizione ma secondo il mio ragionamento non lo è e lo spiego alla fine.
Vado innanzitutto a descrivere le caratteristiche di un wallet ideale per queste situazioni:
1) Trap Address, indirizzo trappola che, quando vede spostarsi i fondi, invii un allarme, possibilmente testuale (qua se ne può discutere), ad amici e familiari. Questi amici e familiari andranno ovviamente istruiti in precedenza su cosa sia questo allarme, e su cosa fare in caso lo ricevano (cioè allertare le FdO e non raggiungerci a casa pensando di fare gli eroi). E' opportuno che tale allarme giunga al maggior numero di persone possibile, perchè non tutte potrebbero essere disponibili in quel momento. Anzi: è opportuno far giungere questo allarme a più persone strette possibili anche perchè potrebbe anche essere una di loro a volerci rapinare
2) Transaction Delay: come dicevo in precedenza, se non è possibile imporre un ritardo tra la propagazione della transazione e la sua prima conferma, è però possibile imporre un ritardo nel passaggio immediatamente precedente, ovvero ordinare al nostro wallet ideale di ritardare l'invio effettivo della transazione dopo X ore rispetto al momento in cui essa viene richiesta. Questo parametro, lo si dovrebbe poter settare dalle impostazioni.
3) Amount Limit: come ulteriore misura di sicurezza, il nostro wallet ideale antirapina dovrebbe imporre un limite agli importi, consentendo di inviare soltanto X btc ogni Y di tempo. Di fatto, questo limiterebbe ancora di più il danno nel caso in cui il ladro riuscisse a farla franca.
4) Global Settings Timelock (questa idea mi è venuta da Kraken): in base ai punti 2 e 3, come risolvere se il ladro ci minaccia dicendo "cambia le impostazioni e fagli inviare subito la transazione" oppure "togli i limiti di importo così prelevo in una botta sola"? Abbiamo detto che il fattore tempo è l'unico che può essere in grado di mettere in difficoltà il ladro, dunque per risolvere questo problema il wallet ideale dovrebbe prevedere un meccanismo di limite temporale per la modifica delle impostazioni, limite da noi precedentemente impostato durante la configurazione iniziale del wallet, e che non può essere scavalcato in nessuna maniera. Cioè deve essere una cosa assolutamente non sbloccabile nè con una password, nè con nulla. Deve essere qualcosa di letteralmente immodificabile ed inesorabile che costringa ad attendere tutto il countdown. E infatti su Kraken, da cui ho preso questa idea, è così: una volta impostato, ti puoi anche dannare l'anima ma le impostazioni non le cambierai mai prima della data stabilita. Così, se noi durante la prima configurazione del wallet settiamo che la modifica delle impostazioni sarà permessa soltanto dopo X ore rispetto al momento di richiesta modifica, allora ci mettiamo anche al sicuro dai pericoli descritti: non essendoci qualcosa su cui abbiamo potere, non essendoci alcun segreto da estirpare dalla nostra mente, non essendoci nulla che noi possiamo fare, il ladro non potrebbe costringerci a fare nulla.
5) Seed Timelock: il ladro potrebbe essere abbastanza furbo da dire "visto che il tuo wallet impone un ritardo nell'invio della transazione, un limite agli importi, e un ritardo alla modifica di queste impostazioni, allora adesso mi faccio mostrare il seed, lo inserisco su un mio wallet, così potrò spostare subito i fondi".
Per prevenire questo problema, il nostro wallet ideale deve prevedere una soluzione analoga al punto 4: ovvero dovrebbe essere possibile, durante la configurazione iniziale, ordinare al wallet di mostrarci le chiavi private/seed soltanto dopo un tot di tempo (da noi deciso) a partire dal momento della richiesta. E anche questo ostacolo, così come il Global Settings Timelock, deve essere letteralmente inesorabile ed inevitabile.
Alla luce di quanto esposto, è chiaro che il nostro wallet ideale sarà estremamente
lento nel farci compiere le transazioni BTC, visto che esiste un limite temporale per qualsiasi cosa (e anche di importo). Ma essendo un wallet di custodia che dovrebbe fungere da cassaforte, e non per l'utilizzo quotidiano, allora tutta questa lentezza sarebbe assolutamente giustificata. Il grosso delle cripto andrebbero tenute su questo wallet, e solo una parte su un wallet dalle procedure più snelle e libere (Electrum, BRD, Exodus ecc). Se per caso ci servisse tutta la somma presente sul wallet ideale, dovremmo ovviamente muoverci per tempo basandoci su tutti i limiti da noi preimpostati.
Ora che ho esposto tutta la mia idea, chiudo spiegando come mai all'inizio ho detto che è opportuno inserire TUTTE le cripto sul nostro wallet ideale: come ha fatto notare qualcuno nella discussione, il ladro potrebbe non accontentarsi della somma esigua che vede, o potrebbe pensare che lo stiamo fregando con un wallet esca e che da qualche parte ci sia il grosso dei nostri averi, e questo potrebbe farlo incazzare ancora di più. Se invece tenessimo tutte le nostre cripto nel nostro wallet ideale, lui vedrebbe che effettivamente su quel wallet ci sono parecchi soldi, e questo lo spingerebbe ad accontentarsi della somma che vede, oltre che ad allontanare dalla sua mente l'idea di un wallet esca.
My 2 cents, ogni critica od osservazione è ben accetta
PS: se un wallet del genere esiste già, sarebbe davvero ottimo se me lo segnalaste!