Un BIP è un documento in cui viene presentata una proposta di miglioramento tecnico, organizzativo o di qualsiasi altro tipo per lo sviluppo del 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, sono usati 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 alle regole di validità del blocco o delle transazioni o qualsiasi altra modifica o aggiunta che influisca sull'interoperabilità delle applicazioni che utilizzano Bitcoin. Tendono ad essere BIP altamente tecnici e ampiamente dibattuti a causa delle loro profonde implicazioni per il funzionamento del blockchain. Un esempio di questo tipo è presentato in 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:

  1. Preambolo. Questa sezione contiene le intestazioni in cui vengono inseriti i metadati sul BIP.
  2. Sommario. Ecco una breve descrizione (~ 200 parole) del problema tecnico che viene affrontato.
  3. Copyright. Deve essere concesso in licenza esplicita in base a termini di copyright accettabili. In genere, questa licenza è conforme alla GPL o non GPL.
  4. 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.
  5. 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.
  6. Giustificazione. La motivazione delle specifiche descrive cosa ha motivato il progetto e perché sono state prese particolari decisioni di progettazione.
  7. 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à.
  8. Implementazione di riferimento. L'implementazione di riferimento deve essere completata prima che qualsiasi BIP abbia lo stato "Finale", ma non è necessario che venga completata prima di essere accettato. È meglio finire la specifica e la giustificazione prima e raggiungere un consenso su di esso prima di scrivere il codice. L'implementazione finale deve includere il codice di test appropriato e la documentazione 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:

  1. Bozza. A questo punto, il BIP è appena nella sua prima fase di introduzione. A questo punto, il BIP è incompleto.
  2. Differito. Il PIF è stato rinviato perché non sono stati compiuti progressi nel suo sviluppo.
  3. 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.
  4. 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.
  5. Ritirato (ritiro). Questo status si applica a quelle proposte che sono state ritirate dai loro autori per motivi che servono il loro interesse.
  6. 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.
  7. 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.
  8. 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-ciclo di vita

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 è successo in altri sviluppi blockchain. Ad esempio in Ethereum ha i conoscenti EIP di (Ethereum Proposta di miglioramento) 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.

Quanto sai, Cryptonuta?

La struttura dei BIP mira a facilitare il lavoro di autori e sviluppatori di Bitcoin?

Certo!

La struttura e il modo in cui i BIP sono gestiti facilitano che gli autori, la comunità e gli sviluppatori di Bitcoin possano partecipare, migliorare e gestire ognuna delle proposte e il modo in cui queste vengono realizzate all'interno dello sviluppo di Bitcoin

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.