Come riportato recentemente da un utente su Twitter, un hacker ieri ha cercato di trasmettere un blocco con un solo 0, cercando di prendersi gioco della PoW (Proof of Work).
#bitcoin under attack:
twice someone tries to broadcast a bad block (proof of work failed: blocks start with only one zero .. 15 min later with not enough zero's).Glad my node rejects this joker immediately! pic.twitter.com/3yPEsTp91J
— Plan₿ (@100trillionUSD) October 13, 2019
Nel messaggio leggiamo che l’errore è stato riscontrato nel nodo dell’utente, che è stato realizzato su un Raspberry pi e con l’utilizzo di una scheda SD da 500Gb come storage, così da non dover avere problemi con un utilizzo 24/7.
Ma perché un blocco con solo uno 0 è un problema per Bitcoin?
La blockchain di Bitcoin utilizza il protocollo di consenso PoW (Proof of Work). Questo protocollo serve per trovare una stringa di codice che inizi con diversi 0, circa 19 zeri: questi zeri rappresentano la difficoltà del calcolo e quindi la sicurezza della transazione.
Come in questo caso, se una transazione ha solo uno 0 o anche solo un paio, possiamo facilmente dedurre che per calcolare l’hash è servito poco tempo e quindi al 99% si è trattato di un tentativo di attacco di Bitcoin col fine di far passare una transazione falsa.
Fortunatamente, la transazione è stata rigettata dal nodo in questione proprio perché il software si aspetta un determinato numero di 0 e se questo check fallisce, allora la transazione viene annullata.
Questo rappresenta un buon esempio di come Bitcoin, ed in questo caso il protocollo PoW (Proof of Work), si è dimostrato resistente ad ogni tipo di attacco, anche diversi da quelli standard del 51%.
Per quanto possa sembrare energivoro come protocollo, la PoW non è altro che il sottostante, cioè l’energia che riesce a rendere sicura una blockchain.