Nem akar ez menni a bZx-nek…

Ha esetleg nem mondana sokat a bZx neve, azon nincs mit csinálkozni, hiszen egy olyan Defi margin/lending szolgáltatóról beszélünk, ami még a nyár elején égette el sikeresen azzal a saját reputációját, hogy a flashloanok megjelenésekor egy smart contract hiba miatt több tíz ezer Etherrel károsította meg az ügyfeleit.

Egy normális világban egy ekkora fiaskó után az ilyen projekteket szokás lehúzni… de ez nyilván nem így zajlik a DeFi univerzumban. Ezt számos példa bizonyítja, lásd: YAM, Sushi vagy éppen a bZx.

Avatott szemek az alábbi kis kód diff kapcsán már egyből a fejükhöz csapnak:

A támadási trükk mindösszesen annyi volt a bZx iETH tokenjét kezelő smartcontractban, hogy amennyiben ugyanarról a címről ugyanarra a címre küldtél (_from == _to), akkor egyszerűen duplikálódott az iETH tokened anélkül, hogy ténylegesen megjelent volna mögötte az adott mennyiségű valódi ETH fedezet.

Az ügy azért igazán kellemetlen, mert a sokadik incidens után sem érezte fontosnak a bZx, hogy auditáltassa a contractját, helyette inkább élesben teszteltette az ügyfelekkel, mire valakinek feltűnt a bug és jól ki is használta:

https://twitter.com/bZxHQ/status/1305189177730891776

A bejelentést követően a DuneAnalytics csapata végzett egy post-mortem elemzést, ahol kitúrták, hogy az iETH contractban 4,7 ezer ETH-t loptak ezzel a módszerrel el összesen 9 különálló tranzakcióban.

Mondanám, hogy így utólag biztos belátja a bZx, hogy csak olcsóbb lett volna auditáltatni a kódot, de végső soron most sem a saját pénzüket herdálták el és az előző két fiaskó után sem érezték, hogy csak kéne auditáltatniuk magukat.

Ui: Akit nem hagy nyugodni, hogy mi volt a hiba a smart contractban:

  • Kiolvasta a küldő (_from) és a fogad (_to) address egyenlegét.
  • Kivonta az elküldött mennyiséget a _from egyenlegéből, majd hozzáadta a küldött mennyiséget a _to egyenlegéhez.

AHELYETT HOGY:

  • Kiolvassa a _from-ból az egyenleget.
  • Levonja belőle az elküldendő token mennyiséget
  • EZEK UTÁN olvassa ki a _to-ból az egyenleget (ezzel lehetővé téve, hogy amennyiben _from == _to, akkor frissüljön az egyenleg)
  • Hozzáadja a _to egyenlegéhez a küldött mennyiséget.

Apróság…

A SushiSwap végül az FTX-nél kötött ki

Az elmúlt nap sem telt eseménytelenül a DeFi világában. Bár továbbra is óránként indulnak újabb és újabb hatalmas ígéretekkel a projektek, de perpillanat a médiát egyértelműen a SushiSwap története uralja. (Leszámítva ugye a blacklist->blocklist skandallumot a BitcoinCore háza táján… de ezt inkább hagyjuk.)

Aki esetleg nem követné ezt a témát szorosabban, annak röviden recap-elem:

  • A SushiSwap egy Uniswap klón, tehát a DeFi univerzumnak az exchange ökoszisztémáját erősítő szereplője.
  • Ellentétben az Uniswappal a SushiSwap már a trendi “governance token” modell szerint készült, tehát a protokoll szabályokat és paramétereket elvileg a közösség tudja megszavazni. Illetve a Uniswap LP token modelljét olyan módon alakították át, hogy akik SUSHI tokent stakelnek, azok extra jutalmat kapnak minden újabb Ethereum block után… De, erről kicsit később.

Hogy ezt megértsük érdemes feleleveníteni, hogy mitől is annyira jó a Uniswap:

Uniswap ELI5

A uniswap (pontosabban annak második verziója) egy merőben új, úgynevezett liquidity pool elvű tradinget valósít meg. Ennek lényege, hogy minden kereskedési pár esetén egy liquidity pool jön létre, amiben az első feltöltéskor jön létre gyakorlatilag az árfolyam függően attól, hogy mennyi egység kerül betöltésre. Ezt követően a uniswap az alapján mozdítja el az árfolyamot felfelé vagy éppen lefelé, hogy a kiindulási állapothoz képest milyen ügyletek futnak a poolban. Bárki bármikor beszállhat a már futó poolba.

A Uniswap az összes trade 0,3%-át elvonja és ezt az adott pool LP (liquidity pool) belső tokenében tartja nyilván, amit azok kapnak meg, akik likviditást tartanak az adott poolban. Ha a példa kedvéért egy WBTC-ETH uniswap v2 poolról beszélünk, akkor a kereskedési volumen 0,3%-át azok kapják meg az LP tokenen keresztül, akik likviditást biztosítanak az adott párnak.

