ERGO – il Fondatore Alex Chepurnoy

Tempo di lettura stimato: 31 minuti

Questo articolo è stato originariamente pubblicato su The Daily Chain, 17 giugno 2020.

Il suo articolo e la sua intervista demistificano le idee sbagliate sui contratti intelligenti, UTXO vs Account, Gas e Macchine Virtuali. Riveliamo la potenza di ErgoScript e come la crittografia possa effettivamente essere “simile a Bitcoin” e possedere ancora funzionalità illimitate.

A titolo personale, vorrei aggiungere che ritengo che molti progetti sacrifichino i valori fondamentali di Bitcoin per lottare per ciò che Ergo ha già raggiunto.

Contenuto

1. Una breve storia dei contratti intelligenti
2. Moneta contrattuale
3. UTXO vs Account
4. ERGO

  • PoW vs PoS
  • Nodi Leggeri
  • Governance
  • Ergo Script
  • Privacy Protocols
  • Economia

5. Alex Chepurnoy (kushti)
6. Intervista
7. Conclusione, grazie e link utili
8. Referenze

1. Una breve storia dei contratti intelligenti

Per capire Ergo, dobbiamo prima considerare Bitcoin come un linguaggio di programmazione.

Quando le persone pensano ai contratti intelligenti, di solito pensano a Ethereum. Mentre ETH merita certamente credito per la divulgazione di contratti intelligenti, le idee e le implementazioni lo precedono considerevolmente.

Il movimento Cypherpunk, e in particolare Nick Szabo, sono i progenitori dei concetti che risalgono al 1990.

I computer rendono possibile l’esecuzione di algoritmi finora proibitivi e collegano in rete la trasmissione più rapida di messaggi più grandi e più sofisticati. Inoltre, informatici e crittografi hanno recentemente scoperto molti algoritmi nuovi e piuttosto interessanti. La combinazione di questi messaggi e algoritmi rende possibile un’ampia varietà di nuovi protocolli.

Nuove istituzioni e nuovi modi per formalizzare le relazioni che compongono queste istituzioni sono ora resi possibili dalla rivoluzione digitale. Chiamo questi nuovi contratti “intelligenti”, perché sono molto più funzionali dei loro antenati inanimati basati sulla carta. Nessun uso dell’intelligenza artificiale è implicito. Un contratto intelligente è un insieme di promesse, specificate in forma digitale, compresi i protocolli all’interno dei quali le parti eseguono queste promesse.

Nick Szabo, 1996 [1]

Satoshi Nakamoto è stato il primo a implementare un linguaggio di programmazione con Bitcoin Script. Un primo esempio di contratto intelligente è un contratto Hash Time Locked o HTLC [2]. Negli HTLC una quantità arbitraria di valuta può essere bloccata in un indirizzo fino a un’altezza di blocco specificata. Lightning Network utilizza HTLC come parte della sua soluzione di pagamento Layer 2.

Le transazioni ad alta frequenza di Nakamoto sono state una prima incursione nella programmazione più complessa in Bitcoin [3]. In parole povere, i peer che hanno bisogno di comunicare molte transazioni possono farlo off-chain prima di impegnare la transazione finale aggiornata on-chain.

Implementate in Bitcoin 0.1 erano funzionalità come la sostituzione delle transazioni[2], i numeri di sequenza di input (nSequence) e nLockTime che avrebbero permesso a due o più parti di aggiornare ripetutamente lo stato di una transazione non confermata prima che diventasse confermata. Bitcoin wiki, “Canali di pagamento” [3]

In effetti, l’invio di bitcoin può essere considerato il più semplice di tutti i programmi.

Un programma scritto in Bitcoin Script è collegato a ogni output di transazione (cioè l’importo ricevuto); questo programma protegge la transazione determinando come l’output della transazione può essere utilizzato come input per (cioè speso in) una transazione futura. [4]

2. Denaro contrattuale

Sia che parliamo di programmi o script o contratti intelligenti o dApp, stiamo essenzialmente parlando della stessa cosa: programmare denaro. Ergo si riferisce a questo come “Denaro contrattuale”.

Alcuni metodi per programmare denaro hanno alcune limitazioni. Ad esempio, Bitcoin Script non supporta il “looping”, anche se un altro linguaggio potrebbe se fosse “abbastanza ricco” [4].

La soluzione ethereum al problema del looping, altrimenti nota come Gas, è descritta in un documento Ergo come una soluzione “ad-hoc”. Il gas non è un prerequisito per una piattaforma di smart contract.

Se il linguaggio di scripting è abbastanza ricco, consente la scrittura di contratti turing-completi evitando soluzioni ad-hoc per l’arresto del programma come il gas in Ethereum. Pur avendo una versatilità significativamente maggiore rispetto allo script Bitcoin, lo script Ergo contiene solo operazioni che consentono di stimare la complessità dello script prima dell’esecuzione, il che impedisce vari attacchi DoS. Tuttavia questo set di istruzioni è sufficiente per scrivere facilmente qualsiasi programma possibile – ErgoScript ha dimostrato di essere Turing completo [4]

