Whitepaper economico

From Mina Wiki
Jump to navigation Jump to search

Originariamente pubblicato in economicsWP

Brad Cohn, Evan Shapiro y Emre Tekişalp

O(1) Labs

16 gennaio del 2020


Riassunto

Man mano che le valute crittografiche diventano sempre più popolari e ampiamente utilizzate, il costo per la verifica della blockchain cresce in proporzione al volume totale delle transazioni e diventa rapidamente fuori dalla portata della maggior parte degli utenti del mondo reale. In questo modo, le crittovalute possono finire per essere vittime del loro stesso successo, diventando sempre più inaccessibili ai loro utenti che a loro volta sono tenuti a fidarsi degli intermediari. Il protocollo Mina risolve questo problema sostituendo la blockchain con una prova facilmente verificabile. Un tale protocollo richiede un'attenta separazione dei ruoli, un disegno di incentivi e una sana politica monetaria per funzionare correttamente e resistere allo sfruttamento. Presentiamo qui di seguito le principali considerazioni.


Introduzione

Combinando tecniche crittografiche con incentivi economici, Bitcoin[Nak09] è diventato il primo protocollo di pagamento peer-to-peer decentralizzato. Un aspetto critico della progettazione di Bitcoin è la misura in cui i diversi componenti rinforzano l'uno con l'altro. Ad esempio, Proof of Work impone un costo per la produzione di un blocco, che scoraggia i cattivi attori dal presentare transazioni non valide. Tuttavia, tale incentivo è drammaticamente moltiplicato dall'uso di una blockchain per memorizzare le transazioni storiche, perché rende immediatamente evidente qualsiasi manomissione a tutti i peer sulla rete con un costo di calcolo molto basso. Questa tecnica - rendendo costoso attacchi mentre rendendo economica la difesa - è una pietra miliare della crittografia moderna e il segno distintivo di un protocollo crittoeconomico ben progettato.

Tuttavia, il design di Bitcoin ha alcuni limiti. Mentre le blockchain consentono un rapido rilevamento delle manomissioni, non forniscono una rapida prova di correttezza. Infatti, ogni volta che un nuovo partecipante si unisce alla rete, deve controllare ogni transazione dall'inizio della rete per verificarne la correttezza. Questo requisito cresce in modo lineare con il throughput totale delle transazioni e diventa rapidamente fuori dalla portata della maggior parte degli utenti del mondo reale su dispositivi vincolati alle risorse come gli smartphone.

In questo modo, man mano che le crittovalute diventano più popolari e diffuse, finiscono per essere vittime del loro stesso successo, diventando sempre più inaccessibili ai loro utenti che a loro volta sono tenuti a fidarsi degli intermediari.


Le zk-SNARK ricorsive forniscono una soluzione a questo dilemma. Analogamente a come le blockchain abilitano la prova di manomissione a tempo costante di un libro mastro storico, le zk-SNARK ricorsive consentono la verifica della correttezza a tempo costante di un libro mastro storico. Invece di ogni partecipante alla rete che verifica le transazioni storiche per se stesso, la rete collabora per generare prove di correttezza per le transazioni (zk-SNARK), e poi condivide quelle intorno alla rete. Così, invece di affidare agli intermediari la fornitura di informazioni accurate sullo stato del libro mastro, gli utenti finali ricevono lo stato insieme ad un zk-SNARK che garantisce criptograficamente l'accuratezza dello stato. In breve, il protocollo Mina sostituisce la blockchain con una prova facilmente verificabile. Per maggiori dettagli sull'implementazione tecnica di questo protocollo, fare riferimento al whitepaper tecnico [MRS19].


Un tale protocollo richiede un'attenta separazione dei ruoli, un disegno di incentivi e una sana politica monetaria per funzionare correttamente e resistere allo sfruttamento. Qui sotto descriviamo le principali considerazioni progettuali.


Ruoli e incentivi della rete

