Visto non significa liquidato
Invii una moneta e in uno o due secondi la transazione compare su un block explorer. È stata trasmessa: i nodi ce l'hanno, i miner o i validator ce l'hanno nella loro coda, e l'explorer sta riportando quello che ha sentito. Quello che non è ancora successo è l'unica cosa che conta — la rete non ha ancora concordato che questa transazione faccia parte del registro.
Questo accordo avviene nei blocchi. Un blocco è un batch di transazioni che un miner o validator propone e il resto della rete accetta. Quando la tua transazione è inclusa in un blocco, ha una conferma. Quando un altro blocco viene costruito sopra quello, ne ha due. Il conteggio è semplicemente quanto in profondità la tua transazione è sepolta sotto i blocchi successivi.
La profondità conta perché il registro può, brevemente, dividersi. Due miner trovano un blocco quasi nello stesso momento; la rete segue entrambi per un blocco o due finché una catena non si afferma, e l'altra viene abbandonata insieme a ogni transazione che era solo in essa. Una transazione con una conferma può trovarsi dalla parte perdente di quello. Una transazione con sei ha una catena di sei blocchi che dovrebbero tutti essere scartati.
Da dove viene "sei conferme"
Il numero non è una leggenda. La sezione 11 del whitepaper di Bitcoin calcola quanto è probabile che un attaccante che controlla una frazione della potenza di hash della rete possa costruire segretamente una catena più lunga e sostituire una transazione sepolta z blocchi in profondità. Il risultato, per un attaccante che detiene il 10% della rete:
| CONFERME | PROBABILITÀ DI STORNO |
|---|---|
| 1 | 20,5% |
| 2 | 5,1% |
| 3 | 1,3% |
| 4 | 0,35% |
| 5 | 0,09% |
| 6 | 0,024% |
Ogni conferma riduce il rischio di un fattore di circa quattro con questa dimensione di attaccante. La curva è il motivo per cui "sei" è diventato il limite consueto per il valore a riposo: è il punto in cui il numero smette di valere la pena di scrivere.
Due cose da leggere dalla tabella. Il calo è esponenziale, quindi la conferma marginale vale di più all'inizio — passare da uno a due elimina tre quarti del rischio, passare da cinque a sei elimina un quarto di quel poco che rimane. E l'intera tabella riguarda il tempo di blocco e il modello di sicurezza di una sola chain. Sei blocchi Bitcoin sono circa un'ora. Sei blocchi su una chain che ne produce uno ogni tre secondi sono diciotto secondi, e significano qualcosa di diverso.
Perché il conteggio varia per moneta
Ogni chain si regola diversamente, quindi un numero fisso di blocchi non è una quantità fissa di certezza. Grosso modo, le chain su cui questo wallet accetta depositi rientrano in tre categorie:
- Chain proof-of-work — Bitcoin, Litecoin. Blocchi ogni dieci e due minuti e mezzo rispettivamente; la certezza si accumula con la profondità esattamente come la tabella del whitepaper descrive, e l'inversione è una questione di potenza di hashing.
- Chain proof-of-stake veloci — Ethereum, Polygon, TRON. Blocchi ogni pochi secondi, e Ethereum in particolare raggiunge una finalità esplicita dopo due epoche, circa tredici minuti, dopo la quale un blocco non può essere ripristinato senza che i validatori distruggano il proprio stake. Molte conferme arrivano rapidamente; la soglia significativa è il punto di finalità.
- Chain ledger di consenso — l'XRP Ledger. Non c'è mining e nessun fork concorrente da aspettare: i validatori concordano su ogni ledger in pochi secondi ed è finale quando chiuso. Una singola conferma su XRP è una bestia diversa da una singola conferma su Bitcoin.
Quindi la stessa casa, volendo lo stesso livello di certezza, finisce con un numero diverso per ogni moneta. Questo è quello che il wallet ti sta mostrando.
ENGINE-VERIFIEDDal client store, CoinStore.ts: ogni moneta porta un ICoinMeta di fee, minWithdraw, minDeposit, confirmations e type, fornito dal backend per moneta. La schermata di deposito la renderizza direttamente — la stringa in en.json recita "Invia solo {symbol} a questo indirizzo, {confirm} conferma richiesta." — e un deposito in sospeso mostra lo stato "In attesa di conferma" fino a quando il conteggio non viene raggiunto. I conteggi stessi sono configurazione del server e possono cambiare; la schermata, non questo articolo, è la fonte del numero attuale.
Perché un casinò aspetta affatto
Un negozio che spedisce un bene fisico può permettersi di aspettare il regolamento, perché il bene non esce finché il denaro non è certo. Un casinò non può: nel momento in cui un deposito viene accreditato, può essere giocato, e una scommessa vincente paga in secondi. Se il deposito viene poi invertito da una chain riorganizzata, la casa ha pagato un prelievo reale contro denaro che non esiste più.
Questo è esattamente l'attacco che la tabella del whitepaper descrive, mirato a una casa invece che a un commerciante — deposito, scommessa, e tentativo di annullare il deposito. Il conteggio delle conferme è la casa che sceglie quanto piccola vuole quella probabilità prima di assumere l'esposizione. L'attesa non è sfiducia in te; è la casa che rifiuta di scommettere sulla chain.
Funziona al contrario sul prelievo. Quando la casa ti invia monete è il mittente, e la sua transazione è soggetta alla stessa regola — un prelievo che vedi nell'explorer a zero conferme non è ancora tuo da spendere, e lo scambio destinatario applicherà il suo conteggio prima di accreditarti.
Cosa fare mentre dice in attesa
- Apri la transazione nell'explorer della chain — il wallet collega ogni moneta al suo (Bitcoin, Etherscan, Tronscan, XRPScan e così via) — e guarda il conteggio delle conferme salire. Se sta salendo, non c'è nulla di sbagliato; è presto.
- Controlla il conteggio rispetto al numero sulla schermata di deposito. Un deposito che l'ha raggiunto e continua a mostrare in attesa vale un messaggio al supporto con l'hash della transazione; uno che non l'ha raggiunto semplicemente non c'è ancora.
- Se la transazione ha zero conferme per molto tempo su una chain proof-of-work, la fee è stata probabilmente impostata troppo bassa per la domanda attuale. Non ha fallito — è in coda — e il motivo per cui accade è un articolo a parte.
- Se l'explorer non riesce a trovare la transazione affatto, il problema è a monte delle conferme: controlla il wallet di invio, e controlla che sia andata alla rete giusta.
Lo stato di attesa è il sistema che funziona. Una casa che accreditasse a zero conferme sarebbe più veloce e sarebbe eventualmente derubata esattamente dal meccanismo di cui sopra — e il costo di quello si ripercuoterebbe su ogni giocatore. Dove il denaro rimane è l'articolo complementare su cosa succede dopo che arriva.
FAQ
Che cos'è una conferma blockchain?
Un blocco aggiunto sopra il blocco contenente la tua transazione. Zero significa che la rete l'ha vista ma non ha raggiunto un accordo su di essa; ogni blocco aggiuntivo rende esponenzialmente meno probabile l'inversione.
Perché un casinò ha bisogno di più conferme?
Perché un deposito accreditato può essere puntato e pagato immediatamente. Se il deposito venisse poi invertito da una riorganizzazione della catena, il banco avrebbe pagato denaro vero contro una transazione che non esiste più. Il numero è il banco che sceglie quanto piccolo deve essere quel rischio.
Perché sei per Bitcoin?
Dal calcolo del whitepaper di Bitcoin: un attaccante con il 10% della rete ha circa il 20% di possibilità di invertire una transazione con una conferma e circa lo 0,02% dopo sei. Sei è il punto in cui il rischio diventa trascurabile per il valore a riposo.
Quante conferme richiede Betkyo?
È impostato per moneta sul server e stampato sulla schermata di deposito accanto all'indirizzo, perché le catene si risolvono a velocità diverse e con modelli di sicurezza diversi. Leggi il numero lì; è quello attuale.
Il mio deposito è in attesa da molto tempo. È andato perso?
Di solito no. Controlla la transazione nell'esploratore della catena: se le conferme sono in aumento è in arrivo; se sono bloccate a zero su Bitcoin o Litecoin la commissione era probabilmente troppo bassa ed è in coda; se l'esploratore non riesce a trovarla, controlla il portafoglio di invio e la rete su cui è stata inviata.
FONTI E RIFERIMENTI
- Satoshi Nakamoto, "Bitcoin: A Peer-to-Peer Electronic Cash System" — sezione 11, il calcolo di raggiungimento dell'attaccante da cui è tratta la tabella delle conferme
- Documentazione di Ethereum sulla finalità proof-of-stake — due epoche, approssimativamente tredici minuti
- Sorgente del client Betkyo: ICoinMeta.confirmations in CoinStore.ts, la stringa depositWarn in locale/en.json, e la mappa dell'esploratore per catena — il meccanismo, non i conteggi, che sono configurazione del server
I GIOCHI IN QUESTO ARTICOLO