-
Notifications
You must be signed in to change notification settings - Fork 170
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
make deal arbitration more scalable #89
Comments
The two major approaches I see for resolving this are broadly:
Reducing slashing complexity to less than O(Deals)Currently, if a miner were to drop all their data, it would require one message to the chain per deal the miner made (not even one per sector). This is pretty bad. One route of thinking here would be to find ways to slash a miner for multiple deals with a single invocation. Some initial ideas here may include accumulators, snarks, and other 'proving' systems. The most basic approach may just be to allow the Reducing the number of deals a miner makesIf we reduce the number of deals that get made, then Another approach to reducing the number of deals a storage miner makes, is to pack multiple deals into a single 'deal', to fill out an entire sector. Once we have repair miners, repair miners can perform this task for their clients, batching up smaller deals into bigger sectors for their storage miners. |
cc @porcuquine @decentralion @nicola @bvohaska for discussion |
At a very high level, it looks like we may need to choose one or more of the following options:
I’m assuming the goal is to reduce the storage complexity of slashing on-chain with the bonus of reducing communication complexity. Ideally, we could do both. Is this accurate? |
Roughly yes. re idea 1, slashing needs to happen on chain, in an ideal world it happens rarely, is cheap to do, and only needs to happen once per miner being slashed. 2 and 3 are discussed a little in my comment, 4 doesnt really help as things would still have to go on chain. |
Concrete steps forward here for the near term:
|
Closing as obsolete. |
Currently, deal arbitration is done per sector. This can get really expensive if clients store large amounts of data (large numbers of sectors). We should move towards giving clients the ability to either make deals that span multiple sectors (somehow, accumulators may help here) or at least efficiently arbitrate many deals at once.
The text was updated successfully, but these errors were encountered: