0

Plasma white paper (page 19):

"The fraud proofs ensure that a coalition of participants are not able to create fraudulent blocks without getting penalized. In the event a fraudulent block is detected and proven on the root blockchain (or parent Plasma chains), the invalid block is rolled back."

How can a block in an independent chain (Plasma chain) be reverted? If I'm a Plasma operator, how can Ethereum main chain make me revert a block, how is that enforced?

And what if there are valid blocks already built on top of the invalid one?

1 Answer 1

1

The smart contract on the parent chain can have a function dispute that gives a merkle proof of the false data in the block. For example, if the Plasma operator changed ownership of a utxo from A to B, the person A could submit a proof that they didn't include a transaction sending from A to B.

Reversion of a Plasma block is basically marking in the smart contract on the parent chain that the block is invalid, and the Plasma operator would have to start back from the last valid block

There is no such thing as a valid block being built on top of an invalid block. If a block is invalid, all of its descendants are inherently invalid.

4
  • Thanks for the answer. So basically, if an operator creates a block which contains an invalid transaction from A to B at height n, and than at block n+500 A sees that (she wasn't online over the weekend) and submits a proof, then all 500 block which were built after the invalid block automatically become invalid? Commented Aug 9, 2018 at 14:13
  • Generally, yes. Plasma is less of a strict implementation and more of a concept though, but in a way it's an incentive for users of the Plasma chain to watch each others back. You could develop a Plasma contract such that, if the invalidity within a block is quantifiable and reversible, then only the invalid changes could be reversed without reversing all blocks. But if later blocks depend on past invalidity (e.g. Plasma operator falsely changed ownership from A to B, and in a later block moved from B to C), then things get much more complicated.
    – natewelch_
    Commented Aug 9, 2018 at 14:19
  • I guess that would be hard to implement. After all, the main benefit of the blockchain is that blocks refer to past block hashes, so the history becomes immutable. If you're occasionally excluding blocks from the "middle" of the chain, the whole security model is in danger, I guess. Also, an invalid block should trigger a mass exit, according to the paper? Combine the mass exit triggered after block n with 500 valid blocks after it... :O Like you said, I guess the best way is to take the paper strictly as a general concept/idea, and iterate on it to build something that can actually work. Commented Aug 9, 2018 at 14:33
  • "For example, if the Plasma operator changed ownership of a utxo from A to B, the person A could submit a proof that they didn't include a transaction sending from A to B" - it is not possible to FORGE a transaction by Operator without the User's private key because all UTXOs have "signatures". See here - ethresear.ch/t/minimal-viable-plasma/426. However, it is possible that User wants to withdraw a UTXO which was spent by him before. So that is why we need a Dispute Resolution (with proofs that TXO was spent) process in Plasma.
    – YodaDefi
    Commented Mar 13, 2023 at 11:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.