2. rétegű skálázás
A 2. réteg (layer 2) egy gyűjtőnév az olyan megoldásoknak, melyeket arra terveztek, hogy skálázzák az alkalmazásodat úgy, hogy a tranzakciókat az Ethereum láncon (1. réteg) kívül kezelik. A tranzakciós sebesség szenved, amikor a hálózaton nagy a forgalom, mely rontja a felhasználói élményt bizonyos dapp típusoknál. Ahogy nő a hálózat forgalma, úgy nőnek a gáz árak, mivel a tranzakció küldők próbálják egymást túllicitálni. Ez nagyon drágává teszi az Ethereum használatát.
Előfeltételek
Jó alapokkal kell rendelkezned az összes alapvető témakörről. A 2. rétegű megoldások bevezetése elég haladó szint, mivel a technológia kevésbé kiforrott.
Miért szükséges a 2. réteg?
- Némely felhasználási esetnek, például a blokklánc játékoknak, nincs értelme a jelenlegi tranzakciós időkkel
- Szükségtelenül drága a blokklánc alkalmazások használata
- A skálázhatóságra történő frissítés nem mehet a decentralizáció rovására - a 2. réteg az Ethereumra épít.
2. réteg megoldások típusai
A legtöbb 2. rétegű megoldás egy szerver vagy egy szerver cluster körül helyezkedik el, amelyek mindegyikét csomópontnak, validátornak, operátornak, szekvenszernek, blokkgyártónak vagy hasonlónak nevezhetjük. A megvalósítástól függően ezeket a 2. réteg csomópontokat az azokat használó vállalkozások vagy szervezetek, egy harmadik fél, vagy egyének nagy csoportja (hasonlóan a főhálózathoz) futtathatja. Általánosságban beszélve a tranzakciókat ezek a 2. réteg csomópontok kapják, ahelyett, hogy közvetlenül az első rétegre küldenénk őket (főhálózat); a 2. rétegű instance ezután csoportokba rendezi őket, mielőtt fel kerülnek az 1. rétegre, ezután az 1. réteg szolgáltatja a biztonságot és nem lehet őket többé megváltoztatni. Ennek részletei jelentősen eltérnek a 2. réteg különböző technológiáitól és megvalósításaitól.
Egy adott 2. réteg instance esetében lehet nyitott és megosztott több alkalmazás között, vagy egy adott cég által üzemeltetve és csak a saját alkalmazásukat támogatva.
Összegzők
Az összegzők (rollups) olyan megoldások, melyek melléklánc tranzakciókat kötnek össze vagy "tekernek fel (roll up)" egy tranzakcióba majd egy kriptográfiai bizonyítékot generálnak, melyet SNARK-nak nevezünk (succinct non-interactive argument of knowledge). Csak ez a bizonyíték kerül fel a fő láncra.
A mellékláncok Ethereum kompatibilis, független blokkláncok.
Máshogy megfogalmazva az összegzés azt jelenti, hogy az összes állapot változás és végrehajtás mellékláncokon történik - szignatúra hitelestés, szerződés végrehajtás stb. A fő Ethereum lánc (1. réteg) csak tranzakciós adatot tárol.
Az összegzős megoldások váltók (relayers) használatát igénylik, melyek egy kötvényt helyeztek el a szerződésben. Ez ösztönzi őket, hogy pontosan váltsák az összegzéseket.
Hasznos:
- felhasználó díjak csökkentésére
- nyitott részvételre
- gyors tranzakció átvitelre
Kétfajta összegző van különböző biztonsági modellel:
- Zero knowledge: a számítások off-chain történnek és egy érvényességi bizonyítékot küld fel a láncra
- Optimista: azt feltételezi, hogy a tranzakciók alapvetően érvényesek és csak egy csalási bizonyítékon keresztül végez számításokat egy felelősségre vonás alkalmával
Zero-knowledge összegzők
A zero-knowledge összegzők, másnéven ZK-összegzők, több száz átutalást kötnek össze a láncon kívül egy tranzakcióban egy okosszerződésen keresztül. A beküldött adattal az okosszerződés hitelesíti az összes átutalást, mely benne volt. Ezt úgy hívjuk, hogy érvényességi bizonyíték.
A ZK-összegző segítségével a blokkok validálása gyorsabb és olcsóbb, mivel kevesebb adatot tartalmaz. Nincs szükséged az összes tranzakciós adatra, hogy hitelesítsd a tranzakciókat csak a bizonyítékra.
A melléklánc, ahol a ZK-összegzés történik, optimálható a tranzakció méret további csökkentésére. Például egy számlát egy index, nem pedig egy cím reprezentál, ami 32 bájtról 4 bájtra csökkenti a tranzakciót. A tranzakciókat calldataként írjuk az Ethereumra, amivel gázt takarítunk meg.
Előnyök és hátrányok
Előnyök | Hátrányok |
---|---|
Nincs késés, mivel a bizonyítékokat már érvényesnek tekintjük, amikor a fő láncra kerülnek. | Csak átutalásokra van lekorlátozva, nem kompatibilis az EVM-mel. |
Kevésbé sérülékeny a gazdasági támadásokkal szemben, mint az Optimista összegző. | Az érvényességi bizonyítékokat nehéz kiszámítani - nem érdemes kis on-chain aktivitású alkalmazásoknál használni. |
Lassabb szubjektív véglegességi idő (10-30 perc egy ZK bizonyíték generálása) (de gyorsabb a teljes véglegesség, mivel nincsen felelősségre vonási késés, mint az Optimista összegzők esetében). |
ZK-összegzők használata
Optimista összegzők
Az optimista összegzők egy mellékláncot használnak, mely a fő Ethereum lánccal párhuzamosan működik. Növelhetik a skálázhatóságot, mivel alapvetően nem végeznek számításokat. Ehelyett egy tranzakció után egy új állapotot javasolnak a főhálózatnak. Vagyis "jegyzik" a tranzakciót.
Az optimista összegzőknél a tranzakciók calldataként vannak a fő Ethereum láncba írva, ezzel tovább optimálva a gáz költség csökkentést.
Mivel a számítás az Ethereum használatának lassú és drága része, az optimista összegzők a tranzakciótól függően akár 10–100-szoros javulást is kínálnak a méretezhetőségben. Ez a szám tovább fog nőni a következő Eth2 fejlesztés bevezetésével: shard láncok. Ennek az az oka, hogy több adat áll majd rendelkezésre felelősségre vonási esemény során.
Tranzakciók megkérdőjelezése
Az optimista összegzők valójában nem számítják ki a tranzakciót, így szükség van valamilyen mechanizmusra, mely biztosítja, hogy a tranzakciók jogosak és nem hamisak. Itt jön a képbe a csalási bizonyíték. Ha valaki egy hamis tranzakciót észlel, akkor az összegző végrehajt egy csalási biztosítékot és elvégzi a tranzakció kiszámítását a rendelkezésre álló állapot adatok felhasználásával. Ez azt jelenti, hogy hosszabb ideig kell várnod a tranzakciók megerősítésére, mint egy ZK-összegző esetében, mert ez megtámadható.
A csalás igazolásának kiszámításához szükséges gáz még meg is térül. Ben Jones, az Optimism tagja ismerteti a meglévő kötvényi rendszert:
"bárkinek, aki képes olyan intézkedésre, amelyet hamisnak kellene bizonyítanod, hogy megvédd a pénzedet, egy kötvényt kell elhelyeznie. Lényegében van valamennyi ETH-ed, amit lekötsz és azt mondod, hogy "Igérem, hogy az igazat mondom"... Ha nem az igazat állítod és a csalás beigazolódik, akkor ez a pénz elveszik. Nem csak hogy elveszik ez a pénz, de egy része még a gázért is fizetni fog, melyet az emberek a csalási bizonyítékra költöttek"
Tehát a csalás bizonyítása megtérül.
Előnyök és hátrányok
Előnyök | Hátrányok |
---|---|
Bármi, amit az Ethereum 1. rétegen csinálhatsz, megcsinálhatod optimista összegzőkkel, mivel EVM és Solidity kompatibilis. | Hosszú várakozási idő az on-chain tranzakcióknál a potenciális csalási bizonyítások miatt. |
Az összes tranzakciós adat az 1. rétegű láncon tárolódik, ami azt jelenti, hogy biztonságos és decentralizált. | Potenciálisan sérülékeny a támadásokkal szemben, ha az érték egy optimista összegzőben meghaladja az operátor kötvényének értékét. |
Optimista összegzők használata
Csatornák
A csatornák lehetővé teszik a résztvevőknek, hogy x
alkalommal indítsanak tranzakciókat off-chain, mialatt csak két tranzakciót indítanak a hálózaton on-chain. Ez extrém magas tranzakció átvitelt tesz lehetővé
Hasznos::
- sok állapot frissítésre
- amikor a résztvevők száma előzetesen ismert
- amikor a résztvevők bármikor elérhetőek
A résztvevőknek le kell kötniük az Ethereum állapotának egy részét, mint egy ETH letét, egy többszignatúrás szerződésbe. A többszignatúrás szerződés egy olyan szerződés, mely több privát kulcs szignatúráját (így a beleegyezését) igényli a lefutáshoz.
Az állapot lekötésének ezen módja jelenti az első tranzakciót és a csatorna megnyitását. A részvevők gyorsan és ingyen tudnak off-chain tranzakciókat indítani. Amikor véget ér az interakció, egy végső on-chain tranzakciót kell küldeni, mely feloldja az állapotot.
Állapot csatornák
Állapot csatorna amőba:
Készítsd el a "Bíró" többszignatúrás okosszerződést az Ethereum főláncon, mely érti az amőba szabályait és be tudja azonosítani Alízt és Bobot a játék két résztvevőjeként. Ez a szerződés tárolja az 1 ETH díjat.
Ezután Alíz és Bob elkezdik a játékot az állapot csatorna megnyitásával. Minden egyes lépés egy off-chain tranzakciót generál, mely egy "nonce-t" tartalmaz, mely annyit jelent, hogy később bármikor megtudjuk mondani a lépések sorrendjét.
Ha megvan a győztes, akkor bezárják a csatornát a végső állapot (vagyis a tranzakciós lista) elküldésével a Bíró szerződés számára egyszeri tranzakciós díjat fizetve. A Bíró megbizonyosodik arról, hogy ez a "végső állapotot" mindkét fél aláírta, és egy ideig vár, hogy valaki kérdőre vonja-e az eredményt, ezután kifizeti az 1 ETH díjat Alíznak.
Jelenleg kétfajta csatorna létezik:
- Állapot csatornák - ahogy fentebb részleteztük
- Fizetési csatornák - Egyszerűsített állapot csatornák, mely csak fizetésekkel operál. Off-chain tranzakciókat tesz lehetővé két fél között addig, amíg a nettó összege az átutalásaiknak meg nem haladja a letétbe helyezett tokenek mennyiségét.
Előnyök és hátrányok
Előnyök | Hátrányok |
---|---|
Azonnali kiutalás/elszámolás a főhálózaton (ha a csatorna mindkét részvevője együtt működik) | A csatorna felállításának és rendezésének ideje és költsége - ez nem olyan jó az önálló felhasználók közötti alkalmi egyszeri tranzakciókhoz. |
Extrém magas átvitel is lehetséges | Rendszeresen figyelni kell a hálózatot (életképességi követelmény), vagy át kell ruházni ezt a felelősséget másra az pénz biztonsága érdekében. |
Legalacsonyabb egy tranzakcióra eső költség - jól használható mikrofizetéses streaming szolgáltatásokra | Le kell kötni a pénzt nyílt fizetési csatornákon |
Nem támogatja a nyílt részvételt |
Állapot csatornák használata
Plasma
A plasma lánc olyan különálló blokklánc, mely hozzá van kötve a fő Ethereum lánchoz, és csalási bizonyítékokat használ (mint az optimista összegzők), hogy eldöntse a vitákat.
Előnyök | Hátrányok |
---|---|
Nagy átvitel és alacsony költség tranzakciónként. | Nem támogatja az általános számítást. Csak alapvető token átutalások, váltások és egy pár más tranzakció típus támogatott az elsőrendű logika által. |
Jól használható tetszőleges felhasználók közötti tranzakciókra (felhasználói páronként nincs költség, ha mindkettő létrejött a plasma láncon) | Rendszeresen figyelni kell a hálózatot (életképességi követelmény), vagy át kell ruházni ezt a felelősséget másra az pénz biztonsága érdekében. |
Egy vagy több szolgáltatóra támaszkodik az adattároláshoz és a lekérdezéshez. | |
A kiutalások több napig is tarthatnak, hogy lehetővé tegyék a felelősségre vonást. A helyettesíthető eszközök esetében ezt a likviditásszolgáltatók csökkenthetik, de ez egy ehhez kapcsolódó tőkeköltséggel jár. |
Plasma használata
Validium
Érvényességi bizonyítékokat használ, mint a ZK-összegzők, de az adatokat nem az 1. rétegű Ethereum lánc tartalmazza. Ez akár 10k tranzakciót is jelenthet másodpercenként egy validium láncon és több lánc is futhat párhuzamosan.
Előnyök | Hátrányok |
---|---|
Nincs kiutalási késés (nincs on-chain/cross-chain tx késés); nagyobb tőkehatékonyságot eredményez. | Korlátozottan támogatja az általános számítást/okosszerződéseket; speciális nyelveket igényel. |
Nem sérülékeny bizonyos gazdasági támadásokkal szemben, melyekkel a csalási bizonyíték alapú rendszerek szembesülnek a nagy értékű alkalmazásoknál. | Nagy számítási kapacitást igényel a ZK bizonyítékok generálása; nem költséghatékony az alacsony átvitelű alkalmazásoknál. |
Lassabb szubjektív véglegességi idő (10-30 perc egy ZK bizonyíték generálása)(de gyorsabb a teljes véglegesség, mivel nincs felelősségre vonási idő). |
Validium használata
Mellékláncok
A melléklánc egy különálló blokklánc, mely párhuzamosan fut a főhálózattal és tőle függetlenül működik. Saját konszenzus algoritmusa van (Proof-of-Authority, delegált proof-of-stake, bizánci hibatűrés, stb). Egy kétirányú összekötővel van a fő lánchoz kapcsolva.
Előnyök | Hátrányok |
---|---|
Megalapozott technológia. | Kevésbé decentralizált. |
Támogatja az általános számítást, EVM kompatibilitást. | Másfajta konszenzus mechanizmust használ. Nem az 1. réteg tartja biztonságban (tehát technikailag nem egy 2. réteg). |
A melléklánc validátorok határozatképessége csalást idézhet elő. |
Mellékláncok használata
Hibrid megoldások
Kombinálja a többrétegű technológiák legjobb tulajdonságait, és konfigurálható kompromisszumokat kínálhat.
Hibrid megoldások használata
További olvasnivaló
- Validium And The Layer 2 Two-By-Two — Issue No. 99
- [Evaluating Ethereum layer 2 Scaling Solutions: A Comparison Framework](https://medium.com/matter-labs/evaluating-ethereum-layer 2-scaling-solutions-a-comparison-framework-b6b2f410f955)
- Adding Hybrid PoS-Rollup Sidechain to Celer’s Coherent Layer-2 Platform on Ethereum
- Zero-Knowledge Blockchain Scalability
Állapot csatornák
- EthHub az állapot csatornákról
- Making Sense of Ethereum’s Layer 2 Scaling Solutions: State Channels, Plasma, and Truebit – Josh Stark, Feb 12 2018
- State Channels - an explanation Nov 6, 2015 - Jeff Coleman
- Basics of State Channels District0x
Fizetési csatornák
ZK-összegzők
Optimista összegzők
Mellékláncok
- EthHub a mellékláncokról
- Scaling Ethereum Dapps through Sidechains Feb 8, 2018 - Georgios Konstantopoulos
Segíts nekünk ezzel a lappal
Ha a témának a szakértője vagy és szeretnél hozzájárulni, akkor szerkeszd ezt az oldalt és szórd meg a tudásoddal.
Jóváírást kapsz, és segítesz az Ethereum közösségnek!
Használd rugalmasan dokumentáció sablon
Kérdésed van? Tedd fel a #content csatornán Discord szerver
Oldal szerkesztése