La casa di sviluppo di software open source Block.one ha rilasciato la sua piattaforma Blockchain EOS Dawn 3.0 su Github ieri, 6 aprile, secondo un post di EOSIO Medium. Dettaglio molto interessante è la dichiarazione di aver creato un sistema di operatibilita intercatena sicura quanto le operazioni su blockchain singola.
I dettagli
La versione dawn 2.0 era stata pubblicata nel dicembre dello scorso anno. La più recente pre-release della versione Dawn 3.0 di questo 6 aprile è nota come “una pietra miliare sulla strada verso EOSIO 1.0”. Questa versione, invece, secondo quanto riferito sarà pubblicata nel mese di giugno.
Uno sviluppo di estrema importanza
All’inizio di questo mese, come già trattato, Block.one e l’incubatrice tedesca di tecnologia finanziaria, FinLab AG, hanno annunciato una partnership per lo sviluppo di software EOS con un finanziamento di 100 milioni di dollari. Il post Medium di EOSIO scrive che “pensiamo di aver raggiunto” un obiettivo di estrema importanza. L’obiettivo in questione è quello di sviluppare un sistema di comunicazione inter-Blockchain. Il post spiega:
“La comunicazione inter-catena è la caratteristica di scalabilità finale, il sacro graal, che il settore stava cercando con proposte come catene laterali, plasma e sharding. La comunicazione inter-catena consente a una blockchain di verificare l’autenticità di un evento su un’altra blockchain in modo dimostrabilmente sicuro. L’obiettivo è che la comunicazione inter-catena sia sicura quanto la comunicazione intra-catena tra contratti intelligenti e pensiamo di aver raggiunto tale obiettivo.
Dal nostro punto di vista, la comunicazione inter-catena non è altro che la capacità di implementare un client leggero come uno smart contract. Un client leggero è in grado di convalidare le transazioni da una blockchain senza dover elaborare l’intera blockchain. Questo a sua volta porta a costruire una blockchain proof-of-stake con una validazione efficiente e sicura nella convalida delle transazioni light client. La validazione light-client deve quindi essere considerata nella progettazione del protocollo, in quanto è quasi impossibile da implementare a posteriori.”
Un progetto supera le iniziali prospettive
Dawn 3.0 contiene molte nuove caratteristiche che “non erano nemmeno contemplate nel whitepaper originale di EOSIO”. In particolare la capacità di “aumentare le transazioni al secondo senza necessità di hard fork” attraverso il calcolo parallelo. Altra funzionalità importante è la “capacità di implementare un light client come uno smart contract” che avrà sicuramente utilità anche al di fuori della comunicazione intercatena. Non da meno è l’integrazione di azioni context free il cui calcolo di convalida può essere “tagliato fuori dal replay”, e l’aggiunta di un nuovo sistema di limitazione del utilizzo di risorse.
Un curioso e semplice modo per migliorare la sicurezza
Il post Medium continua riportando una delle “caratteristiche più significative” di Dawn 3.0. Questa è un ritardo configurabile dall’utente per varie azioni che permetterà all’utente di sapere di essere stato hackato prima che la transazione di un hacker possa avere conseguenze. Questo perché il ritardo trasmette la transazione alla Blockchain per qualsiasi quantità di tempo scelto prima che possa essere applicata. EOSIO può essere usato senza token in Blockchain private e permissioned, ha un intervallo di blocco di mezzo secondo. Inoltre, EOS utilizza un sistema smart contract che consente di creare un “hello world” con solo “poche semplici righe di codice”.
Il post Medium termina con l’incoraggiare la rete pubblica EOSIO ad “operare quante più blockchain possibili per soddisfare la domanda degli utenti”. Questo al fine di creare il “massimo effetto di rete possibile intorno ad un singolo token e sfruttare la fiducia e la sicurezza degli incentivi economici creati da token dotati di ingente capitale di mercato totale”.
Supporto alle librerie C++ standard
Per EOSIO Dawn 3.0, è stato fatto uno sforzo significativo per aggiungere il supporto per la maggior parte della libreria di template standard C++. Questo significa che gli sviluppatori possono usare gli strumenti, le librerie e gli algoritmi che conoscono, eliminando il rischio di bug causati da implementazioni non standard di questi algoritmi.
Sistema di recupero password
Ogni account ha almeno due livelli di autorizzazione: “proprietario” e “attivo”. Il livello di autorizzazione del proprietario dovrebbe essere un N di M multisig dove non c’è N che non include la chiave del proprietario (s). Il livello di autorizzazione del proprietario può reimpostare l’autorizzazione attiva ogni volta che la chiave attiva viene persa o rubata. Se si perde la chiave utente o i partner multisig non collaborano, l’autorizzazione attiva dell’account può richiedere un ripristino dell’autorizzazione utente dopo 30 giorni di inattività. L’autorità proprietaria ha quindi 7 giorni di tempo per contestare la richiesta aggiornando l’autorità attiva.
Con questo modello, un’autorizzazione del proprietario dell’account controllata da uno o più portafogli hardware sarà protetta contro l’hacking e il guasto del dispositivo. Se il dispositivo fosse esercitato per mezzo di un iPhone Apple con hardware e chiavi private protette da Impronta digitale/Face ID, l’aggressore dovrebbe compromettere i partner multisig, rubare fisicamente il telefono e “rubare” le impronte digitali o il volto o compromettere il sistema. Idealmente, i vostri partner multisig dovrebbero utilizzare dispositivi hardware a sicurezza biometrica.
Previsioni delle capacità di scalabilità del sistema
“Peggior caso possibile” – 1.000 transazioni al secondo
Questa è la nostra performance di base senza alcuna ottimizzazione. Siamo in grado di supportare oltre 1000 TPS utilizzando una rete multi-nodo che esegue l’interprete con verifica della firma con un solo thread.
Stima “media” – 3.000 transazioni al secondo
Una volta acceso il compilatore JIT possiamo supportare 3000 TPS utilizzando una rete multi-nodo che esegue l’interprete con verifica della firma single-threaded.
“Miglior caso possibile” – 6.000 transazioni al secondo
Una volta implementata la verifica della firma parallela, possiamo ipotizzare che il tempo di parete per firma si avvicini a 0. Questo man mano che il livello di parallelismo e il numero di firme aumentano. Possiamo simulare questo ambiente disabilitando la verifica della firma. Con questo modello possiamo raggiungere i 6.000 TPS su una rete multi-nodo con il compilatore JIT.
Stima “teorica” – 8.000 transazioni al secondo
Se rimuoviamo il codice di rete dall’equazione e ci concentriamo solo su ciò che la CPU è in grado di fare con la verifica della firma disattivata e utilizzando la JIT, allora possiamo raggiungere le 8.000 transazioni single-threaded al secondo. Per andare più in alto di questo su una singola catena sarebbe necessario implementare l’esecuzione parallela del WebAssembly, e uno scheduler più avanzato. In questo stesso scenario, utilizzando l’interprete piuttosto che JIT, possiamo stimare 2700 TPS. Ciò suggerisce che il cambiamento relativamente semplice dell’abilitazione di JIT ci darà un aumento di circa tre volte del numero di transazioni al secondo massime. Queste misure sono state effettuate su un MacBook 2.8Ghz i7.
“Transazioni al secondo illimitate”
La definizione di “transazione al secondo” è spesso poco chiara. Con la comunicazione inter-catena possiamo suddividere il carico di lavoro tra tutte le blockchain che vogliamo. I token possono essere trasferiti in modo affidabile e sicuro tra le diverse catene. Con 1000 catene gestite in parallelo dagli stessi (o diversi) produttori di blocchi, abbiamo assistito a milioni di transazioni al secondo. Ciò rappresenta una realizzazione pratica delle proposte teoriche di scalabilità presentate da altre blockchain.
Incoraggiamo fortemente i produttori di blocchi di reti pubbliche basate su EOSIO a gestire tutte le catene necessarie per soddisfare la domanda degli utenti. Tutte le catene potrebbero utilizzare lo stesso token come base per lo stacking e l’allocazione delle risorse. Questo creerà il massimo effetto di rete possibile intorno ad un singolo token e sfrutterà la fiducia e la sicurezza degli incentivi economici creati dai token ad alta capitalizzazione di mercato.
Applicazioni come gli exchange, le valute e i social media possono bilanciare banalmente i loro carichi tra molte catene parallele. Questa possibilità assicura che nessun utilizzo della blockchain sia escluso per via delle “limitazioni” in quanto a numero di transazioni al secondo massimo delle singole blockchain.
Analisi
Il progetto EOS è sicuramente tra i più interessanti al momento in cantiere nel mondo delle criptovalute. Infatti è stato già trattato come EOS potrebbe rivelarsi il miglior investimento a lungo termine grazie al suo sistema di finanziamento delle startup. Queste startup, infatti, hanno incentivo a eseguire airdrop direttamente a chi è in possesso del token EOS. EOS ha attratto numerose iniziative, tra cui lo sviluppo di un nuovo exchange di Bitfinex, EOSfinex. Ma l’entusiasmo dovuto a questo progetto scema quando si pensa alla quantità di controversie riguardanti Bitfinex nei ultimi tempi.
EOS è un progetto che non nasconde la sua intenzione di appropriarsi di almeno parte del mercato attualmente detenuto principalmente da Ethereum. Infatti EOS ha reso il più possibilmente semplice la migrazione di DAPP sviluppate per Ethereum sulla sua blockchain, cosa che potrebbe portare a una rapida crescita una volta dopo il rilascio della blockchain principale in programma per giugno.