A Uniswap lényegében azt és csak azt jutalmazza, ha valaki likviditást tart a platformon, tehát ha kivonásra kerül a likviditás, akkor nincs tovább passzív bevétel. A SushiSwap ezt a tulajdonságot támadta és önjelölt evulúcióként a modellt úgy alakította át, hogy ugyan megmarad az LP token, de mellette a likviditást biztosítók minden blokk után SUSHI tokent is kapnak, amit meg is tudnak tartani és a projekt ígérete alapján hosszútávon jól is tudnak járni vele.

Anélkül, hogy nagyon elvesznénk a részleteknek, lényegében erről van szó: Az Uniswap 0,3%-os LP token redisztribúciója a SushiSwap esetén úgy oszlop meg, hogy 0,25% megy a liquidity pool tagoknak, a fennmaradó 0.05% pedig a SUSHI stakereknek.

SushiSwap skandallum

Az augusztus végén landolt projekt anonim vezetője ChefNomi, akitől több alkalommal is megkérdezték a projekt indulásakor, hogy mi a terve a “devshare”-re. A devshare általában a kripto tokenizált projekteknél a kibocsátott tokenek bizonyos százaléka, amit a fejlesztők kapnak jutalomként. Kvázi ez a jutalmuk. A motiváció hosszútávú fenntartása érdekében ezen a devshare-n általában szokott lenni bizonyos időszakos zárolás. Ennek célja, hogy a befektetők biztosítottak legyenek arról, hogy a fejlesztő brigád nem lép le idő előtt és nem fordul scam exitbe a projekt.

Folytatás…

yETH: ebből nagy baj lesz…

Tegnap telegramon, már alaposan kielemeztem az yETH-t, de akkor még nem akartam erről külön cikket írni, mert nem állt rendelkezésre elégséges információ, hogy valóban le lehessen vonni konklúziókat. Nézzük mit látunk ma.

Az yETH, a korábban már bemutatott YFI (yEarn.finance) csapat legújabb innovációja… persze a kijelentés kapcsán fenntartva annak a jogát, hogy amikor ezt a cikket olvasod, akkor már lehet, hogy lesz ennél újabb innovációjuk is.

A gyanútlan szemnek az yETH nem feltétlenül tűnhet egy érdekes dolognak, lényegében ugyanolyan pool-elvű kölcsöntermék, mint akár a compound, aave és a többi ETH pool. A fura az, hogy míg ETH kölcsönadásra a legtöbb lendingplatform szerény 0.1-0.2% éves hozamot ígér, de még a centralizált megoldások sem merészkednek 3-4%-nál sokkal magasabbra (pl. az INLOCKnál ez most éppen 3.03%)… addig az yETH Vault lazán ígér évi 60-80%-os kamatot.

Hagyom ezt így feldolgozni minden kedves olvasónak. Mielőtt tovább haladnánk szeretnék tisztázni két nagyon fontos dolgot:

Egyrészt a mai DeFi piacon boldog boldogtalan scamprojekt ígér 100%-ot, sőt még ennél is meredekebb kamatokat. Ezen nem lehet okunk meglepődni. Ha csak az elmúlt két-három napot nézzük, akkor itt van a SUSHI, a KIMCHI vagy éppen a tegnap beborult HOTDOG. Ezek értékajánlata azonban csak 1-2 óráig áll fenn, amíg az adott platform, pool vagy vault likviditáshiányos, majd utána szépen össze is omlik a teljes történet. Pont ez történt legutóbb a HOTDOG-gal, aminek governance tokene 4000 dollárról zuhant néhány centre alig 5 perc alatt. Azonban az yearn finance nem pont ugyanez a kategória…

Hogy megértsük a csavart az yETH vault ajánlatában, ehhez tisztázni kell, hogy mi is a különbség az “earn poolok” és a “vaultok” között. Előbbi (earn pool) egy egyszerű termék, ami összegereblyézi az ügyfelek pénzét és azt “általában” megpróbálja berakni oda ahol a legtöbbet kaphat az ügyfél érte. Valójában ez sajnos nem igazán tud érvényesülni a gyakorlatban a kezelt vagyon mennyisége miatt, de erről az előző cikkemben részletesen értekeztem. Ha nem olvastad volna, akkor itt tudod pótolni:

A Vaultok ezzel szemben önálló stratégiával rendelkező contractok, amikben – a poolokkal ellentétben – igen komplex logikák futnak és a fő céljuk a profitmaximalizálás jellemzően a yield farmingon keresztül.

