Question on necessary challenges for standard exit of MoreVP


#1

Hello, everyone. Can I ask about MoreVP?
Nowadays I rarely see discussion about MoreVP :wink:

My question is very basic (and elementary):
How many (and what) challenge types are needed for STANDARD exit of MoreVP?

As far as I understand, I think the following 2 challenge types are needed.
M1. Spent output challenge
- Verify that an exiting UTXO isn’t already spent.
M2. Input double spend challenge
- Verify that all inputs to TX that contains an exiting UTXO aren’t spent by any other TXs.
- Verify that all inputs to TX that contains an exiting UTXO aren’t spent by any other standard exits.
- Verify that all inputs to TX that contains an exiting UTXO aren’t spent by any in-flight exits.

QUESTION: Are M1 and M2 necessary and sufficient for standard exit in MoreVP?

In contrast to M1 and M2, the original version of Plasma Cash has the following 3 challenge types:
C1. Spent Coin Challenge
C2. Double Spend Challenge
C3. Invalid History Challenge

I think M1 and M2 correspond to C1 and C2 respectively.
Safety based on C3 in Cash is covered by exit-priority and in-flight exit system in MoreVP.

ADDITIONAL QUESTION: Is this understanding (correspondence between Cash <=> MoreVP) correct?


#2

For standard exit, M2 is not necessary.

Exit priority covers the first two points.

However, the third point:

Verify that all inputs to TX that contains an exiting UTXO aren’t spent by any in-flight exits.

implies that the in-flight exit need to be challenged or non-finalizable or not-able-to-start in that case.

Usually standard exit would have higher priority than in-flight exit because it is mined and users would choose to standard exit a correctly mined and safe tx instead of in-flight exit for lower gas cost + simplicity. So usually it is the in-flight exit that should not be finalized.


#3

Thank very much for reaction!

Exit priority covers the first two points.

At the Block3 in this figure, since invalid TX4 is included, users regard operators as Byzantine and start mass exits.
However, in this case, TX5 is also included in the same block and it has lower priority than TX4.
Without M2, does an owner of (valid) TX5 lose his money because (invalid) TX4 steals it?


#4

implies that the in-flight exit need to be challenged or non-finalizable or not-able-to-start in that case.

I implied ALREADY FINALIZED in-flight exits as follows:

Already in-flight exited moneys are never come back, and so does TX4 have to be challengeable to protect TX5?


#5

This is very very basic question on MoreVP, and so probably I’m missing very very basic assumption or something…


#6

You are correct. Since your original question only focus on “standard exit” so M2 is not needed.
But in-flight exit would need to be challenged as non-canonical for TX4 as there exists another competing Tx (Tx2) that shares the same input and its position is earlier than TX4.


#7

Thank you for reply!

Yeah, TX2 and TX4 share the same input, and TX2 is included at earlier position than TX4, and so there’s no problem for TX2.

However, I think an attacker still can start STANDARD exit using outputs of TX4. Then if TX5 is included after TX4 in the same block, exit priority of TX5 will be lower than TX4, won’t it?

My question is … if M2 isn’t needed, how can an owner of TX5 prevent TX4 from exiting?


#8

TX5 can only exit by in-flight exit. Since MoreVp removes confirm signature, so any tx after invalid tx must use in-flight exit to get the higher priority.

Haha, MoreVp that involves both standard exit and in-flight exit is super complex :wink:


#9

Ahhh… I finally understand! Thank you!!!