EMERsiunea Blockchain: descoperirea secretelor Emercoin

Publicat: 2021-08-09

În primul dintr-o serie de articole care descoperă gama de aplicații ale tehnologiilor blockchain compatibile cu Emercoin, ne uităm la modul în care a apărut această criptomonedă și la modul în care este diferită de toate celelalte specimene ale industriei în plină expansiune a criptomonedelor.

Rețelele de la egal la egal cresc în eficiență și fiabilitate pe măsură ce crește numărul participanților. Acest lucru le face un instrument perfect pentru soluții la nivel de întreprindere și la nivel global, care depășesc cu mult „simpla” aplicație financiară. Lumea începe să-și dea seama acum. La Emer, aceasta a fost ideea care a condus creșterea noastră de la bun început.

Emercoin Core

Din punct de vedere istoric, nucleul Emercoin a fost moștenit de la Peercoin, care la rândul său a apărut din Bitcoin. Peercoin a introdus o inovație esențială numită consens Proof-of-Stake (PoS). Acest lucru a permis extinderea și îmbunătățirea algoritmului de dovadă a muncii (PoW), existent atunci.

Consensul este un algoritm utilizat într-o rețea descentralizată pentru a valida o anumită versiune a unui blockchain în creștere. Rezultatele consensului de la toți minerii ”care își folosesc propriile resurse pentru a„ vota ”pentru o astfel de validare. Pentru aceasta, ei sunt recompensați cu criptocoine nou create. Cu alte cuvinte, minerii își vând serviciul de „întreținere a încrederii în rețea” în schimbul monedelor.

Deci, de unde știm cine are dreptul la vot?

Nu poate fi un portofel, deoarece atunci un utilizator fraudulos ar putea crea milioane de portofele și ar putea folosi aceste voturi fantomă pentru a valida orice versiune blockchain care le place.

Nici aceasta nu poate fi o adresă IP, pentru că orice ISP poate falsifica o rețea mare, creând și hoarde de alegători fantomă.

Deci votul necesită o resursă limitată care nu poate fi reprodusă sau falsificată.

Pentru sistemul Bitcoin, Satoshi Nakamoto a propus o soluție Proof-of-Work, care implică validarea prin capacitatea de calcul. Într-adevăr, dacă capacitatea de calcul a computerului dvs. este X, puteți crea N sub-computere virtuale, dar capacitatea de calcul agregată nu va depăși X. Cu alte cuvinte, proprietarul acestor sub-calculatoare virtuale nu va avea mai multe voturi decât un singur utilizator.

Apoi au fost oferite alte concepte de consens care s-au concentrat pe resurse de calcul, altele decât procesoarele. De exemplu, dovada capacității s-a bazat pe capacitatea unității de disc. Acest lucru provoacă o cursă a înarmărilor în evoluția ecosistemului criptomonedelor. Minerii continuă să investească în hardware-ul lor până când cheltuielile cu deprecierea echipamentului elimină veniturile generate de minerit. Apoi încep să se plângă că „mineritul nu generează câștig” sau „criptomoneda nu este altceva decât o escrocherie”.

Dovada mizei a fost un concept inovator introdus de Sunny King în Peercoin. Peercoin a limitat capacitatea de vot prin propriile sale monede. Acest lucru a ajutat la evitarea cursei înarmărilor prin înlocuirea resurselor materiale (procesoare, unități de disc) cu cele virtuale (monede). Drept urmare, oamenii au încetat să mai irosească resurse materiale bani și electricitate în căutarea unei puteri miniere mai mari.

Algoritmul PoS, de asemenea, defectele sale. De exemplu, este vulnerabil la atacurile din interior. Acestea din urmă sunt parțial prevenite de instrumente suplimentare, cum ar fi, de exemplu, puncte de control dinamice. În general, PoS s-a dovedit a fi mai sigur decât PoW.

Protocolul de consens hibrid utilizat de Peercoin este considerat a fi cel mai sigur și de aceea l-am folosit ca bază pentru proiectul Emercoin. Pentru a reuși, un atacator pe Emer trebuie să dețină 51% din capacitatea de calcul agregată a rețelei și 51% din stocul său de monede. Două bariere de natură diferită protejează în mare măsură rețeaua de a fi discreditată.

