Negli ultimi dibattiti sui cambiamenti e sulle differenze tra i vari client di Bitcoin, due tipi di regole fondamentali vengono spesso mescolati o addirittura confusi. Comprendere quali regole un nodo Bitcoin applica e con quale scopo è fondamentale per seguire correttamente le modifiche al protocollo e le discussioni che le riguardano.
Vediamo quindi più da vicino la differenza tra regole di consenso e politiche della mempool.

Regole di consenso

Se ci pensi, Bitcoin non è altro che un insieme di regole, applicate in modo indipendente da migliaia di nodi e miner sparsi in tutto il mondo. Alcune di queste regole, probabilmente le più importanti, stabiliscono se un blocco è valido. Sono fondamentali per raggiungere il consenso nella rete, perché i partecipanti devono concordare su di esse per decidere quale catena di blocchi rappresenti “la vera blockchain di Bitcoin”. Senza un accordo su queste regole, la rete Bitcoin non esisterebbe praticamente — ed è per questo che le chiamiamo regole di consenso.

Molte regole di consenso sono piuttosto intuitive e potresti comprenderle facilmente pensando a cosa rende valido un blocco Bitcoin. Ad esempio: le transazioni non possono spendere gli stessi bitcoin due volte, i miner non possono creare più bitcoin di quanto consentito in un nuovo blocco, e la dimensione del blocco non può superare il limite massimo.

Your node, your rules” è un modo di dire comune tra le persone che gestiscono il proprio nodo Bitcoin. Sebbene l’affermazione sia vera nella sostanza, non è poi così semplice “fare le proprie regole” a livello individuale. Se, per esempio, programmi il tuo nodo per ridurre la dimensione massima del blocco da 4 MB a 0,1 MB, il tuo nodo semplicemente inizierà a rifiutare i nuovi blocchi – e basta. Ti ritroveresti semplicemente fuori sincronia con il resto della rete, escludendoti di fatto senza che nessuno se ne accorga.

Una modifica alle regole di consenso avviene piuttosto raramente in Bitcoin e comporta sempre un hard o soft fork. Esempi popolari di soft fork di Bitcoin includono l’aggiornamento Segwit nel 2017 e l’aggiornamento Taproot nel 2021. Un esempio di hard fork piuttosto controverso è la divisione della rete e la successiva creazione di Bitcoin Cash nel 2017. In tutti questi casi, la modifica delle regole di consenso è stata uno sforzo più o meno coordinato tra molti utenti, miner e sviluppatori.

Politiche della mempool

È importante notare che non tutte le regole di cui si parla in Bitcoin riguardano il consenso. Alcune “regole” sono in realtà semplici impostazioni di configurazione del nodo, pensate, ad esempio, per gestire le risorse in modo più efficiente o per facilitare la trasmissione di determinate transazioni. Poiché queste configurazioni influenzano quali transazioni vengono conservate nella mempool del nodo e inoltrate agli altri nodi della rete, le chiamiamo politiche della mempool.

Quando crei una nuova transazione, il tuo wallet la invia al nodo Bitcoin a cui è connesso, che a sua volta la inoltra ad altri nodi, e così via, propagandola a cascata in tutta la rete. Le politiche della mempool dei nodi nella rete influenzano quindi direttamente l’efficacia con cui una transazione si diffonde nella rete – almeno fino a un certo punto.

Alcuni esempi di politiche della mempool sono:

  • La commissione minima richiesta affinché una transazione venga inoltrata.
  • La quantità massima di dati negli output OP_RETURN affinché una transazione venga inoltrata.
  • La dimensione massima della mempool prima che le transazioni con commissioni basse vengano eliminate.
  • Se inoltrare o meno le transazioni non standard.
  • … e altri ancora.

La configurazione di queste politiche è completamente a discrezione dell’operatore del nodo e può essere modificata liberamente, poiché non influisce in alcun modo sulla validità della transazione. Anche se il tuo nodo elimina una determinata transazione dalla propria mempool, quella stessa transazione potrebbe comunque apparire nel blocco Bitcoin successivo, e il tuo nodo la considererà comunque valida, perché non viola le regole di consenso.

Uno batte il 99,9%

Un aspetto cruciale delle politiche è che – per definizione – non possono essere applicate a livello di protocollo, altrimenti verrebbero considerate regole di consenso. Questo è il motivo per cui è molto difficile (o in alcuni casi addirittura impossibile) influenzare in modo efficace quali transazioni finiranno per essere confermate in un nuovo blocco Bitcoin basandosi esclusivamente sulle politiche della mempool.

Facciamo un esempio per chiarire questo concetto: potresti aver sentito parlare della “commissione minima” nella rete Bitcoin di 1 sat/vB. È una commissione molto comune da usare quando la rete non è troppo congestionata, e la maggior parte dei wallet non ti consente nemmeno di impostare una commissione più bassa di quella, per una buona ragione.