Nel corso degli anni gran parte del potere nel linguaggio Bitcoin Script è stato deprecato, in gran parte nell’interesse della sicurezza.

Oggi sappiamo molto di più di quanto Nakamoto facesse un decennio fa su come creare un linguaggio di programmazione sicuro per i contratti intelligenti, e l’argomento è molto ben studiato.

Enormi progressi nei protocolli di privacy blockchain sono stati sviluppati anche da quei primi giorni; che si tratti di firme ad anello, prove a conoscenza zero non interattive o CoinJoin.

Il che ci porta a Ergo.

Vi presentiamo Ergo, un nuovo protocollo blockchain flessibile. Ergo è progettato per lo sviluppo di applicazioni decentralizzate con l’obiettivo principale di fornire un modo efficiente, sicuro e semplice per implementare contratti finanziari.

Per raggiungere questo obiettivo, Ergo include vari miglioramenti tecnici ed economici alle soluzioni blockchain esistenti. Ogni moneta in Ergo è protetta da un programma in ErgoScript, che è un linguaggio di scripting potente e adatto ai protocolli basato su protocolli Σ. [5]

Ergo è “Bitcoin-like”, ma porta con sé le ultime novità nella tecnologia e nella ricerca blockchain. Ergo non è l’unica piattaforma di smart contract simile a Bitcoin che utilizza il modello UTXO in preferenza rispetto al modello account di Ethereum, ma è forse la più avanzata.

La ricerca non si ferma ai contratti intelligenti, ma si estende ad altre aree tra cui il mining, la governance decentralizzata e i protocolli di privacy.

Per sopravvivere nel lungo periodo, Ergo predilige soluzioni ben collaudate. Se non esiste già una soluzione ben testata per qualche problema, eseguiamo le nostre ricerche e il numero di articoli peer-reviewed del team di sviluppo di Ergo è già ampio.

Il team di Ergo fa molte ricerche e scrive un gran numero di articoli accademici. Tre white paper e altri dieci documenti “Foundational” sono presentati sul sito web di Ergo.

3. UTXO vs Account

Esistono idee sbagliate sull’efficacia dell’utilizzo di un UTXO simile a Bitcoin nei contratti intelligenti rispetto a un modello di account Ethereum. La citazione qui sotto da un articolo di confronto di UTXO e Account scritto da un ricercatore su Medium articola l’equivoco.

Una blockchain basata su modello UTXO è debole nella programmabilità, il calcolo complesso è quasi impossibile.

Tuttavia questo errore viene cancellato quando si legge un documento Ergo su FlowCards di Alexander Slesarenko, che afferma che “il modello di transazione di Ergo ha molti vantaggi rispetto al modello basato sul conto”. [8]

ErgoScript è il linguaggio smart contract utilizzato dalla blockchain di Ergo. Mentre ha una sintassi concisa adottata da Scala / Kotlin, all’inizio può ancora sembrare confusa perché concettualmente ErgoScript è molto diverso rispetto ai linguaggi convenzionali che tutti conosciamo e amiamo. Questo perché Ergo è una blockchain basata su UTXO, mentre i contratti intelligenti sono tradizionalmente associati a sistemi basati su account come Ethereum. Tuttavia, il modello di transazione di Ergo presenta molti vantaggi rispetto al modello basato sull’account e con il giusto approccio può anche essere significativamente più facile sviluppare contratti Ergo che scrivere ed eseguire il debug del codice Solidity. [8]

[8]

Slesarenko continua contrastando il paradigma imperativo di Ethereum con quello dichiarativo di Ergo. La sfumatura qui diventa abbastanza tecnica, ed evidentemente Ergo sta facendo le cose in modo diverso dalle altre piattaforme di smart contract UTXO.

“Gli alberi AVL+ consentono di creare dizionari autenticati efficienti che riducono le dimensioni della prova e accelerano la verifica di 1,4-2,5 volte rispetto alle soluzioni precedenti” [5]

Il modello di account di Ethereum è imperativo. Ciò significa che il compito tipico di inviare monete da Alice a Bob richiede la modifica dei saldi in deposito come una serie di operazioni. Il modello di programmazione basato su UTXO di Ergo, d’altra parte, è dichiarativo. I contratti ErgoScript specificano le condizioni per una transazione che deve essere accettata dalla blockchain (non le modifiche da apportare nello stato di archiviazione a seguito dell’esecuzione del contratto).

La rapida esecuzione di contratti intelligenti e il throughput sono spesso citati come motivi per l’adozione di un modello di account. Così ho chiesto in discordia:

Ethereum ha un tempo di blocco molto più veloce di Ergo, e in generale il modello account sembra più efficace per una rapida esecuzione dei contratti. In che modo un modello UTXO come ERGO compete con un modello di account per l’esecuzione di contratti intelligenti?

Robert Kornacki di Emurgo (maggiori informazioni su di loro nell’intervista) ha fornito una risposta sorprendente, che dimostra ancora una volta le idee sbagliate in questo settore.

È possibile parallelizzare le azioni nei propri UTXO consentendo un throughput più elevato per un determinato contatto intelligente che consente di eseguire più azioni per blocco. Dai un’occhiata agli ultimi due modelli di questo pezzo che noi (Emurgo) abbiamo pubblicato pochi giorni fa [9]

Il design UTXO (insieme ad alcuni nuovi modelli di progettazione) consente una maggiore produttività su base per blocco. Quindi in realtà è (imo) meglio che basato sull’account perché non c’è mutazione nello stato, ma più distruzione / creazione funzionale di scatole. [10]

4. ERGO

A nostro parere, la stragrande maggioranza dei casi d’uso pubblici di successo della blockchain sono legati alle applicazioni finanziarie. Ergo sta estendendo il modo in cui Bitcoin scrive i contratti allegando uno script di protezione (insieme a dati personalizzati aggiuntivi) a ogni moneta. Così le applicazioni Ergo sono definite in termini di script di protezione integrati in scatole contenenti anche dati coinvolti nell’esecuzione. [5]

Prima di parlare con il Fondatore e Lead Developer di Ergo vi presenterò alcune delle sue caratteristiche principali.

a. Mining

Ergo utilizza Proof-of-Work perché di tutti i meccanismi di consenso è il più rigorosamente ben testato.

PoW è stato scelto per diversi motivi, tra cui il fatto che i protocolli PoW sono ampiamente studiati, hanno elevate garanzie di sicurezza e sono amichevoli per i clienti leggeri.

Tuttavia, a causa della centralizzazione delle risorse minerarie PoW di solito causa Ergo ha sviluppato una soluzione per imporre il mining da solo in cui un minatore deve detenere la chiave privata per l’indirizzo del nodo di mining. Mentre è ottimo per il decentramento e la sicurezza della rete, aumenta la barriera all’ingresso.

È interessante notare che un contratto intelligente collateralizzato attualmente in fase di sviluppo presenta una soluzione. Alex ne parla nell’intervista (vedi sotto).

Il problema con Proof-of-Stake

In Proof-of-Stake le monete sono inestricabilmente legate alla sicurezza della rete. Per PoW questo non è il caso. Ciò crea una nuova classe di vulnerabilità che le reti PoW non devono considerare.

Proof of Stake (PoS) è un fiorente meccanismo di resistenza Sybil che mira ad avere un asset digitale (“token”) che funge da garanzia di sicurezza nelle reti crittografiche. Tuttavia, PoS ha finora eluso un modello di minaccia completo che comprende sia attacchi bizantini da sistemi distribuiti che attacchi finanziari derivanti dal duplice utilizzo del token come mezzo di pagamento e da un meccanismo di resistenza Sybil. In particolare, l’esistenza di mercati dei derivati rende il coordinamento dannoso tra i validatori più facile da eseguire rispetto ai sistemi Proof of Work. Dimostriamo che è anche possibile per i contratti intelligenti di prestito on-chain cannibalizzare la sicurezza della rete nei sistemi PoS. Quando il rendimento fornito da questi contratti è più attraente del tasso di inflazione fornito dallo staking, gli staker tenderanno a rimuovere i loro token puntati e prestarli, riducendo così la sicurezza della rete. [6]

b. Nodi Leggeri

L’esecuzione di nodi completi su qualsiasi rete ad alto traffico è al di fuori della portata degli utenti medi. Aspettare giorni per sincronizzare una blockchain è un’esperienza utente traumatica, e quindi la stragrande maggioranza delle persone si affida ai “Light Nodes” quando utilizza blockchain come Bitcoin o Ethereum.

Il problema è che la stragrande maggioranza dei portafogli Light Node si basa su nodi affidabili gestiti dai fornitori di portafogli. Questi sistemi quindi si fanno beffe delle configurazioni trustless richieste dalla blockchain per la sicurezza e il pieno decentramento.

Ergo ha una soluzione al problema dei nodi luminosi centralizzati resa possibile perché Ergo è una moneta PoW.

Ergo è stato progettato per essere il massimo user-friendly nel senso di decentralizzazione. Una delle proprietà importanti di PoW è che consente la verifica del lavoro svolto senza scaricare l’intera catena. I blocchi Ergo supportano le prove NiPoPoW, consentendo ai client leggeri di sincronizzarsi con la rete scaricando meno di un megabyte di dati.

c. Governance