Un alt motiv pentru care a fost ales Peercoin a fost codul Bitcoin clasic și matur folosit în nucleul său. Nu numai că a fost revizuit de mulți experți în securitate, ci și a făcut față mai multor atacuri eșuate.

În cele din urmă, am dorit să urmăm o abordare industrială a proiectelor, permițând respectarea maximă a standardelor și specificațiilor existente, iar tehnologiile și API-ul Bitcoin au determinat de facto standardele pentru industria criptografică.

Emercoin vs Bitcoin: asemănări și diferențe

PoW + PoS vs PoW

După cum sa menționat deja, Emercoin utilizează un protocol consens hibrid. luat de la Peercoin. Singura modificare pe care am făcut-o a fost să creștem greutatea PoS la aproximativ 80%. Astfel, Emer este o criptomonedă esențial bazată pe PoS, cu un instrument auxiliar PoW.

SHA-256

Emercoin închide blocuri folosind aceeași funcție hash SHA-256. Am ales-o pentru că este un standard oficial și suficient de sigur. În plus, ASIC-urile speciale fac miniere SHA-256 de ceva timp, astfel încât minerii pot avea încredere că niciun nou hardware special conceput pentru un alt algoritm nu va provoca o revoluție de complexitate pentru a scutura rețeaua și a consolida capacitatea de exploatare în mâinile cei care dețin un hardware atât de nou.

Ca o notă secundară, suntem împotriva mineritului cu computere de uz general, deoarece această abordare este potențial periculoasă pentru părțile neimplicate. Înainte de apariția ASIC-urilor, un număr de viruși computerizați foloseau capacitățile de calcul ale computerelor afectate pentru a extrage Bitcoins. ASIC-urile au făcut ca aceste programe malware să nu fie viabile din punct de vedere economic. Bur alte criptomonede exploatate prin computere de uz general sunt încă expuse acestui risc.

Interval de blocare de 10 minute

La fel ca Bitcoin și Peercoin, Emercoin oferă 10 minute pentru a închide un bloc. Un timp mai scurt pe bloc ar duce la mai multe coliziuni cu blocurile orfane și la pierderea fiabilității rețelei.

Probabilitatea de coliziune este calculată prin împărțirea timpului de actualizare a rețelei la timpul de închidere a blocului. Timpul de actualizare a rețelei depinde de topologia și încărcarea rețelei. Actualizarea rețelei Bitcoin durează câteva minute. Alte criptomonede (de exemplu, Quark) care au redus timpul de închidere a blocului la mai puțin de minute se confruntă cu o expunere constantă a furcii imediat ce încărcarea rețelei devine mai mult sau mai puțin substanțială.

Se poate obiecta făcând referire la protocolul excelent Ghost Ethereum, care nu este expus furcilor. Chiar dacă blocurile sale orfane („unchi”) nu fac parte din blockchain-ul rezultat, ele participă la votarea unei versiuni de lanț, astfel încât intervalul de blocuri poate fi redus la aproximativ 20 de secunde.

Dar acest protocol are propriile sale vulnerabilități. De exemplu, o rețea Ghost este predispusă la furtuni de rețea, atunci când cantități extreme de trafic apar în rețelele Ethernet sub o anumită sarcină. Pur și simplu, rețeaua este vulnerabilă, deoarece timpul său de actualizare este proporțional cu traficul său. Sub o sarcină critică (prea multe tranzacții pe secundă), timpul de actualizare devine comparabil cu timpul de generare a blocului. În acest caz, diferiți mineri pot genera în mod independent blocuri candidate pentru a fi incluse în blockchain. Și aici vine o surpriză: aceste blocuri vor conține aceleași tranzacții. Așa că vor circula din nou prin rețea, multiplicând traficul, adică generând mai multă rețea, mai multe întârzieri și mai mulți „unchi”. Rețeaua se va comporta ca și când ar fi expusă unui atac de amplificare DNS / NTP, aceleași noduri de rețea fiind atât atacatorul, cât și victima.