Ez a gyakorlatban annyit tesz, hogy a beutalt Eth-t a yEarn yETH szerződés fedezetként használja, felvesz arra DAI kölcsönt, a DAI kölcsönt kihelyezi a Curve DAI pooljába, majd a keletkező DAI, illetve CRV farm rewardot automatikusan eladja, illetve Eth-ra váltja, amit elszámol kamatként.

A stratégia annyira jól működik, hogy az elmúlt egy napban az évesített kamat (a DEFI őrület miatt) meghaladta a 100%-ot és egyébként nem kizárható, hogy ez még egy jó darabig akár ilyen magasan is tud maradni.

Shut up and take my money?

Ez lehet az a pont, amikor eldob mindenki mindent és már rohan is berakni a pénzért az yETH-ba, hiszen éves 60-80… vagy akár 100+% kamat mellett nincs miről beszélni.

Persze azért érdemes megérteni, hogy mit is jelent ez a termék pontosan, illetve, hogy mik is ennek a kockázatai.

Kezdjük azzal, hogy mennyire is népszerű a termék: a cikk írásakor 386 ezer ETH van már a contractban, ami éppen most potom 160 millió dollárt ér, erre már ki is van nyomtatva majd 70 millió dollárnyi friss DAI kölcsön, ami ott is van a Curve yDAI contractjában, ahonnan szépen csorog is vissza az extra hozam.

Mindez kis túlzással kevesebb mint egy nap alatt…

Lehet, hogy ebből baj lesz?

A “lehet” nem igazán tudja pontosan visszadni, hogy mekkora méretű atombomba készülődik itt éppen. Ez az egy termék (yETH), simán lehet a DeFi piac CDO/szintetikus-CDO terméke, ami anno 2008-ban összeomlasztotta a teljes világgazdaságot. És a hasonló több szempontból is találó. Egyrészt a CDO (Collateralized Debt Obligation) lényegében pont ugyanazt a célt szolgálja, mint amit valójában a yETH vault csinál… másrészt pedig (jelenlegi állás szerint) ha az ETH árfolyama benézne a 300 dollár alá kb. olyan hirtelenséggel, ahogy történt ez március 12-én… nos, az nem csak az yETH-ban lévő ETH nagy részét végezné ki, de valószínűleg bedöntené a MakerDAO/DAI-t is.

A helyzet az, hogy alig egy nap alatt a yETH vault lett a Maker legnagyobb fedezetbirtokosa:

Folytatás…

A DeFi kevésbé napos oldala

Miközben a DeFi (decentralizált pénzügyi kütyük, amik jellemzően ethereum blockchainen futnak) fénykorukat élik, sajnos beindult a DeFi piacra épülő scam projektek özönvízszerű áramlása is.

Az ami egykoron az ICO mánia volt, majd a fork mánia, majd az IEO mánia… nos ezek ma átcsaptak a governance token mániába. Ha nem sokat mond neked még a DeFi, illetve a governance token téma, akkor olvasd el a téma kapcsán készült értelmező cikkemet:

Egy konkrét példán keresztül had mutassam be, hogy mi is fortyog perpillanat az Ethereum hálózat bugyraiba:

A pokolba vezető út is jószándékkal van kikövezve

A történet valahol ott kezdődött bő egy éve, hogy elindultak a liquidity pool elvű onchain (defi) lending platformok. Ezek közül a leghíresebb a Compound, de ide sorolandó a fulcrum, dydx, aave és még néhány egyéb játékos. Ezek működési elve pofon egyszerű: az ügyfelek tokenjeit egy kalapba (pool) söprik, amiből bárki tud felvenni kölcsönt fedezet ellenében. A kölcsönre fizetett kamat pedig szétoszlik a poolon belül pénzen. Ennek nyilvántartására és kezelésére jöttek létre az interest-bearing tokenek. Az egész ökoszisztéma finomhangolására jöttek létre a governance tokenek, amiken keresztül pl. szavazni lehet, hogy milyen küszöbértékeknél hogyan változzanak a kamatok, stb. Összességében ezek a projektek kifejezetten pozitív példáját mutatják, hogy mire is jó a DAO működés.

Mivel a különböző projektekben különböző mennyiségű szabad likviditás áll rendelkezésre és különböző a dinamikája a kölcsönök felvételének is; ezért logikusan előfordulhat, hogy az egyik platform sokkal több kamatot kínál mint egy másik.

És akkor jöttek a kufárok…

yEarn.finance

A yearn.finance és hasonló megoldások, azt tűzték ki zászlajukra, hogy majd ők szépen lefölözik a kamat profitot a különböző DeFi lending projektek között. Lényegében az ügyfél nem a compoundba tölti be a (pl.) USDC tokenjét, hanem a yEarn.financebe, ami a teljes vagyont szépen mozgatja a különböző lending providerek között, mindig oda rakva, ahol a legtöbb kamatot lehet érte kapni.

Az ügyfelek pedig ezért cserébe ugyanúgy egy interest-bearning tokent kapnak… USDC esetén az yUSDC-t.

