Bitcoin è un database

Preparati, preparati. Leggere questo potrebbe farti arrabbiare e confonderti, potrebbe confonderti, potresti persino arrabbiarti abbastanza da dare un pugno allo schermo (non farlo). Consideralo un avviso di attivazione.

Bitcoin è un database. Periodo. Questo è quello che è. La blockchain è un database in cui archiviare gli aggiornamenti passati per poter riprodurre lo stato attuale di quel database, il set UTXO. L'intero protocollo Bitcoin è costruito attorno il database. Qual è una voce valida in quel database e cosa non è una voce del database valida? Chi è autorizzato a proporre voci in quel database, come si garantisce che solo le voci di quegli utenti vengano prese in considerazione e accettate? Qual è il meccanismo di autenticazione che limita la scrittura di voci in questo database? Come limitare le voci del database in modo che le persone non possano crearne così tante da sovraccaricare o bloccare il software che gestisce il database? Come si garantisce che le persone non possano inserire singole voci sufficientemente grandi da causare altri problemi di negazione del servizio?

È tutta una questione di database.

Prova di lavoro? Lo scopo principale del protocollo è gestire chi può effettivamente elaborare gli aggiornamenti al database. Bitcoin è pensato per essere un sistema decentralizzato, quindi aveva bisogno di un modo per aggiornare il database in modo decentralizzato pur consentendo agli utenti di raggiungere un consenso con tutte le loro copie individuali del database su un singolo aggiornamento. Se tutti aggiornano da soli la propria copia del database, non è possibile che tutti raggiungano un consenso su un'unica versione del database. Se dipendi da alcune figure autoritarie per gestire gli aggiornamenti, il processo di aggiornamento non è veramente decentralizzato. Questo era lo scopo di POW, consentire a chiunque di elaborare un aggiornamento, ma non senza incorrere in un costo verificabile nel farlo.

La prova del lavoro è semplicemente un meccanismo decentralizzato per l'aggiornamento di un database.

L'intera architettura di rete peer-to-peer? Esiste esclusivamente per propagare le voci di aggiornamento del database proposte (transazioni) e gli aggiornamenti del database finalizzati (blocchi). Nodi che verificano le transazioni quando entrano nel loro mempool? Serve per pre-filtrare gli aggiornamenti delle voci proposte nel database e garantire che siano validi. Nodi che verificano che un blocco soddisfi l'obiettivo di difficoltà richiesto? Serve per pre-filtrare un aggiornamento del database proposto e assicurarsi che sia valido prima di trasmetterlo ad altri nodi per aggiornare la loro copia locale.

La rete peer-to-peer esiste esclusivamente per riconciliare più copie dello stesso database.

Scrittura Bitcoin? Esiste letteralmente al solo scopo di funzionare come meccanismo di autorizzazione per le voci nel database. Per eliminare una voce esistente nello stato corrente del database, il set UTXO, un utente che propone l'aggiornamento deve fornire una prova di autenticazione che soddisfi le condizioni dello script che blocca la voce del database esistente. Solo le voci esistenti, o UTXO, possono essere “spese” per autorizzare la creazione di nuove voci nel database. I minatori sono gli unici nel protocollo autorizzati a creare voci senza soddisfare la condizione di rimuoverne una esistente soddisfacendo i requisiti di autorizzazione stabiliti nel suo script di blocco.

Lo script Bitcoin è semplicemente un meccanismo per controllare e limitare chi può scrivere nel database.

Ogni singolo aspetto di ciò che è Bitcoin ruota attorno alla funzione centrale centrale di mantenere un database e garantire che molti partecipanti alla rete che conservano le loro copie individuali di quel database rimangano sincronizzati e concordino su quale sia lo stato attuale del database. Tutte le proprietà che danno valore al Bitcoin come forma di denaro o mezzo di pagamento, derivano letteralmente da come funziona come un database.

Molte persone in questo spazio pensano che questo database dovrebbe essere utilizzato esclusivamente come mezzo di pagamento o forma di denaro, e io sono in sintonia con questo punto di vista. Anch'io penso che questo sia il caso d'uso più importante e penso che dovrebbe essere fatto ogni sforzo per scalare quel particolare caso d'uso il più possibile senza sacrificare la sovranità e la sicurezza di poter interagire direttamente con quel database da soli .

Ma è ancora solo un database se lo si riduce alla realtà oggettiva di cosa sia Bitcoin. Possono farlo le persone disposte a pagare i costi denominati in satoshi per scrivere una voce considerata valida secondo le regole di quel database. Non c'è niente che puoi fare per impedirgli di cambiare ciò che è considerato una voce valida in quel database, il che implica convincere tutti gli altri ad adottare anche un nuovo set di regole riguardo a cosa è una voce valida.

Le persone possono competere liberamente all’interno delle regole di consenso per scrivere ciò che vogliono in questo database, purché paghino i costi richiesti dalle regole e dalla struttura di incentivi del mining per farlo. Periodo. Molte delle cose che le persone possono e stanno inserendo nel database sono stupide? SÌ. Naturalmente lo sono. Internet è disseminato di quantità di cose stupide in database isolati ovunque. Perché? Perché le persone sono disposte a pagare il costo per inserire cose stupide in un database.

Che si tratti degli utenti della banca dati che pagano il fornitore e lo gestiscono o che sia l'operatore stesso a consentire l'inserimento di determinate informazioni nell'ambito delle operazioni senza trasferire i costi all'utente, è irrilevante. Queste cose stupide esistono solo da qualche parte in forma digitale perché, in qualche modo, viene pagato il costo per farlo.

Bitcoin non è fondamentalmente diverso da qualsiasi altro database in questo senso. L’unica differenza è che non esiste un singolo proprietario o custode che detta ciò che è consentito o meno. Ogni proprietario di una copia del database Bitcoin è in grado di consentire o meno quello che vuole; il problema è che se scelgono di rifiutare qualcosa che tutti gli altri trovano accettabile, perdono il consenso con tutti gli altri. Il loro database locale non è più sincronizzato con il database virtuale globale che tutti gli altri seguono e utilizzano.

Se ritieni inaccettabili alcune voci del database, modifica in ogni caso le regole rispetto alle quali la tua copia locale convalida le nuove voci. Ma questo è tagliarti il ​​naso per far dispetto alla tua faccia. In fin dei conti Bitcoin funziona secondo un semplice assioma: paga per giocare. Se le persone pagano la quota, possono giocare. È proprio così che funziona.

Alla fine, dipende interamente da ogni individuo cosa vuole consentire o non consentire nel proprio database, ma superando tutti i dibattiti semantici e filosofici in corso in questo momento una cosa rimane indiscutibilmente e oggettivamente vera: Bitcoin è un database

Fonte: https://bitcoinmagazine.com/technical/bitcoin-is-a-database