Blog Blokklánc Okos szerződés

Ethereum 2.0 node teszt a Prysm klienssel

Várható olvasási idő: 8 perc

Az Ethereum valahogy mindig távolabb állt tőlünk, mint a Bitcoin, annak ellenére, hogy az Ethereumra épül a kriptós projektek legnagyobb része. Ha röviden akarjuk megfogalmazni az álláspontunkat, akkor a Bitcoint az Internet pénzének, az Ethereumot pedig az Internetes digitális szerződések platformjának tekintjük. Annak ellenére, hogy a Bitcoin is rendelkezik smart contract lehetőséggel a HTLC-nek köszönhetően, az igazi szerződéses platform tényleg az Ethereum.

Amiben valóban hasonlít a Bitcoinhoz, hogy bányászat útján jön létre, amikor a bányászok lezárnak egy blokkot, jön a blokkjutalom, majd ha a bányásznak ki kell fizetnie az áramszámlát, akkor átváltja FIAT-ra és kezdődik minden elölről. A volatilitását is ez határozza meg részben. Emiatt régóta tervben van, hogy az Ethereum átáll a PoW hitelesítésről PoS alapra. Ez lenne az a bizonyos Ethereum 2.0 vagy BETH, hogy mi lesz a projekt éles neve, idővel kiderül.

//Ha ismeretlen számodra a PoW és a PoS közti különbség, erre tovább, részletesen írtunk róla.//

Lehet, hogy még évekbe telik mire átáll az Ethereum a 2.0-ra és a teljesen PoS alapú rendszerre, de a folyamat láthatóan elkezdődött, ugyanis megvan az első valóban működő kliensprogram a futtatáshoz és a stakeléshez. (A második jelentkező is dolgozik már a PoS-re átállás projektjén, ez lesz majd a Lighthouse a Sigma Prime-tól.)

A Prysm kliens

A Prysm a Prysmatic Labs projektje, amely az ETH 2.0 fele vezető út egyik szintjét hivatott elfoglalni. Nevezetesen azt, hogy a Beacon Chain-en keresztül végzi a jelenlegi PoW blokklánc hitelesítését PoS alapon.

Olvass mást is ->  Mi az az Ethereum? És miben különbözik a Bitcointól?

A Prysm az Ethereum Serenity következő szintjéhez köthető Go nyelven történt fejlesztése a hivatalos specifikáció szerint.

A Serenity folyamat 0. lépése a beacon chain, az 1. lépés lesz majd a shardok bevezetése, az eredeti tervek szerint még az idén (az eredeti tervek szerint a beacon chain-nek 2019-ben kellett volna elindulnia), majd 2021-ben az eWASM, ami az Ethereum Virtual Machine-t váltaná le Ethereum-flawored Web Assembly-re, és 2022-től pedig a hálózat egyre jobb javítása a cél. Az alábbi videóban látható a teljes folyamata a Serenity-nek.

Csabai Csaba ismert hazai blockchain szakértő, az Inlock vezetője írt pár hete egy cikket az Ethereum 2.0-ról, illetve magáról a folyamatról. A cikk adta az indíttatást, hogy saját tapasztalat alapján belekóstoljunk a Beacon Chain futtatásába. A Beacon Chain tesztnet Topaz néven fut, Csaba által írt Topar helyett. 

Kocka cikk következik, ugyanis lépésről lépésre bemutatjuk, hogyan lehet a Prysm kliensén keresztül belépni a Beacon Chain validátori szerepkörébe a Topaz tesztnetben..

A Goerli teszt hálózat

Az alábbiakra lesz szükség ahhoz, hogy tudjuk futtatni a Prysm kliensét. Mi MacOS-ben teszteltük, de Linux és Windows platformokra is van lehetőség a kliens telepítésére a teszthez. (A cikk alapján biztosan boldogulsz más platformokon is.)

  • Metamask wallet
  • idő, amit eltöltesz vele, de a cikk segít mindenben
  • pár szoftver, de az alábbiakban részletesen írunk róluk

Ahhoz, hogy érdemben tudjunk foglalkozni a Prysm projekttel, mindenképpen érdemes Validator pozíciót felvennünk. Ehhez legalább 32 ETH-ra lesz szükségünk. A Validatorok hitelesítik, hogy az adott Epoch-on belüli Slotokba érkező tranzakciókat. A Validátorok kiválasztásáról egy algoritmus gondoskodik.

Mi a fene az az Epoch, hogyan működik a Beacon Chain?

Röviden megpróbáltuk összeírni, hogy megértsd az egész PoS működését.