Sajnos a valóság az, hogy a yearn.finance nemhogy pozitív eredményt nem képes termelni, de gyakorlatilag konkrétan kivégzi maga alatt a teljes piacot. Ennek megértéséhez nézzünk egy konkrét példát:

A yearn finance yUSDCv3 contractjában jelenleg cirka 360 ezer dollárnyi USDC található. Ennek most a 100%-a az Aave-be van allokálva. Ez persze nem tűnik soknak az Aavenél lévő 229 millió dollárhoz képest, de elég nagy ahhoz, hogy ha átkerül a teljes összeg mondjuk a compoundra, akkor jelentősen módosítja a két platform közötti kamat kínálatot.

Jelenleg (a cikk írásakor) 1,81% az irányadó éves kamat az Aave USDC pooljában, míg pl. a compoundnál ez 1.95%, de a dydx-nél éppen most 3% felett van. Akkor miért is van a teljes vagyon az Aave-n? Nos a válasz nagyon egyszerű: mert nem éri meg átmozgatni, mivel ha megtennék, akkor a compundon vagy a dydx-en vernék le a kamatokat.

A probléma nagyon egyszerű: addig amíg sok-sok egyedi játékos könnyedén tudna arbitrálni a különböző platformok között és akár jelentősebben nyerni is, addig ugyanezen vagyont összegerebjézve már egyáltalán nem lehet ilyen hatékonyan mozgatni.

Folytatás…

Flashloan: a végtelenbe és tovább!

A flashloan alapú, illetve a smart contractokba csomagolt komplexebb DeFi ügyletek az elmúlt hónapokban kétségtelenül komoly szeletet hasítottak ki az ethereum hálózat teljesítőképességéből. Mára az az – egyébként teljesen normális – állapot alakult ki, hogy az Ethereumot elkezdték arra használni, amire az lényegében való. Míg fél évvel ezelőttig a hálózatot javarészt csak az azon futtatott scamek, mlm-en és ponzik… illetve az USDT tranzakciók tették ki (ez utóbbi vajon melyik kategóriába tartozik az előző három közül?), addigra most jó látni, hogy a top gas burnerek listáján jelentős helyet képvisel már az Uniswap, de már az új DeFi megoldások is ott vannak, úgy mint: Curve, Aave vagy éppen a Balancer.

Korábban a flashloanok kapcsán már született egy írásom a médiumon, abban a cikkben inkább ennek a negatív oldalát szedtem csak össze, viszont a flashloan és akár a flashloan nélküli smart contractba csomagolt komplex pénzügyi műveletek azóta is igen népszerűk. Most gondoltam bemutatok néhány beszédesebb példát (sikereseket… kevésbé sikereseket), hátha kedvet tudok vele csinálni néhány olvasónak ahhoz, hogy szunnyadó kreativitását ne csak a random trader botok konfigurálásában élje ki… hanem belépjen a decentralizált arbitrázs piacra is komoly szereplőként.

15.1 ETH -> 17.2 ETH egy szempillantás alatt

tx: 0xd22def255e811e4094f…

A felhasználó úgy csinált 15 ETH-ból 17.2-őt, hogy egyetlen tranzakción belül előbb elcserélte a 15 ETH-t 49,6 YFL-re a Uniswapen, majd ebből vett a Balanceren aLINK-et, amit withdrawolt az Aave-n, ebből lett neki 445 LINK tokene, melyet eladva a Uniswap-en visszakapott 17.2 ETH-t.

Ugye milyen jól hangzik? Na akkor nézzük, hogy mik is ezek a dolgok pontosan:

  • Uniswap és Balancer: Két különböző decentralizált exchange (dex), mindkettő nagy forgalmú és nagy likviditású, tehát potenciális eszköze az ilyen jellegű arbitrázsnak.
  • Aave: onchain lending platform (DeFi), amin un. kamat hordozó tokeneket lehet létrehozni likviditás biztosítással, mely kamat hordozó tokenek szabadon tradelhetők. A kamat hordozó tokénekről egyébként az előző cikkemben tudsz részletesebben olvasni. Itt a konkrét esetben a contract aLINK-et vásárolt, ami a ChainLink Aave platformon tokenizált (kölcsönadott) verziója.

Ezek tudatában már nem annyira nagy kaland átlátni, hogy mi is történt a contractban. Lényegében az Uniswap ETH->YFL és a Balancer YFL->aLINK árfolyama között volt egy komolyabb arbitrázs ablak, amit bezárva tudott 15 ETH-ból 17.2-őt csinálni a delikvens.

Hogy tud ennyi tranzakció végrehajtódni egyszerre egy contracton belül?

