Introduction
Metis DAO is building an easy-to-use, highly scalable, low-cost, and fully functional Layer 2 framework called Metis Rollup to support the application and business migration to Web 3.0. Its scalable protocol supports all the same use cases as Ethereum, including yield farming, DEX trading, and powering the gig economy. Metis integrates the Decentralized Autonomous Company framework within its Layer 2 infrastructure, making it easy for any developers, builders, or community leaders to build their applications and communities in minutes. It includes easy-to-use tools to help develop, manage, collaborate, and enjoy the network effects of the world’s largest decentralized finance ecosystem, without the costs and bottlenecks normally associated with Ethereum. Metis’ goal is to make transactions on Ethereum affordable and accessible to anyone. Metis is meant to look, feel and behave like Ethereum but cheaper and faster. For developers building on Metis, the goal is to make the transition as seamless as possible. With very few exceptions, existing Solidity smart contracts can run on Metis exactly how they run on Ethereum.
Without turning you into a Solidity developer there are some basic constructs around Layer 1 and Layer 2 that you’ll be required to understand to some degree. On Metis, whenever a contract is deployed to a node it undergoes a process called “safety checking”. A step guaranteeing that all the necessary blocked opcodes are correctly transformed into calls. These are then imputed into a special smart contract called the “Execution Manager”. As a result of this process, the easiest (and pretty much the only) way to write contracts for Metis right now is by using a modified version of the Solidity compiler. Through the usage of Canonical Transaction Chains (CTCs), State Commitment Chains (SCCs), and Chain Storage Containers. Metis operates almost indistinguishable from Ethereum. Communication that happens between L1 and L2 is enabled by two special smart contracts called the “messengers”. Each layer has its own messenger contract which serves to abstract away some lower-level communication details, like how HTTP libraries abstract away physical network connections. Calls between two contracts on Ethereum happen synchronously and automatically within the same transaction. Whereas, calls between contracts on Metis and Ethereum happen asynchronously. One of the most important things to understand about L1 and L2 interaction is that messages sent from Layer 2 to Layer 1 cannot be relayed for at least a couple of hours. This means that any messages you send from Layer 2 will only be received on Layer 1 after this period has ended. This period is called the “fraud-proof window” and it’s a result of one of the core security mechanisms of the Metis Rollup. In coding, certain EVM opcodes are banned because they can be used to cause non-determinism during that window when it checks to make sure that the Layer 2 smart contracts are as secure as the Layer 1 contracts. Due to the serious security risks otherwise, contracts must be written this way to prevent incorrect transaction results from being published in place of correct ones. Only once the window for a given transaction result has passed (without a challenge) can the result be considered validated.
Now that you understand a little more about how Metis…
Hi! My name is Lark Davis!
I’m a cryptocurrency investor with years of experience and I’ve been making consistent profits in the crypto space.
I’m passionate about helping others do the same, so I run multiple educational channels on crypto investing.