optimistic-specs icon indicating copy to clipboard operation
optimistic-specs copied to clipboard

Milestone epic: Stateless Compression of Transaction Data

Open protolambda opened this issue 3 years ago • 2 comments

Define or choose a compression algorithm. Benchmark it. Implement it.

  • Research
    • [x] #174
      • See https://github.com/ethereum-optimism/optimistic-specs/issues/10
    • [x] #175
  • Spec updates
    • [ ] Update derivation to decompress batch data (= stateless compression)
    • [ ] Update batch-submission spec to compress batch data
  • Rollup-node updates
    • [ ] Update derivation code
  • Rollup-node sequencer extension updates:
    • [ ] Update batch-submission to compress batch data

Note: this may be ported back to the pre-1.0 deployment and rolled out before 1.0 production release.

protolambda avatar Jan 26 '22 16:01 protolambda

A note on this: since so many crypto transactions contain a large number of hashes/addresses/etc. which are "random" and hard to compress, I think a prepopulated dictionary could afford really big savings here and is worth investigating. It could just be a stateless/hardcoded dict which we upgrade binary for once in a while.

ben-chain avatar Jan 28 '22 17:01 ben-chain

Reminds me of the caching functionality in the DSProxyCache:

https://github.com/dapphub/ds-proxy/blob/e17a2526ad5c9877ba925ff25c1119f519b7369b/src/proxy.sol#L44-L48

and

https://github.com/dapphub/ds-proxy/blob/e17a2526ad5c9877ba925ff25c1119f519b7369b/src/proxy.sol#L138-149

maurelian avatar Jan 28 '22 23:01 maurelian