La maggior parte dei protocolli di criptovalute hanno almeno due ruoli nelle loro reti: 1) coloro che verificano ogni transazione nella rete, spesso chiamati nodi completi, staker o minatori, e 2) coloro che si affidano a terzi per verificare le transazioni per loro conto, come i clienti leggeri. Con l'adozione di questi protocolli, la verifica del libro mastro diventa sempre più costosa, per cui un numero sempre maggiore di partecipanti viene spinto al di fuori del primo gruppo e spinto verso il secondo. Ad esempio, anche se il Bitcoin ha storicamente una media inferiore a 1,5 transazioni al secondo, un nuovo membro della rete deve verificare quasi 500.000.000 di transazioni per avere una sicurezza full-node. Questo problema è aggravato da alcuni concetti di nuove crittovalute, che affermano di avere 10x-100.000x il throughput delle transazioni di Bitcoin, e quindi, sotto carico di picco, di generare gigabyte o terabyte di dati ogni settimana.


Al contrario, Mina ha un fabbisogno costante di risorse: indipendentemente dal numero di transazioni che la rete ha elaborato, gli utenti possono verificare completamente lo stato attuale con un piccolo zk-SNARK. A sostegno di ciò, Mina ha tre ruoli nella rete, ciascuno incentivato a partecipare da meccanismi diversi.


2.1 Verificatori

Ci aspettiamo che la stragrande maggioranza dei partecipanti alla rete sia in grado di verificare. Poiché Mina utilizza zk-SNARK ricorsivi per dimostrare continuamente la validità dello stato, la sicurezza a nodo completo si ottiene semplicemente scaricando uno zk-SNARK, che si aggira intorno a qualche centinaio di byte e richiede qualche millisecondo di calcolo per essere verificato. La zk-SNARK certifica le informazioni di consenso e una radice Merkle ad un recente stato patrimoniale. A questo punto, i verificatori possono richiedere i percorsi Merkle verso le parti rilevanti dello stato. Controllando il percorso Merkle, i verificatori si assicurano che le parti dello stato a cui tengono (come i saldi dei loro conti) siano effettivamente contenute all'interno dello stesso libro mastro che è certificato dalla zk-SNARK.


2.2 Produttori di blocchi

I produttori di blocchi sono simili ai minatori o ai “stakers” di altri protocolli. Essi sono incentivati da distribuzioni del protocollo sotto forma di premi in blocco o transazioni “coinbase”, nonché da commissioni di rete pagate dagli utenti. È importante sottolineare che i produttori di blocchi non sono incentivati dalla minaccia dello “slashing” per partecipare, in quanto Mina utilizza Ouroboros[DGKR17]. Oltre alla partecipazione diretta, individui possono delegare la loro quota di partecipazione ad un altro produttore di blocchi. Questo permette al delegato di partecipare, ma non di inviare transazioni per conto di un altro.


Come è comune, i produttori di blocchi scelgono quali transazioni includere nel blocco successivo. Ovviamente, sono incentivati a includere le operazioni a pagamento più elevate. Tuttavia, per garantire che la blockchain rimanga succinta, i produttori di blocchi hanno un'ulteriore responsabilità: per ogni transazione che aggiungono a un blocco, devono “SNARKare” un numero equivalente di transazioni aggiunte in precedenza. Se non lo fanno, il loro blocco non rispetterà le regole del consenso e sarà respinto da altri nodi. Può essere utile immaginare una mina di transazioni. Se un produttore di blocchi vuole aggiungere 10 transazioni sul retro della mina (in modo da poter richiedere le spese di transazione), deve “SNARKare” 10 transazioni dalla parte anteriore della mina. Possono produrre gli SNARK da soli o selezionarli da un mercato a cui contribuiscono altri partecipanti specializzati della rete, gli Snarkers.


2.3 Snarkers

Gli snarker, descritti nel whitepaper tecnico Mina[MRS19], sono i partecipanti alla rete che producono zk-SNARKs che verificano le transazioni. Essi sono compensati dalle spese di spedizione, chiamate “bids”, e se i loro SNARK sono utilizzati in un blocco, il produttore del blocco paga tali spese dal totale delle spese di transazione.

Dato che molti Snarker diversi possono pubblicare le commissioni per una singola transazione, e i prodotti a blocchi sono incentivati a ridurre al minimo le commissioni che pagano per il lavoro SNARK, questo naturalmente forma un mercato dove i partecipanti competono per produrre le prove zk- SNARK più efficienti dal punto di vista dei costi. Per comodità, possiamo riferirci a questo come lo “Snarketplace”. Di seguito, valuteremo alcune delle sue dinamiche economiche.