Mai mult, un singur bloc candidat este inclus în blockchain. Deoarece rețeaua a folosit resurse nu numai pentru a calcula acel bloc, ci și colegii săi - blocuri, care au votat, dar nu au fost incluse în blockchain-ul rezultat, încrederea în blockchain-ul acceptat scade dramatic. Ca urmare, rețeaua poate fi atacată cu mai puțin de 51% din capacitatea sa de calcul agregată.

Una peste alta, credem că abordarea propusă de Satoshi Nakamoto este încă cea mai bună disponibilă.

Recomputarea complexității după fiecare bloc

Spre deosebire de Bitcoin, care își recalculează complexitatea minieră la fiecare blocuri din 2016 (adică aproximativ la fiecare două săptămâni), atât rețelele Emer, cât și Peercoin fac acest lucru după fiecare bloc nou, contribuind la fiabilitatea rețelei. Iată un exemplu:

Să presupunem că, după o recomputare programată a complexității, 50% dintre minerii Bitcoin încetează să mai lucreze. Apropo, această situație nu este atât de puțin probabilă pe cât pare. Acest lucru s-ar putea întâmpla dacă guvernele din țările care găzduiesc piscine miniere mari adoptă unele legi în acest scop - așa cum ar putea fi cazul în curând în China. Ca urmare, intervalele pentru blocurile de închidere se vor dubla la 20 de minute, iar dimensiunea blocului se va dubla și. Având în vedere că astăzi multe blocuri au atins limita de 1 MB, este posibil ca multe tranzacții să rămână neconfirmate zile întregi. Acest lucru ar putea provoca panică și mai multe tranzacții ale celor care doresc să vândă la prețul actual, agravând în continuare situația. Ar dura câteva săptămâni până când sistemul se va recupera.

O rețea care își recalculează complexitatea după fiecare bloc nou nu este expusă unui astfel de risc, deoarece se ajustează instantaneu la capacitatea de calcul agregată a noilor mineri. Mai mult, fiind predominant o criptomonedă PoS, Emercoin nu este atât de afectat de minerit și / sau de bazine. Chiar dacă toate bazinele ar înceta să funcționeze în același timp, ar fi nevoie de doar 20% mai mult timp pentru a adăuga un bloc, iar sistemul de ajustare ar rezolva acest lucru în doar 24 de ore.

Reevaluarea numărului de blocuri premiate acordate

Emercoin mai are încă un mecanism pentru a-și menține capacitatea de miner mai fiabilă, o buclă de feedback negativ care utilizează rata de hash a rețelei (capacitatea de miner agregată). Ideea este că recompensa minerului nu este fixă ​​(ca în cazul Bitcoin), ci invers proporțională cu a 4-a rădăcină a complexității rețelei.

Dacă valoarea fiduciară a Emercoin crește, adică mai mulți utilizatori încep să o extragă, acest lucru contribuie la complexitatea rețelei și, astfel, reduce recompensa pentru fiecare bloc. Ca urmare, rețeaua devine protejat împotriva inflației ridicate Fiat. În schimb, dacă minerii își pierd interesul pentru Emercoin din orice motiv, sistemul devine mult mai puțin complicat și îi reține pe mineri oferind recompense mai mari.

În teorie, cea mai eficientă strategie de extragere a Emercoin este cooperarea și exploatarea utilizând capacitatea minimă și împărțind venitul maxim. Cu toate acestea, acest lucru este improbabil, deoarece minerii se vor confrunta cu o variație a dilemei prizonierului .

Randament procentual anual de 6% pentru PoS

Deoarece Emercoin este o criptomonedă PoS, un miner poate genera venituri atât cu hardware cât și cu monede în portofel. Am ales să plătim bonusuri PoS la o rată de 6% pe an. Cu alte cuvinte, dacă monedele utilizate pentru închiderea unei tranzacții rămân intacte mai mult de o lună, este posibil ca acestea să poată fi utilizate pentru a închide un bloc, generând un APY de 6% pentru proprietar. Odată folosite monedele, perioada de repaus „se arde” și începe o nouă perioadă de repaus pentru noul proprietar. Cu alte cuvinte, 6% APY este recompensa maximă PoS, care poate fi primită numai dacă monedele rămân intacte. În prezent, creșterea reală a stocului de bani prin PoS APY este de aproximativ 4-5% pe an. Pe măsură ce Emercoin devine mai răspândit și tranzacțiile mai numeroase, această valoare va scădea pentru a se potrivi cu ratele tipice pentru monedele hard fiat - deși niciodată complet anulate.

