La Proof-of-Work è oggettiva, la Proof-of-Stake no

By Bitcoin Rivista - 1 anno fa - Tempo di lettura: 14 minuti

La Proof-of-Work è oggettiva, la Proof-of-Stake no

The proof-of-work consensus mechanism used in Bitcoin is an objective measure of history which cannot be changed on the whims of validators.

Alan Szepieniec holds a PhD in post-quantum cryptography from KU Leuven. His research focuses on cryptography, especially the kind of cryptography that is useful for Bitcoin.

Proof-of-stake is a proposed alternative consensus mechanism to the proof-of-work that Bitcoin’s consensus mechanism uses. Instead of requiring the consumption of energy, proof-of-stake requires miners (usually called validators) to put digital assets at stake in order to contribute to the block production process. Staking incentivizes them to behave honestly, so as to avoid losing their stake. In theory, with only honest validators, the network will quickly come to consensus about the order of transactions and, therefore, about which transactions are invalid double-spends.

Il proof-of-stake è stato oggetto di molti dibattiti. La maggior parte delle critiche si concentra sulla sicurezza: riduce il costo dell'attacco? Molte persone articolano anche preoccupazioni sociologiche: centralizzazione del potere, concentrazione della ricchezza, plutocrazia, ecc.

In questo articolo, esprimo una critica molto più basilare: la prova della posta in gioco è intrinsecamente soggettiva. La visualizzazione corretta di una blockchain proof-of-stake dipende da chi stai chiedendo. Di conseguenza, il costo di un attacco non può essere calcolato in unità interne alla blockchain, rendendo nulle le analisi di sicurezza; i debiti non possono essere saldati tra parti che non siano già d'accordo su quali terzi siano affidabili; e la risoluzione finale delle controversie deve provenire dai tribunali.

Al contrario, il proof-of-work è un meccanismo di consenso oggettivo in cui qualsiasi insieme di parti correlate o non correlate può raggiungere un accordo su quale stato della blockchain sia accurato. Di conseguenza, due attori economici qualsiasi possono concordare se un pagamento è stato effettuato, indipendentemente dai tribunali o dai membri influenti della comunità. Questa distinzione rende il proof-of-work adatto - e il proof-of-stake inadatto - come meccanismo di consenso per le valute digitali.

Denaro digitale e consenso

Il problema che deve essere risolto

Una delle operazioni di base eseguite dai computer è la copia delle informazioni. Questa operazione lascia intatta la copia originale e produce una replica esatta praticamente a costo zero. I computer possono copiare qualsiasi cosa, purché sia ​​digitale.

However, there are some things that exist purely in the digital realm that can’t be copied. Things that are both digital and scarce. This description applies to bitcoin for example, as well as to other blockchain-based digital assets. They can be sent, but after sending them the original copy is gone. One might disagree with the reason why the market demands these assets, but the fact that this demand exists means that these digital assets are useful as a counterpart to balance exchanges. When condensed to a single word: they are money.

Per raggiungere la scarsità digitale, il protocollo blockchain replica un libro mastro attraverso una rete. Il libro mastro può essere aggiornato, ma solo con transazioni in cui i proprietari dei fondi spesi sono d'accordo; la somma netta è zero; e le uscite sono positive.

Qualsiasi aggiornamento non valido verrà rifiutato. Finché c'è consenso sullo stato del libro mastro tra tutti i partecipanti al protocollo, la scarsità digitale è garantita.

Si scopre che raggiungere il consenso è un compito difficile. Condizioni di rete imperfette generano viste distinte della storia. I pacchetti vengono eliminati o consegnati fuori servizio. Il disaccordo è endemico delle reti.

La regola della scelta della forchetta

Le blockchain affrontano questo problema in due modi. In primo luogo, impongono un ordine completo su tutte le transazioni, che genera un albero di visualizzazioni alternative della cronologia. In secondo luogo, definiscono il canone per le storie, insieme a una regola di scelta del fork che seleziona il ramo canonico dall'albero delle storie.

