- Jun 2019
-
docs.plasma.group docs.plasma.group
-
History Verification
Def not required but a diagram idea for this section could show the process of repeatedly applying a list of proof elements to the state.
-
-
docs.plasma.group docs.plasma.group
-
all transactions that produced the state update
A bit nit picky but considering we may need other data to calculate the SUs, maybe we could say:
all inputs which can be used to compute the state update. This often includes transactions & auxiliary data.
-
an `implicit`_ or `explicit`_ range
Maybe we could add a glossary section
-
-
docs.plasma.group docs.plasma.group
-
`explicit range`_ and an `implicit range`_
link seems to be broken
-
-
docs.plasma.group docs.plasma.group
-
Users will usually first interact with a plasma chain by depositing their assets into a plasma deposit contract
Not to be pedantic but ideally people will either be sent PETH or exchange ETH for PETH using a swap predicate lol
-
-
docs.plasma.group docs.plasma.group
-
Public Variables
Note that these variables will likely be set inside of the constructor of a "deposit contract factory" so that we can save on gas cost, so the
constant
modifier may not be used in practice.
-
-
docs.plasma.group docs.plasma.group
-
Background
We could consider beginning this section by talking about how this is a general purpose block structure. Something like the following:
While Plasma Cashflow uses a Merkle Interval Tree, other constructions may use alternative block formats. In order to generalize the plasma block structure, we can break it into two layers:
- an asset ID tree which specifies the particular asset (which may use an alternative format to cashflow); and
- our plasma cashflow specific block structure, a merkle interval tree.
This structure allows operators to commit blocks for multiple plasma chains, as well as aggregate blocks from multiple operators into the same commitment.
Additionally, even within our plasma cashflow construction we can make use of the asset ID by giving each it's own chain......[etc]
-
-
docs.plasma.group docs.plasma.group
-
The following diagram shows the basic idea behind transactions in Plasma Cash:
This is great
-
-
docs.plasma.group docs.plasma.group
-
easily executable
Maybe instead this could be "easily enforceable on Ethereum"? Somehow communicating the fact that we not only have a state transition model, but we have a general state transition adjudication model?
State transitions: f(s_0, i_0) = s_1 f(s_1, i_1) = s_2 ... Enforcement: verify( f(s_0, i_0) == s_1 )
Maybe we could add something along the lines of:
We define a system in which a "trusted" state execution layer (Ethereum) may enforce the validity of secondary (L2) state execution, in constant time & memory.
-
playform
platform?
-
-
docs.plasma.group docs.plasma.group
-
We currently have five primary sections:
This is no longer the correct number of sections
-
-
docs.plasma.group docs.plasma.group
-
Plasma Group
Consider removing "Plasma Group" or changing to "PG" for a title that's a little less wordy?
-
- May 2019
-
docs.plasma.group docs.plasma.group
-
Predicate ABI¶
Unsure how this is compares to ABI generated from writing the predicate contract
-
-
docs.plasma.group docs.plasma.group
-
specifiation
type o
-