Tuttavia, la commissione di 1 sat/vB non è un minimo rigido, nonostante quasi tutti i nodi applichino simultaneamente questa politica nelle loro mempool locali. Può essere difficile trasmettere transazioni con commissioni inferiori a 1 sat/vB nei modi abituali, ma dal punto di vista delle regole di consenso non c’è nulla di sbagliato nelle transazioni che pagano zero commissioni. Transazioni di questo tipo si trovano regolarmente — in particolare le transazioni Coinbase o altre che i miner scelgono di prioritizzare rispetto alle altre (dato che non avrebbe senso pagare una commissione a sé stessi). La soglia di 1 sat/vB non è altro che un valore di configurazione predefinito che è diventato uno standard consolidato — ma che, volendo, si può aggirare.

I blocchi recenti includono molte transazioni con commissioni inferiori al valore standard di 1 sat/vB.

Se hai seguito il dibattito sull’aumento del limite dei dati per gli output OP_RETURN, puoi applicare lo stesso principio. L’opzione di configurazione che limita la quantità di dati arbitrari consentita in queste transazioni è anch’essa solo una politica della mempool. Anche se un’ampia maggioranza di nodi smettesse di inoltrare del tutto transazioni con output OP_RETURN, basterebbero pochi nodi “fuori standard” che continuano a farlo perché la transazione venga inclusa in un blocco — purché paghi una commissione sufficientemente alta. In teoria, basta un solo miner per aggirare le politiche impostate dal 99,9% del resto della rete.

Alcuni nodi sono più potenti di altri

Non tutti i nodi sono uguali, dal punto di vista tecnico. Mentre un nodo potrebbe girare su un piccolo Raspberry Pi con memoria e potenza di calcolo limitate, un altro potrebbe essere ospitato su un potente provider cloud, con centinaia di gigabyte di memoria e CPU molto performanti. Entrambi hanno il loro ruolo nella rete Bitcoin, ma dispongono di risorse a livelli molto diversi.

Ed è qui che le politiche della mempool possono risultare molto efficaci: ad esempio, il nodo più potente può aumentare la dimensione massima della mempool a diversi gigabyte, permettendo alle transazioni più vecchie e con commissioni basse di non essere dimenticate troppo rapidamente. D’altra parte, il Raspberry Pi potrebbe voler impostare un limite più basso, consentendo di mantenere solo poche centinaia di megabyte di transazioni nella propria mempool. Questo permette al nodo di tenere traccia delle transazioni in arrivo con commissioni più alte, che hanno maggiori probabilità di essere incluse nel blocco successivo, restando così aggiornato in modo efficiente senza esaurire la memoria.

Limitare lo spam

Questa sezione non riguarda il limite dei dati arbitrari sulla blockchain di Bitcoin, ma un altro effetto utile che le politiche della mempool possono avere. Immagina un nodo che non applica alcuna commissione minima e non ha limiti sulla dimensione della mempool: un attaccante potrebbe inviare “transazioni spam” senza commissione (quindi con costi finanziari minimi) a questo nodo, occupandolo con la validazione di transazioni insensate, fino a esaurirne la memoria e farlo crashare.

Al contrario, un nodo con una politica di commissione minima respingerebbe semplicemente le transazioni spam a costo zero. Inoltre, potrebbe aumentare dinamicamente la commissione una volta che la mempool raggiunge il limite impostato dalla politica sulla dimensione massima.

In breve: le politiche della mempool possono agire come controlli pratici di sicurezza, mantenendo un nodo entro un intervallo operativo sensato e sicuro.

Conclusione

Quando le politiche della mempool vengono adattate alle limitazioni tecniche di un nodo o alle preferenze personali dell’operatore, possono contribuire a rendere la rete Bitcoin più efficiente nello scambio di informazioni tra nodi, proteggendo al contempo i nodi da utilizzi abusivi.

Tuttavia, è fondamentale ricordare che le politiche della mempool non possono diventare regole di consenso semplicemente applicandole sul proprio nodo e incoraggiando altri a fare lo stesso. Poiché non determinano la validità di un blocco Bitcoin, il loro utilizzo è limitato all’ottimizzazione dell’interazione del nodo con la rete e alla gestione del traffico, e non alla definizione di cosa sia Bitcoin.


Non hai ancora un BitBox?

Mantenere le tue criptovalute al sicuro non deve essere complicato. Gli hardware wallet BitBox conservano le chiavi private delle tue criptovalute offline, così puoi gestire i tuoi fondi in modo sicuro.

Sia il BitBox02 Nova che il BitBox02 sono disponibili anche in una versione dedicata solo a Bitcoin, con un firmware radicalmente ottimizzato: meno codice significa meno punti vulnerabili, migliorando ulteriormente la sicurezza quando conservi solo Bitcoin.

Ordina il BitBox02 Nova o il BitBox02 nel nostro shop!


Shift Crypto è un'azienda privata con sede a Zurigo, in Svizzera. Il nostro team di contributori di Bitcoin, esperti di criptovalute e ingegneri della sicurezza crea prodotti che consentono ai clienti di godere di un percorso senza stress dal livello principiante a quello di padronanza nella gestione delle criptovalute. BitBox02, il nostro hardware wallet di seconda generazione, consente agli utenti di memorizzare, proteggere e effettuare transazioni in Bitcoin e altre criptovalute con facilità - insieme al suo compagno software, la BitBoxApp.