Az Ethereum gyakorlatilag egy hatalmas állapotgép, ahol az összes full node ismeri az összes address és contract aktuális állapotát. Mivel ezek változásai futásidő alatt értékelődnek ki, mely futásidő gyakorlatilag a bányász EVM-jében történik meg, így nem tud ütközés, összefutás, race condition vagy bármilyen egyéb probléma kialakulni, hiszen mindig csak egy aktuális utolsó block és ennek megfelelő aktuális állapottér létezik csak.

Pont ez adja meg arra a lehetőséget, hogy egyetlen contractban képes légy egy adott értéket akár többször is megmozgatni különböző címeken. Az előző pont kapcsán például felmerülhet, hogy mégis hogyan került a megvásárolt 49 YFL token az uniswapról a balancerre? Nos a válasz roppant egyszerű: át lett utalva>

Example transfer from uniswap to balancer

Tehát van arra lehetőség, hogy egyetlen tranzakción belül adjunk-vegyünk (cseréljünk) kriptoeszközöket, majd azokat átmozgassuk egy másik platformra, ahol még ugyanazon tranzakción belül ott is végrehajtsunk műveleteket, melyek eredményét tovább tudjuk mozgatni egy harmadik-negyedik-huszadik platformra.

Ennek határt, igazából csak a gasLimit szab, illetve az, hogy mennyi pénzt vagyunk hajlandók erre elkölteni.

Folytatás…

Amikor a DeFi gazda betakarítja a Yieldet a Farmon!

Az elmúlt néhány hét kétségtelenül azt a képet mutatja, hogy majd három év után, újra a lovak közé csap a kripto ökoszisztéma és elkezd egy újabb kövér buborékot formálni, melyben – a jelek szerint – ezúttal nem kis szerepet játszanak a DeFi megoldások is.

Ellentétben a tavalyi évvel (amikor szintén szeptember körül lezajlott egy 14 ezer dollár körüli Bitcoin rally), most egyértelműen kirajzolódnak azon a karakterisztikák, amik azt mondatják velem, hogy ez itt már a következő bull run.

Hogy milyen tények mondatják velem mindezt? Számomra a legfontosabb indikátor továbbra is a tweeter feedem, ami az elmúlt bő két évben igencsak csendes volt. A nyugodt semmittevést csak egy-egy oda-vissza anyázás zavarta meg a Bitcoin és az Ethereum közösség között, vagy éppen az egyik Bitcoin kihívó vergődése. Ezek mellett lényegében láttam a saját magam által összetákolt tweeter információs buborékban, hogy szépen lassan fejlődik a teljes piac.

Hogy most hogyan néz ki a tweeter fedem? Nos tele van chartokkal, elemzésekkel, fraktálokkal, árfolyamjóslatokkal, fizetős group felhívásokkal és újra visszaoldalogtak a régi jó influencerek is! Mondhatni dögszagra gyűl az éji vad! Olyan szinten, hogy az elmúlt két évben jó okkal csendben levő Charlie Lee (Litecoin alapítója) is újra shilleli a projektjét:

https://twitter.com/SatoshiLite/status/1295908132737040384

Ami persze eme potenciális false-pozitív indikátorok mellett sokkal fontosabb: talált magának a kripto közösség egy újabb játékszert, méghozzá a DeFi, azon belül is a Yield farming formájában.

Ez elmúlt hetekben szánt szándékkal kerültem a DeFi és a Yield Farming témakört, mert volt egy olyan érzésem, hogy nagyobb a füstje mint a lángja, azonban mára el kell ismerjem tévedtem… Ez a téma tényleg képes lesz egy újabb kripto boomot összehozni, amire illik is reagálni. Ezért ezzel a cikkemmel, most így előre rendbe is raknék néhány fogalmat.

Mi is az a DeFi?

A DeFi, azaz a decentralizált finance, nem más mint a hagyományos banki pénzügyeknek valamilyen jellegű decentralizált manifesztációja. A hagyományos banki pénzügyek közül főleg a kölcsönnyújtás, kamatoztatás és egyéb derivatív ügyleteket érdemes érteni. De persze a fogalom etéren is rugalmasan kezelendő.

Gyakorlatilag két nagyon egyszerű megközelítés alapján derül ki, hogy mi is az a DeFi:

Folytatás…

Gazdálkodj okosan! A gasPrice rejtelmei

Éppen ma öt éves az Ethereum! Ez már önmagában sem kis szó, pláne egy olyan gyerekcipőben járó piacon, mint amilyen a kriptagazdaság. Ez a mérföldkő arra sarkallt, hogy elővegyek egy igen fontos témát, hiszen miközben mára az Ethereum méltán vált a kripto világ meghatározó platformjává, egyben komoly sorsfordító problémákkal is küzd. Ezek közül talán a legjelentősebb… mi más is lehetne, mint a skálázás és ennek árnyoldala a toronymagas gasPrice költségek.

