Hoe Ethereum Layer 2-schaaloplossingen belemmeringen aanpakken voor ondernemingen die op Mainnet bouwen

Tas Dienes, EEA Mainnet Working Group

december 2020

Als je de laatste tijd de buzz in het Ethereum-ecosysteem hebt gevolgd, heb je waarschijnlijk gehoord over hoge transactiekosten en de beperkte verwerkingscapaciteit van Mainnet. Je hebt misschien ook wel eens van laag 2 gehoord. Laag 2 is een reeks technologieën of systemen die bovenop Ethereum (laag 1) worden uitgevoerd, beveiligingseigenschappen van laag 1 erven en een grotere transactieverwerkingscapaciteit (doorvoer), lagere transactiekosten bieden ( operationele kosten) en snellere transactiebevestigingen dan Layer 1. Layer 2-schaaloplossingen worden beveiligd door Layer 1, maar ze stellen blockchain-applicaties in staat om veel meer gebruikers of acties of gegevens te verwerken dan Layer 1 zou kunnen accommoderen.

Laag 2 is een breed veld waarin veel teams verschillende schaaloplossingen onderzoeken en bouwen die soms concurrerend en soms complementair zijn. De belangrijkste categorieën van L2-oplossingen zijn:toestandskanalen, zijketens 1 , plasma, optimistische rollups, zk-rollups en validium. Er zijn ook enkele hybride oplossingen met eigenschappen van meerdere categorieën. Elk heeft zijn eigen reeks sterke en zwakke punten en afwegingen. Ingaan op hoe elk type L2-technologie werkt en de nuances van zijn afwegingen valt buiten het bestek van dit artikel, maar vele anderen hebben erover geschreven. 4,5,6,7

De meeste L2-oplossingen zijn gecentreerd rond een server of cluster van servers, die elk een knooppunt, validator, operator, sequencer, blokproducent of vergelijkbare term kunnen worden genoemd. Afhankelijk van de implementatie kunnen deze L2-knooppunten worden beheerd door de bedrijven of entiteiten die ze gebruiken, of door een derde partij, of door een grote groep individuen (vergelijkbaar met Mainnet). Over het algemeen worden transacties naar deze L2-knooppunten verzonden in plaats van rechtstreeks naar L1; de L2-instantie verdeelt ze vervolgens in groepen voordat ze aan L1 worden verankerd, waarna ze worden beveiligd door L1 en niet kunnen worden gewijzigd. De details van hoe dit wordt gedaan, verschillen aanzienlijk tussen verschillende L2-technologieën en implementaties.

Privé versus openbaar Ethereum

Veel bedrijven hebben applicaties gebouwd op of geëxperimenteerd met private blockchains, inclusief private Enterprise Ethereum-implementaties, ondanks het feit dat het open en gedecentraliseerde karakter van Ethereum Mainnet bepaalde voordelen biedt, zoals sterkere beveiliging/onveranderlijkheid, transparantie, lagere bedrijfskosten, 3 en de mogelijkheid om samen te werken met alle andere applicaties die zich ook op het Mainnet bevinden (netwerkeffecten). Het delen van een gemeenschappelijk referentiekader vermijdt het onnodig creëren van talrijke geïsoleerde silo's die niet met elkaar kunnen communiceren en informatie kunnen delen of synchroniseren.

Deze voordelen zijn desgewenst ook beschikbaar op L2 (transparantie is optioneel). Transacties op L2 worden gecontroleerd en beveiligd door L1, die nog steeds fungeert als een gemeenschappelijk referentiekader en zorgt voor wereldwijd consistente transactieorders en statusbeheer. Applicaties kunnen gemakkelijk samenwerken binnen een L2-instantie en kunnen transacties uitvoeren tussen L2's via cross-chain messaging.

Er zijn tal van redenen waarom enterprise developers en architecten ervoor hebben gekozen om te bouwen op private ketens in plaats van op publieke. Eind 2019 schreef John Wolpert van ConsenSys een lijst met problemen met het idee om het Ethereum Mainnet in het bedrijfsleven te gebruiken. 2 Hier nemen we een uitgebreide versie van die lijst met problemen of bezwaren tegen bouwen op Mainnet, en bekijken hoe Layer 2-schaaloplossingen het spel voor sommige toepassingen kunnen veranderen.