Bitcoin si è frammentato e biforcato più volte attraverso fork derivanti da controversie nella comunità su come scalare la criptovaluta. Le modifiche alle dimensioni dei blocchi, ad esempio, richiedono hard fork controversi.

I sistemi di voto sono stati progettati nel tentativo di creare soluzioni di mediazione decentralizzate per arrivare al consenso della comunità su come invocare i cambiamenti. Questi approcci, come uno dei primi tentativi di DASH utilizzando i nodi master, sono vulnerabili alla manipolazione da parte delle parti che controllano la maggior parte delle monete e quindi la maggior parte dei voti.

Ergo risolve questo problema in quello che potrebbe essere descritto come un approccio “l’azione parla più forte delle parole” con il voto dei minatori on-chain.

Una rete resiliente dovrebbe adattarsi all’ambiente in evoluzione senza l’intervento di parti fidate (come un team di “sviluppatori principali”). Il protocollo di voto dei minatori on-chain di Ergo consente modifiche graduali in un gran numero di parametri tra cui la dimensione massima del blocco, il fattore di commissione di archiviazione e altro ancora.

Per cambiamenti più fondamentali Ergo seguirà un approccio soft-forkability – se la stragrande maggioranza della rete accetta una nuova funzionalità, viene attivata, tuttavia, i vecchi nodi che non si aggiornano continuano a funzionare normalmente e saltano semplicemente questa convalida della funzionalità. Pertanto, in Ergo non dovrebbero essere richiesti hard fork dirompenti.

d. ErgoScript

Come accennato in precedenza, Ergo ritiene che “se il linguaggio di scripting è abbastanza ricco, consente la scrittura di contratti turing-completi evitando soluzioni ad hoc per l’arresto del programma come il gas in Ethereum”.

Per quanto complesse siano queste idee, il sito web di Ergo fa un lavoro ammirevole nello spiegare Ergo Script. Sapendo cosa facciamo ora su Bitcoin Script e sul cambio di paradigma di Ethereum, i lettori potrebbero apprezzare più pienamente l’evoluzione di Ergo.

Ergo DApps e protocolli offchain possono essere implementati in modo veramente decentralizzato a causa di client leggeri, tuttavia, richiedono anche un linguaggio di contratto intelligente flessibile e sicuro. I contratti intelligenti Ergo si basano su un modello UTXO simile a Bitcoin, in cui ogni output è protetto da alcuni script. Se il linguaggio di scripting è abbastanza ricco, consente la scrittura di contratti turing-completi evitando soluzioni ad-hoc per l’arresto del programma come il gas in Ethereum.

Pur avendo una versatilità significativamente maggiore rispetto allo script Bitcoin, lo script Ergo contiene anche operazioni che consentono una stima accurata della complessità dello script prima dell’esecuzione, il che impedisce vari attacchi DoS e il problema di “arresto”. Tuttavia, questo set di istruzioni è ancora sufficiente per scrivere qualsiasi possibile programma – ErgoScript ha dimostrato di essere Turing completo. La parte crittografica dello script Ergo si basa su protocolli sigma e supporta naturalmente le firme di soglia m-of-n, le firme ad anello e altro ancora. Tenendo presente tutto questo, ci aspettiamo che ErgoScript e il design di Ergo lo rendano straordinariamente utile come moneta contrattuale con innumerevoli applicazioni possibili.

e. Privacy

Come moneta UTXO con un potente linguaggio di scripting, Ergo supporta firme ad anello e prove a conoscenza zero non interattive.

Ergo non è una moneta per la privacy di per sé, ma supporta strumenti di privacy estremamente potenti, come un mixer on-chain che combina CoinJoin con zk-SNARK s per creare un nuovo potente protocollo chiamato ZeroJoin [7].

Le tecniche di miglioramento della privacy nelle blockchain generalmente rientrano in due categorie. Il primo è nascondere gli importi trasferiti, ad esempio nelle transazioni riservate [1]. Il secondo è oscurare le relazioni input-output come in Ze-roCoin [2], CoinJoin [3]. Alcune soluzioni come MimbleWimble [4] e Zcash [5,6] combinano entrambi gli approcci.

In questo lavoro, descriviamo ZeroJoin, un altro protocollo di miglioramento della privacy basato su quest’ultimo approccio di oscurare le relazioni input-output, mantenendo gli importi pubblici. Questo ci consente di evitare costose prove di portata necessarie per il primo approccio. Il nostro protocollo è motivato da ZeroCoin e CoinJoin al fine di superare alcuni dei loro limiti e può essere pensato come una combinazione dei due. [7]

Più in generale l’utilizzo di questi protocolli all’interno degli smart contract permette la creazione di DApp che rispettano la privacy finanziaria e legale.

[7]

f. Economia

Ergo affronta il problema di ciò che accade quando tutte le monete vengono estratte, un problema che perseguita ancora la comunità Bitcoin. Lo fa sfruttando una commissione da monete che non si sono mosse in oltre quattro anni, per addebitarle per lo stoccaggio.

