Deal order with provably random miner #183
Unanswered
Jonas-Metzger
asked this question in
General
Replies: 1 comment
-
no. the client sends the proposal only to the chosen miner. it's an off chain action |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
To solve/reduce the data availability problem in an optimistic rollup like Truebit on Ethereum, I'd like my contract to require a "proof" that a minimum number of deal orders for a file have been finalized with random storage miners in Filecoin.
The concern is that a malicious Filecoin client colludes with a small minority of malicous miners (known to the client but unknown to the rest of the network), who add their deal orders to the Filecoin blockchain without the intention of making the data available later on. Assuming the financial interest of performing a data availability attack on the rollup exceeds the Filecoin collateral, it seems that nothing in the current protocol would stop them from performing such an attack: if I understand the whitepaper correctly, it's up to both the client and the miner whether either signs their deal order, and both know each others identity before doing so. So the client could make sure to only sign deal orders with malicious miners.
Main question: Is there a way for a client to prove that a deal order on the Filecoin blockchain was reached with a random miner, as opposed to one chosen by the client?
How about the following scheme: At time t, a client's storage bid order shows up in Filecoin block B_t. Let S_t ∈ B_t be the set of sector ids i ∈ S_t currently pledged by the miners at time t. Define h_it =hash(i, B_t) and let N_i=|{j: h_jt < h_it}| be the number of hashes h_jt that are smaller than h_it. The idea is that the rollup would only consider a deal order as random if it was with the miner who owns a sector id i with N_i smaller than some tolerance parameter N_max. Does this sound like a secure solution (ignoring for now that we probably want to weigh sectors by size)?
Beta Was this translation helpful? Give feedback.
All reactions