L'EMERSIONE della Blockchain: scoprire i segreti di Emercoin
Pubblicato: 2021-08-09Nel primo di una serie di articoli che svelano la gamma di applicazioni delle tecnologie blockchain abilitate da Emercoin, esaminiamo come è nata questa criptovaluta e come è diversa da tutti gli altri esemplari del settore in forte espansione delle criptovalute.
Le reti peer-to-peer crescono in efficienza e affidabilità con l'aumentare del numero di partecipanti. Questo li rende uno strumento perfetto per soluzioni su scala aziendale e globale che vanno ben oltre le "semplici" applicazioni finanziarie. Il mondo sta iniziando a rendersene conto ora. In Emer, questa è stata l'idea che ha guidato la nostra crescita fin dall'inizio.
Emercoin Core
Storicamente, il core di Emercoin è stato ereditato da Peercoin, che a sua volta è emerso da Bitcoin. Peercoin ha introdotto un'innovazione essenziale chiamata consenso Proof-of-Stake (PoS). Ciò ha permesso di espandere e migliorare l'algoritmo Proof-of-work (PoW) allora esistente.
Il consenso è un algoritmo utilizzato in una rete decentralizzata per convalidare una certa versione di una blockchain in crescita. Il consenso risulta da tutti i minatori” che utilizzano le proprie risorse per “votare” per tale convalida. Per questo, vengono premiati con criptovalute di nuova creazione. In altre parole, i minatori vendono il loro servizio di "mantenimento della fiducia della rete" in cambio di monete.
Allora come facciamo a sapere chi ha diritto di voto?
Non può essere un portafoglio, perché un utente fraudolento potrebbe creare milioni di portafogli e utilizzare questi voti fantasma per convalidare qualsiasi versione blockchain che preferisce.
Anche questo non può essere un indirizzo IP, poiché qualsiasi ISP può falsificare una rete di grandi dimensioni, creando anche orde di elettori fantasma.
Quindi il voto richiede una risorsa limitata che non può essere replicata o falsificata.
Per il sistema Bitcoin, Satoshi Nakamoto ha proposto una soluzione Proof-of-Work, che prevede la convalida attraverso la capacità di calcolo. Infatti, se la capacità di calcolo del tuo computer è X, puoi creare N sottocomputer virtuali, ma la capacità di calcolo aggregata non supererà X. In altre parole, il proprietario di tali sottocomputer virtuali non avrà più voti di un singolo utente.
Quindi sono stati offerti altri concetti di consenso incentrati su risorse di elaborazione diverse dai processori. Ad esempio, la prova di capacità si basava sulla capacità dell'unità disco. Ciò provoca una corsa agli armamenti nell'evoluzione dell'ecosistema delle criptovalute. I minatori continuano a investire nel loro hardware fino a quando le spese di ammortamento delle loro attrezzature non azzerano il reddito generato dal mining. Quindi iniziano a lamentarsi che "l'estrazione mineraria non genera alcun guadagno" o che "la criptovaluta non è altro che una truffa".
Il Proof-of-Stake era un concetto innovativo introdotto da Sunny King in Peercoin. Peercoin ha limitato la capacità di voto dalle proprie monete. Ciò ha contribuito a evitare la corsa agli armamenti sostituendo le risorse materiali (processori, unità disco) con quelle virtuali (monete). Di conseguenza, le persone hanno smesso di sprecare risorse materiali, denaro ed elettricità nel perseguimento di una maggiore potenza mineraria.
Anche l'algoritmo PoS ha i suoi difetti. Ad esempio, è vulnerabile agli attacchi interni. Questi ultimi sono parzialmente prevenuti da strumenti aggiuntivi come, ad esempio, i checkpoint dinamici. In generale, PoS ha dimostrato di essere più sicuro di PoW.
Il protocollo di consenso ibrido utilizzato da Peercoin è considerato il più sicuro, ed è per questo che lo abbiamo utilizzato come base per il progetto Emercoin. Per avere successo, un aggressore su Emer deve possedere il 51% della capacità di calcolo aggregata della rete e il 51% del suo stock di monete. Due barriere di diversa natura proteggono ampiamente la rete dal discredito.
Un altro motivo per cui è stato scelto Peercoin è stato il codice Bitcoin classico e maturo utilizzato nel suo nucleo. Non solo è stato esaminato da molti esperti di sicurezza, ma ha anche affrontato diversi attacchi falliti.
Infine, volevamo seguire un approccio industriale ai progetti, consentendo la massima conformità agli standard e alle specifiche esistenti, e le tecnologie e le API di Bitcoin hanno di fatto determinato gli standard per l'industria delle criptovalute.
Emercoin vs Bitcoin: somiglianze e differenze
PoW+PoS contro PoW
Come già accennato, Emercoin utilizza un protocollo di consenso ibrido. preso da Peercoin. L'unico cambiamento che abbiamo fatto è stato aumentare il peso del PoS a circa l'80%. Pertanto, Emer è una criptovaluta essenzialmente basata su PoS, con uno strumento PoW ausiliario.
SHA-256
Emercoin chiude i blocchi utilizzando la stessa funzione hash SHA-256. Lo abbiamo scelto perché è uno standard ufficiale e sufficientemente sicuro. Inoltre, gli ASIC speciali eseguono già da tempo il mining SHA-256, quindi i minatori possono essere sicuri che nessun nuovo hardware per scopi speciali progettato per un altro algoritmo provocherà una rivoluzione della complessità per scuotere la rete e consolidare la capacità di mining nelle mani di coloro che possiedono tale nuovo hardware.
Come nota a margine, siamo contrari al mining con computer generici, poiché questo approccio è potenzialmente pericoloso per le parti non coinvolte. Prima che apparissero gli ASIC, un certo numero di virus informatici utilizzava le capacità di calcolo dei computer interessati per estrarre Bitcoin. Gli ASIC hanno reso tale malware economicamente non redditizio. Ma altre criptovalute estratte tramite computer generici sono ancora esposte a questo rischio.
Intervallo di blocco di 10 minuti
Proprio come Bitcoin e Peercoin, Emercoin fornisce 10 minuti per chiudere un blocco. Un tempo più breve per blocco comporterebbe più collisioni con blocchi orfani e una perdita di affidabilità della rete.
La probabilità di collisione viene calcolata dividendo il tempo di aggiornamento della rete per il tempo di chiusura del blocco. Il tempo di aggiornamento della rete dipende dalla topologia della rete e dal carico. L'aggiornamento della rete Bitcoin richiede pochi minuti. Altre criptovalute (ad es. Quark) che hanno ridotto il tempo di chiusura del blocco a meno di un minuto incontrano un'esposizione costante al fork non appena il carico di rete diventa più o meno consistente.
Si può obiettare facendo riferimento all'ottimo protocollo Ghost di Ethereum, che non è esposto a fork. Anche se i suoi blocchi orfani ("zii") non fanno parte della blockchain risultante, partecipano al voto per una versione a catena, quindi l'intervallo di blocco può essere ridotto a circa 20 secondi.
Ma questo protocollo ha le sue vulnerabilità. Ad esempio, una rete Ghost è soggetta a tempeste di rete, quando si verificano quantità estreme di traffico nelle reti Ethernet sotto un determinato carico. In poche parole, la rete è vulnerabile perché il suo tempo di aggiornamento è proporzionato al suo traffico. Sotto un carico critico (troppe transazioni al secondo), il tempo di aggiornamento diventa paragonabile al tempo di generazione del blocco. In questo caso, diversi miner possono generare indipendentemente blocchi candidati da includere nella blockchain. E qui arriva una sorpresa: questi blocchi conterranno le stesse transazioni. Quindi circoleranno ancora una volta attraverso la rete, moltiplicando il traffico, cioè generando più carico di rete, più ritardi e più "zii". La rete si comporterà come se fosse esposta a un attacco di amplificazione DNS/NTP, con gli stessi nodi di rete che sono sia l'attaccante che la vittima.
Inoltre, nella blockchain è incluso un solo blocco candidato. Poiché la rete ha utilizzato risorse non solo per calcolare quel blocco, ma anche i suoi compagni-block, che hanno votato ma non sono stati inclusi nella blockchain risultante, la fiducia nella blockchain accettata diminuisce drasticamente. Di conseguenza, la rete può essere attaccata con meno del 51% della sua capacità di calcolo aggregata.
Tutto sommato, crediamo che l'approccio proposto da Satoshi Nakamoto sia ancora il migliore disponibile.
Ricalcolo della complessità dopo ogni blocco
A differenza di Bitcoin, che ricalcola la sua complessità di mining ogni 2016 blocchi (cioè circa ogni due settimane), entrambe le reti Emer e Peercoin lo fanno dopo ogni nuovo blocco, contribuendo all'affidabilità della rete. Ecco un esempio:
Supponiamo che dopo un ricalcolo pianificato della complessità, il 50% dei minatori di Bitcoin smetta di funzionare. A proposito, questa situazione non è così improbabile come potrebbe sembrare. Ciò potrebbe accadere se i governi dei paesi che ospitano grandi pool minerari adottassero alcune leggi a tal fine, come potrebbe accadere presto in Cina. Di conseguenza, gli intervalli per la chiusura dei blocchi raddoppieranno a 20 minuti e anche la dimensione del blocco raddoppierà. Considerando che molti blocchi oggi hanno raggiunto il limite di 1 MB, è probabile che molte transazioni rimarranno non confermate per giorni. Ciò potrebbe provocare panico e ulteriori transazioni da parte di chi volesse vendere al prezzo attuale, aggravando ulteriormente la situazione. Ci vorrebbero settimane prima che il sistema si riprenda.
Una rete che ricalcola la propria complessità dopo ogni nuovo blocco non è esposta a tale rischio, poiché si adatta istantaneamente alla capacità di calcolo aggregata dei nuovi minatori. Inoltre, essendo prevalentemente una criptovaluta PoS, Emercoin non è molto influenzato dal mining e/o dai pool. Anche se tutti i pool smettessero di funzionare contemporaneamente, ci vorrebbe solo il 20% in più di tempo per aggiungere un blocco e il sistema di aggiustamento risolverebbe questo problema in sole 24 ore.
Rivalutazione del numero di blocchi PoW assegnati
Emercoin ha un meccanismo in più per mantenere più affidabile la sua capacità di miner, un ciclo di feedback negativo che utilizza l'hash rate della rete (capacità di miner aggregata). Il punto è che la ricompensa del miner non è fissa (come nel caso di Bitcoin), ma inversamente proporzionale alla quarta radice della complessità della rete.

