A list of resources related to increasing the throughput of transactions on the Ethereum mainnet.
- An Incomplete Guide to Rollups
- Hop: Send Tokens Across Rollups
- EVM optimistic rollup using Truebit
- SIDECHAINS ARE NOT LAYER 2
- Why Smart Contracts are NOT feasible on Plasma
- OVM Deep Dive
- A note on bridges & layer-2 protocols
- Pessimistic rollup: Scalable batched smart contract interactions
- BentoBox, to launch and beyond
- Optimistic Rollup is Not Secure Enough Than You Think — Game Theoretic Approach for More Verifiable Rollup
- A rollup-centric ethereum roadmap
- How rollup fees work
- Application-Specific Rollups
- Cambridge Bitcoin Electricity Consumption Index
- Saving Gas on the Ethereum Mainnet
- Gas cost of BLS Signatures
- awesome-solidity-gas-optimization
SSTORE2
uses the Ethereum contract storage CREATE2
and CREATE3
to store storage variables. At a size of more than 32 bytes, this
allows an improved way of storing variables. There are two interesting libraries implementing this concept:
- FAN, Bin, et al. Cuckoo filter: Practically better than bloom. In: Proceedings of the 10th ACM International on Conference on emerging Networking Experiments and Technologies. 2014. S. 75-88.
- Golomb-coded map implementation
- Xor filter implementation
- Bloom filter online optimizer
- Bloom filters By Example
- Simple Bloom Filter in Solidity
- Probabilistic Filters By Example: Cuckoo vs. bloom filters
- opentimestamps/opentimestamps-server merkle-mountain-range.md
- nervosnetwork/merkle-mountain-range readme.md
- mimblewimble/grin mmr.md
sparse Merkle trees can be gas optimized. In the listing below, a ✔️ indicates that the tree has been gas optimized.
- ethereum/eth2.0-specs deposit_contract.sol ✔️
- leapdao/leap-contracts SparseMerkleTree.sol ✔️
- loomnetwork/plasma-cash SparseMerkleTree.sol ✔️
- thehubbleproject/hubble-contracts MerkleTree.sol
- OffchainLabs/arbitrum MerkleLib.sol
- ethereum-optimism/optimism MerkleTrie.sol
- kautukkundan/pessimistic-swaps AccountTree.sol
- OpenZeppelin/openzeppelin-contracts MerkleProof.sol
- dharma-eng/Tiramisu lib/merkle
- rugpullindex/indexed-sparse-merkle-tree ✔️
- Layer 2 Index L2Beat
- Optimistic Rollups:
- Pessimistic Rollups:
- Zero Knowledge Proof
- Rollup Interoperability