Populaire onderwerpen
#
Bonk 生态迷因币展现强韧势头
#
有消息称 Pump.fun 计划 40 亿估值发币,引发市场猜测
#
Solana 新代币发射平台 Boop.Fun 风头正劲
De afgelopen weken heb ik niet veel updates gedeeld over @ethrex_client, onze @class_lambda @ethereum L1-executieclient en ZK L2-stack.
Volg alsjeblieft @ethrex_client om meer te leren over alles wat we doen.
In de L1 draaien we al succesvol Ethereum-testnets en in de L2 draaien we testnets voor de identiteits- en DeFi-toepassingen die we bouwen voor en met partners. Ik geloof oprecht dat we dicht bij de eenvoudigste codebase en stack zijn om te onderhouden, upgraden en aanpassen in Ethereum. We zouden dit punt niet hebben bereikt zonder de code van @NethermindEth en @go_ethereum te controleren.
Met mijn partners @rj_aligned, @fran_aligned van @alignedlayer en @SantiDiPaolo, @AguuMg van @PolFinance_ staan we op het punt een van de eerste whitepapers over RWA L2's uit te brengen die aangedreven zal worden door Ethrex en @alignedlayer. We hebben nog veel meer in de pijplijn, maar ik ben vooral enthousiast over deze, omdat het een zeer interessante use case van TradFi en DeFi zal overbruggen. We hebben als adviseurs en partners enkele van de sterkste teams in de industrie. Ik kan niet wachten om meer over dit project te delen.
Updates
L1
We hebben aan veel fronten gewerkt. We hebben de observability verbeterd met Grafana, ongebruikte functies verwijderd om de codebase te vereenvoudigen en ondersteuning toegevoegd voor de `engine_getBlobsV1`-eindpunt.
Changelog:
feat(l1): `engine_getBlobsV1` aanvraag eindpunt (#3636)
chore(l1): verwijder redb-ondersteuning (#4103)
refactor(l1): verwijder onnodige usizes uit blockchain crate (#4110)
fix(l1): verwijder onnodige state clone (#4117)
fix(l1): gebruik de juiste docker-image om localnets op te starten. (#4131)
chore(l1): voeg bloktijd toe aan grafana-dashboard. (#4112)
fix(l1): trek DB-leestijden af van blokuitvoering. (#4051)
chore(l1): metric verbeteringen. (#4118)
chore(levm): verbeter organisatie van nieuwe levm test runner (#3958)
L2
In lijn met onze minimalistische benadering hebben we een aanzienlijk aantal code uit ongebruikte L2-databases verwijderd. We blijven de codebase vereenvoudigen en dode code elimineren. Bovendien is de CI gestabiliseerd na het oplossen van een bug met betrekking tot gasprijzen.
We benchmarken de L2 op twee fronten:
- Onderhoudskosten van het L2-netwerk: We zijn de L2-parameters aan het verfijnen door verschillende scenario's te simuleren met verschillende transactie-werkbelastingen en netwerkconfiguraties. Het doel is om de geschatte onderhoudscommissie per transactie te bepalen die gebruikers moeten dragen om het netwerk zelfvoorzienend te maken.
- Geïsoleerde blok bewijs van uitvoeringsgeneratie benchmarks: Met behulp van de ethrex-replay-tool bewijzen we blokken van Hoodi, Sepolia en Mainnet om potentiële bugs in de codebase te identificeren en de prestaties van onze prover te meten.
Aan de ethrex-replay-kant is de tool stabiel genoeg, en we hebben infrastructuur opgezet om periodiek de blokuitvoeringen en bewijzen van openbare netwerken opnieuw af te spelen. We zijn nu bezig met het aanpakken van bugs die tijdens deze runs zijn ontstaan. Sommige bugs zijn het gevolg van logische fouten in ethrex, terwijl andere verband houden met het geheugenverbruik. De eerste zijn grotendeels opgelost, en we maken aanzienlijke vooruitgang met de laatste.
We zijn ook begonnen met het kijken naar @ziskvm en @0xLita ZKVM's voor mogelijke kortetermijnintegratie. We ondersteunen al @RiscZero en @SuccinctLabs.
Deze week hebben we een PR samengevoegd die ethrex-replay stabiliseert, waardoor we twee bugs in ethrex kunnen identificeren en oplossen. Deze fixes zijn ook samengevoegd. De eerste bug betrof een randgeval in onze ecrecover-precompile, waarbij een specifieke invoer ervoor zorgde dat de uitvoering faalde vanwege een gasmismatch. Na grondig onderzoek hebben we het probleem teruggebracht tot de officiële SP1-gepatchte secp256k1-bibliotheek. We hebben het opgelost door over te stappen naar de SP1-gepatchte k256-bibliotheek. De tweede bug kwam voort uit een onjuiste aanname over de bitlengte van een usize-type in een deel van de codebase. Om soortgelijke problemen te voorkomen, hebben we een uitgebreide beoordeling van de codebase uitgevoerd en meerdere PR's ingediend om het gebruik van usize te beperken tot twee specifieke gevallen: indexering en scenario's die beperkt zijn door een API of bibliotheek. Bovendien voegen we ondersteuning toe om de EF-test suites uit te voeren, inclusief blockchain- en staatstests, met SP1 om onze testdekking te verbeteren en de robuustheid in verschillende uitvoeringsscenario's te waarborgen.
Met deze bugs aangepakt, komen de problemen niet meer voor. We spelen met succes nieuwe Hoodi- en Sepolia-blokken opnieuw af, en de blokuitvoeringen van Mainnet zijn aanzienlijk verbeterd, met de SP1-uitvoeringssuccesratio die is gestegen van 1/10 naar 6/10. Deze vooruitgang ruimt de weg voor het aanpakken van onze resterende uitdagingen met recente blokreplays: out-of-memory-fouten tijdens blokuitvoering in de SP1 zkVM en prestatieproblemen in uitvoering en bewijs. Om deze aan te pakken, hebben we de crate van de tool ingesteld voor geheugenprofilering met behulp van de Jemalloc crate.
We werken ook aan het ondersteunen van de replay van historische blokken. Een MVP voor deze functie is in een concept-PR en presteert goed met ethrex, reth en geth-clients, maar ondervindt problemen met nethermind-clients. Voordat we de eerste versie uitbrengen, willen we RPC-aanvragen optimaliseren om nauwkeurige blokgegevensdownloads te waarborgen, zelfs bij het gebruik van gratis RPC-providers, voor de meeste blokken.
DevEx Verbeteringen:
- We hebben onze binaire builds gefixt zodat ze geen CUDA meer vereisen als standaardafhankelijkheid op bepaalde besturingssystemen en architecturen. Deze fix is opgenomen in de laatste release.
- Een PR is ingediend om de versie van ethrex in rex bij te werken, zodat deze compatibel is met de laatste wijzigingen in ethrex L2.
- We zijn begonnen met het ontwikkelen van een nieuw tabblad voor de ethrex L2-monitor in ontwikkelomgevingen. Dit tabblad toont ontwikkelaarsrelevante informatie, zoals een lijst van rijke accounts en de adressen van L1- en L2-contracten.
Changelog:
- refactor(l2): vervang usize state diff constanten.
- feature(l1,l2): configureer ethrex-replay voor geheugenprofilering.
- refactor(l1): verwijder onnodig gebruik van usize in de blockchain crate (gerelateerd aan de bugfix).
- feature(l1,l2): nieuwe commando's toegevoegd aan de uitvoeringsgetuige.
- fix(levm): problemen met betrekking tot 32-bits architectuur aangepakt (gerelateerd aan de bugfix).
- refactor(levm): bijgewerkte ecrecover-implementatie om k256 in plaats van secp256k1 te gebruiken (gerelateerd aan de bugfix).
- ci(l1,l2): gescheiden GPU-builds en de x86-64-v2-doelstelling aangenomen.
Prestaties
Deze week hebben we onze focus voortgezet op het CPU-verbruik en benchmarks.
Wat betreft CPU-verbruik hebben we 2 verschillende gevallen geïdentificeerd, één waar blokbouw aanwezig is en een andere waar dat niet het geval is. We geven prioriteit aan de gevallen zonder blokbouw, aangezien deze altijd aanwezig zijn en andere inspanningen beïnvloeden (zoals snap sync). Voor zover we hebben onderzocht, is het volledig gerelateerd aan p2p. We zullen onze inspanningen op dit gebied voortzetten.
Met betrekking tot benchmarks, na onze verbetering van de modexp-prestaties van vorige week, hebben we ons gericht op enkele gedetecteerde verbeteringen, zoals codecopy en gerelateerde bewerkingen, evenals signextend, mulmod en addmod.
We zullen onze focus blijven leggen op zowel het CPU-verbruik als de prestaties van tests die we hebben geïdentificeerd als volgende stappen voor mogelijke verbeteringen, zoals eth-transfers en andere levm-opcodes.

10,98K
Boven
Positie
Favorieten