Akinek napi szinten kell Ethereum hálózaton utalnia akár Ethert, akár tokeneket, annak biztos feltűnt az elmúlt hónapokban, hogy az Ethereum hálózati költségek igencsak megszakadtak, aminek nyilvánvalóan a fő oka nem más, mint az, hogy a hálózat kezdi nagyon kinőni a saját kereteit. Miközben az átlagos utalások is már felkúsznak két dollár felé napközben, aközben a komplexebb szerződés hívások, akár az 4-5 dollárt is elérik csúcsidőben! Alább bontva a dolgot, jól látható, hogy egyre inkább komoly erőforrásokat kíván magának egyrészt a Stablecoins és a teljes DeFi ökoszisztéma; másrészt pedig egyre több decentralizált scam és ponti program is fut már az Ethereum által biztosított “szabad földön”.

Folytatás…

Orosz rulett Ethereum módra

A történelem ismétli önmagát. Miközben a Bitcoin kapcsán már megnyugodni látszanak a kedélyek a skálázási vita kapcsán (nem… nem oldódott meg semmi, csak már kevésbé érdekel bárki is a vita, mindenki beletörődött, hogy ez van; ezzel kell élni)… szóval aközben most az Ethereum háza táján zajlik valami nagyon hasonló történet. Kisebb belső háború folyik éppen a bányászok és a core fejlesztők között, mely persze sok szempontból mondvacsinált, de mégis csak sok az áthallás:

  • A minerek növelni akarják a blokkokat, ezáltal csökkentve a hálózat terhelését, ami implicit csökkentené a költségeket, de valójában csak a bányászok anyagi hasznát hajtja fel azáltal, hogy sokkal több tranzakció tud átmenni.
  • A core fejlesztők (élükön Szilányi Péterrel) viszont több szempontból is kifakadnak, mivel a bővítés miatt tovább növekedik a full nodeok erőforrás igénye, ami szükségképpen a centralizáció felé vezet. Ráadásul a növelés lassítja a full nodeok feldolgozását, ami miatt növekedni fog az orphan blokkok aránya is.

Eléggé dejá vu szituáció…

A dolognak talán egyetlen szépséghibája, hogy míg Bitcoin esetén ebből a kérdésből valóban egy nagyon komoly belső polgárháború lett (BIP-148 aktiváció vs SegWit-2), addig ethereumon a minerek szépen zárt ajtók mögött megegyeztek és felcsavarták a blokkonkénti gaslimitet 10 millióról 12 millióra.

Hogy ez mennyire egy látszat megoldás volt csak, azt mi sem bizonyítja jobban, mint hogy az átállás óta ugyanúgy tele vannak a nagyobb blokkok is, illetve az átlagos gasPrice továbbra is 25 és 40 gwei közül alakul szinte konstansan.

Persze ha a történetnek itt lenne vége, akkor nem írok róla külön bejegyzést. De a helyezet ennél kacifántosabb. Ahogy szokott lenni, Vitaliknak általában van egy jó ötlete, amivel a problémát meg lehet kerülni vagy újraértelmezni:

EIP-1559 – A megoldás(?)

Idén április 13-án terjesztette be Vitalik, néhány további fejlesztővel közösen a 1559-es sorszámú Ethereum fejlesztési kezdeményezését. Ennek a célja alapjaiban újragondolni a teljes fee market modellt.

Jelenleg az Ether tranzakciók díja teljesen szabadáras és aukción dől el, hogy mely tranzakciók kerülnek blokkba és melyek maradnak a várakozási sorban. Bárki bármekkora feevel (gasPrice) be tud rakni bármilyen tranzakciót, annak reményében, hogy az előbb-utóbb blokkba kerül. A legtöbb tárca/kliens/node a szokásos költség saccolási metódust használja, aminek lényege, hogy az előző blokkokba került tranzakciók gasPrice értékét átlagolják és súlyozzák, majd az így keletkező értékre még ráraknak egy kicsit ha a blokk tele volt. Ez a megközelítéssel egyrészt az a baj, hogy nagyon könnyen az egekbe tud repülni a gasPrice, másrészt a minerek profitmaximalizálása miatt akár előfordulhat, hogy hibás becslések jönnek ki. Ennek negatív hatását valószínűleg már sokan megtapasztalták, amikor megpróbáltak “olcsón” elküldeni egy tranzakciót leterheltebb időszakban.

