Voeg EIP toe: Calldata run-length encoding schema Voor EVM L1s (bijv. Tempo) is de efficiëntie van calldata weer belangrijk. OP stack L2s comprimeren automatisch calldata en geven de besparingen door aan gebruikers. Maar als je een L1 bent, moet je dat optimaliseren. Technische uitleg (voor Fantasy Top fans): In Ethereum calldata zijn null-bytes 1/4 van de prijs van niet-null bytes. Maar dit is een beetje willekeurig, want calldata wordt nog steeds letterlijk verzonden en opgeslagen zonder zelfs maar een eenvoudige RLE-compressie. Die 1/4 kosten zijn bedoeld om compressie te stimuleren, maar niemand doet het eigenlijk. Als er zelfs maar een eenvoudige RLE zou worden geïmplementeerd, zouden null bytes 1/100 van de kosten van niet-null bytes kosten. Dus om de afstemming van Ethereum te verbeteren en terug te kruisbestuiven, dacht ik, waarom niet een nieuwe EIP hiervoor maken. Dit is ook om praktische redenen, want ik wil bestaande smart contract standaarden zoals ERC-7821 niet veranderen om een geoptimaliseerde modus voor calldata op te nemen, alleen daarvoor. Een optimalisatie op het transactie-niveau zou beter zijn (want de hele transactie calldata profiteert). Er zijn twee manieren om dit te doen: - Implementeer een RLE-compressieschema op transactie-niveau (EIP-niveau). - Implementeer precompiles voor calldata compressie / decompressie (RIP-stijl). Solady's LibZip.cdCompress is behoorlijk efficiënt, maar waarom het niet omzetten in precompiles? Hoe dan ook, we moeten eerst het encodingschema formaliseren, en dus de noodzaak om dit te schrijven.