What constitutes a Plasma construction?


In the Plasma Contributors Telegram channel, I brought the question of whether a sidechain construction that I presented recently (https://arxiv.org/pdf/1904.06441.pdf), jointly co-authored with John Adler, counts as a Plasma construction.

I am starting this post to continue the conversation on a more public forum and to perhaps help categorize Plasma within the realm of sidechain scalability solutions.


In @gakonst opinion (taken from the Telegram group), in order for a sidechain construction to be considered plasma, is that your funds need to be safe under data unavailability. The reasoning behind this is because one’s worst case scenario is everybody else colluding, withholding data from you and performing invalid state transitions. Thus, sidechain constructions that depend on having 2/3 of total stake bonded can be modelled as 1 operator, which is just harder to corrupt. Plasma shouldn’t have an upper limit on the number of transactions that can be settled in a block (or size of a tree used in a block).


That is a very important attribute of plasma but not sure if it provides the complete definition. I would say the fact that its a sidechain that operates under the model of optimistic security relying on the main/root chain for truth establishment is one of the fundamental characterstics of Plasma.


That works too, though I think that when we talk about a trustless/non-custodial layer 2 system, saying it “derives its security entirely from the mainchain” and “has no requirement for data availability” are actually two ways of saying the same thing (this took me time to fully appreciate, but I’ve become convinced!)

Zeroing in further (piggy-backing off of what @Mikerah/@gakonst said), what distinguishes Plasma within this category is that an arbitrary number of state transitions can be finalized all at once with O(1) on-chain data in the optimistic case. (Compare to channels, for which updates optimistically require 0 on chain data, or ZK-Rollup compression techniques, which require O(n) on-chain data.)


This is a very neat equivalence! Now, that you mention it, it’s true (might be a good property to prove in general).

It seems like the main features of Plasma are:

  1. Safe under data availability
  2. Derive its security mainly from the mainchain
  3. An arbitrary and finite number of state transitions can be finalized in constant time

Am I missing anything?


As far as I can tell, that covers it! (Though I’d change “constant time” to “constant on-chain data”)