How this protocol works, simple explain.
How to do the exchange operation on this one?
Best implimentation on your opinion? (subjective ofcouse)
Ethereum Stack Exchange is a question and answer site for users of Ethereum, the decentralized application platform and smart contract enabled blockchain. It only takes a minute to sign up.Sign up to join this community
Let's give this a try.
This is basically how it works:
Whoever wants to start using Plasma for whatever purpose starts a private Ethereum blockchain. This is the Plasma (sub) blockchain. At the same time they deploy a Plasma contract to the main chain - this contract is the link between these two chains.
If you want to use some main chain assets in the Plasma chain you enter them in the Plasma contract in the main chain. These assets get locked in the main chain and after that you can use them in the Plasma chain.
The Plasma chain utilizes functionality from the main Ethereum chain. This happens through periodic "save state" or checksum transfers to the main chain. So at some intervals it stores some sort of state information from the Plasma chain to the main chain (I guess this information can be as simple as a hash representing the latest block in Plasma).
All other transactions happen inside the private Plasma chain. So if you want to send someone (who participates in the chain) some assets you get the assets locked in main chain and you send them in the Plasma chain.
If something goes wrong in the Plasma chain (dishonest blockchain maintainer, participants quitting, something not working) you can always go back to the main chain by using the latest checksum. So you just quit the Plasma chain, provide proofs of this quitting to the main chain along with information about transactions which happened in the Plasma chain and the main chain contract calculates the right state in the main chain.
That last phase is a bit fuzzy for me so here's just my best guess: because the main chain contract has a checksum (a hash of a state from the Plasma chain) but no other information you have to tell the contract which transactions occurred. The main chain contract can verify that these transactions result in the correct hash so they must be what happened and then it can resolve the situation correctly (do whatever is needed to get the main chain up to date, for example Ether transfers).
I don't have an opinion about the best implementation as I haven't really used any of them.