Problemen met bouwen op het Ethereum Mainnet Gevolgen van het gebruik van een Layer 2-oplossing Schaalprobleem:mijn applicatie vereist honderden of duizenden transacties per seconde, die openbare ketens niet aankunnen. Dit is precies het probleem waarvoor L2-oplossingen zijn ontworpen. Afhankelijk van de specifieke L2-technologie en implementatie, kan het 50x tot meer dan 1000x meer doorvoer bieden dan L1.

Aan de bovenkant:toestandskanalen, plasma, validium, zijketens en bepaalde hybride oplossingen. Aan de onderkant:zk-rollups en optimistische rollups.Snelheids- en latentieprobleem:onze CRM- en ERP-systemen hebben niet het soort transactie-per-seconde-snelheden van een Visa of Mastercard nodig (en zelfs zij krijgen die TPS-tarieven door parallellisatie...kan hou me niet voor de gek). Maar lange wachttijden voor retour + consensus maken dingen die ik met het Mainnet zou kunnen doen een slechte gebruikerservaring. Sommige L2-oplossingen kunnen "onmiddellijke" transactiebevestigingen bieden met een economische garantie dat uw transactie zal worden opgenomen in het volgende L2-blok.

Sidechains kunnen ook kortere bloktijden en snellere finaliteit binnen de sidechain bieden (hoewel de transacties niet verankerd zijn aan L1).

Het finaliseren van L2-transacties op L1, om de volledige voordelen van L1-beveiliging te krijgen, hangt nog steeds af van de L1-bloktijd. Of u moet wachten op L1-finaliteit, L1-bevestiging of alleen op L2-bevestiging, hangt af van de specifieke kenmerken van uw toepassing. Finaliteitsprobleem:Ethereum is een "uiteindelijke consistentie" -machine. Als dat verandert met Eth2.0, begrijp ik het niet ... iets met een magische snelle finaliteit iets. Ik weet het niet. Wat ik wel weet, is dat al mijn systemen systemen zijn waarbij een wijziging in de gegevens definitief is zodra ze worden geschreven. L2 maakt dit misschien wat ingewikkelder, omdat transacties mogelijk moeten worden afgerond op zowel L2 als L1. Het is minimaal hetzelfde niveau van complexiteit als L1.

Ethereum 2.0 introduceert echter finaliteit via zijn nieuwe consensusalgoritme, Casper FFG. Na migratie naar Eth2 kunnen zowel L1- als L2-transacties na enige tijd als voltooid worden beschouwd. Probleem met luidruchtige buren:andere gebruikers en netwerkactiviteiten mogen mijn activiteiten niet verstoren. Als onderneming die bedrijfskritieke operaties uitvoert die afhankelijk zijn van voorspelbare operatietiming, moet ik er zeker van zijn dat een "cryptokitty" -gebeurtenis geen mogelijkheid is. Ik moet weten dat, ook al is het Mainnet een openbaar nut, er op de een of andere manier redelijke zekerheid is dat de lees-, schrijf- en rekenbewerkingen die ik nodig heb om zaken te doen op het Mainnet niet worden gereduceerd tot een speurtocht door de activiteiten van anderen. De mate waarin "lawaaierige buren" uw activiteiten kunnen verstoren door het grootste deel van de L1-capaciteit te verbruiken, hangt af van het type L2-technologie en hoe deze wordt geïmplementeerd. Sommige technologieën, zoals plasma en validium, schrijven heel weinig gegevens naar L1. Hierdoor kan de L2-exploitant indien nodig hogere gasprijzen betalen om ervoor te zorgen dat zijn transacties op L1 tijdig worden verwerkt. Deze oplossingen zijn zeer goed bestand tegen "lawaaierige buren".

Zijketens zijn ook relatief immuun voor dit probleem omdat ze niet afhankelijk zijn van de L1-keten. Maar het overbrengen van tokens of gegevens van/naar de L1-keten is nog steeds onderhevig aan de capaciteit van L1.

Rollup-achtige L2-oplossingen worden beperkt door de beschikbare capaciteit van L1 en kunnen meer last hebben van congestie van het Mainnet. De L1-gaskosten om deze L2-transacties op L1 te verankeren, zijn nog steeds veel lager dan de kosten om deze transacties rechtstreeks op L1 uit te voeren, dus de exploitant kan mogelijk hogere transactiekosten betalen om een ​​tijdige verwerking te garanderen. Deze oplossingen zijn minder bestand tegen luidruchtige buren dan de eerder genoemde, maar beter bestand dan applicaties die rechtstreeks op L1 draaien.

