During the implementers call today, there was some discussion around the great work leapDAO has been doing to build out a nested EVM to play out state transitions which exceed the block gas limit.
The predicate construction for our cashflow implementation can point to arbitrary on-chain functions, so it seems like we should be able to point at a solEVM implementation. I wanted to ping @johba and @kosta to hear their thoughts on how hard this sounds and figured this would be a great place to do it
One concern that I have in our plasma cash variant is that the truebit game being used by leapDAO might break our safety without extra lockup. We enable limbo exits, in which a withheld in-flight transaction can be used to generate a special kind of exit without an inclusion proof for it. The thing being limbo exited is generated by calling the predicate contract’s executeStateTransition(input: StateUpdate, transaction: bytes)
which returns a limboStateUpdate: StateUpdate
. If the executeStateTransition
method could not be called until a truebit game is played, this might be problematic because it would require playing truebit first which requires some extra timeout window.
I’m curious about the time windows leapDAO is using for the truebit game. I think our CHALLENGE_PERIOD
would have to equal ONLINE_ASSUMPTION + TRUEBIT_GAME_PERIOD
to guarantee enough time to execute a limbo exit safely, whereas now it is just the ONLINE_ASSUMPTION
. How much time might that add, and what are folks’ thoughts generally?