Questa idea è simile ai normali servizi di cloud storage, ma la sua applicazione ai sistemi blockchain ha diverse conseguenze significative. Innanzitutto, il mining di Ergo sarà sempre stabile, a differenza di Bitcoin e altre valute PoW, in cui il mining potrebbe diventare instabile dopo il periodo di emissione. In secondo luogo, la crescita delle dimensioni dello stato diventa controllabile e prevedibile riducendo i requisiti hardware per i minatori Ergo. In terzo luogo, riscuotendo le tasse di stoccaggio da scatole obsolete, i minatori restituiscono in circolazione le monete perse impedendo una costante diminuzione dell’offerta circolante a causa della perdita delle chiavi.

Questo è un concetto d’avanguardia e Chepurnoy ne parla nell’intervista che segue.

Tutto quanto sopra graffia a malapena la superficie di ciò che ERGO porta, ma dovrà essere sufficiente come introduzione di base. Per ora è il momento di incontrare il suo Fondatore.

5. Alex Chepurnoy (kushti)

Alex Chepurnoy è attivo nello sviluppo di blockchain e contratti intelligenti dal 2011. È stato uno sviluppatore principale per NXT, ha iniziato smartcontract.com nel 2014 ed è un ricercatore IOHK con oltre 20 articoli accademici a suo nome.

Anni fa, NXT era molto più avanti del gioco e mentre Alex tokenizzava le risorse e progettava scambi decentralizzati, Vitalik Buterin stava ancora scrivendo Bitcoin Magazine e aspettava di abbandonare l’università.

Charles Hoskinson, il co-fondatore di Ethereum che in seguito è stato coinvolto con Cardano (ADA) e ha fondato IOHK nel 2015, è molto positivo su Ergo.

Chepurnoy porta un sorriso spavaldo e curiosamente beatifico. L’abbigliamento e l’acconciatura del russo, visti sotto in questa presentazione del 2019, riportano alla mente (almeno per me) un Grande Maestro di scacchi del 1970.

Nella seguente intervista Alex Chepurnoy, alias kushti, parla con The Daily Chain di Ergo.

6. L’intervista

Alex Chepurnoy, fotografato al suo matrimonio (2014)

D. Ciao Alex. Puoi darci una carrellata dei tuoi contributi nello spazio blockchain?

Sono nello spazio dal 2011. Dall’inizio del 2013 ho iniziato a lavorare su diversi servizi intorno al trading di Bitcoin e criptovaluta (un portafoglio con auto-copertura, uno dei primi aggregatori di dati di trading lanciati contemporaneamente a BitcoinWisdom e così via).

Nell’aprile 2014, sono entrato a far parte dello sviluppo del core di Nxt e da allora mi sono concentrato principalmente sullo sviluppo del core. Inoltre, ho fatto un paio di progetti con Sergey Nazarov nel 2014 (cryptamail.com, secureae.com), e alla fine del 2014 abbiamo (io, Sergey Nazarov, Steve Ellis e Wesley) pubblicato la versione iniziale di smartcontract.com, che è stata imperniata sul noto ChainLink in questi giorni (ma me ne sono andato alla fine del 2015 e Wesley se n’è andato prima di me). Ho lasciato anche lo sviluppo del core di Nxt alla fine del 2015.

Lavorando su Nxt, ho iniziato un framework blockchain assolutamente semplice Scorex, che è stato successivamente imperniato in un framework blockchain modulare. Questo progetto ha attirato l’attenzione di Charles Hoskinson, cofondatore di Cardano ed Ethereum, intorno alla metà dell’autunno 2015. Poi sono entrato a far parte di IOHK intorno a gennaio 2016. Immagino di essere stato tra i primi cinque dipendenti forse anche! Il design iniziale di Ergo Platform è nato alla fine del 2016 e da metà 2017 sono in congedo non retribuito per concentrarmi completamente sullo sviluppo di Ergo Platform.

Google Scholar

D. Potresti dirci di più sul tuo lavoro con IOHK e su come questo è correlato al tuo lavoro su Ergo?

In IOHK abbiamo lavorato su Scorex e su alcuni argomenti di ricerca, come client stateless efficienti, protocollo ibrido Proof-of-Work + Proof-of-Stake (TwinsCoin), modello di affitto dello storage, client mobili efficienti (con una reale sicurezza SPV utilizzando la tecnologia NiPoPoW) e così via. Ergo Platform è parzialmente basata su articoli pubblicati da noi, ma abbiamo anche considerato i risultati fatti da altri (in IOHK, ad esempio NiPoPoW è stato sviluppato principalmente da Dionyzis Zindros e Prof. Kiayias, ma solo, una buona idea che suona insieme ad altri può venire da chiunque dopo tutto).

