We feel incredibly excited to announce the release of the Matic β-mainnet today. Yay! After months of hard work, the entire Matic Network team is releasing the 2nd iteration of the Matic mainnet (after the α-mainnet in June 2019).
Matic Network is a Layer 2 blockchain platform using the Plasma framework and a decentralized set of staked validators to provide a solution for faster and extremely low-cost transactions.
We released the α-mainnet three months back – refer https://blog.matic.network/developer-details-for-alpha-mainnet/ for more details. Since then, it has been heartening to see the response of the developer community in deploying to the Matic testnet and α-mainnet respectively. On to the next leg of the journey!
The β-Mainnet is Matic Network’s sidechain (iteration 2) working on the top of Ethereum Mainnet. The developers can build and test their full end to end applications with this version as well. This is a public launch, however, the staking program, starting with the staking game on testnet (with real rewards) will start separately and is not to be confused with this developer-focused release.
It is a major step forward for our final Mainnet release. We had initially communicated that we will have releases in three phases before the mainnet launch. These are in place to ensure we can phase out the network in a secure and battle-tested manner. The phases are listed below:
- Final Testnet — (Deployed on 3rd June)
- α-Mainnet — Nicknamed तपस (Tapas) (Q2 2019)
- β-Mainnet v0.1 — Nicknamed आरंभ (Aarambh) (Q3 2019) – The current release
What’s possible with the Beta-Mainnet?
Matic Chains are Ethereum Virtual Machine (EVM) compatible and extremely developer-friendly: Deploying smart-contracts is similar to deploying contracts on Ethereum using tools like Remix, Truffle. Teams developing on Ethereum can immediately port their existing smart contracts and begin testing on Matic sidechains.
State transitions utilizing the Plasma Predicates pattern – currently ERC-20 & ERC 721 transfers and Asset swaps, are currently secured with Plasma guarantees on the Matic sidechains whereas the smart contracts that are deployed on Matic sidechains will have Proof-of-Stake security.
It is important to note that developers can now write custom predicates of their own for “Plasma-fying”/adding Plasma security guarantee to their DApp specific contracts on Matic.
There has been massive work done in this release. Here are some indicative features:
- Significant refactoring of contracts
- Make contracts upgradeable using proxy pattern
- Account based Plasma MoreVP design (Specification)
- MoreVP Implementation
- MoreVP – Exit with burn in-flight
- MoreVP burn and exit – ERC721
- Exit with in-flight transfers
- MoreVP Challenge scenarios
- Predicates Design
- Predicates Implementation
- Implement MoreVP exits and Predicates pattern
- Predicate for Marketplace
- Predicate for TransferWithSig (for Marketplace on Plasma)
- Support challenge with Marketplace transactions
- Support exits for NFTs minted directly on Plasma sidechain
- Plasma Bonded exits
- Bulk deposits from Ethereum to Matic (better UX for ERC721s especially)
- Refactoring to counter exits griefing attack vectors
- Bug fixes, Refactoring, Tests and new features in exits flow for audit readiness
- Audits started for Plasma contracts
- State Syncer for Deposits (ground work for Generalized state syncing from Ethereum to Matic)
- The ability for anyone to stake MATIC tokens on the Ethereum smart contract and join the system as a Validator
- Earn staking rewards for validating state transitions on Matic Network
- Enable penalties/slashing for activities such as double signing, validator downtime, etc.
- Comprehensive Proof-of-Stake implementation working in sync with Staking contracts on Ethereum to incentivize validator nodes
- Responsible for periodic state commitments from Matic sidechains to Ethereum Plasma smart contracts
- Incentivized to validate state transitions and push Merkle root hashes of block contents as checkpoints
- Significant changes in data structures for enabling sync between Ethereum and Heimdall
- Sync protocol between Ethereum and Heimdall
- Decentralized event relay mechanism
- Generalized state sync mechanism
- Sidechain block producer implementation
- Shuffling of block producers and subset selection from validator set
- Span and cycle implementation for block producer set changes
- Watcher Node design
- Wallet implementation overhaul in Android and iOS (transitioning from React Native to Native apps)
- Recurring Approval (for trusted DApps – auto-sign transactions without prompt for a specific DApp)
- Hermione – scalable data processing engine
- Matic.js updates along with draft SDKs for Kotlin, Swift, Unity and Cocos-2D
- Various other component fixes
More comprehensive information on accessing the β-mainnet will be made available at https://docs.matic.network. The RPC endpoint for the β-mainnet is https://beta.matic.network. You can access the block explorer for the Beta-mainnet at https://beta-mainnet.explorer.matic.network/.
A huge thanks to the entire team at Matic for their work all these past months. Our team is kickass to say the least!
We have already released a couple of articles in the past few days going over some of the implementation details. If you haven’t yet, check out https://blog.matic.network/plasma-predicates-one-step-towards-generalized-plasma/ for Plasma Predicates and https://blog.matic.network/heimdall-and-bor-matic-validator-and-block-production-layers/ for more information on our Validator and Block Producer layer.
Over the coming days, we will delve into more details regarding the implementation specifics. Join our Telegram group to connect with us – https://t.me/maticnetwork