Érdemes a slotok felől megközelíteni ezt a kérdést. A slot az lesz az ETH 2.0-ban, ami jelenleg a block. A slotokba kerülnek a tranzakciók, amelyeket aztán az epoch-okon keresztül hitelesítenek a Validátorok. Kb 6 percenként jönnek létre új epoch-ok a korábban írtak alapján (12*32=384/60=6,4).

Olvass mást is ->  Wirex - bankkártya kripto alapon

Ha majd futni fog a beacon chain és elemezni próbálod a sorokat, észre fogod venni, hogy vannak kimaradt slotok. Ezeket ugrási (skip) slotoknak nevezik. Az alábbi képen láthatod, hogy a 233193-as slot nem jelenik meg, ez egy tipikus skip slot. (minden páratlan sor végén van a slot szám)

Kattintás után megnézheted nagyban!

Miután egy epoch lezárásra került, egy speciális véletlen-szám generálást használva a beacon chain, kiválasztja a következő epoch Validátorait (elvileg 128 darab, de ez csak a tesztneten van így, a mainnneten változhat).

Ezeket a Validátorokat tovább osztja a slotokhoz, így Validátor csoportok jönnek létre, akik döntenek a slotok lezárásáról. Egy slot akkor lesz érvényes, ha a slothoz rendelt csoportok 2/3-a ugyanúgy dönt, megszületik a konszenzus.

Viszont, ha a Validátorok között van olyan, aki offline, akkor nem vesz részt a slot hitelesítésben, így veszít a lekötött ETH-jából. Ez az ETH 2.0 egyik fő bűntetési módja. Ha sokáig nem online a Validátor, szépen lassan elégeti az ETH-ját…

A tranzakció akkor lesz “kőbe vésve”, azaz teljesen validálva, ha 2 epoch lezárásra került. Ez a fenti számítások alapján kb. 12 percet fog igénybe venni. Ennek az az oka, hogy mindekét epoch-ot ne ugyanaz a Validátor csoport hitelesítsen, elkerülvén a csalás lehetőségét.

Az epoch lezárásakor osztja ki a beacon chain a jutalmat a Validátoroknak annak függvényében, hogy mekkora részt vettek ki a folyamatból, hogy csak szavaztak, vagy blokkolást javasoltak, vagy esetleg rosszul döntöttek, vagy nem voltak elérhetőek. Így van aki kap, van aki veszít.

Az alábbi képen látható egy új epoch (7288) kezdete, látható az aktív (31148) és a totál (32774) Validátorok száma, ahogyan az átlagos egyenlegük (32.36997 ETH) is. Valamint az is látható, hogy az új epoch (7288) a kettővel előtte levő epoch (7286) lezárását követően lesz véglegesítve (finalized).

Részlet a Prysm kliens beacon chain-ből
Kattintás után megnézheted nagyban!

Mivel előfordulhatnak a hálózatban késések, lassulások, ezért még van egy biztonsági lépés a beacon chainben, ugyanis van egy magas szintű entitás, aki a Validátorokat ellenőrzi, hívhatjuk akár bírónak is. Minden slot megnyitásakor átnézi a szükséges információkat és abba az irányba engedi a láncot, amelyre a legtöbb szavazat érkezett a Validátoroktól, hogy csak egy lánc létezzen. (Egy gyűrű mind felett…;))

Bízom benne, hogy az előző résszel meg tudtam mutatni, hogy nagyjából hogyan működik a beacon chainben a PoS. Lépjünk tovább, legyünk Validátorok!

Ahhoz, hogy tényleges szerepet töltsünk be a Beacon Chain-ben, a 32 ETH-t le kell kötnünk egy bizonyos folyamat alapján, amelyet az alábbiakban részletesen leírunk.

Teszt ETH beszerzése

Először is teszt étereket kell gyűjteni a Goerli teszt hálózaton. Erre a Goerli Faucet-en keresztül tudunk szert tenni.

A lassú mód

Ha valaki nagyon ráér, akkor minden nap kérhet 0.05 ETH-t az alap faucet-en, de egy gyors fejszámolással kiderül, hogy akkor 640 napra van szükség ahhoz, hogy 32 éter landoljon a Metamask tárcánkban. Úgyhogy ezt az utat felejtsük is el!

//Csak röviden, ha nem ismered, a Metamask egy böngészőbe épülő ETH tárca és megvan az a képessége, hogy a különböző teszt hálózatok között lehet váltogatni. Erre leginkább akkor lehet szükség, ha fejlesztő vagy.//

A hatékonyabb mód