Q. Cosa facevi prima di Bitcoin? Potresti parlarci un po’ del tuo background e della tua formazione?

Ero nello sviluppo di sistemi distribuiti e anche interessato alle applicazioni peer-to-peer prima di Bitcoin. Il mio interesse per Bitcoin era inizialmente puramente tecnico, la comprensione e l’eccitazione per il possibile impatto sociale sono arrivate in seguito. Sono stato educato a fare sia il sistema (vicino al bare metal) che la programmazione a livello di applicazione, inoltre, ho un dottorato di ricerca incompiuto sulla verifica formale dei sistemi distribuiti. Per quanto riguarda la crittografia, sono per lo più autodidatta.

Q. Perché hai fondato Ergo e perché l’hai chiamato Ergo?

L’idea iniziale era quella di combinare diversi buoni disegni da carte che possono suonare ancora meglio essendo combinati. C’erano molti buoni disegni in giro esistenti solo su carta allora. Si è scoperto che il design è anche potrebbe essere considerato come una profonda rielaborazione di Bitcoin che va dagli stessi primi principi.

Ergo significa “quindi” in latino, ma “lavoro” in greco. Preferisco il secondo significato, ma entrambi vanno bene. Inizialmente il nome è stato scelto per indicare il fatto che il design della criptovaluta è ERGOnomical. Uno dei primi motti era “Ergo è la classe AAA delle blockchain Proof-of-Work”).

Q. È vero che Ergo sblocca il potenziale di Bitcoin con potenti script? Si prega di discutere.

Ergo sta seguendo il modello transazionale Bitcoin con monete una tantum (UTXO) da consumare completamente da una transazione di spesa. Ma uno script che protegge una moneta una tantum è totalmente diverso in Ergo. Tuttavia, l’attenzione si concentra sulla sicurezza e la scalabilità, ma i programmi in Ergo sono molto più potenti che in Bitcoin. Abbiamo esempi di crowdfunding, oracoli, scambio decentralizzato, stablecoin, aste e così via.

Un’altra caratteristica davvero unica è il supporto per protocolli a conoscenza zero efficienti e componibili noti come “Generalized Schnorr Proofs” (o sigma-protocols). Spiegherò ulteriormente le implicazioni.

Q. È giusto dire che Ergo ha imparato dagli errori commessi in Bitcoin? Si prega di discutere.

Ergo si basa su molte osservazioni di Bitcoin. Ad esempio, l’affitto di stoccaggio per stabilizzare il reddito dei minatori a lungo termine è stato ispirato dalla possibile instabilità della rete Bitcoin quando l’emissione sarà fatta. Lo scripting bitcoin non è amichevole per l’analisi e gli strumenti, lo abbiamo considerato durante la progettazione del livello contrattuale. Bitcoin adotterà le firme Schnorr mentre una firma più semplice in Ergo riguardava sempre Schnorr. E così via. Quindi è giusto dire che abbiamo imparato molto dallo studio approfondito di Bitcoin.

Q. Come paragoneresti il paradigma Ethereum dei contratti intelligenti con il paradigma Ergo dei contratti intelligenti? Si prega di menzionare i vantaggi o gli svantaggi di entrambi gli approcci.

Il linguaggio di Ergo non è Turing-completo, ma calcoli sulla blockchain che si sono dimostrati Turing-completi. Le applicazioni Ergo probabilmente più complesse da sviluppare, d’altra parte, sono più amichevoli per i clienti leggeri e più amichevoli per la privacy.

D. “Applicazioni Ergo probabilmente più complesse da sviluppare”. Potresti spiegarci e dirci se questa è una situazione temporanea?

I contratti potenti nel modello UTXO sono la cosa molto nuova, quindi i modelli di progettazione devono ancora essere scoperti. Probabilmente la situazione sarà molto diversa pochi anni dopo. Come riassunto abbastanza bene da Robert Kornacki qui.

“Dato che i sistemi UTXO basati su contratti intelligenti stanno nascendo, c’è una netta mancanza di modelli di progettazione noti su cui gli sviluppatori possono fare affidamento quando costruiscono dApp. Guardando ai modelli basati su account come Ethereum, i protocolli di codifica nel modello UTXO sono comparabilmente diversi come la scrittura di codice imperativo è funzionale.

Ma per alcune applicazioni già scoperte, si scopre che le soluzioni Ergo sono molto eleganti, rispetto a Ethereum. Tuttavia, uno sviluppatore deve entrare in un nuovo modello transazionale per ottenere una soluzione elegante.

Q. Quali contratti intelligenti sono stati implementati sulla mainnet di Ergo e quali modelli user-friendly esistono, se ce ne sono?

Mixer sta funzionando, ci sono alcuni oracoli che forniscono dati, test iniziali delle primitive stablecoin distribuite. I pool minerari in arrivo si basano anche su contratti collaterali. Presto ne verranno annunciati altri!

