Cosa sono le Proposte di miglioramento di Bitcoin (BIP)?
Nelle precedenti lezioni della Bitpanda Academy, abbiamo fatto luce su quasi tutti gli aspetti relativi al funzionamento di Bitcoin, ad eccezione del processo decisionale effettivo che sta a monte di quelle "biforcazioni" che prendono il nome di fork. Ogni hard fork che si verifica nella rete Bitcoin è il risultato di una proposta di modifica del protocollo di Bitcoin. Per la maggior parte, qualsiasi modifica a Bitcoin, comprese le fork, nasce come Proposta di miglioramento di Bitcoin (BIP).
La prima BIP è stata proposta e messa in atto nel 2011 da uno sviluppatore Bitcoin di nome Amir Taaki e rappresenta una descrizione del processo di aggiunta di nuove funzionalità a Bitcoin. La BIP 2 e le altre proposte di miglioramento che sono seguite hanno sviluppato le idee contenute nella prima BIP. Il processo BIP è stato ispirato dalle "Enhancement Proposal" di Python, che gli sviluppatori di Python seguono per migliorarne il linguaggio di programmazione. Le BIP su GitHub introducono un nuovo codice o descrivono come affrontare un problema in futuro.
Il processo BIP è stato ispirato dalle "Enhancement Proposal" di Python, che gli sviluppatori di Python seguono per migliorarne il linguaggio di programmazione.
In entrambi i casi, queste linee guida sono una struttura per le particolari community di sviluppo che stanno dietro a una rete in modo decentralizzato. Tutti gli sviluppatori coinvolti hanno la stessa voce in capitolo su quali modifiche verranno implementate e quali no. Inoltre, poiché il processo è decentralizzato, non vi è un singolo individuo o gruppo che dirige il processo, ma ogni sviluppatore e miner decide come un collettivo, in un processo simile alla creazione di regole per un'organizzazione autonoma decentralizzata DAO.
Come funziona il processo BIP?
In generale, esistono tre tipi di Proposte di miglioramento di Bitcoin: Standards Track BIP, Process BIP e Informational BIP. Per i nostri scopi, discuteremo solo le Standards Track BIP, che sono le più rilevanti per il futuro prossimo della rete Bitcoin, poiché includono delle regole relative alle modifiche al protocollo Bitcoin.
In concreto, ogni BIP nasce da una discussione informale tra gli sviluppatori di Bitcoin, in qualsiasi luogo in cui si riuniscano, compreso Twitter. In questa fase, qualsiasi sviluppatore può proporre modifiche alla BIP in questione. Tutte le proposte vengono prese sul serio e il processo di discussione è solitamente iterativo, il che significa che i passaggi vengono rivisti e migliorati più volte. Una bozza viene redatta e inviata alla mailing list degli sviluppatori Bitcoin per essere esaminata dalla community. In questa fase è possibile anche proporre delle modifiche.
In concreto, ogni BIP nasce da una discussione informale tra gli sviluppatori di Bitcoin, in qualsiasi luogo in cui si riuniscano, compreso Twitter.
Una volta che una bozza di BIP ha superato tutte queste fasi, le viene assegnato lo "status attivo" e inizia il lavoro di implementazione. Per mitigare il rischio di un'eccessiva centralizzazione, una BIP tecnica di solito richiede che i miner "segnalino" il sostegno della maggioranza alla modifica proposta. Se i miner non appoggiano la proposta, una BIP può essere contrassegnata come rinviata, ritirata o addirittura respinta.
Che cos'è la segnalazione e come fanno i miner a farla?
Dopo anni di discussioni nella community degli sviluppatori Bitcoin su come scalare Bitcoin, nel 2015 Peter Wuille ha proposto SegWit come soluzione per la scalabilità. Tuttavia, i miner e i nodi completi sono inizialmente riusciti a impedire l'approvazione delle BIP relative a SegWit evitando di "segnalare" adeguatamente il loro sostegno a tali proposte.
Nonostante questo primo rifiuto, a luglio 2017 la BIP 91 ha finalmente superato il vaglio degli sviluppatori Bitcoin ed è stata inviata alla community dei miner. La ragione per cui alla fine quella BIP è stata approvata risiede nella sua "riformulazione". Invece di chiedere ai miner di accettare il cambiamento, la proposta è stata riformulata, proponendo che "coloro che segnalano la BIP 91 NON accettino blocchi da sostenitori NON-Segwit". Entro agosto 2017, il 100% dei nodi completi aveva aggiunto i bit necessari a tutti i blocchi richiesti e SegWit era stato implementato nel protocollo di Bitcoin al blocco 477.120.
Nel caso di Bitcoin, una soft fork richiede solo che la maggioranza dei miner della rete aggiorni il proprio software alla nuova versione, ed è lì che interviene la segnalazione.
Come ricorderai dalle lezioni precedenti, le soft fork non richiedono che tutti gli utenti di una rete aggiornino il proprio software. Nel caso di Bitcoin, una soft fork richiede solo che la maggioranza dei miner della rete aggiorni il proprio software alla nuova versione, ed è lì che interviene la segnalazione. Per "segnalare" il proprio consenso, tutti i nodi completi devono aggiungere un pezzo di dati chiamato "bit" a un numero predeterminato di blocchi in fila.
Speedy Trial per Taproot
Al fine di semplificare il raggiungimento del consenso per le modifiche a Bitcoin, è stata implementata una nuova proposta chiamata "Speedy Trial", che riduce il tempo a disposizione dei miner – passando da un anno a soli tre mesi – per esprimere il proprio consenso o dissenso. Una volta che il 90% ha espresso il proprio consenso, la modifica viene "blindata" (nel senso che non sono più possibili ulteriori modifiche alla stessa), per poi essere attivata dopo altri sei mesi. Se non si raggiunge il 90% di consensi necessari a "blindarla", la modifica viene rifiutata.
Il prossimo importante aggiornamento di Bitcoin, Taproot, è nato da questa nuova proposta e il consenso è stato raggiunto molto più velocemente di qualsiasi altro aggiornamento precedente. Taproot migliora la privacy e la sicurezza delle transazioni e ha introdotto l'aggregazione di chiavi con firme Schnorr per sostituire ECDSA. L'aggiornamento Taproot migliora inoltre la scalabilità di Bitcoin e apre ulteriormente la strada all'introduzione dei contratti intelligenti sulla blockchain di Bitcoin.