AlacrisIO / meta

Internal management of Legicash/Legilogic/Alacris
0 stars 0 forks source link

Support for polynomial space contracts #97

Open jeapostrophe opened 5 years ago

jeapostrophe commented 5 years ago

This is very distinct from infinite/poly-time contracts.

I don't know how to do this using the state hashing regime that we currently use.

Perhaps this can be done in finite space with a Merkle tree of the previous value and the modification. Really it is a hash list because there are no concurrent modifications.

fare commented 5 years ago

I'm not sure exactly what you mean, but I'll take it as a program that can verify local properties of a large data structure. Then, it's even "exponential space" program, since Merkle trees can help you verify local properties of a data structure exponentially larger than the "Merkle proofs" involved.

But actually, what we want is write the DApp that works on the full data structure (probably including the reified control state of the DApp), and use a contract to argue in (poly)logarithmic size a property of the data structure. Thus, we shall automatically extract from the DApp (with recursive functions and data structures, reaching some potentially large total size) the contract that can argue the state of the DApp.