Als bedrijfstoepassingen een L2-instantie delen met andere toepassingen, kan de L2-operator, afhankelijk van de implementatie, mogelijk een zekere mate van gegarandeerde doorvoer of een SLA bieden met betrekking tot die L2-instantie. Een applicatie of bedrijf kan ook zijn eigen L2-instantie voor zichzelf hebben. Probleem met privégegevens:Tachtig procent van onze gegevens wordt beschouwd als gevoelige, interne of persoonlijk identificeerbare klant-, klant- of gebruikersgegevens. Encryptie is niet genoeg. Alle gegevens kunnen op een gegeven moment worden gedeanonimiseerd en gedecodeerd. En iedereen met een volledig knooppunt moet voor altijd de bits op het grootboek kraken. Dus ik hou er niet van om zelfs maar versleutelde gegevens in een openbare keten te plaatsen. Bepaalde L2-technologieën (zoals validium, zijketens en Arbitrum SCSC) zijn in staat om alle L2-gegevens binnen de L2-instantie en buiten L1 te houden.

Als meerdere bedrijven gegevens naar dezelfde gedeelde L2-instantie schrijven, kunnen ze elkaars gegevens zien (zoals een consortium), maar als een bedrijf een eigen instantie heeft, kunnen de gegevens privé worden gehouden. Beveiligingsproblemen:versleutelde gegevens zijn nog gegevens. Het is in strijd met ons beleid om PII- en klantgegevens, zelfs versleuteld, op peer-to-peer-platforms op te slaan. Terwijl rollups alle transactiegegevens naar L1 schrijven, doen andere oplossingen dat niet. Sommige L2-oplossingen stellen een bedrijf in staat om hun eigen privé L2-instantie te draaien die alle L2-gegevens voor zichzelf houdt, op servers die door dat bedrijf worden beheerd.

Uiteindelijk moet de noodzaak om gevoelige gegevens op een blockchain te plaatsen in twijfel worden getrokken, aangezien er ontwerppatronen zijn die het gebruik van blockchains als databases vermijden en zich richten op het benutten van hun sterke punten, terwijl gevoelige gegevens buiten de keten worden gehouden. account voor waar PII-gegevens worden opgeslagen, zelfs wanneer deze zijn gecodeerd. En ik moet die gegevens op verzoek permanent kunnen verwijderen. Als de gegevens permanent op een willekeurig aantal knooppunten staan ​​die niet overal door mij worden beheerd ... ja. Met bepaalde L2-oplossingen die geen transactiegegevens naar L1 schrijven, kan een L2-operator een AVG-conforme L2-service leveren die L2-gegevens op een bekende locatie opslaat met het vereiste beveiligingsniveau. Of een bedrijf kan zijn eigen privé L2-instantie runnen en volledige controle hebben over de L2-gegevens. Probleem met verantwoordelijke partij:Mijn juridische structuur vereist dat er een verantwoordelijke partij is die alle aspecten van mijn gegevens en bedrijfslogica behandelt. Als ik gegevens op het Mainnet zet, verlies ik een belangrijke verantwoordelijke partij. Sommige L2-oplossingen worden beheerd door een operator, die op traditionele wijze SLA's en beveiliging kan aanbieden en hiervoor verantwoordelijk kan worden gehouden. Probleem met transactiekosten:Ethereum-gasprijzen zijn gestegen . Als ik miljoenen transacties moet uitvoeren, zal het waanzinnig duur zijn. Dit is een ander probleem waarvoor L2 speciaal is ontworpen om het aan te pakken. Omdat het verankeren van L2-transacties op L1 veel minder gas verbruikt dan het rechtstreeks uitvoeren van transacties op L1, zijn de L2-transactiekosten veel lager.

De exacte besparingen zijn afhankelijk van de L2-technologie. L2's zoals staatskanalen, plasmavalidium en zijketens zijn het meest economisch, terwijl L2's die transactiegegevens op L1 opslaan, zoals rollups, minder (maar nog steeds substantiële) besparingen bieden. Kostenonvoorspelbaarheid Probleem:gasprijzen gaan op en neer. Cryptoprijzen gaan op en neer. Het is te moeilijk om te voorspellen hoeveel mijn transacties zullen kosten. Bij bepaalde L2-implementaties is er een operator die een vaste/gegarandeerde prijs per transactie in rekening kan brengen.

Sidechain-operators kunnen forfaitaire prijzen aanbieden voor variabele looptijden van ketenoperaties (3mo, 6mo, 12mo). Transacties binnen de keten zouden grotendeels gasloos zijn.