È facile derivare canonicità da autorità fidate o, secondo alcuni, da uno schema di voto digitale supportato da uno schema di identità del cittadino. Tuttavia, le autorità fidate lo sono buchi di sicurezzae fare affidamento sul governo per fornire servizi di identificazione affidabili diventa uno strumento della politica piuttosto che uno che ne è indipendente. Inoltre, entrambe le soluzioni presuppongono l'accordo sulle identità e l'affidabilità di terzi. Vogliamo ridurre le ipotesi di fiducia; idealmente abbiamo una soluzione che deriva interamente dalla matematica.

Una soluzione per decidere la canonicità che deriva interamente dalla matematica genera la notevole proprietà che la risposta è indipendente da chi la calcola. Questo è il senso in cui un meccanismo di consenso può essere oggettivo. C'è però un avvertimento importante: si deve presumere che tutte le parti siano d'accordo su un punto di riferimento singolare, come il blocco di genesi o il suo hash digest. Un meccanismo di consenso oggettivo è quello che consente a qualsiasi parte di estrapolare la visione canonica della storia da questo punto di riferimento.

Quale ramo dell'albero è scelto come canonico non è importante; l'importante è che tutti i partecipanti possano essere d'accordo su questa scelta. Inoltre, l'intero albero non deve essere rappresentato esplicitamente su nessun computer. Invece, è sufficiente che ogni nodo contenga solo una manciata di rami. In questo caso, la regola della scelta del fork verifica sempre e solo due viste candidate della cronologia alla volta. A rigor di termini, la frase la visione canonica della storia è fuorviante: una visione della storia può essere solo più o meno canonica rispetto a un'altra visione. I nodi eliminano il ramo meno canonico e propagano quello che è di più. Ogni volta che una visualizzazione della cronologia viene estesa con un batch di nuove transazioni, la nuova visualizzazione è più canonica di quella precedente.

In order for the network to rapidly converge onto consensus about the canonical view of history, the fork-choice rule needs to satisfy two properties. First, it must be well-defined and efficiently evaluable for any two pairs’ views of history. Second, it must be transitive for any triple of views of history. For the mathematically inclined: let U,V,W be any three views of history, and let the infix “<” denote the fork-choice rule favoring the right-hand side over the left. 

Then [two conditions hold]:

either U<V or V<U; [and]
u

Affinché il libro mastro possa accogliere gli aggiornamenti, le visualizzazioni della cronologia devono essere estendibili in modo compatibile con la regola di scelta del fork. Pertanto, sono necessarie altre due proprietà. In primo luogo, se valutata su due viste in cui una è un'estensione dell'altra, la regola di scelta del fork deve sempre favorire la vista estesa. In secondo luogo, è più probabile che le estensioni di una visione (precedentemente) canonica siano canoniche rispetto alle estensioni di opinioni non canoniche. Simbolicamente, sia “E” un'estensione e “‖” l'operazione che la applica. Quindi:

U<U‖EU<V⇒Pr[U‖E<V‖E]>0.5

L'ultima proprietà incentiva gli estensori onesti a concentrarsi sull'estensione delle viste canoniche rispetto a quelle che sanno non essere canoniche. Come risultato di questo incentivo, visioni distinte della storia che derivano da estensioni oneste ma contraddittorie contemporaneamente tendono a differire solo nei loro suggerimenti, quando si tratta di eventi recenti. Più indietro viene registrato un evento, meno è probabile che venga ribaltato dalla riorganizzazione imposta da un'altra visione della storia, più canonica, che diverge in un punto precedente. In questa prospettiva la visione canonica della storia è ben definita nei termini del limite delle visioni della storia a cui converge la rete.

L'evidente squalifica nel paragrafo precedente è la necessità che gli estensori si comportino onestamente. E gli estensori disonesti? Se l'avversario è in grado di controllare la variabile casuale implicita nell'espressione di probabilità, può progettarla a suo vantaggio e avviare profonde riorganizzazioni con un'elevata probabilità di successo. Anche se non può controllare la variabile casuale, ma può produrre estensioni candidate a buon mercato, allora può valutare la regola della scelta del fork a livello locale e indefinito finché non trova un punto iniziale di divergenza insieme a un'estensione che genera un valore più canonico ramo di qualsiasi altro che circola.

