Актуальные темы
#
Bonk Eco continues to show strength amid $USELESS rally
#
Pump.fun to raise $1B token sale, traders speculating on airdrop
#
Boop.Fun leading the way with a new launchpad on Solana.
Добавить EIP: Схема кодирования длины последовательности для calldata
Для EVM L1 (например, Tempo) эффективность calldata снова имеет значение. L2 на стеке OP автоматически сжимают calldata и возвращают сэкономленные средства пользователям. Но если вы L1, вам нужно будет оптимизировать это.
Техническое объяснение (для фанатов Fantasy Top):
В Ethereum calldata нулевые байты стоят 1/4 цены ненулевых байтов. Но это довольно произвольно, потому что calldata все равно передается и хранится в неизменном виде без даже простого сжатия RLE. Эта стоимость 1/4 предназначена для стимулирования сжатия, но на самом деле никто этого не делает. Если бы было реализовано даже простое RLE, нулевые байты стоили бы 1/100 стоимости ненулевых байтов.
Так что, чтобы улучшить согласованность Ethereum и вернуть это обратно, я подумал, почему бы не создать новый EIP для этого. Это также по практическим причинам, потому что я не хочу изменять существующие стандарты смарт-контрактов, такие как ERC-7821, чтобы включить режим оптимизации calldata только для этого. Оптимизация на уровне транзакций была бы лучше (потому что вся calldata транзакции получит выгоду).
Есть два способа сделать это:
- Реализовать схему сжатия RLE на уровне транзакций (уровень EIP).
- Реализовать предкомпиляции для сжатия / распаковки calldata (в стиле RIP). LibZip.cdCompress от Solady довольно эффективен, но почему бы не сделать это предкомпиляциями?
В любом случае, нам нужно будет сначала формализовать схему кодирования, и поэтому возникает необходимость написать это.

Топ
Рейтинг
Избранное