D. “Il linguaggio supporta un tipo di prove a conoscenza zero non interattive chiamate protocolli Σ ed è abbastanza flessibile da consentire firme ad anello, multifirme, valute multiple, swap atomici, script autoreplicanti e calcoli a lungo termine”. Si prega di spiegare il significato dei protocolli Sigma e di ErgoScript come evoluzione nella programmazione di contratti intelligenti.

Utilizzando Le prove di Schnorr generalizzate è possibile eseguire il mixaggio non interattivo a livello di applicazione e il mixer non interattivo sta già lavorando sulla mainnet della piattaforma Ergo! Il supporto per le firme ad anello e di soglia (preservando la conoscenza zero, a differenza delle firme multiple in Bitcoin) sta entrando nel client del protocollo di riferimento.

D. Per quanto riguarda lo stoccaggio: se ho 1000 ERG e non li tocco per 10 anni, quanti ne rimarranno?

998.7 almeno, se gli erg sono protetti con una sola chiave. L’affitto dello storage viene addebitato su base per byte, quindi se non si invia spam alla blockchain, le commissioni sarebbero molto tollerabili, immagino. Inoltre, i minatori possono cambiarli, quindi sto dando la risposta per quanto riguarda il massimo valore del coefficiente di commissione possibile (attualmente è 2 volte inferiore).

Q. Dici che aiuta a risolvere il problema del calo dei premi PoW, quindi perché non hai optato per un’emissione di coda?

Le infinite esigenze di emissione per una crescita infinita della domanda, per evitare l’inflazione (calo della capacità di acquisto, che riguarda un calo dei prezzi denominati in fiat, se consideriamo Ergo come un asset molto più volatile). Questo non poteva essere molto realistico, quindi eravamo a favore di emissioni limitate e risolvendo il problema della stabilità delle ricompense minerarie con altri mezzi.

D. Per quanto riguarda il “Contratto Sociale”: Charles Hoskinson ha chiamato Ethereum per aver rotto il “contratto sociale” dopo aver salvato TheDAO e violato “Code is Law”. Il Contratto Sociale di Ergo è una risposta a questo evento?

Sono stato anche molto critico nei confronti del fork di salvataggio di Ethereum, ed entrambi abbiamo rilasciato un’intervista su questo. Il Contratto Sociale di Ergo è sicuramente una risposta, a questo evento e a molti altri tristi eventi a cui abbiamo assistito nello spazio.

Q. Ci parli dell’audit di sicurezza ERGO e del motivo per cui Jean Philippe Aumasson è stato scelto per eseguire l’audit?

La sicurezza è la massima priorità per Ergo, è al di sopra delle caratteristiche di fantasia. Quindi è necessario che tutto il codice venga rivisto internamente, il che è una cosa normale per tutti i buoni progetti. Inoltre, le parti più critiche del codice sono state esaminate da persone altamente professionali e conosciute nello spazio. In particolare, l’implementazione dei protocolli sigma è stata esaminata da Leo Reyzin, professore della Boston University (ha anche progettato e implementato alcune parti dei protocolli sigma).

Successivamente, dopo il lancio della mainnet, abbiamo invitato Jean-Philippe a eseguire l’audit delle parti più critiche del codice: implementazione Proof-of-Work, portafoglio, serializzazione e così via. Jean-Philippe è molto noto nello spazio infosec e ha fatto alcuni audit per i clienti di criptovaluta prima che Ergo, ad esempio, facesse audit per Waves e Mantis client per Ethereum Classic. Speriamo di avere più audit in futuro!

Q. Puoi parlarci brevemente dei finanziamenti e delle partnership del progetto?

Lo sviluppo della piattaforma Ergo è finanziato tramite i premi del Fondo di sviluppo rilasciati su ciascun blocco durante i primi 2,5 anni di esistenza della mainnet. Con la liquidità e i prezzi attuali il finanziamento è difficile, tuttavia, lo sviluppo sta andando bene!

[5]

Le partnership sono parte essenziale della promozione di Ergo Platform. Attualmente, ci sono tre partnership annunciate. Recentemente Ergo è entrato a far parte di Blockchain Privacy, Security and Adoption Alliance (bpsaa.vision). Inoltre, a maggio Ergo Foundation ha annunciato una partnership con il portafoglio Cypra rispettoso della privacy (che sta pianificando di supportare BTC, ERG e alcune altre criptovalute, con supporto per atomic swap), cypra.io. Infine, Ergo ha appena annunciato una partnership con Emurgo per lavorare congiuntamente su DeFi, inoltre, Ergo sarà aggiunto al portafoglio Yoroi; i dettagli sono nel comunicato stampa.

D “La parte crittografica dello script Ergo si basa su protocolli sigma e supporta naturalmente le firme m-of-n di soglia, le firme ad anello e altro ancora.” Il più include prove a conoscenza zero e ZeroJoin. Si prega di discutere i protocolli sulla privacy in Ergo

