Replies: 3 comments 2 replies
-
The two options seem semantically equivalent to me:
Assuming that, if we look at the benefits of I don't think 6 is much of a negative. One way to test this is to ask, what does the code look like for
To me, that reads basically the same as it would for |
Beta Was this translation helpful? Give feedback.
-
Thanks for the pseudocode. IMO it is cleaner that the equivalent code satisfying I agree the two approaches are semantically equivalent. But I think if we have the opportunity to make something explicit (which is currently implicit) we should do so. |
Beta Was this translation helpful? Give feedback.
-
The idea of I really like an explicit
Another approach would be to extend the Moreover, having a separate It is also worth mentioning that having a separate |
Beta Was this translation helpful? Give feedback.
-
The
latestSupportedState
API improves onvalidTransition
by expanding the set of support proof types that nitro can support.In particular, it allows application logic to depart from a simple pairwise transition check, which allows it to depart from "strict turn taking"*. This is important for the streamlined virtual channels of nitro v2 (aka satp), which allow the intermediary to sometimes be required to sign off on state updates, but mostly to not be required to sign when the "end users" want to transact with one another.
In fact, our core protocol currently requires
len(participants)
signatures in a support proof. This invariant is broken by nitro v2. Hence all of the work in #557.There do seem to be some deficiencies with
latestSupportedState
, however.It's awkward to supply
n
variable parts, and have one returned. There's no guarantee that the returned object was in the arguments passed in (it is possible for the application developer to make an error). It's not clear whether it should be (by convention) always in the last slot of the supplied array. It is gas inefficient, to boot.latest
is important. The latest supported turn number should be managed by the adjudicator itself, not by the application logic.My proposal would be to have the following API:
proof
doesn't contain thecandidate
state nor the signatures on it. We could play with some other names -- for example "support" (as in "supporting evidence").Beta Was this translation helpful? Give feedback.
All reactions