A gyorsabb módja a teszt ETH gyűjtésének az, ha a Metamask Goerli hálózatán levő ETH címedet valamelyik közösségi médiába kiposztolod tetszőleges szöveggel és annak az URL címét a közösségi faucet felületen megadod. Így 24 óránként kapsz 6 ETH-t, máris csak 6 nap, mire tudsz tesztelni!

Mire meglesz a 32 ETH, addig pont fel tudod készíteni a gépedet a Prysm futtatására és a Validálásra.

Állítsuk be Prysm klienst

Ehhez először pár összetevőre szükség van, de gyorsan fel lehet őket telepíteni. A következő lépésekhez a Terminal programra lesz szükség, minden MacOS alapból rendelkezik vele. Ha már dolgoztál korábban fejlesztéseken a gépeden, akkor lehet, hogy a következő két lépést 5 másodperc alatt átugrod.

Homebrew

Első lépés, hogy meggyőződjünk róla, van-e telepítve a Homebrew csomagkezelő. Ezt úgy tudjuk megtenni, ha a Terminálba bepötyögjük a “brew help” parancsot. Ha az eredmény “command not found“, akkor fel kell telepítened. Pontosabban le kell töltened Github-ról és feltelepíteni. Nem bonyolult, csak az alábbi parancsot kell kiadni:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

Ha sikeres a dolog, akkor az alábbi képernyő fogad a telepítés végén.

GPG

A GPG (GNU Privacy Guard) is szükséges a prysm telepítéséhez, ehhez is egy egyszerű parancsra van szükség, hogy a brew már a gépedre került:

brew install gnupg

A szükséges csomagokat hozza magával, amint végzett visszakapod a konzolt.

Ha megvagyunk az alap szoftverekkel, lehet tovább lépni ahhoz, hogy a Prysm kliens is a gépünkön legyen.

Létre kell hozni a mappát a prysm részére, ahova fel fogod telepíteni, azaz szintén Github-ról letölteni és telepíteni, de ugyanolyan egyszerű, mint az előbbiek.

mkdir prysm

Majd lépjünk a mappába:

cd prysm

Már tölthetjük is le a prysm kliensét és az alábbi parancsal jogot is adunk neki, hogy futtatható legyen a gépünkön:

curl https://raw.githubusercontent.com/prysmaticlabs/prysm/master/prysm.sh --output prysm.sh && chmod +x prysm.sh

Ha az eddigiekkel megvagyunk, akkor már félsiker ahhoz, hogy Validátori szerepet tölts be az ETH 2.0 Beacon Chainben.

Indítsuk el a beacon node-ot a gépünkön

Mielőtt továbblépnénk, van pár fontos információ, amivel érdemes tisztában lenni. Egyrészt az, hogy a mostani tesztünkben tesztneten, “játékpénzzel” próbálkozunk. Viszont ahhoz, hogy az ETH 2.0 PoS rendszerében részt vegyünk ténylegesen majd a mainneten, olyan gépről lesz csak érdemes elindulni, amelyet folyamatosan online tudunk tartani. Tehát egy Macbook nem alkalmas a mainnet futtatására. De a mostani teszthez tökéletesen megfelel. (A gépemen már a Bitcoin Core is futott korábban hónapokig, most majd a Beacon Chain fog.)

Szóval indítsuk el a láncot az alábbi parancs kiadásával:

prysm.sh beacon-chain --datadir=$HOME/prysm

Minden a beacon chain-hez tartozó adat a HOME mappánk prysm mappájába kerül. A parancs kiadása után elkezdi szinkronizálni az adatokat a prysm kliens, ez több órát is igénybe vehet, valamint a gép processzorát komolyan igénybe veszi. Ha végzett, azt úgy veszed észre, hogy nem üvölt a géped processzorhűtő ventillátora és nem futnak vadul a sorok a gépeden, valamint egy sorban értesít is a kliens:

INFO initial-sync: Synced up to slot XXXXXX

A cikk írásának idején a slot szám 233117, amely a korábban is írtak alapján 12 másodpercenként emelkedik átlagosan. A slotok ezután epoch-okba kerülnek, mint tudjuk, minden epoc-ba 32 slot. Az aktuális epoch 7284.

Stakeljünk 32 ETH-t a Validációhoz

Mielőtt tovább lépünk, győződj meg róla, hogy a Goerli test networkön van a Metamask tárcád!

A korábban írtak alapján feltételezve, hogy megvan a minimum stakelhető ETH-d a Georli teszthálózaton, itt az idő, hogy elindítsuk a folyamatot ahhoz, hogy Validátorok legyünk. Újabb órák fognak eltelni, erre érdemes felkészülni, de nem kell hozzá órákat a gép előtt ülni, csak meg kell mondani, hogy mit tegyen! 🙂