Il pezzo mancante del puzzle non è un meccanismo che impedisce estensioni disoneste. In un ambiente caratterizzato da condizioni di rete imperfette, è impossibile delineare comportamenti disonesti. Un utente malintenzionato può sempre ignorare i messaggi che non sono di suo gradimento o ritardarne la propagazione e affermare che la colpa è della connessione di rete. Invece, il pezzo mancante del puzzle è un meccanismo che rende le riorganizzazioni profonde più costose di quelle superficiali, e più costose man mano che vanno in profondità.

Prova di lavoro cumulativa

Il meccanismo di consenso di Satoshi Nakamoto raggiunge esattamente questo. Per proporre un nuovo batch di transazioni (chiamati blocchi), e quindi estendere qualche ramo, gli aspiranti extender (chiamati miner) devono prima risolvere un puzzle computazionale. Questo puzzle è costoso da risolvere ma facile da verificare, ed è quindi giustamente chiamato proof-of-work. Solo con la soluzione a questo enigma il nuovo lotto di transazioni (e la cronologia a cui si impegna) è un valido contendente per il canone. Il puzzle è dotato di una manopola per regolarne la difficoltà, che viene ruotata automaticamente in modo da regolarizzare il tempo previsto prima che venga trovata una nuova soluzione, indipendentemente dal numero di partecipanti o dalle risorse che dedicano al problema. Questa manopola ha una funzione secondaria come indicatore imparziale dello sforzo di risoluzione dei puzzle in un'unità che misura la difficoltà.

Il processo è aperto alla partecipazione di chiunque. Il fattore limitante non è l'autorità o il materiale della chiave crittografica oi requisiti hardware, piuttosto, il fattore limitante sono le risorse che si è disposti a spendere per avere la possibilità di trovare un blocco valido. La natura probabilistica e parallela del puzzle premia il minatore conveniente che massimizza il numero di calcoli per joule, anche al costo di un numero inferiore di calcoli al secondo.

Dato il parametro di difficoltà obiettivo (la manopola) per ogni blocco, è facile calcolare una stima imparziale della quantità totale di lavoro che rappresenta un dato ramo della storia. La regola proof-of-work, scelta del fork favorisce il ramo in cui questo numero è maggiore.

I minatori gareggiano l'uno contro l'altro per trovare il blocco successivo. Il primo miner che lo trova e lo propaga con successo vince. Partendo dal presupposto che i minatori non siedono su nuovi blocchi validi ma non propagati, quando ricevono un nuovo blocco da minatori concorrenti, lo adottano come nuovo capo del ramo canonico della storia perché non farlo li mette in svantaggio. Costruire su un blocco noto per essere vecchio è irrazionale perché il minatore deve mettersi al passo con il resto della rete e trovare due nuovi blocchi per avere successo, un compito che è, in media, due volte più difficile di passando al nuovo ramo più lungo ed estendendolo. In una blockchain proof-of-work, le riorganizzazioni tendono a essere isolate in cima all'albero della storia non perché i minatori siano onesti, ma perché il costo della generazione delle riorganizzazioni cresce con la profondità della riorganizzazione. Caso in questione: secondo questo risposta di scambio dello stack, excluding forks following software updates, the longest fork on the Bitcoin blockchain had length 4, or 0.0023% of the block height at the time.

La "soluzione" della Proof-of-Stake

Proof-of-stake is a proposed alternative to proof-of-work in which the correct view of history is not defined in terms of the greatest amount of work spent on solving cryptographic puzzles, but rather defined in terms of the public keys of special nodes called validators. Specifically, validators sign new blocks. A participating node verifies the correct view of history by verifying the signatures on the constituent blocks.

Il nodo non ha i mezzi per distinguere le viste valide della cronologia da quelle non valide. Il punto è che un blocco in competizione è solo un serio contendente per la punta della corretta visione della storia se ha una firma di supporto (o molte firme di supporto). È improbabile che i validatori firmino blocchi alternativi perché quella firma dimostrerebbe il loro comportamento dannoso e comporterebbe la perdita della loro partecipazione.

Il processo è aperto al pubblico. Chiunque può diventare un validatore mettendo una certa quantità di criptovaluta in un conto di deposito a garanzia speciale. Questo denaro depositato in deposito è la "puntata" che viene ridotta se il validatore si comporta male. I nodi verificano che le firme sui nuovi blocchi corrispondano alle chiavi pubbliche fornite dai validatori quando mettono in deposito le loro puntate.

