loomnetwork / plasma-cash

Plasma Cash Contract & Client. ERC721, ERC20, and ETH compatible
https://loomx.io/developers
Other
271 stars 62 forks source link

Bond Amounts? #102

Closed simondlr closed 6 years ago

simondlr commented 6 years ago

Hi.

I'm trying to figure out why the bond amount of 0.1 ETH was chosen. Is there any theory on this?

gakonst commented 6 years ago

Hi @simondlr,

This is a parameter and has been chosen as an example. I'd consider analyzing the optimal bond amount a separate task, as this is a parameter that needs to be chosen for all constructions that involve challenges and bonds (e.g. payment/state channels).

You could also make the bond be adjusted through some function that takes gas prices into account, or by using some type of oracle.

simondlr commented 6 years ago

What is your current thinking on bond amounts?

Trying to see if there's some decent defaults to be used?

gakonst commented 6 years ago

In my opinion, any amount that covers the gas costs for the challenge winner is feasible, since it provides just enough incentive for challengers. This should be enough for collateralizing exits/challenges, and any bigger amount just makes the challenge more attractive.

The trickier question, to which I do not have a clear answer, is how you could potentially collateralize the operator so that they are disincentivized from withholding data. You would require for an operator to stake some ether in the contract, and users would be able to challenge and slash their collateral if they provided proof that the operator is withholding.

2 takeaways: 1) It is actually hard to prove that data withholding occurs, since the operator maybe didn't become malicious but got DDoSed, died etc. 2) Determining the amount of collateral to avoid cheating depends on the amount of value stored in the Plasma Chain. In the case where the Plasma chain stores Ether only, that's easy. For ERC20 or ERC721 tokens though it becomes trickier because you need to put some price on them.

gakonst commented 6 years ago

Closing, feel free to open if you have further ideas on this, or post on ethresear.ch :)