A validáláshoz egy új Terminal ablakot kell nyitni, de a jelenlegit, ahol a beacon chain fut nem szabad bezárni! A validáláshoz szükség lesz egy ETH2 kulcspárra, ez a validálás feltétele. Gépeljük be, vagy másold ki az alábbit és illeszd be az új Terminal ablakba:

./prysm.sh validator accounts create

Ezzel elkészítjük az ETH 2.0-ban a validátori aláírásunkat és a visszakéréshez szükséges kulcsot. Egy jelszót kell megadni kétszer, amit jól jegyezzünk fel! A jelszavak egyezése után a Terminálban megjelenik, hogy hol van a 2 kulcs. Az én esetemben a /Users/virtualiscash/Library/Eth2Validators mappában jött létre. Ha meg szeretnéd nézni, nem fogod látni, mert a Library rejtett mappa. (A CMD+SHIFT+. lenyomásával láthatóak a rejtett mappák/fájlok.)

Ha megvan, akkor irány a Prysm részvételi oldalára. Ezen az oldalon van lehetőség jelentkezni Validátornak. A megnyíló oldalon a már korábban leírt lépések vannak sorban, illetve az ezt követők.

A Validátor Terminál ablakba az előző lépésben megkaptad a deposithoz szükséges adatot RAW formátumban, azt másold ki onnan. Kövesd az alábbi lépéseket:

  1. Töltsd le a Prysm klienst (ezzel megvagyunk)
  2. Gyűjts teszt étert a Goerli teszt hálózatban és kösd össze a Metamask Goerli tárcáddal
  3. Készíts validátori kulcsokat (megvagyunk, a RAW Transaction Data-t add meg, amit az előbb kimásoltál)
  4. Indítsd el a beacon és a validator klienseket (ezek már futnak, ha mindent pontosan követtél)
  5. Küld el a letéti szerződés címre (0x5cA1e00004366Ac85f492887AAab12d0e6418876) a 32 ETH-t
  6. Várd meg, amíg hitelesítésre kerül a jelentkezésed

A fenti folyamat eredményeképpen a Goerli Etherscant használva a tranzakciódat nyomon tudod követni. A Metamaskban a tranzakcióra kattintva a kicsi kék jobb felfele mutató nyílra kattintva tudod megtenni.

Ha a tranzakció sikeres, akkor a Beacon Chain Deposit sorban levő Validator PubKey utáni hosszú karaktersorra kattintva láthatod a Beacon Etherscanben, hogy mikor fog megtörténni a validáció. Jelenleg nekem is még zajlik, de már csak 11 és fél óra van hátra, így holnap tudok továbblépni.

Ha bárhol elakadsz, vagy segítségre van szükséged, írj emailt az elérhetőségi oldalunk űrlapján keresztül.

Amint a Validátori szerepbe lépünk, a további tapasztalatokról is be fogunk számolni!

Frissítés 05.25. :Már validátorként veszünk részt az ETH 2.0-ban, olvasd el a következő cikkünket!

Várjuk hozzászólásaitokat/véleményeiteket a cikkhez, illetve a közösségi oldalainkon is!

Hogy ne maradj le az új cikkekről, iratkozz fel RSS-re, vagy hírlevelünkre (jobb oldalsáv!)!

Ha szeretnéd támogatni a munkánkat, akkor az alábbi kripto címeinkre teheted meg.

  • BTC: 16sG5wXbj1m4jHur6nNikdJ9K2Rdu9NR4E
  • ETH: 0x760a3acE5dd130CF89b5df3d08CAF8A43866169E
  • LTC: LLadCFTkomUm5aAW9v2mELW7iQv51DYJBj

Köszönjük!

Szeretnél nyerni egy Trezor One kriptotárcát?

Ha szeretnél nyerni egy Trezor One kriptopénztárcát, iratkozz fel hírlevelünkre (jobb oldalsávban tudod megtenni) és kövesd a Facebook oldalunkat. Fontos, hogy csak a 2 együtt jogosít fel a sorsolásra! Minden hónap végén elemezzük az adatokat és a következő hónap első hetén sorsolunk, amely eredményét a Facebook oldalunkon publikáljuk! Várunk!

ui: Hogy biztosra menj, küld el a Facebook profilod címét és az email címed a [email protected] email címre, hogy be tudjunk azonosítani!

A témához kapcsolódó bejegyzések

Hogyan lépj be a Lightning Network működtetésébe?

Virtualis Cash

Bitcoin SV megy a kukába?

Virtualis Cash

Kínai Fomo, USA Hodl, napi Libra, LTC MimbleWimble

Virtualis Cash