Formalmente, nelle blockchain proof-of-stake, la definizione della corretta visione della storia è del tutto ricorsiva. I nuovi blocchi sono validi solo se contengono le firme corrette. Le firme sono valide rispetto alle chiavi pubbliche dei validatori. Queste chiavi pubbliche sono determinate dai vecchi blocchi. La regola della scelta del fork non è definita per visioni della storia in competizione, purché entrambe le opinioni siano autoconsistenti.

Al contrario, anche la corretta visualizzazione della storia nelle blockchain proof-of-work è definita ricorsivamente, ma non escludendo input esterni. Nello specifico, la regola della scelta del fork nella proof-of-work si basa anche sulla casualità la cui imparziabilità è oggettivamente verificabile.

Questo input esterno è la differenza fondamentale. Nel proof-of-work, la regola della scelta del fork è definita per qualsiasi coppia di diverse visioni della storia in competizione, motivo per cui è possibile parlare in primo luogo di canone. Nel proof-of-stake è possibile definire la correttezza solo rispetto a una storia precedente.

La Proof-of-Stake è sovvertibile

Ha importanza però? In teoria, per produrre due visioni della storia coerenti ma reciprocamente incompatibili, da qualche parte qualcuno deve essere stato disonesto e, se si è comportato in modo disonesto, è possibile scoprire dove, dimostrarlo e tagliare la loro posta in gioco. Dal momento che il validatore posto in quel primo punto di divergenza non è in discussione, da lì è possibile recuperare.

Il problema con questo argomento è che non tiene conto del tempo. Se un validatore di dieci anni fa esegue il doppio segno di blocchi in conflitto tra loro, ovvero pubblica una controparte contraddittoria appena firmata del blocco che è stato confermato dieci anni fa, allora la cronologia dovrà essere riscritta da quel momento in poi. La posta in gioco del validatore dannoso viene ridotta. Le transazioni che spendono i premi di staking ora non sono valide, così come le transazioni a valle da lì. Dato un tempo sufficiente, le ricompense del validatore possono filtrare in gran parte dell'economia blockchain. Un destinatario di monete non può essere sicuro che tutte le dipendenze rimarranno valide in futuro. Non c'è una finalità perché non è più difficile o costoso riorganizzare il passato lontano che il passato prossimo.

La prova della posta in gioco è soggettiva

L'unico modo per risolvere questo problema è limitare la profondità alla quale sono ammesse le riorganizzazioni. Vengono ignorate le opinioni contrastanti della storia il cui primo punto di divergenza è più vecchio di una certa soglia di età. I nodi che si presentano con un'altra vista il cui primo punto di divergenza è più vecchio, lo respingono senza verificarne la correttezza. Finché alcuni nodi sono attivi in ​​un dato momento, la continuità è garantita. C'è solo un modo in cui la blockchain può evolversi se vengono bloccate riorganizzazioni troppo profonde.

Questa soluzione rende la proof-of-stake un meccanismo di consenso soggettivo. La risposta alla domanda "qual è lo stato attuale della blockchain?" dipende a chi lo chiedi. Non è oggettivamente verificabile. Un utente malintenzionato può produrre una visione alternativa della storia che sia autoconsistente quanto quella corretta. L'unico modo in cui un nodo può sapere quale visualizzazione è corretta è selezionare un insieme di peer e crederci sulla parola.

Si può sostenere che questo ipotetico attacco non è rilevante se il costo per produrre questa visione alternativa della storia è troppo elevato. Sebbene tale controargomentazione possa essere vera, il costo è una metrica oggettiva e quindi se è vero dipende da fattori esterni che non sono rappresentati sulla blockchain. Ad esempio, l'attaccante potrebbe perdere tutto il suo interesse in una visione della storia, ma non gli importa perché può garantire attraverso mezzi legali o sociali che la visione alternativa sarà accettata. Qualsiasi analisi di sicurezza o calcolo del costo dell'attacco che si concentri su ciò che accade sulla "blockchain" e non tenga conto del mondo oggettivo in cui vive, è fondamentalmente viziata.

