This is the idea to execute multiple transactions atomically in Plasma Cash.
related discuttion: Plasma Cash defragmentation, take 3
Proposal
- confirmation signature(It need for exit and challenge).
- confirmation signature is Sign(root, H(tx1), H(tx2)).
- Tx1 has H(Tx2) as
pair
and Tx2 has H(Tx1) aspair
- Users have to prove inclusion of all pair transactions, so they send all pair transactions and proofs for exit and challenge.
An example
- atomic swap
- Tx1: Alice sends coinA to Bob
- Tx2 Bob send coinB to Alice
Attacks
- If Bob is a malicious operator and he withholds Tx1 and Tx2.
- In case of that Bob exit coinB with invalid history and later he exits coinA.
- Alice have to challenge(invalid history) to coinA’s exit.
- Bob respond to challenge with Tx1, Tx2, proofs, and confSig after 6days 23hour.
- Alice cannot challenge(invalid history) to coinB’s exit because coinB’s exit period could end up
- In case of that Bob exit coinB with invalid history.
- Alice has to exit coinA soon.
- Bob challenge(spent) with Tx1, Tx2, proofs and confSig after 6days 23hour.
- Alice cannot challenge(invalid history) to coinB’s exit because coinB’s exit period could end up
Modification for these attacks
- “beforeChallenge - startExit” must be longer than “respondChallenge - beforeChallenge” and spentChallenge period.
- For example, all exit period is 2week, “beforeChallenge” available period must be 8days, “respondChallenge” and “spentChallenge” available period is 6days.
References