Mit is jelent pontosan ez a profitmaximalizálás miatt keletkező becslési hiba? A probléma alapja az, hogy egyszerűen a jelen idő alapján akarunk egy jövőbeli eseményre saccolni. Ez azt eredményezi, hogy amikor éppen hírtelen nagyon sok tranzakció tódul be a hálózatra, akkor alábecsülésre kerülnek a tranzakciós díjak, amikor viszont csökken a hálózat terhelése, akkor viszont a fee-k még nagyon sokáig magasan maradnak és csak lassan csökkennek. Előbbi probléma azt eredményezi, hogy nagyon sok tranzakció egyszerűen nem tud blokkba kerülni és beszorul a mempoolba hosszú időre. Utóbbi pedig azt, hogy gyakran 2-3x többet fizetnek egy-egy tranzakcióért, mint amennyit valóban kéne, hogy bekerüljön az a következő blokkba… ami explicit eredményezi, hogy a következő blokkba kerülő tranzakciók is sokkal drágábbak lesznek, mint ami indokolt lenne.

A EIP-1559 kezdeményezés a problémát a következőképpen hivatott orvosolni: bevezetésre kerül három újabb protokoll paraméter, ezek a: BASEFEE, GASPREMIUM és FEECAP.

Ezek közül a BASEFEE egy a hálózat által kiszámolt és nem módosítható érték. Alap értéke az 1 gwei, ami akkor növekszik, ha az előző blokk tele volt és akkor csökken, ha nem volt tele.

Minden tranzakció küldésénél két paramétert lehet majd megadni: GASPREMIUM (kvázi a miner borravalója), illet a FEECAP, ami a maximum gwei-ben mért gasPrice, amit hajlandó a küldő kifizetni. Logikusan a GASPREMIUM értékének valahol 0 és “nem-túl-sok” között kéne lennie, míg a FEECAP-ot tudjuk úgy értelmezni és számolni, mint ahogy korábban a gasPrice-t számoltuk

Ezt követően a matek már egyszerű. A tranzakció gasPrice értéke a BASEFEE+GASPREMIUM lesz, de nem haladhatja meg a FEECAP-et.

GASPRICE = min(BASEFEE+GASPREMIUM , FEECAP)

Mit jelent ez a gyakorlatban:

JELENLEG, ha az jön ki a gasPrice becslésnél, hogy a tranzakció várható költsége mondjuk 52 gwei kell hogy legyen és bekerül az adott tranzakció a blokkba, akkor a miner zsebre rakja az 52 gwei*txgas jutalmat, függetlenül attól, hogy egyébként mondjuk 38 gweivel is bele fért volna az adott blokkba.

EIP-1559 aktiválása után: Legyen mondjuk a BASEFEE 20 gwei és mondjuk ajánljunk fel a minereknek +10 gwei borravalót (GASPREMIUM), de limitáljuk ezt maximum 50 gwei FEECAP-en. Ebben az esetben ha a soron következő blokkba bekerül a tranzakció, akkor annak a díja garantáltan 30 gwei lesz. Viszont ha mégsem kerülne be, akkor sincs pánik, mert a következő blokkra már a protokoll fentebb húzza a BASEFEE-t pl 21 gwei-re és amennyiben az így keletkező 31 gwei (BASEFEE+GASPREMIUM) ajánlatommal már beleférek a következő blokkba, akkor tutira benne is leszek, ráadásul tutira 31 gwei gasPrice tranzakciós költséggel… annak ellenére, hogy egyébként ez a tranzakció nekem akár 50 gwei-t is megért volna (FEECAP).

És akkor jöjjön a csavar

Az előző pontban bemutatott EIP-1559-es metódus alapvetően egyszerű és nagyszerű, de közismert, hogy egy ilyen modellnek, bizony meg kell állnia a helyét az olyan eltérő anyagi motivációkkal rendelkező komplex rendszerben is, mint az Ethereum. Hiszen jól látható, hogy a BASEFEE-t igazából könnyedén lehet manipulálni, ha folyamatosan be vannak tömve a blokkok és máris dől a lóvé a minerekhez.

Erre Vitalik és barátainak megoldása végtelenül egyszerű:

A BASEFEE minden esetben elégetésre kerül, tehát azt NEM írhatják jóvá maguknál a minerek jutalomként.

Ergo a minerek kizárólag a GASPREMIUM-ot tudják jóváírni bevételként. Ez – a fenti példánál maradva – azt jelenti, hogy bár az adott tranzakció tényleges költsége akár lehet 31 gwei is amikor blokkba kerül, de a miner akkor is csak a GASPREMIUM értékét (10 gwei) írhatja jóvá magánál bevételként. Ezzel gyakorlatilag jelentősen letörve a minerek előnyét a becslések és eszkalációk miatt elszabaduló bányász költségek kapcsán.

Valóban megoldja a problémákat?

Bár az EIP-1559 által előterjesztett módosítás elegáns, egyszerű és jól kezeli a problémát, de sajnos nem tudja teljesen kizárni a manipuláció lehetőségét a bányászok oldaláról. Egyrészt a minerek tudják manipulálni a BASEFEE-t. Ehhez csak annyi kell, hogy folyamatosan olyan blokkokat készítsenek, amelyek nincsennek tele (tehát nem kerül elfogyasztásra a teljes 12 milliós blokkonkénti gas limit). Így:

  • Egyrészt ki tudják kapcsolni a teljes BASEFEE modellt, ezáltal visszahozva a jelenlegihez hasonló aukciós fee modellt.
  • Másrészt mivel ehhez a blokkok nem lesznek tele, így amikor éppen felgyűlnek a pending tranzakciók, akkor azok méginkább nem fognak beleférni a blokkba és méginkább elszállnak az tranzakciós költségek.

