Un BIP è un documento in cui viene presentata una proposta di miglioramento tecnico, organizzativo o di qualsiasi altro tipo per lo sviluppo di Bitcoin.
LL'acronimo BIP sta per Proposta di miglioramento di Bitcoin, che in spagnolo significa Proposta di miglioramento per Bitcoin. Questo è un documento che contiene una proposta o un progetto per migliorare la struttura o il funzionamento dell'ecosistema Bitcoin. Che sia di natura tecnica o organizzativa per la comunità dietro lo sviluppo di Bitcoin. La proposta è accompagnata da una chiara e concisa spiegazione e giustificazione per la nuova funzionalità. Ciò è necessario per sottoporlo all'approvazione o meno dalla comunità.
Per raggiungere questo obiettivo, viene raccolto il feedback della comunità e viene richiesto un consenso sulla decisione da prendere. Quest'opera fa parte delle responsabilità dell'autore, che deve anche depositare le posizioni pro e contro la proposta. A causa del modo in cui il lavoro è strutturato all'interno di Bitcoin Core, memorizzano le loro modifiche storicamente. In questo modo, la proposta originale e le sue diverse varianti saranno sempre a disposizione del resto della squadra. Una caratteristica di lavoro importante in mezzo a un gruppo di sviluppo così attivo, eterogeneo e internazionale.
La proposta per la creazione di questi documenti è stata data dallo sviluppatore criptoanarchico Amir Taaki, il 19 agosto 2011. Per il suo design, Taaki si è affidato al noto PEP (Proposte di miglioramento di Python - Proposte di miglioramento di Python). Successivamente, la struttura sarebbe stata migliorata da Luke Dashjr.
Tipi di BIP
Esistono tre tipi di BIP che possono essere presentati e sono i seguenti:
Monitoraggio degli standard
Conosciuto come Traccia degli standard, vengono utilizzati per descrivere le modifiche che interessano la maggior parte o tutte le implementazioni di Bitcoin. Queste modifiche generalmente includono modifiche al protocollo di rete, modifiche al blocco o alle regole di validità della transazione o qualsiasi altra modifica o aggiunta che influisca sull'interoperabilità delle applicazioni che utilizzano Bitcoin. Tendono ad essere BIP altamente tecnici e dibattuti a lungo a causa delle loro profonde implicazioni sull'operabilità della blockchain. Un esempio di questo tipo è presentato nel SegWit (BIP-141).
informativo
Questi sono usati per descrivere o pubblicizzare un problema di progettazione di Bitcoin, fornendo linee guida o consigli per la sua soluzione. Sono generalmente il risultato di indagini individuali, di gruppo o aziendali. Presentano dati, prove o studi concettuali che supportano la proposta e le sue dichiarazioni. Un esempio di questo tipo è Multi-Sig Transaction Distribution o BIP-10.
Processo
Questi descrivono un processo che circonda Bitcoin, proponendo un cambiamento o un miglioramento. I BIP di processo si applicano a diverse aree del protocollo Bitcoin. Possono proporre un'implementazione, ma non direttamente al codebase Bitcoin. Essendo più che raccomandazioni, queste non possono essere ignorate come BIP informativi.
Esempi di questi BIP includono procedure, linee guida, modifiche al processo decisionale e modifiche agli strumenti o all'ambiente utilizzati nello sviluppo di Bitcoin. Qualsiasi meta-BIP è anche considerato un processo BIP. Un esempio di questi BIP può essere trovato nel Classificazione BIP o BIP-123.
Strutturare un BIP
Un BIP è strutturato nel modo seguente:
- Preambolo. Questa sezione contiene le intestazioni in cui vengono inseriti i metadati sul BIP.
- Sommario. Ecco una breve descrizione (~ 200 parole) del problema tecnico che viene affrontato.
- Copyright. Deve essere concesso in licenza esplicita in base a termini di copyright accettabili. In genere, questa licenza è conforme alla GPL o non GPL.
- Specifica. Questo punto descrive la sintassi e la semantica di qualsiasi nuova funzionalità. La specifica deve essere sufficientemente dettagliata da consentire implementazioni competitive e interoperabili per qualsiasi piattaforma Bitcoin corrente.
- Motivazione. È qui che vengono spiegati chiaramente i motivi per cui è stata creata la proposta. È fondamentale che questa sezione sia chiara e chiarisca ogni dubbio su di essa e sulla sua creazione.
- Giustificazione. La motivazione delle specifiche descrive cosa ha motivato il progetto e perché sono state prese particolari decisioni di progettazione.
- Retrocompatibilità. Tutti i BIP che introducono incompatibilità con le versioni precedenti devono includere una sezione che descriva queste incompatibilità e la loro gravità. Il BIP dovrebbe spiegare come l'autore propone di affrontare queste incompatibilità.
- Implementazione di riferimento. L'implementazione di riferimento deve essere completata prima che qualsiasi PIF abbia lo stato "Final", ma non deve essere completata prima di essere accettata. È meglio terminare prima la specifica e la giustificazione e raggiungere un consenso prima di scrivere il codice. L'implementazione finale deve includere il codice di test e la documentazione adeguata per il protocollo Bitcoin.
Stato di un BIP
Un BIP ha un certo ciclo di vita che dipende dallo stato in cui si trova. A quel punto possiamo dire che gli stati di un BIP sono i seguenti:
- Bozza. A questo punto, il BIP è appena nella sua prima fase di introduzione. A questo punto, il BIP è incompleto.
- Differito. Il PIF è stato rinviato perché non sono stati compiuti progressi nel suo sviluppo.
- Proposto. È la proposta accompagnata dalla maggior parte dei suoi elementi esplicativi e presentata alla comunità. A questo punto inizia il dibattito sulla sua applicazione o meno all'interno dell'ecosistema di sviluppo di Bitcoin.
- Respinto. Se la proposta presentata non è ben accolta, ci sono elementi dannosi o qualsiasi altro motivo che la comunità utilizza per il suo rifiuto, verrà contrassegnata con questo stato.
- Ritirato (ritiro). Questo status si applica a quelle proposte che sono state ritirate dai loro autori per motivi che servono il loro interesse.
- Finale / Attivo (Finale / Attivo). Per arrivare a questo punto, la proposta deve essere passata attraverso la revisione e il consenso della comunità. Deve avere tutti gli spazi e le strutture necessarie per l'omologazione.
- Sostituito. Questo status è assegnato alle proposte che sono state sostituite da proposte migliori. Generalmente perché le nuove proposte risolvono o migliorano ancora di più la proposta presentata in precedenza.
- Obsoleto (Obsoleto). Questo cambiamento di stato è principalmente correlato quando le modifiche introdotte dal PIF non sono più rilevanti. Ciò può essere dovuto a diverse situazioni, generalmente perché ci sono nuove modifiche che rendono la sua applicazione non necessaria.
BIP e le sue diverse rappresentazioni in altre blockchain
Non c'è dubbio che i BIP siano un ottimo strumento per organizzare il lavoro e lo sviluppo di Bitcoin. Il modello è stato esportato da Python, dove ha permesso l'evoluzione di questo linguaggio di programmazione in modo molto ricco. E lo stesso è accaduto in altri sviluppi blockchain. Ad esempio in Ethereum ha i conoscenti EIP di (Proposta di miglioramento di Ethereum) e in Litecoin dei LIP (Proposta di miglioramento Litecoin). A seguire ancora un po ', in Dash ci sono DIP (Proposta di miglioramento del trattino) e in TRON ci sono Consiglio (Proposta di miglioramento TRON). Ognuna di queste strutture basa il proprio funzionamento sullo schema di base del BIP. Con alcune aggiunte in quanto gli sviluppatori di queste blockchain hanno ritenuto necessario adattarle al loro particolare sviluppo.
In ogni caso è chiaro che i PIF hanno avuto un profondo impatto sul modo in cui il lavoro di sviluppo del Las blockchain. In ogni caso, Bitcoin era davvero all'avanguardia con il modo di risolvere questa parte del lavoro e questo, ancora oggi, lo è grazie alla quantità e alla qualità delle presentazioni che ha.
BIP rilevanti in Bitcoin
Alcuni BIP rilevanti all'interno della blockchain di Bitcoin sono i seguenti:
BIP-11: transazioni standard M-of-N
El BIP-11, è progettato per abilitare portafogli sicuri, transazioni di deposito a garanzia e altri casi d'uso in cui il riscatto di fondi richiede più di una singola firma. Presentato da Gavin andresen, il 18 ottobre 2011. Questa proposta è del tipo Follow-up of Standards ed è allo stato finale.
BIP-16: Paga a Script Hash
El BIP-16, è un nuovo modo di gestire i sistemi di pagamento Bitcoin che consente di includere i dati di pagamento in un codice QR per facilitare i pagamenti. Questo BIP è stato presentato da Gavin Andresen il 03 gennaio 2012. Questa è un'altra proposta del tipo Follow-up of Standards ed è allo stato finale.
BIP-141: SegWit
El BIP-141 mira ad aumentare la capacità della rete Bitcoin e risolve anche il problema del malleabilità delle transazioni. La soft fork che richiede alla maggior parte (95%) dei minatori di eseguire l'aggiornamento per due settimane.
Testimone segregato (noto anche come SegWit) è una soluzione di scalabilità blockchain. In un linguaggio semplice, SegWit significa separare le firme dei token delle transazioni.