PoS Plasma Cash with Sharded Validation

Another cool thing you could do is move a coin from one Plasma Cash chain to another, without ever touching the parent chain. You post a “transfer” transaction on the coin’s origin chain (the one where it was originally deposited from the parent chain), at its current slot and signed by the current owner, which specifies a destination chain, a minimum block height on that chain, and a slot in the Merkle tree where transactions will be posted (which could be the same one, but doesn’t have to be). The destination chain would then be responsible for tracking that token until it moves to another chain. The proof of valid history for a coin would involve following the coin as it hopped from chain to chain.

When you want to withdraw a coin to the parent chain, you make the request to the original chain that it was deposited on, and provide the coin’s current location, including what chain it’s on. (This will require all Plasma contracts to expose a common interface for verifying a proof that a transaction exists. Other than that, there’s no requirements about how those contracts are implemented; they could use a completely different consensus mechanism from the origin chain.) You could do a TrueBit-style challenge-response game to narrow down what Plasma chain contains the disputed history in log(N) (in the number of chain hops) steps, at which point you’re just a single step away. Maybe you can do even better than that.

1 Like