Se poate obiecta că acest APY de 6% generează inflație, dar trebuie menționat că Emercoin are o tendință deflaționistă, adică valoarea monedei este în creștere și destul de rapidă. Acest lucru se poate observa în cursul său de schimb, care a crescut de aproape patru ori de la începutul anului. Această nepotrivire cu modelul naiv se datorează faptului că valoarea monedei este legată de valoarea economică corespunzătoare. Creșterea economică implică o creștere a valorii monedei, astfel încât PoS are o contribuție neglijabilă la creșterea globală a stocului de bani, comparativ cu alți factori.

Emiterea și anularea Emercoins

Din cele de mai sus se poate concluziona că stocul de bani Emercoin ar putea crește permanent. Se pare că este adevărat în prima aproximare. Într-adevăr, participanții care păstrează consensul își vând serviciile către rețea și sunt recompensați cu monede nou create. Cu toate acestea, Emercoin are un mecanism care anulează monedele, echilibrând astfel emiterea de monede. Face acest lucru luând o taxă pentru serviciile blockchain, cum ar fi trimiterea de monede sau achiziționarea de conturi cu NVS. Cu alte cuvinte, spre deosebire de Bitcoin, care are limite pentru emiterea de monede și nu are instrumente care să le anuleze, Emercoin permite emiterea acestora la nesfârșit, dar are și un proces opus pentru a-l echilibra. Participanții care își vând serviciile către rețea sunt recompensați, iar cei care achiziționează servicii din rețea plătesc pentru ei.

La o estimare aproximativă și luând în considerare factorii disponibili în prezent, se va genera un total de aproximativ 1 miliard de EMC în 80 de ani.

Dezvăluirea adreselor IP externe

