Plasma in 10 minutes
Today Vitalik Buterin and Joseph Poon released a working draft of Plasma project.
Let me explain how it should work. I hope it will save you a little time.
There is a Lightning Network implementation (still not production ready) for Ethereum that is called Raiden.
The basic idea is to switch from a model where all transactions hit the shared ledger on the blockchain (which is the bottleneck) to a model where users can privately exchange messages which sign the transfer of value.
Raiden uses a network of p2p payment channels and deposits in Ethereum to preserve the guarantees expected from a blockchain system.
Raiden is implemented as an extension to Ethereum. A Raiden node runs alongside an Ethereum node and communicates with other Raiden nodes to facilitate transfers and with the Ethereum blockchain to manage deposits.
Even if you send millions of transactions off-chain, your gas fees are still very low, because only a small number of on-chain transactions is needed to secure the settlement (say, you send tx to the chain once in 24h).
Transactional capacity is increased dramatically as channels are net-settled on the blockchain. Payments can be routed across a network of these channels. But Lightning Network approach is not limited to payments only. It can be used to scale smart contracts’ state changes too. So this is what Plasma is all about…
Welcome the new layer to the Ethereum architecture:
Blockchains in Blockchains
Similar to the Lightning Network, Plasma is a series of contracts which runs on top of a root blockchain (i.e. the Mainnet Ethereum blockchain). The root network contract processes only tiny amount of commitments from child blockchains that are able to do an incredibly large amount of computations in most cases. Commitments are broadcasted periodically to the root blockchain from the child. One can view the root blockchain as the Supreme Court from which all subordinate courts derive their power.
However, since not all data is being propagated to all parties (only those who wish to validate a particular state), parties are responsible for monitoring the particular chain they are interested in periodically to penalize fraud. In the event of attack, participants can rapidly and cheaply do a mass-exit from the child chain to a root chain.
Blockchains can be hierarchically arranged in a trees. That will allow to create a well balanced system to maximize data availability/security and minimize costs. Mining is done with full security only on the root, with security and proofs flowing from the root.
Extra scaling comes from eliminating the requirement to watch the chains one is not economically impacted by, one should watch the chains where it is needed to enforce correct behavior.
There are many systems like Cosmos/Polkadot that arrange blockchains in a hierarchy, too.
Each child blockchain can have its token (just like a cryptocurrency reward paid to a miner) to incentivize validators of this chain to keep it running and to provide protection from faulty states that are checked by Fraud Proofs rules. Once Fraud (“withholding attack” or generalized as “data availability problem”) is detected -> the deposit (i.e. the bond) is lost by a rogue validator.
All states within this child blockchain are enforced via fraud proofs (smart-contract logic) which allows any party to enforce invalid blocks, presuming block data availability. The fraud proofs ensure that all state transitions are validated. Also these fraud proofs enforce an interactive protocol of fund withdrawals. Similar to the Lightning Network the withdrawal requires time to exit.
Plasma is one of the many solutions to the blockchain scaling problem (sharding, PoS, LN, etc). I hope it will be released soon. Some companies have already declared that they would use Plasma —
The technology is very interesting and i will be writing more articles on that. Stay tuned!
I left out many cool features and details of Plasma as the idea of this article was to give you a quick glance at the technology. Please refer to the original paper for more details.
p.s. We are currently building the “Microcompany Tokenization Platform” here — https://web.thetta.io
We are going to use some Hybrid DApp approach (Plasma-like) to increase the throughput of our DApp.
We need your help. Become a part of our team/community (+bounties and +rewards) and deliver great product together with us!