Attualmente, l’applicazione di miglioramento della privacy più consolidata è un mixer chiamato ZeroJoin e descritto in https://eprint.iacr.org/2020/560. A differenza dei mixer in Bitcoin, ZeroJoin non è interattivo, quindi un utente sta lavorando con blockchain solo per mescolare, senza fare affidamento su servizi di custodia o coordinatori. Questo risolve molti problemi di sicurezza. Ci sono alcune implementazioni di ZeroJoin già
funzionanti nella mainnet!

Tuttavia, in futuro verranno sviluppate più applicazioni, credo, come aste preservate dalla privacy o DAO che preservano la privacy (vedi, credo che una blockchain di una criptovaluta sana sia per applicazioni finanziarie!).

Q. Ci sono cose che Ergo può fare che Ethereum non può?

Le applicazioni per la privacy dall’alto sono di solito costose in Ethereum per essere realistiche. Anche una firma ad anello è troppo costosa! Immagino che verranno scoperte più applicazioni che sono troppo costose in Ethereum ma realistiche in Ergo.

D. Ethereum ha creato “Account” (un modello non UTXO), “Gas” e una “Macchina virtuale” per eseguire contratti intelligenti. Ergo non ha nessuno di questi ed è “Bitcoin-like” e tuttavia può fare quasi tutto ciò che Ethereum può fare. Puoi spiegare in termini semplici come si ottiene questa “magia”?

C’è stato un problema che ho formulato nel 2017 e penso che nel contesto delle blockchain pubbliche (alias criptovalute) questo sia il problema più significativo in questi giorni forse. Il problema è il seguente: come supportare il 99% delle applicazioni Ethereum utili (quindi senza considerare gli schemi CryptoKitties e Ponzi) ma con strumenti molto più eleganti di quelli forniti da Ethereum, e un approccio deve essere amichevole anche per le soluzioni di scalabilità conosciute.

Le osservazioni generali guidate dallo sviluppo contrattuale di Ergo sono: quasi tutte le applicazioni utili sono applicazioni finanziarie; non c’è bisogno di memorizzare molti dati sulla blockchain, meglio per supportare brevi prove di autenticità dei dati offchain; meglio avere token integrati che creati tramite contratti; l’accesso a un elemento statale (contratto) all’interno di un altro contratto dovrebbe essere di sola lettura. Quindi abbiamo ottenuto molti esempi di contratti utili con strumenti molto eleganti e probabilmente Ergo supporta il 99% delle utili applicazioni Ethereum.

Q. Puoi parlare dei clienti Light e di come Ergo è diverso nel modo in cui li gestisce?

Il protocollo Ergo Platform è superiore rispetto ai client leggeri. Per la prima volta nello spazio ha il supporto per i full-node leggeri. C’è un grande video sulla tecnologia dietro questo. Ergo ha anche un supporto superiore per client mobili ultra-efficienti con una reale sicurezza SPV utilizzando la tecnologia NiPoPoW spiegata in https://nipopows.com/ .

7. Conclusione

“nanos gigantum humeris insidentes”

Ergo sta sulle spalle dei giganti, e si evolve rispetto al suo passato, alla sua ricerca nel presente e alla sua chiara visione per il futuro.

Ha imparato dagli errori commessi da Bitcoin ed Ethereum e ha sviluppato alcune delle soluzioni e tecnologie più innovative e brillanti mai create nello spazio delle criptovalute e dei contratti intelligenti.

Grazie

Alex Chepurnoy e Robert Kornacki

Link utili

Sito webGitHubTwitterDiscordCoinMarketCap



8. Riferimenti

[1] Smart Contracts: Building Blocks for Digital Markets, Nick Szabo (1996)
[2] Hash Time Locked Contracts — Bitcoin Wiki
[3] Payment Channels — Bitcoin Wiki
[4] ErgoScript, a Cryptocurrency Scripting Language Supporting, Noninteractive Zero-Knowledge Proofs, Ergo Developers (Marzo 2019)
[5] Ergo: The Resilient Platform For Contractual Money, Ergo Developers (Maggio 2019)
[6] Equilibri competitivi tra staking e prestito on-chain, Tarun Chitra (2019)
[7] ZeroJoin: Combining ZeroCoin and CoinJoin, Alexander Chepurnoy, Amitabh Saxena
[8] FlowCards: A Declarative Framework for Development of Ergo dApps, Alexander Slesarenko (Aprile 2020)
[9] High Level Design Patterns In Extended UTXO Systems, Robert Kornacki, (giugno 2020)
[10] CoinPool, esplorando pool di pagamento generici per divertimento e privacy, Antoine Riard e Gleb Naumenko (giugno 2020)

Articoli Correlati

Risposte