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

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

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

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

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

Value Proposition

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.

Problems

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:

Slow transactions

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.

Scalability

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.

Poor usability

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

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.

Architecture

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.