Se il valore fiduciario di Emercoin aumenta, cioè più utenti iniziano a estrarlo, ciò contribuisce alla complessità della rete e quindi riduce la ricompensa per ogni blocco. Di conseguenza, la rete viene protetta dall'inflazione fiat elevata . Al contrario, se i minatori perdono interesse per Emercoin per qualsiasi motivo, il sistema diventa molto meno complicato e mantiene i minatori offrendo ricompense più elevate.
In teoria, la strategia di mining di Emercoin più efficiente è quella di cooperare ed estrarre utilizzando la capacità minima e condividendo il reddito massimo. Tuttavia, questo è improbabile, perché i minatori dovranno affrontare una variazione del dilemma del prigioniero .
Rendimento percentuale annuo del 6% per PoS
Poiché Emercoin è una criptovaluta PoS, un minatore può generare entrate sia con l'hardware di mining che con le monete nel proprio portafoglio. Abbiamo scelto di pagare i bonus PoS al tasso del 6% annuo. In altre parole, se le monete utilizzate per chiudere una transazione rimangono intatte per più di un mese, è probabile che queste possano essere utilizzate per chiudere un blocco, generando un APY del 6% per il proprietario. Una volta utilizzate le monete, il periodo di inattività "si esaurisce" e inizia un nuovo periodo di inattività per il nuovo proprietario. In altre parole, il 6% APY è la ricompensa massima PoS, che può essere ricevuta solo se le monete rimangono intatte. Attualmente, l'effettivo aumento dello stock di denaro tramite PoS APY è di circa il 4-5% annuo. Man mano che Emercoin diventa più diffuso e le transazioni più numerose, questo valore diminuirà per corrispondere ai tassi tipici delle valute fiat forti, sebbene mai completamente annullato.
Si può obiettare che questo APY del 6% genera inflazione, ma va detto che Emercoin ha un andamento deflazionistico, cioè il valore della moneta sta crescendo, e abbastanza velocemente. Lo si può vedere nel suo tasso di cambio, che è aumentato di quasi quattro volte dall'inizio dell'anno. Questa discrepanza con il modello ingenuo è dovuta al fatto che il valore della moneta è legato al corrispondente valore economico. La crescita economica comporta un aumento del valore della moneta, quindi PoS ha un contributo trascurabile alla crescita complessiva dello stock di moneta, rispetto ad altri fattori.
Emissione e cancellazione di Emercoin
Si può concludere da quanto sopra che lo stock di moneta Emercoin potrebbe crescere perennemente. Sembra essere vero in prima approssimazione. Infatti, i partecipanti che mantengono il consenso vendono i loro servizi alla rete e vengono ricompensati con monete appena create. Tuttavia, Emercoin ha un meccanismo che annulla le monete, bilanciando così l'emissione di monete. Lo fa prendendo una commissione per i servizi blockchain come l'invio di monete o l'acquisto di account con NVS. In altre parole, a differenza di Bitcoin, che ha dei limiti per l'emissione di monete e non ha strumenti per annullarle, Emercoin permette di emetterle a tempo indeterminato, ma ha anche un processo opposto per bilanciarlo. I partecipanti che vendono i loro servizi alla rete vengono premiati e coloro che acquistano servizi dalla rete li pagano.
A una stima approssimativa e considerando i fattori attualmente disponibili, entro 80 anni verrà generato un totale di circa 1 miliardo di EMC.
Rivelare gli indirizzi IP esterni
La prima innovazione unica implementata da Emercoin è stato il protocollo RFC5389, uno strumento STUN per rivelare indirizzi IP esterni. Dopo NAT, il software del portafoglio deve conoscere l'indirizzo IP esterno per funzionare correttamente. I bitcoin erano soliti, e altri lo fanno ancora, riceverlo rivolgendosi a un server centralizzato ( http://checkip.dyndns.org ). Successivamente è passato a UPNP e alle impostazioni di configurazione manuale. Abbiamo rifiutato questo approccio per diversi motivi, ad esempio il mancato funzionamento di UPNP dopo un NAT multistrato. Alla fine, abbiamo deciso di non utilizzare affatto un server centralizzato, ma di applicare lo standard STUN, che viene utilizzato per scopi simili nel VoIP. Al momento gestiamo l'elenco più completo di server STUN pubblici disponibili e utilizziamo questi server all'interno del nostro sottosistema STUN per identificare gli indirizzi IP esterni.
Ottimizzatore delle transazioni
Il Transaction Optimizer è un'altra innovazione unica implementata in Emercoin.
Le criptovalute con blockchain contenenti transazioni richiedono di selezionare un sottoinsieme per la spesa durante la creazione di una nuova transazione. Bitcoin e altre criptovalute utilizzano un algoritmo stocastico che richiede 1.000 campioni casuali per selezionare un sottoinsieme che contenga un importo il più vicino possibile a quello richiesto. Tuttavia, anche se il portafoglio contiene un sottoinsieme che corrisponde alla somma esatta, l'algoritmo standard lo ignorerebbe quasi sempre, creando una nuova transazione per il pagamento e mantenendo la differenza. Ciò si traduce nella creazione di transazioni sovradimensionate e nella generazione di una transazione futura per spendere la differenza.
Questo algoritmo porta anche al problema della "polvere d'oro", con conseguente elevato numero di transazioni di basso valore.
Emercoin applica un approccio di programmazione dinamica alla selezione del sottoinsieme di transazioni. Questo algoritmo è garantito per trovare un sottoinsieme perfettamente corrispondente, se esiste. Le nostre valutazioni mostrano che l'importo medio delle transazioni è quindi diminuito del 5%, rallentando la crescita della blockchain.
Checkpoint dinamici distribuiti
Le criptovalute PoS sono vulnerabili ad alcuni attacchi esotici specifici per PoS. Uno dei più pericolosi è l'"attacco interno". Se un attore fraudolento ottiene il controllo su portafogli che contengono monete già spese, può emulare un rollback a un momento in cui questi portafogli contenevano effettivamente monete. In questo modo l'attore otterrebbe il controllo sul 51% delle monete, costruirebbe una blockchain alternativa più lunga di quella principale e modificherebbe il contenuto della blockchain in modo retrospettivo.
Questi attacchi possono essere prevenuti attraverso checkpoint che limitano la ristrutturazione della blockchain a un certo livello di profondità. Bitcoin utilizza solo checkpoint rigidi incorporati nel codice del portafoglio; tali checkpoint vengono aggiornati ad ogni aggiornamento del portafoglio. Peercoin ed Emercoin, invece, utilizzano checkpoint dinamici con i dati dei checkpoint inviati online. Ciò non richiede alcun aggiornamento del codice da parte del cliente e consente di aggiornare costantemente la struttura del checkpoint.
Peercoin prevede un solo nodo per inviare i dati del checkpoint. Se inviati da più nodi, tali dati genererebbero un conflitto di rete. Di conseguenza, l'errore di questo nodo impedirebbe l'aggiornamento dei dati del checkpoint dinamico.
Emer, d'altra parte, ha implementato un algoritmo di checkpoint dinamico distribuito, che impedisce a diversi nodi indipendenti di inviare dati di checkpoint duplicati. Ciò contribuisce all'affidabilità della rete, poiché i checkpoint vengono comunque aggiornati anche se alcuni nodi si guastano.
Nessun contratto intelligente in stile Ethereum
Emercoin non prevede tali contratti e non ha intenzione di introdurli. Siamo completamente contrari a tali contratti per motivi di sicurezza. Abbiamo sempre creduto che il download non autorizzato di codice dipendente dall'operazione completa di Turing fosse estremamente pericoloso e il recente furto di 31 milioni di dollari di Ether ci ha dato ragione.
Archiviazione nome-valore (NVS)
Il sottosistema Name-Value Storage (NVS) è la nostra innovazione principale con un valore pratico esterno, ispirato alla criptovaluta DNS distribuita Namecoin.
A differenza di una struttura simile in Namecoin, che si concentrava fortemente sul DNS distribuito, Emercoin NVS è un sistema di archiviazione per scopi generici distribuito affidabile con controllo condiviso.
In poche parole, questo sottosistema può memorizzare qualsiasi dato binario fino a 20 Kb di dimensione. Questi punti dati sono collegati a una chiave di ricerca fino a 512 byte, unica per l'intera rete. Ogni record è associato a un indirizzo di pagamento appartenente al proprietario del portafoglio corrispondente.
Il titolare dell'indirizzo di pagamento è l'unica persona autorizzata a gestire il record. Gestire un record significa creare un nuovo record per sostituire quello vecchio o trasferire la proprietà a un altro indirizzo di pagamento. I vecchi record non vengono mai cancellati e rimangono accessibili dalla relativa blockchain. Pertanto, ogni record ha la cronologia completa dei cambiamenti nella sua proprietà.
Tecnicamente, un record nella blockchain è il risultato di una transazione EMC 0,01 (che presto sarà ridotta a EMC 0,0001), attribuita all'indirizzo di pagamento del proprietario del record. In quanto tale, questo risultato contiene i contenuti NVS. Il titolare del record è l'unica persona autorizzata a spendere questo risultato, in quanto la chiave privata per autorizzare il deflusso può essere trovata solo all'interno del proprio portafoglio. Per spendere questo importo è necessario modificare il valore del record o altri attributi, incluso l'indirizzo per il pagamento. In quest'ultimo caso, il record viene trasferito al portafoglio che contiene l'indirizzo del beneficiario.
Il sottosistema NVS può essere indirizzato tramite un'API JSON (simile a quella di Bitcoin) o tramite la GUI del portafoglio.
Il sistema Emercoin NVS è ciò che alimenta tutti i servizi basati su Emercoin che descriveremo nei nostri ulteriori post, dal 2017 al 2018 - quindi restate sintonizzati.