Ethereum Constantinople este numele purtat de cea mai recentă actualizare Ethereum. Constantinople este partea a doua a actualizării Metropolis. Ethereum Constantinople este un hard fork, termen ce conturează o imagine destul de negativă ca urmare a întregii povești „ETH-ETC” și „Hash War”. Fork-ul este un eveniment când blockchain-ul se divide în lanțuri, unde o parte a rețelei are o perspectivă diferită asupra istoricului tranzacțiilor decât cealaltă parte a ei. Cu alte cuvinte, este o divergență în perspectiva stării blockchain-ului.
Atunci când un lanț trebuie actualizat, există două modalități pentru a face acest lucru: soft fork sau hard fork. Gândește-te la soft fork ca la o actualizare software care este compatibilă și înapoi. Ce înseamnă asta? Să presupunem că pe laptop rulezi programul MS Excel 2005 și dorești să deschizi un tabel integrat în aplicația MS Excel 2015; îl vei putea accesa în continuare, fiindcă MS Excel 2015 este compatibil retroactic cu versiunile anterioare.
Însă toate acele actualizări de care te poți bucura în versiunea mai nouă, nu vor fi disponibile în versiunea mai veche. Întorcându-ne la analogia MS Excel, să presupunem că există un serviciu care permite integrarea GIF-urilor în versiunea 2015 a tabelului; dar pe acestea nu le vei putea vedea în versiunea din 2005. Fundamental, vei vedea tot textul, dar nu și GIF-ul. Principala diferență dintre soft și hard fork constă în faptul că cea din urmă nu este compatibilă cu versiunile anterioare. Odată ce s-a înfăptuit, nu există cale de întoarcere. Dacă nu te alături versiunii actualizate a blockchain-ului, nu vei putea accesa niciuna dintre noile actualizări și în niciun mod nu vei putea intra în legătură cu utilizatorii noului sistem. Gândește-te la PlayStation 3 și PlayStation 4. Nu poți rula jocuri PS3 pe PS4 și jocuri PS4 pe PS3.
Andreas Antonopoulos
Andreas Antonopoulos descrie diferența dintre hard și soft fork în felul următor: dacă un restaurant vegetarian decide să adauge carne meniului său, numim asta hard fork. Dacă decide să adauge mâncăruri vegan, toți vegetarienii vor putea consuma și produse vegan; dar acolo vor putea mânca atât vegetarienii cât și consumatorii de carne, deci ăsta este soft fork-ul. Ideea e că fork-uri se pot petrece oricând. Toate sistemele au nevoie de actualizare, ceea ce atrage după sine un fork. Probleme apar doar atunci când comunitatea se împarte în legătură cu un fork.
Bineînțeles Ethereum nu se află la prima actualizare, dar nici la ultima. Ethereum nu a fost conceput pentru a fi doar un simplu fel de valută; ci a fost proiectat să fie o platformă pentru aplicațiile descentralizate. Înainte de a putea realiza acest lucru, trebuie să treacă prin diferite etape de creștere. În cadrul anumitor etape, Ethereum trece „la un nivel nou”, integrează din ce în ce mai multe calități și sistemul său devine mai puternic și mai coerent. Procesul complet de lansare a Ethereum se împarte în patru etape. S-a procedat în acest fel pentru a avea siguranța că diferitele faze beneficiază de propriul timp de dezvoltare; și ca dezvoltarea fiecărei etape să se desfășoare cât mai eficient și optim posibil.
Propunerile de îmbunătățire
Hardfork-ul Ethereum Constantinople a avut loc în februarie 2019, cam la blocul 7.280.000. Această actualizare a introdus în ecosistem cinci propuneri de îmbunătățire – Ethereum Improvement Proposals sau EIP.
- EIP 145: Proiectat de doi dezvoltatori Ethereum, Alex Beregszaszi și Pawel Bylica, a introsus un „bitwise shifting” nativ, capabil să proceseze bytecode-ul prin costuri similare altor operațiuni aritmetice.
- EIP 1052: Optimizează executarea la scară largă a codului Ethereum. Asta permite să fie verificat doar codul comprimat care conține date esențiale ale contractului smart, spre deosebire de verificarea întregului cod. A fost scris de către Nick Johnson și Pawel Bylica.
- EIP 1283: Se bazează pe EIP 1087, conceput tot de către Nick Johnson. Acest EIP contribuie la reducerea cantității de gas ce trebuie plătită pentru rularea și executarea contractelor smart, prin reducerea utilizării excesive și inutile de gas.
- EIP 1014: Autorul acestui EIP este însuși Vitalik Buterin. Fundamental, ajută Ethereum să exploateze state channels, care să-i permită comunicarea cu adresele din afara lanțului. Acesta contribuie la scalabilitatea întregului sistem.
- EIP 1234: Este cea mai controversată actualizare, creată de către managerul Parity, Afri Schoedon. Aceasta elimină sistematic dificultatea Ethereum, reducând recompensa de bloc de la 3 ETH la 2 ETH, pentru o perioadă de 12 luni.
EIP 145 – bitwise shifting
Shiftarea (pe biți) este o operațiune bitwise care deplasează fiecare cifră din reprezentarea binară a unui număr la stânga sau la dreapta numărului, de câte ori este nevoie. „<<” este operatorul shift stînga, în timp ce „>>” este operatorul shift dreapta.
Acum te gândești probabil de ce trebuie să știi aceste lucruri și ce folos au pentru Ethereum? Gândește-te la acele operații pe care le cuprinde bitwise shift: operația exponențială, multiplicarea / diviziunea.
Aceste operațiuni, dacă sunt executate în ordine, pot fi destul de costisitoare. Însă o singură operațiune care le acoperă le acoperă pe ambele este mult mai ieftină, ceea ce ajută dezvoltatorii Ethereum în optimizarea codului. Asta înseamnă că va ajuta aplicațiile descentralizate de bază; de exemplu, prelucrarea mai rapidă a CryptoKitties de către mașina virtuală Ethereum (EVM).
EIP 1052 este o formă optimizată a unui cod de dimensiuni mari.
Acest EIP ajută la stabilirea unui nou cod de operare, EXTCODEHASH, care returnează hash-ul keccak256 al codului contractului. Ideea din spatele acestui proces este să permită să fie verificate mai degrabă datele esențiale ale codului contractului, decât întregul contract în sine. Multe contracte trebuie să-și verifice codul bytecode-ul, dar nu au nevoie neapărat de bytecode-ul în sine. De exemplu, contractul smart poate trebuie să verifice bytecode-ul altui contract smart, dacă acesta aparține unui anumit grup sau nu; sau poate efectua anumite analize pe cod si să accepte toate contractele cu bytecode-ul corespunzător, dacă analiza are succes.
În cadrul EIP 1283 a fost propusă o altă metodă pentru măsurarea GAS, prin codul de operare SSTORE; acesta permite ca utilizatorii să plătească pentru stocarea îndelungată a datelor pe blockchain și reduce costurile excesive de gas. Mai simplu spus, reduce acea sumă pe care dezvoltatorii trebuie s-o plătească la întocmirea contractelor smart. Cum spuneam, costul gas este o problemă serioasă pentru dezvoltatori, fiindcă spațiul de stocare a contractelor smart necesită foarte mulți bani.
EIP 1014 – State channel este un canal de comunicare bidirecțional între participanți, care le permite să realizeze interacțiuni, desfășurate în general pe blockchain sau în afara acestuia. Timpii de tranzacționare sunt reduși astfel exponențial, deoarece nu mai depind de o terță parte – ca minerii de exemplu – pentru validarea tranzacției. EIP 1234 – acest EIP asigură tranziția spre Proof Of Stake.
Protocolul Casper
Metoda de implementare a PoS Ethereum se numește Protocolul Casper. Evident, trecerea bruscă de la PoW la PoS nu este recomandată. Pentru ca tranziția să fie cât mai lină, prima dată Ethereum va introduce un mecanism de consens hibrid PoW-PoS, denumit „Casper FFG”. Ca parte a tranziției, s-a decis introducerea unei „bombe difficulty”, care va îngreuna într-atât minatul pe blockchain-ul Ethereum, încât minerii nu vor mai fi stimulați și ca urmare se va îndrepta toată lumea către PoS. Acel punct în care minatul devine atât de complicat încât este practic imposibil, poartă numele de „epoca de gheață”.
„Bomba difficulty” a fost introdusă pe 7 septembrie 2015 și a fost concepută să îngreuneze exponențial nivelul de dificultate. Asta a dus la următoarea problemă: din moment ce creșterea gradului de dificultate întârzie, minatul blocurilor devine din ce în ce mai simplu; iar minerii îl pot efectua mult mai frecvent. Așadar, pentru compensarea acestei situații recompensa de bloc a scăzut de la 3 ETH la 2 ETH.
EIP 1234 a creat o dispută uriașă în comunitate. Autorul ei, Afri Schoeden, considera că este cea mai bună opțiune pentru stabilizarea emiterii, în timp ce întârzie și „bomba”. În comunitate au existat însă și membri care s-au opus acestui EIP, motivând că reducerea dificultății duce la o centralizare mai mare. Întreaga comunitate crypto aștepta hard fork-ul Ethereum Constantinople. Prin intermediul acestuia, Ethereum a făcut un nou pas către împlinire și implementarea completă. După cum îți poți imagina, există câteva schimbări radicale de care nu numai că vor beneficia dezvoltatorii, dar care îi vor ajuta să câștige impuls pentru implementarea completă a PoS. Ne rămâne deci să urmărim cum funcționează Ethereum Constantinople.