Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Limbo Exits / Operator Griefing by Block Withholding #28

Open
gakonst opened this issue Jun 18, 2018 · 0 comments
Open

Limbo Exits / Operator Griefing by Block Withholding #28

gakonst opened this issue Jun 18, 2018 · 0 comments

Comments

@gakonst
Copy link
Contributor

gakonst commented Jun 18, 2018

So currently there is 1 thing which is an issue in all Plasma constructions that want to work without confirmation signatures, and involves 'in-flight' transactions:

  1. Alice broadcasts a transaction to Bob. That transaction is included in a block but is withheld. Alice notices the block withholding and tries to exit (submits a security deposit).
  2. The operator challenges the exit by revealing proof of inclusion of the transaction at a latter block. This slashes Alice's deposit and cancels the exit
  3. The transaction is now revealed and as a result Bob can accept it (note that bob can be colluding with the operator too).
  4. As a result, the tx was actually confirmed, but the operator was able to 'rob' alice of her security deposit.

This can be solved by confirmation signatures, i.e. in order for a tx to be considered valid, the receiver has to sign on it and give the sig back to the sender, like a handshake. Alternatively, hash preimages can be used, which is a similar technique but requires less data (https://ethresear.ch/t/plasma-cash-plasma-with-much-less-per-user-data-checking/1298/28). This has UX issues, the receiver can withhold the sig etc. A possible solution is whats' being coined as 'limbo exits' (https://ethresear.ch/t/resolving-limbo-transactions-via-exit-priority-modification/2127) and is being further developed in https://ethresear.ch/t/more-viable-plasma/2160, for Plasma MVP. I'm looking further into that currently.

Additional info: https://ethresear.ch/t/limbo-exits-and-challenging-fraudulent-exits/2015

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant