What is Matic Network?
Matic Network provides scalable, secure and instant Ethereum transactions using Plasma side chains and a Proof-of-Stake network.
This article will be keep getting updated, and is meant to provide a holistic overview of Matic Network for readers, both old and new to Matic.
Blockchain Smart contract platforms and cryptocurrencies have captured mass attention but still haven’t been able to achieve mass adoption due to scalability and user experience issues. Even on Ethereum, which is the most widely used smart contracts platform, there have been no significant Dapps which have seen mass adoption. There have been a few cases where one or the other application temporarily succeeded in achieving a significant user base, but it led to crippling of the entire network during the high load times. Essentially meaning that even the most advanced and widely used platforms are not ready for mass adoption.
On the other hand, there are a few smart contract platforms which boast of higher transaction throughput, but they trade off transaction speed with decentralization. Also, many of the upcoming solutions propose their own blockchains neglecting the network effects DApps and other projects have already generated on platforms like Ethereum and others. Even more importantly they neglect the massive developer community and developer ecosystem that exists for platforms like Ethereum.
Matic Network is a Layer 2 scaling solution that achieves scale by utilizing sidechains for off-chain computation while ensuring asset security using the Plasma framework and a decentralized network of Proof-of-Stake (PoS) validators.
Matic strives to solve the scalability and usability issues while not compromising on decentralization and leveraging the existing developer community and ecosystem. Matic Network is an off/side chain scaling solution for existing platforms to provide scalability and superior user experience to DApps/user functionalities.
Key Features & Highlights
- Scalability: Fast, low-cost and secure transactions on Matic sidechains with finality achieved on mainchain and Ethereum as the first compatible Layer 1 basechain
- High Throughput: Achieved up to 10,000 TPS on a single sidechain on internal testnet; Multiple chains to be added for horizontal scaling
- User Experience: Smooth UX and developer abstraction from mainchain to Matic chain; native mobile apps and SDK with WalletConnect support
- Security: Matic chain operators are themselves stakers in the PoS system
- Public Sidechains: Matic sidechains are public in nature (vs. individual DApp chains), permissionless and capable of supporting multiple protocols
Matic is unique both in terms of its technical approach towards Layer 2 as well as its potential support for a variety of use cases.
- Matic Layer 2 is an account-based variant of MoreVP (More Viable Plasma). The Plasma framework is used to guarantee the security of assets on the main chain (such as ERC-20 and ERC-721 tokens for Ethereum), while generic transactions are secured by a Proof-of-Stake network, built on top of Tendermint. Matic sidechains are essentially EVM-enabled chains and are conducive to the ready deployment of solidity smart contracts, essentially making it an easy tool for Ethereum Developers to use it for scaling their DApps/Protocols.
- Commercially, Matic sidechains are structurally effective for supporting the many Decentralized Finance (DeFi) protocols available in the Ethereum ecosystem.
- Matic’s core philosophy is to enable DApps to compete with the user experience that is offered by centralized apps today.
- Ethereum is the first basechain Matic Network supports, but Matic intends to offer support for additional basechains, based on community suggestions and consensus, to enable an interoperable decentralized Layer 2 blockchain platform.
We have chosen Ethereum as the first platform to showcase our scalability and we already have implemented testnets for Ethereum on Ropsten (testnet-v2) & Kovan (testnet-v0)testnets for testing. It allows instant transfers (ETH, ERC20, ERC721) and exchange of assets (ERC721-ERC20, ERC721-ERC721 & ERC20-ERC20).
Matic strives to achieve a high degree of decentralization with trust-less and decentralized execution while ensuring near instant transfers, low fees and conducive economics for micro-transactions.
Matic’s open source foundation intends to provide the Matic Wallet, payment APIs and SDKs, products, identity solutions and other enabling solutions that will allow developers to design, implement and migrate DApps built on base platforms like Ethereum.
One of the key pillars of Matic Network’s ideology is user experience which is very poor for blockchain applications as of now. The Matic team has already built high quality Mobile/Web browser libraries with great developer experience, which will enable businesses to create real world end user applications at large scale. Matic roadmap also includes supporting cross-chain transfers and third party Decentralized exchanges, liquidity pools etc.
Decentralized Apps are making huge progress but the current blockchain ecosystem is not prepared to scale as per the demand. Slow block confirmations, block size limitations and computations — in smart contract based blockchains — need to be solved before we target mass adoption by mainstream users. And most importantly, it needs awesome user experience.
Some of the problems associated with the current blockchain platforms are as follows:
Blockchain transactions are slow and have variable, sometimes exasperating transaction times. Most blockchain protocols have a limit on the block size and it can take a certain amount of time to generate a block. Each transaction also has to wait for multiple block confirmations due to potential chain re-organisations.
These limitations are often necessary for a public blockchain as a block needs to be validated and must be downloaded by a certain number of nodes to keep it really decentralized.
High transaction fees
Day by day, the blockchain market is growing and crypto assets are increasingly being created, transferred, and sold, often involving multiple crypto tokens. Every decentralized application has it’s own token and economy. Paying them for their services requires on-chain transfers. Ethereum charges gas fees on each transaction.
Fees are an important factor to reward validators and prevent certain kind of security attacks like DoS. But, the problem is that fees vary depending upon the pending transaction pool size due to the limited block size.
Low transaction throughput
Public blockchains have to maintain a certain amount of time lag between intermediate block production so as to ensure ample time for block propagation. Also, the block size needs to be low, so as to ensure quick propagation of the block through the network. This means that the number of transactions in a particular block needs to be fairly limited.
Each block on a blockchain must be validated by multiple nodes and/or compute state in case of a smart contract based blockchain. Each node has to manage a copy of the state and all blocks. While the chain size is increasing day by day, maintaining and validating the whole blockchain is correspondingly getting more difficult. This is a huge risk for decentralization as an idea, overall.
Multiple micropayment channels
Some payment channel solutions solve the problem of micro-payments. However, opening and managing channels with multiple DApps or users is complex. Additionally, the speed and convenience of mediated payments over channels is still up for debate.
The current system is inherently bad for normal users. For example, users need to have ether and pay gas fees if they want to spend their ERC20 based tokens.
As the number of ICO increases, users may want to use DApps with different tokens as payment. Without on-chain trade, the convertibility of one crypto token to another represents a new challenge for both investors alike. It introduces complexity for managing multiple crypto tokens and exchanging tokens to pay on different platforms.
Matic Network solves these problems by building a decentralized platform using an adapted version of Plasma framework that provides a solution for faster and extremely low cost transactions with finality on a main chain.
Matic Network solves the low transaction throughput problem by using a Block Producer layer to produce the blocks. Block Producers enable the system to produce blocks at a very fast rate. The system ensures decentralization using PoS checkpoints which are pushed to the Ethereum mainchain. This enables Matic to theoretically achieve 2¹⁶ transactions on a single side chain.
We are also building a product ecosystem that will include user friendly mobile apps, desktop wallets and browser extensions which will provide a seamless experience for all users. So that users will be able to pay, transfer or hold crypto assets without worrying about the complexity of the underlying system.
In addition, we are developing a suite of developer tools such as the real-time notification engine for Ethereum events — Dagger and a scalable, modular and realtime Ethereum data processor — Hermione. Apart from this, the Matic team actively contributes to the WalletConnect protocol implementation.
When a user is transferring ETH or ERC20 tokens, they have to wait for block confirmation times which ranges from 14 seconds to 20 seconds. Also you have to wait for multiple blocks to be sure of the finality of the block inclusion in the chain. Let’s say you are buying a coffee or paying tokens to watch a movie. On each transaction, you are not only paying fees, but you also need to wait for it to get confirmed. That’s a deterrent for users to use the service.
As cryptocurrency gains favor, more transactions will jam the Ethereum network and gas fees will increase on an average for each transaction for faster confirmations by users. Note that gas fees vary as per traffic and confirmation time. We propose Matic as a solution to overcome these problems.
Here is how Matic works:
- User deposits crypto assets in the Matic contract on mainchain (currently implemented with Ethereum blockchain only)
- Once deposited tokens get confirmed on the main chain, the corresponding tokens will get reflected on the Matic chain.
- The user can now transfer tokens to anyone they want instantly with negligible fees. Matic chain has faster blocks (approximately 1 second or less). That way, the transfer will be done almost instantly.
- Once a user is ready, they can withdraw remaining tokens from the main chain by establishing proof of remaining tokens on Root contract (contract deployed on Ethereum chain)
Remember any fungible crypto assets can be represented as ERC20 tokens on Matic chain. That way, the same method will work for any fungible crypto assets. In addition, we have also added support for ERC721 / NFTs (Non-Fungible Tokens).
Check out our contracts on GitHub:https://github.com/maticnetwork/contracts.
For a more thorough overview of our code in both public and private repos, check out https://info.binance.com/en/research/MATIC-2019-04-01.html#section7.
Consensus and security
To provide some context, the Matic ecosystem will have the following actors:
- End Users
- DApp developers : Developers are expected to use the Matic Network to scale their applications and provide a better UI/UX to their end users
- Stakers : Stakers need to deposit/stake tokens to qualify and play a very important role in the Matic Network. They validate the transactions and propose checkpoints on the mainchain using PoS consensus mechanism with a ⅔ majority. They also choose Block Producers amongst themselves, who satisfy a certain criteria, to produce blocks on the sidechains.
- Block Producers : These are block producers chosen by Stakers who in turn enable faster blockchain generation times. They have to provide a significant stake to be nominated.
The Matic Network uses a dual strategy of Proof of Stake at the checkpointing layer and Block Producers at the block producer layer to achieve faster blocktimes while ensuring a high degree of decentralization by achieving finality on the main chains using the checkpoints and fraud proof mechanisms.
Basically, anyone can stake their Matic tokens on root contract to become a Staker in the PoS checkpointing layer(contract deployed on Ethereum chain). This provides a high degree decentralized base layer for Matic chain.
At the blockchain layer of the Matic Network, there are Block Producers, selected by PoS Stakers on the base layer, who will be creating the Matic Blocks. To achieve faster block generation times, these Block Producers will be low in number. This layer is expected to achieve ~1 second block generation times at extremely low to negligible transaction fees.
On Matic Network’s checkpointing layer, the basis of Matic Network’s PoS mechanism, for every few blocks on the block layer of the Matic Network, a proposer will be chosen among the stakeholders to propose a checkpoint on the main chain. These checkpoints are created by the proposer after validating all the blocks on the block layer of the Matic Network and creating the Merkle tree of the block hashes since the last checkpoint. The Merkle root is then broadcasted to the Staker network for their signatures. The other stakeholders also verify the proof. They will approve the proposed block, if it is valid, by providing their signatures.
The system needs the approval of ⅔ of the stakeholders to propose a “header block” to the root contract. Once the checkpoint is proposed on the mainchain, anyone on the Ethereum mainchain can challenge the proposed checkpoint within a specified period of time. If no one challenges it and the challenge period ends, the checkpoint is formally included as a valid checkpoint on the main chain.
Following is a illustration of the “Header block”:
More on header block AKA checkpoint — https://ethresear.ch/t/plasma-checkpoint-cost-and-block-time/2016
Apart from providing finality on the mainchain, Checkpoints have a very important role to play in withdrawals as they contain the proof-of-burn (withdrawal) of tokens in the event of user withdrawal. It enables the users to prove their remaining tokens on root contract using Patricia Merkle proof and header block proof. Note that to prove remaining tokens, the header block must be committed to the Root Chain through PoS (Stakeholders). The withdrawal process will incur Ethereum gas fees as usual.
Through this mechanism, the Matic Network achieves a high transaction speed, a high degree of decentralization and finality on Mainchain. In its first version which has Ethereum as the base chain, the Ethereum root contract enforces solvency and finality through header blocks (checkpoints) very efficiently.
To enhance the security of the transactions, Matic Network also provides Fraud Proofs on the mainchain. The mechanism enables any individual on the mainchain to submit the details of the transactions which he/she thinks is fraudulent. If the challenge is successful, the stakes of the parties involved in the fraud are slashed and the challenger receives the slashed funds as an incentive for detecting the fraud. This can be considered as an always-running high reward bounty program for any parties who wish to investigate the veracity of the transactions on the Matic Network.
Multi Chain Support (Horizontal Sharding)
The Matic Network public checkpointing layer supports multiple side chains by design. Theoretically, there can be an infinite number of side chains working under the secured and decentralized layer of checkpoints. Businesses can have their dedicated side chains connected to the public checkpointing layer having full control of their execution environments, while still retaining the immutability, provability and security of transactions via the checkpointing mechanism.
Key factors influencing the design of this sharding process are expected to be:
- Scheduling of checkpointing layer to periodically propose checkpoints for different side chains
- Movement of assets across multiple side chains
2.1 User will be able to send assets across side chains using chain ids and receipts
2.2 Users will be provided with an intuitive wallet interface to perform inter-chain transactions
2.3 Developers will be provided with API/SDKs to build programmable interfaces for inter-chain transactions
Movement of the assets from one chain to another will be managed at the checkpointing layer and may not require any interaction with the mainchain. Research is currently underway to facilitate faster (possibly instant) inter sidechain transfers.
Potential Use Cases
Matic Foundation is committed to provide a scalable and user friendly ecosystem for third party Decentralized applications to thrive on. Matic Foundation like Ethereum and other platform foundations will promote various Base chain Dapps(like Dapps built Ethereum currently, and NEO, EOS in future) to build and migrate their user facing applications / transactions on Matic Network. It will also award grants and funding to third party app developers to build various user cases on top of Matic Network like:
The Matic Network will provide an interface for users, payment APIs and SDKs for DApps, merchant and users to instantly accept or pay in crypto assets (e.g., ERC20 tokens, Ethers, ERC721 tokens).
The Matic Development Team has plans to roll-out this system in three phases:
- Ether and ERC20 token payments
- Multi-asset cross chain transfer and payment through atomic swaps and liquidity providers
- Fiat enabled off-ramp payment system integration through fiat liquidity providers
Matic smart contracts will allow users to pay with any crypto token they prefer and receiver will receive payment in assets they prefer. Matic will handle conversion through atomic swap between cross-chain crypto assets.
Third parties can use the Matic Network to exchange any tokens for other tokens by leveraging 0x liquidity pool or other liquidity providers while transferring crypto assets. In the case of fiat, the Matic Development Team is planning to collaborate with fiat liquidity providers in currencies of major countries.
Decentralized Exchange (DEX) and Marketplace support
The Matic Network is expected to have all characteristics which an exchange platform should have — faster and cheaper trades. The Matic Network is capable of supporting decentralized exchanges and enabling trust-less, reliable and easy crypto trades. The decentralized exchange is the future for digital assets and provides better security and solvency than the centralized exchanges.
The Matic Network will enable platforms for merchants to assess the creditworthiness of connected users via their transaction history. This enables merchants to lend tokens to users on the network when transacting with users that do not have sufficient funds. The Matic Network expects to use the Dharma protocol to provide tokenized debt to users.
Users need a utilitarian yet user-friendly interface where MetaMask or web3 enabled browsers are not required. They do not need to understand how Ethereum works under the hood.
Decentralized apps need a way to sign transactions, but that must happen without submitting private keys on each DApp on web browsers or mobile apps. The Matic Development Team believes that users must have control over their private keys without worrying about the security. The Matic Network will solve that with an Open-Identity system and will deliver a seamless experience to users.
This system will also provide a way to auto-approve certain kind of transactions depending upon the criteria chosen by the users. This will drive the recurring payments on the Matic Network.
We expect games to be a big part of the Matic Network. In-game assets represented as NFTs (ERC721) are expected to be bought, sold and traded in huge numbers on our sidechains. Developers will also be able to save game state on the sidechains, if they choose to. Along with the NFT marketplace that we will enable, developers and users will truly have a fast, efficient and secure sidechain to build and play games on.
The Matic Development Team will act on the simple mantra — make it simple and seamless. For that, the team will provide new infrastructure around the Matic Network including user-friendly wallets for individual users and merchants, payroll dashboards, payment SDKs and other open source tools.
We have already started building infrastructure for developers, starting with Dagger. Dagger is a tool or engine to track Ethereum accounts and events in real-time. You can learn more about Dagger here: https://medium.com/matic-network/ethereum-in-realtime-dagger-98ee2d717c76 and check how it works: https://medium.com/matic-network/understanding-dagger-453d90480c51
Developers can use Dagger to track their own smart contracts, accounts, and transactions. They can create custom service or integrate with third-party services through IFTTT or Zapier.
The Matic development team has built an easy-to-use Plasma wallet mobile app, integrated with WalletConnect, to ensure secure storage of keys, intuitive access to the features provided by the Matic Network, as well as a seamless mechanism to connect browser-based DApps to the mobile app. Users can interact with DApps on browsers and in the future many more devices, while still keeping their keys secure in their mobile wallet.
The Matic wallet will act as a ready tool for DApp developers to get their users onboard and working with Matic sidechains quickly and efficiently.
A partial list of DApps that are working with us
Several DApps are actively being developed on Matic to provide a better user experience with lower transaction costs:
Matic is expecting to build a marketplace for Decentraland (DCL) assets with low transaction fee and better user experience. As the virtual reality universe gains traction, we expect transaction and trade volumes to increase exponentially on the marketplace.
Additionally, we will also enable saving and tracking of game state for in-DCL verse games.
- Cryptostaw — Venmo using DAI
- Pocket full of Quarters — Game that raised funds on Republic.co
- Chainbreakers — Game built on Decentraland Universe
Partners (partial list)
- Decentraland: Decentraland is a virtual reality platform powered by the Ethereum blockchain. Users can create, experience, and monetize content and applications using a developer toolkit that works on any platform (all VR headsets and web browsers) and is designed to create virtual environments and applications. Matic is collaborating with Decentraland to scale the transactions that will occur as a result of user interactions within the virtual universe. This will include payments, NFT sales and eventually general game states and other data.
- Quarkchain: QuarkChain is an innovative permissionless blockchain architecture that aims to provide a secure, decentralized, and scalable blockchain solution. Matic Network and Quarkchain intend to collaborate on L2 scaling research by exploring and developing Plasma sidechain solutions on top of Quarkchain. Matic will also be working with Quarkchain to build notification services like Dagger and Mobile Wallet capabilities for Quarkchain.
- Ankr Network: Ankr is a distributed computing platform that aims to leverage idle computing resources in data centres and edge devices. Matic will collaborate with Ankr to explore building a decentralized web 3 stack in which Ankr can provide Distributed Cloud Computing services for Decentralized Application Development on the Matic Network.
- Portis: Portis is a technology company that wants to make sure any person in the world can use decentralized applications, just as easily as they use “regular” apps. Matic is working with Portis to help these DApps using Portis achieve scale and an enhanced user experience.
- Maker DAO: Maker is the organization behind the DAI Stablecoin. Matic Network is partnering with MakerDAO to explore and jointly support teams for the development of DApps which use DAI on Matic Network sidechains. Matic Network intends to integrate DAI as the first ERC-20 token on Matic sidechains.
- Ripio Credit Network: Ripio Credit Network is a peer to peer credit network that connects lenders and borrowers located anywhere in the world. Matic is working with Ripio to enable Micro loans on its plasma sidechains. Matic along with RCN is also researching faster plasma exits where exit NFT’s will be used as collateral for loans on the RCN platform.