Prima inovație unică implementată de Emercoin a fost protocolul RFC5389, un instrument STUN pentru a dezvălui adrese IP externe. După NAT, software-ul portofel trebuie să cunoască adresa IP externă pentru a funcționa corect. Bitcoin obișnuia să-l primească și alții încă îl adresează unui server centralizat ( http://checkip.dyndns.org ). Ulterior a trecut la setările de configurare manuale și UPNP. Am respins această abordare din mai multe motive, cum ar fi faptul că UPNP nu funcționează după un NAT multistrat. În cele din urmă, am decis să nu folosim deloc un server centralizat, ci să aplicăm standardul STUN, care este utilizat în scopuri similare în VoIP. În acest moment gestionăm cea mai completă listă de servere publice STUN disponibile și folosim aceste servere în subsistemul nostru STUN pentru a identifica adresele IP externe.

Optimizator de tranzacții

Optimizatorul de tranzacții este o altă inovație unică implementată în Emercoin.

Criptomonedele cu blockchain-uri care conțin tranzacții necesită selectarea unui subset pentru cheltuieli atunci când creați o nouă tranzacție. Bitcoin și alte criptomonede utilizează un algoritm stocastic care ia 1.000 de mostre aleatorii pentru a selecta un subset care conține o sumă cât mai apropiată de cea necesară. Cu toate acestea, chiar dacă portofelul conține un subset care se potrivește cu suma exactă, algoritmul standard l-ar ignora aproape întotdeauna, creând o nouă tranzacție pentru plată și păstrând diferența. Acest lucru are ca rezultat crearea de tranzacții supradimensionate și generarea unei viitoare tranzacții pentru a cheltui diferența.

Acest algoritm duce, de asemenea, la problema „prafului de aur”, rezultând un număr mare de tranzacții cu valoare redusă.

Emercoin aplică o abordare de programare dinamică pentru selectarea subsetului de tranzacții. Acest algoritm este garantat pentru a găsi un subset perfect potrivit, dacă există. Evaluările noastre arată că valoarea medie a tranzacției a scăzut astfel cu 5%, încetinind creșterea blockchain-ului.

Puncte de control dinamice distribuite

Criptomonedele PoS sunt vulnerabile la unele atacuri exotice, specifice PoS. Unul dintre cele mai periculoase dintre ele este „atacul din interior”. Dacă un actor fraudulos câștigă controlul asupra portofelelor care conțin monede deja cheltuite, acestea pot emula o revenire la un moment în care aceste portofele conțineau de fapt monede. Astfel, actorul va câștiga controlul asupra a 51% din monede, va construi un blockchain alternativ mai lung decât cel principal și ar schimba conținutul blockchainului retrospectiv.

Aceste atacuri pot fi prevenite prin puncte de control care limitează restructurarea blockchain-ului la un anumit nivel de adâncime. Bitcoin folosește doar puncte de control dificile încorporate în codul portofel; astfel de puncte de control sunt actualizate odată cu fiecare actualizare a portofelului. Peercoin și Emercoin, pe de altă parte, utilizează puncte de control dinamice cu date despre punctele de control trimise online. Acest lucru nu necesită actualizări de cod la sfârșitul clientului și permite actualizarea constantă a structurii punctului de control.

Peercoin prevede un singur nod pentru a trimite datele punctului de control. Dacă sunt trimise de mai multe noduri, astfel de date ar genera un conflict de rețea. În consecință, eșecul acestui nod ar împiedica actualizarea datelor din punctele de control dinamice.

Emer, pe de altă parte, a implementat un algoritm de punct de control dinamic distribuit, care împiedică mai multe noduri independente să trimită date duplicate de punct de control. Acest lucru contribuie la fiabilitatea rețelei, deoarece punctele de control sunt încă actualizate, chiar dacă unele dintre noduri se defectează.

Fără contracte inteligente în stil Ethereum

Emercoin nu prevede astfel de contracte și nu are intenția de a introduce aceste contracte. Suntem complet împotriva acestor contracte din motive de securitate. Am crezut întotdeauna că descărcarea neautorizată a codului dependent de operațiunea Turing completă este extrem de periculoasă, iar furtul recent al unui Ether în valoare de 31 milioane USD ne-a dovedit că avem dreptate.

Stocare nume-valoare (NVS)

Subsistemul Name-Value Storage (NVS) este inovația noastră centrală, cu o valoare practică externă, inspirată de criptomoneda DNS distribuită Namecoin.

Spre deosebire de o structură similară din Namecoin, care a avut un accent puternic pe DNS distribuit, Emercoin NVS este un sistem de stocare de uz general distribuit de încredere, cu control partajat.

Pur și simplu, acest subsistem poate stoca orice date binare cu dimensiuni de până la 20 Kb. Aceste puncte de date sunt legate de o cheie de căutare de până la 512 octeți, unică pentru întreaga rețea. Fiecare înregistrare este asociată cu o adresă de plată aparținând proprietarului portofelului corespunzător.

Proprietarul adresei de plată este singura persoană autorizată să gestioneze înregistrarea. Gestionarea unei înregistrări înseamnă crearea unei înregistrări noi pentru a o înlocui pe cea veche sau transferarea proprietății către o altă adresă de plată. Înregistrările vechi nu sunt șterse niciodată și rămân accesibile din blockchain-ul relevant. Astfel, fiecare înregistrare are istoricul complet al schimbărilor în proprietatea sa.

Din punct de vedere tehnic, o înregistrare în blockchain este rezultatul unei tranzacții de 0,01 EMC (care urmează să fie redusă în curând la 0,0001 EMC), atribuită adresei de plată a proprietarului înregistrării. Ca atare, acest rezultat conține conținutul NVS. Proprietarul înregistrării este singura persoană autorizată să petreacă acest rezultat, deoarece cheia privată pentru autorizarea fluxului de ieșire poate fi găsită numai în portofelul lor. Cheltuiți această sumă necesită modificarea valorii înregistrării sau a altor atribute, inclusiv adresa de plată. În acest din urmă caz, înregistrarea este transferată în portofelul care conține adresa beneficiarului.

Subsistemul NVS poate fi adresat printr-un API JSON (similar cu Bitcoin) sau prin GUI-ul portofelului.

Sistemul Emercoin NVS este cel care alimentează toate serviciile bazate pe Emercoin pe care le vom descrie în postările noastre ulterioare, din 2017 până în 2018 - deci rămâneți la curent.