In primo luogo, finché ci sarà una certa quantità di calcolo latente disponibile sulla rete - quasi certamente assicurata da una rete di produttori di blocchi - lo Snarketplace non influirà sulla vivacità del protocollo o sulla resistenza alla censura, poiché ci sarà sempre un'offerta per produrre SNARK a un certo costo.

Per vedere questo, considerare gli incentivi di un partecipante alla rete che ha capacità di calcolo inutilizzata e il quale osserva che le tariffe SNARK aumentano sulla rete a causa della mancanza di produzione SNARK. Quando le tasse SNARK superano il costo marginale della produzione SNARK per questo partecipante, se è un attore economico razionale, inizierà ad offrire offerte superiori al suo prezzo di produzione e inferiori al prezzo di mercato per catturare il profitto, stabilizzando così le tasse SNARK. I produttori di blocchi possono semplicemente trasferire tali tassi a chi sta effettuando le transazioni. In pratica, il costo di calcolo per generare uno SNARK dovrebbe essere estremamente basso, nell'ordine di meno di un centesimo per transazione ai prezzi attuali del cloud computing.

In secondo luogo, date le economie di scala, è possibile che alcune operazioni di SNARK possano diventare più dominanti nel tempo, come alcune operazioni minerarie hanno fatto con la Bitcoin. Tuttavia, qualsiasi concentrazione risultante della produzione SNARK non avrebbe alcuna influenza sulla resistenza alla censura o sulla vivacità del protocollo. Questo perché chiunque sarà in grado di produrre SNARK a un certo prezzo. Quindi, anche se ci fosse qualche produttore SNARK in grado di offrire SNARK più economici, se si rifiutasse di trattare determinate transazioni, chiunque altro sulla rete potrebbe fornire uno SNARK per una tassa leggermente più alta, e i produttori di blocchi sarebbero comunque incentivati a includerlo nel libro mastro.

In terzo luogo, un meccanismo di coordinamento esplicito e volontario che impedisca la doppia prova ridurrebbe probabilmente le tasse SNARK e gli sprechi computazionali sulla rete, anche se tale meccanismo non è necessario per la sicurezza o la vivacità.

2.3.1 Resistenza alla censura

Potrebbe essere utile approfondire un po' l'argomento a sostegno della resistenza alla censura. Mentre ci sono una serie di attacchi plausibili alla resistenza alla censura di Bitcoin[NBF+16], si scopre che si può essere inclusi in un blocco solo se si paga una tassa abbastanza alta o si aspetta abbastanza a lungo. Mina è molto simile al bitcoin, con l'aggiunta della complicazione che la transazione deve essere “snarkata” ad un certo punto dopo che è stata inclusa nel blocco.


Quindi, affinché Mina non sia resistente alla censura, una transazione dovrebbe essere inclusa in un blocco e poi mai snarkata. Ciò richiederebbe una collusione tra tutti gli Snarker (che rifiuterebbero di snarkerizzare la transazione) o tutti i produttori di blocchi (che scelgono di non includere la transazione snarkata negli aggiornamenti del libro mastro). Con le ipotesi di Ouroboros possiamo presumere che la rete sia decentralizzata e che quindi i produttori di blocchi non siano in collusione.

Ora passiamo ai Snarkers. Poiché il costo di calcolo dello Snarking di una transazione è estremamente basso e accessibile a chiunque abbia un computer, far colludere tutti gli Snarker è molto più difficile che far colludere tutti i produttori di blocchi. Gli Snarker esistenti non possono impedire l'ingresso di un nuovo Snarker sul mercato. Se qualcuno nota che una transazione non è “snarkata”, potrebbe facilmente e proficuamente offrire di snarkarla, e anche con costi di transazione molto bassi un produttore di blocchi potrebbe proficuamente includere questa transazione snarkata in un aggiornamento del libro mastro.

IMMAGINE 1: Ciclo di vita di una transazione MINA

https://i.ibb.co/hy0YMh1/2-1.png

https://images.ctfassets.net/737jygdrovm3/mXDlVMxyDzrD2oqAegCDR/fe8760dc6e3e11dd2b8c02bf096b73e1/2-1.png


IMMAGINE 2: Economia di un'operazione MINA

https://i.ibb.co/0CBrzrV/2-2.png

https://images.ctfassets.net/737jygdrovm3/2RlSIs0wIbjgTxJ0xt7Dc7/6935a13cdd0a50106ef587e87f967be5/2.2.png


