An OP bedrock stack to create rollups for ONLY P2P transfers of an ERC20 token is used as the native asset as in the rollup.
Blockchain technology was primarily designed for peer-to-peer payments, but its widespread adoption is still pending. Scaling the throughput of blockchains has been a longstanding challenge, and the use of volatile crypto assets in everyday transactions remains uncommon for most users. However, the summer of 2020 saw a significant surge in the adoption of stablecoins within the realm of decentralized finance (DeFi). While using stablecoins for peer-to-peer payments on a large scale, particularly for micro transactions, is currently impractical, there is a potential solution. We suggest implementing ERC20 tokens, intended for daily currency use in peer-to-peer payments, as native tokens on their own roll-up networks. By limiting their functionality to value transfers, we can alleviate the payment burden on major Ethereum Virtual Machines (EVMs) and reduce costs for users primarily interested in conducting payments.
We modified the optimistic bedrock stack to create a toolkit that allows any erc20 token to become its own rollup allowing only value transfers. The ERC20 token will be represented as the native token of the rollup. To achieve this we modified the op-geth implementation and suppressed all opcode functionality that creates contracts; specifically CREATE and CREATE2 opcodes. In addition we added a hook to the cost estimation function in op-geth to account for the price exchange rate that could exist between the ERC20 token and the L1 layer to which the rollup connect to. We also modified the portal contract in bedrock stack. This contract is responsible for handling bridging between the layer 1 blockchain and the rollup. The functions updated were: deposit and withdraw to handle custody and release of ERC20 token in the L1 chain.