I was reading the whitepaper and the Medium articles on Matic’s architecture. You guys mentioned that you have an account based plasma model and that you can use smart contracts on the Matic sidechain as well. However, I don’t understand fully how this is feasible.
Suppose I deposit some Dai to the Matic contract on the mainchain and get the equivalent Matic tokens. Now suppose I send these tokens to a smart contract A deployed on the Matic chain. Now its the rules of the contract A that effectively control my tokens.
Now if I want to take my coins in the smart contract and exit to the main chain for some reason, how do we generate the fraud proofs to prove that I indeed hold the coins that are locked in contract A on Matic chain?
Would you have to exit the entire contract? If so, what about the other accounts that hold tokens in A? Can anyone initiate the exit?
Can you somehow prove that x
number of arbitary state transitions finally led to me being holder of those tokens. But how would we verify that on mainchain?!