Interno di una criptovaluta proof-of-stake è che non solo il costo è soggettivo, ma lo è anche la ricompensa. Perché un attaccante dovrebbe schierare il suo attacco se il risultato finale non è un pagamento determinato meccanicamente dal suo ingegno, ma una trasmissione dal team ufficiale di sviluppatori della criptovaluta che spiega perché hanno scelto l'altro ramo? Potrebbero esserci pagamenti esterni - ad esempio, da opzioni finanziarie che prevedono un calo del prezzo o dalla pura gioia di causare caos - ma il punto è che la bassa probabilità di pagamenti interni mina l'argomento secondo cui la capitalizzazione di mercato della prova di puntare le criptovalute costituisce una taglia di attacco efficace.

Soldi e obiettività

Il denaro è, in sostanza, l'oggetto con cui si salda un debito. Il regolamento del debito richiede effettivamente il consenso tra le parti dello scambio, in particolare la valuta e la quantità di denaro. Una controversia porterà alla perpetuazione dei crediti in sospeso e al rifiuto di ripetere l'attività a condizioni uguali o simili.

Effective debt settlement does not require the entire world to agree on the specific type of money. Therefore, a subjective money can be useful in pockets of the world economy where there happens to be consensus. However, in order to bridge the gap between any two pockets of micro economies, or more generally between any two persons in the world, global consensus is required. An objective consensus mechanism achieves that; a subjective one does not.

Le criptovalute proof-of-stake non possono fornire una nuova base per la spina dorsale finanziaria del mondo. Il mondo è costituito da stati che non si riconoscono i tribunali l'uno dell'altro. Se sorge una disputa sulla corretta visione della storia, l'unica risorsa è la guerra.

Fondazioni che sviluppano e supportano blockchain proof-of-stake, così come sviluppatori freelance che lavorano per loro - e persino influencer che non scrivono codice - si espongono alla responsabilità legale per aver selezionato arbitrariamente una visione sfavorevole della storia (all'attore). Cosa succede quando uno scambio di criptovalute consente un ampio prelievo a valle da un deposito in una criptovaluta proof-of-stake la cui transazione appare solo in un ramo di due visioni della storia concorrenti? Lo scambio potrebbe selezionare la vista che avvantaggia i loro profitti, ma se il resto della comunità - spinto dalle firme e dai tweet di PGP e dai post medi delle fondazioni, degli sviluppatori e degli influencer - seleziona la vista alternativa, allora lo scambio è a sinistra del fattura. Hanno ogni incentivo e responsabilità fiduciaria per recuperare le proprie perdite dalle persone responsabili.

Alla fine, un tribunale emetterà una sentenza su quale visione della storia è quella giusta.

Conclusione

I fautori della prova di partecipazione affermano che ha lo stesso scopo della prova di lavoro, ma senza tutto lo spreco di energia. Troppo spesso, il loro supporto ignora i compromessi presenti in qualsiasi dilemma ingegneristico. Sì, il proof-of-stake elimina il dispendio energetico, ma questa eliminazione sacrifica l'obiettività del meccanismo di consenso risultante. Questo va bene per le situazioni in cui sono sufficienti solo sacche di consenso locale, ma questo contesto pone la domanda: qual è lo scopo di eliminare l'autorità fidata? Per una spina dorsale finanziaria globale, è necessario un meccanismo oggettivo.

La natura autoreferenziale del proof-of-stake lo rende intrinsecamente soggettivo: quale visione della storia è corretta dipende da chi lo chiedi. La domanda "la proof-of-stake è sicura?" tenta di ridurre l'analisi a una misura oggettiva del costo che non esiste. A breve termine, quale fork è corretto dipende da quale fork è popolare tra i membri influenti della comunità. A lungo termine, i tribunali assumeranno il potere di decidere quale fork sia corretto e le sacche di consenso locale coincideranno con i confini che segnano la fine della giurisdizione di un tribunale e l'inizio di quella successiva.

L'energia spesa dai minatori nelle blockchain proof-of-work non viene sprecata più di quanto il diesel venga sprecato per alimentare le auto. Invece, viene scambiato con casualità crittograficamente verificabile e imparziale. Non sappiamo come generare un meccanismo di consenso oggettivo senza questo ingrediente chiave.

Questo è un guest post di Alan Szepieniec. Le opinioni espresse sono interamente proprie e non riflettono necessariamente quelle di BTC Inc. o Bitcoin Magazine.

Fonte originale: Bitcoin Magazine