Ehhez persze az kell, hogy a nagyobb bányászok (cirka 60%+) megegyezzen ebben a stratégiában. Sajnos az elmúlt években a Bitcoin esetén már bebizonyosodott, hogy a nagyobb bányász poolok hajlamosak ilyen jellegű háttérmegegyezéseket kötni.

A EIP-1559 egyértelműen vízválasztó lehet az Ethereum jövője kapcsán. Vagy tényleg jól sül el és a bányászok önös anyagi érdeke lehetetlenné teszi a manipulációt… ha mégsem így lesz, akkor még a mostaninál is durvább vadnyugati időszak várható a tranzakciós költségek kapcsán.

Ethereum 2.0 – Már a horizonton!

Megvan az az érzés, amikor a pirkadat első pislákolására odakuckózol az ablakhoz azzal az elvárással, hogy nemsokára végig nézheted a gyönyörű napfelkeltét… vársz-vársz… közben rájössz, hogy azért egy kávét csak csinálhattál volna… de nem akarsz megfordulni, mert akkor lemaradsz a legszebb pillanatról… vársz tovább… eltelik újabb 10 perc és még mindig csak a pislákolás erősödik, de a nap koronája még sehol… közben már egyre inkább menned kéne a mellékhelyiségbe is… de akkor sem fogod otthagyni, ha már több mint fél órája itt rostokolsz… tovább várod a csodálatos látványt… majd egy hangos “OTT ROHADJON MEG!!!” felkiáltással elmész elintézni a dolgod…

Na körülbelül ilyen érzésem van, amikor BÁRHOL, BÁRMIT olvasok az ethereum jövőjéről. Éppen ennek okán eléggé ignoráltam is, remélve, ha kellően sok idő eltelik, akkor csak láthatom nyomát értékelhető progressznek. Kb. 2 éve foglalkoztam komolyabban itt a blogon [1], [2] a témával. Nos, pont ez a két év kellett, hogy végre ne csak álmokról és tévelygésekről tudjak írni, hanem konkrétumokról is.

Persze az Ethereum törzsgárda mentségére legyen mondva, hogy az elmúlt bő három évük nagyon kemény volt. Gyakorlatilag asszisztáltak az ICO mániához, ami miatt a nap 24 órájában mindenféle scam projekteket kellett shillelniük. Roadshowzniuk kellett körbe a világban és rengeteg tánc koreográfiát megtanulniuk.

This is how Ethereum 2.0 works! /sarcasm...

Mára azonban alább hagyott a mánia és ezzel együtt elkezdett kiapadni az alapítvány végtelennek tűnő anyagi forrása, ami miatt folyamatosan dobálják ki a korábbi full expat finanszírozott projekteket. Mindez intő jel lehetett, hogy a fiatalok úgy döntsenek, ideje visszatérnünk ahhoz, amihez értenek is: és elindult gőzerővel az Ethereum 2.0 átállás és vele együtt az Ethereum 1.X foltozás is. Ezzel kapcsolatban mára lényegesen többel rendelkezünk, mint néhány raklap whitepaper; így időszerűnek tartom újra leporolni a témát.

Teszem ezt azért is, mert végre elindult és stabilan működik is az első Ethereum 2.0 testnet (Topar) a PrysmaticLabs jóvoltából, így a folytatás mögött leírt elmélet ma már élesben is kipróbálható. A cikk végére rakok is egy kis segédletet, hogy miként tudja bárki egyszerű eszközökkel (Metamask + Pyrsm client) kipróbálni, hogy milyen is a validálás.

Folytatás…

Honnan tudjuk, hogy mennyi Bitcoin node létezik?

Egy pénteki teleconfon került elő a címben szereplő kérdés. Mivel ott sem időm, sem lehetőségem nem volt erre válaszolni, ezért gondoltam keyboardot ragadok. Amúgy is időszerű egy ilyen témáról írni, hiszen régen volt már tech jellegű cikk a blogon.

Az alap kérdés egyébként nem is az volt, hogy mennyi Bitcoin node létezik, hanem az, hogy honnan tudjuk pl. egy Ethereum hard forknál, hogy a fullnodeok mekkora arányban alkalmazzák már az új konszenzus protokollt, illetve, hogy vajon egy hard fork milyen mértékben érinti negatívan az adott hálózat védettségét azáltal, hogy régebbi nodeok tömege kerül out-of-syncbe.

Folytatás…