Zelfs bij een variabele marktgebaseerde prijsstelling verlaagt L2 de kosten per transactie aanzienlijk. Afhankelijk van het type L2 kunnen L2-transactiekosten lineair variëren omdat de gasprijzen op L1 variëren (rollups), of relatief ontkoppeld zijn omdat er minder gegevens op L1 worden opgeslagen (validium, plasma, enz.). Gezien lagere totale kosten, kunnen de implicaties van variabiliteit worden verminderd. Probleem met crypto-betaling:ik moet crypto vasthouden en betalen voor transacties in crypto. Het is een nachtmerrie om de schatkist van mijn bedrijf vertrouwd te maken met het kopen en vasthouden en betalen in crypto. Als de L2-instantie wordt beheerd door een externe operator, kan de operator betalingen voor L2-transacties accepteren in elke vorm van valuta die ze kiezen, inclusief traditionele fiat.

Dit probleem kan op L1 ook worden aangepakt door transactierelayers (ook bekend als benzinestations) die betalingen in fiat of tokens kunnen accepteren en transacties naar het L1-netwerk kunnen doorsturen. Strategielekkage Probleem:transactiemetagegevens kunnen worden gebruikt om het systeem te spelen of te verzamelen/analyseren voor strategische contraspionage of corp. spionage. In het tijdperk van AI kan elke traceeractiviteit op een permanent, openbaar grootboek worden gebruikt om erachter te komen wie wat doet, zelfs als het maar kleine veranderingen zijn in Merkle-pogingen.L2's gebaseerd op bepaalde technologieën (zoals validium, zijketens, Arbitrum SCSC) kunnen L2-transactiegegevens binnen de L2 en buiten L1 bewaren. De L2 kan dan de toegang beperken tot geautoriseerde entiteiten. Als een bedrijf zijn eigen privé-L2-instantie heeft, kunnen de details van hun transacties privé worden gehouden (hoewel er beperkte use-cases kunnen zijn voor L2's die door slechts één entiteit worden gebruikt).

Het is ook mogelijk om een ​​benadering als Baseline te gebruiken, waarbij transacties tussen entiteiten privé worden uitgevoerd en alleen ZK-bewijzen van juistheid (verzameld in batches) worden ingediend bij L1 of L2.

Een opkomende technologie genaamd zkzk-rollup (bijv. Aztec 2.0) maakt vertrouwelijke transacties binnen de L2 mogelijk, zodat anderen op dezelfde L2-instantie uw transacties niet kunnen ontcijferen.

Er zijn ook protocollen voor gegevensprivacy en bewaring in ontwikkeling die afhankelijk zijn van toegangsrechtenbeheer, gedistribueerde sleutelgeneratie en vertrouwde uitvoeringsomgevingen om gegevens privé te houden, behalve in een TEE binnen de Layer 2. Vertrouwelijke code Probleem:u kunt niet zomaar verberg de gegevens met iets als ZK-SNARKS en denk dat alles in orde is vanuit een zakelijk perspectief. Veel zakelijke overeenkomsten zijn vastgelegd in code... bedrijfslogica. Als een machine een slim contract kan uitvoeren, kan het decompileren en naar de logica kijken, en dat kan gevoelige informatie lekken. Sommige L2's ondersteunen geen slimme contracten en uitvoering van code.

Als uw transacties code-uitvoering vereisen, kan het mogelijk zijn om een ​​benadering zoals Baseline te gebruiken, waarbij transacties tussen entiteiten privé worden uitgevoerd en alleen ZK-bewijzen van correctheid worden ingediend bij L1 of L2.

Een opkomende technologie genaamd zkzk-rollup (bijv. Aztec 2.0) maakt vertrouwelijke transacties binnen de L2 mogelijk, zodat anderen op dezelfde L2-instantie uw transacties niet kunnen ontcijferen. Emotioneel:Bitcoin en Ethereum zijn voor niet-gereguleerd/off-book gebruik (dwz criminele activiteiten) . Ik wil daar niet mee geassocieerd worden, en ik ben bang voor wat er zou kunnen gebeuren als overheden openbare blockchains zouden aanpakken. Naarmate het publieke gebruik van Ethereum groeit, wordt het voor elke overheid moeilijker om het netwerk te censureren of te blokkeren. Hoewel er wereldwijde inspanningen kunnen worden geleverd om het gebruik door criminele actoren te verwijderen of te verminderen, is het onwaarschijnlijk dat dit de groei van gedecentraliseerde computers en openbare netwerken zal voorkomen. De voordelen van gedeelde protocollen, digitale valuta/tokens, betrouwbare en geautomatiseerde contractuitvoering, samen met andere Web3-voordelen zijn te krachtig om te stoppen.

