Closed nicola closed 5 years ago
Hi all, don't know if it helps but there was this paper that was formalizing usage of Bitcoin blockchain as a source of publicly verifiable randomness. Feel free to ignore the pointer if I completely missed the point. https://eprint.iacr.org/2015/1015.pdf
If we need any explanation we can ask Steven Goldfeder.
@lucaniz: It might be a good exercise to write out how each of these methods exact random and the assumptions they make. (1) Might make a good survey paper (2) This would help us evaluate exactly what we need for our system to work and evaluate protocol correctness and security.
I'd also note that we can get randomness from any MPC scheme we choose to use in SSLE (if that's the route we go). It would be verifyably fair assuming our MPC scheme is fair. It would also be verifiable secure under the MPC model. This would make general evaluation of our protocol easier.
@nicola: Let's define what we mean by "secure". I think what we need to determine is (1) what are we using the randomness for? (2) Does entropy actually matter? If so, how much is enough? (3) How are we going to extract that randomness.
The following is for context and comes from conversations with @nicola, @Stebalien, et. al.
Let's consider the case where we are going to use a random seed for our PoST proof. In this case,
T
proofs is not realistic. WhereT
is the number of proofs needed to ensure that a miner has generated enough proofs to ensure the proof is valid with probabilityp
. We also want to ensure that the prover can't perform a randomness influence attack 3.I would propose that in this case, we define "secure" to be a set of conditions
FSC
(FIL security conditions) such that the conditions contain at least (1) definition for fairness w.r.t. the consumer of randomness i.e. how will we determine that a particular function is fair given that it will consume randomnessr
; (2) a definition for relative entropy i.e. w.r.t. (1) what is our effective entropy and how hard would it be to simulate the function in (1); (3) a list of assumptions and dependencies for functions consuming randomnessr
.References:
1: Challenge Sampling Discussion 2: SSLE - Overview & Definitions 3: An attacker gains an advantage by influencing the random seed that will be used by provers to generate a proof. For example, let the randomness come from the first listed miner in a block: H(miner_name). If a prover colludes with a block leader, they could choose the first miner in a deterministic way known only to themselves and possibly gain a power advantage.