3. Nomenclatura e denominazione

Le singole unità della valuta sono chiamate MINA, illustrate dal simbolo ◼ (UTF-16: U + 25FC). L'importo in valuta iniziale di MINA è ◼1.000.000.000.000. Ogni MINA è divisibile in un miliardo di unità, chiamato nanomina. Le denominazioni intermedie della valuta utilizzano i prefissi metrici standard:

1. ◼1 = 1 mina

2. ◼0.01 = 1 centimina (centesimo)

3. ◼1 x 10−6 = 1 micromina


4. Politica monetaria

Poiché Mina utilizza una variante di Ouroboros Proof of Stake[DGKR17][MRS19], le ricompense e le tasse di blocco sono distribuite approssimativamente in modo pro-rata alle partecipazioni attuali fintanto che tutti i membri della rete sono in gioco. Pertanto, nell'ipotesi di una partecipazione elevata, l'eventuale inflazione nominale nel protocollo viene annullata da un rendimento nominale denominato nel protocollo, garantendo che i saldi proporzionali dei conti nella valuta rimangano costanti.

Tuttavia, coloro che non scelgono di partecipare o di delegare sperimenteranno una diluizione rispetto a coloro che lo fanno. Per motivare i partecipanti ad iniziare a fare lo “staking”, l'inflazione nominale di Mina inizierà a 12%. Poi, nel corso dei primi cinque anni, il tasso di inflazione scenderà al 7%, per poi rimanere al 7% per difetto, salvo modifiche attraverso la governance della blockchain.


IMMAGINE 3

https://images.ctfassets.net/737jygdrovm3/IZ4F41sWNwpatOYurSGvR/4c5722939ce7510e58704ff9375a7dfe/2-3.png

(1) 1È in arrivo un documento sulla governance.


È importante notare che il protocollo si concentrerà su questi tassi di inflazione indipendentemente dal tasso di partecipazione. Ciò significa che i premi di blocco cambieranno in modo dinamico per mirare a questo tasso di inflazione. Ad esempio, se solo il 50% parteciperanno allo staking della rete, allora i premi di blocco raddoppieranno. Questo perché per ogni Ouroboros si prevede che il numero di blocchi prodotti per epoca sia proporzionale al rapporto di staking. Questo naturalmente incoraggia un maggior numero di persone a partecipare allo staking durante fasi di bassa partecipazione.


IMMAGINE 4

https://images.ctfassets.net/737jygdrovm3/4qIVS7cKhfPbEwaMQYat9Q/da0b7e590da5a1d4608708c62fbbc993/2-4.png


La considerazione principale quando si abbassano i tassi di inflazione sarebbe determinare se i premi sono più alti di quanto sia necessario per garantire che i produttori di blocchi abbiano incentivi sufficienti per convalidare senza richiedere un forte aumento delle tasse.

È anche importante architettare come la politica monetaria permetta lo sviluppo continuo di una rete decentralizzata come Mina. L'inflazione, sotto forma di premi a blocchi, viene utilizzata per assicurare la catena contro gli attacchi incentivando la convalida da parte dei produttori di blocchi. Tuttavia, la sicurezza non è l'unico requisito per una nuova rete. Vale a dire, anche la manutenzione a lungo termine e il miglioramento del protocollo richiederanno finanziamenti. Suggeriamo che il meccanismo più adatto a questo scopo sia la creazione di premi di blocchi speciali, assegnati ai destinatari secondo quanto stabilito dalla governance della catena.

Riferimenti

[DGKR17] Bernardo David, Peter Gaži, Aggelos Kiayias y Alexander Russell. Ouroboros praos: An adaptively-secure, semi-synchronous proof-of-stake protocol. Cryptology ePrint Archive. Informe 2017/573, 2017. [1].

[MRS19] Izaak Meckler, Vanishree Rao y Evan Shapiro. Mina: Decentralized Cryptocurrency at Scale, 2019.

[Nak09] Satoshi Nakamoto. Bitcoin: A peer-to-peer electronic cash system, 2009.

[NBF+16] Arvind Narayanan, Joseph Bonneau, Edward Felten, Andrew Miller y Steven Goldfeder. Bitcoin and Cryptocurrency Technologies: A Comprehensive Introduction, 2016. Feather Forking.