Het uitvoeren van uw applicaties op L2 kan een zekere mate van isolatie bieden van de openbare L1-blockchain. De L2 kan meer worden gebruikt als traditionele zakelijke IT-infrastructuur met beveiliging en aansprakelijkheid, en fungeert als een buffer tussen uw bedrijf en niet-gereguleerde activiteiten, maar heeft nog steeds L1 als scheidsrechter, plus de voordelen van onveranderlijkheid, interoperabiliteit en het gemeenschappelijke referentiekader die L1 biedt.

Conclusie

Layer 2-schaaloplossingen voor Ethereum Mainnet zijn de afgelopen jaren in ontwikkeling geweest en zijn nu klaar om echte toepassingen aan te nemen. Door uw toepassing op laag 2 te bouwen, kunt u een veel hogere doorvoer bereiken dan wanneer u al uw bewerkingen rechtstreeks op laag 1 uitvoert. En het minimaliseert de transactiekosten. Laag 2 kan ook helpen bij het oplossen van problemen met betrekking tot privacy, vertrouwelijkheid van transacties en gegevensbewaring. En het kan helpen voorkomen dat bedrijven moeten omgaan met cryptocurrency-tokens en prijsvolatiliteit bij het betalen voor transacties.

Er zijn veel L2-oplossingen, elk met zijn eigen sterke en zwakke punten en afwegingen. Het is raadzaam om goed na te denken over de vereisten van uw toepassing en de beschikbare opties te bestuderen voordat u een selectie maakt.

Voorbeelden van L2-oplossingen die klaar zijn voor productie of binnenkort zullen zijn:

  • Optimistische rollups (gegevens op keten, fraudebestendig)
    • Optimisme
    • Offchain Labs Arbitrum Rollup
    • Brandstofnetwerk
  • ZK-rollups (gegevens op ketting, ZK-geldigheidsbewijzen)
    • Loopring
    • Starkware
    • Matter Labs zkSync
    • Azteekse 2.0
  • Validium (gegevens buiten de keten, ZK-geldigheidsbewijzen)
    • Starkware
    • Matter Labs zkPorter
  • Plasma (gegevens buiten de keten, fraudebestendig)
    • OMG-netwerk
    • Gazelle
    • Matic-netwerk
    • LeapDAO
  • Staatkanalen
    • Verbinden
    • Raiden
    • Peru
  • Zijketens 1
    • Schaal
    • POA-netwerk
  • Hybride oplossingen
    • Offchain Labs Arbitrum SCSC – heeft eigenschappen van zowel zijketens als statuskanalen, maar valt terug op optimistische rollup als validators zich misdragen.
    • Celer – heeft afstembare eigenschappen van zijketens en statuskanalen en optimistische rollups

Opmerkingen en referenties

  1. Sommige mensen zouden zeggen dat zijketens technisch gezien niet laag 2 zijn, omdat ze niet worden beveiligd door L1:https://ethresear.ch/t/understanding-sidechains/8045
  2. https://drive.google.com/file/d/1-_lHgLeIyYH2ggtKigvNhzHz7OnXFJz6/view
  3. https://github.com/EYBlockchain/fundamental-cost-of-ownership/blob/master/EY%20Total%20Cost%20of%20Ownership%20for%20Blockchain%20Solutions.pdf
  4. https://www.buildblockchain.tech/newsletter/issues/no-99-validium-and-the-layer-2-two-by-two
  5. https://medium.com/matter-labs/evaluating-ethereum-l2-scaling-solutions-a-comparison-framework-b6b2f410f955
  6. https://medium.com/celer-network/adding-hybrid-pos-rollup-sidechain-to-celers-coherent-layer-2-platform-d1d3067fe593
  7. https://ethworks.io/assets/download/zero-knowledge-blockchain-scaling-ethworks.pdf

Met dank aan John Wolpert, Ken Fromm en Jack Leahy voor hun bijdrage aan dit artikel.


Ethereum
  1. Blockchain
  2. Bitcoin
  3. Ethereum
  4. Digitale valuta wisselen
  5. Mijnbouw