Replies: 3 comments 24 replies
-
@amesgen I think your analysis is correct, and I wrongly conflated 3 things when I analysed the use of ALBA in the context of Peras: 1/ the expected quorum of 75% of committee size to issue a certificate, 2/ the meaning of There is no reason to set However, there's also no reason to assume that an adversary can have more items than their expected stake, e.g if we assume the adversary cannot control more than 1/3rd of the stake, then we by setting Should we want to increase adversarial stake then of course proof size would increase significantly, but then we could also increase |
Beta Was this translation helpful? Give feedback.
-
Using your formula for probability of finding a proof and some assumptions on hashing power, I found out that with I have put up a PR (#22), it would be great if you could check my computations are sound :) |
Beta Was this translation helpful? Give feedback.
-
I had quite a few discussions on what nf and np with regards to our Peras protocol parameters, more specifically the quorum size which equals 75% of the comittee stake. Alba is a proof of lower bound (I have seen at least nf elements satisfying a certain relation R). What matters "first" is the choice of nf, then we can consider np value which defines both when we can be sure to produce a proof and the proof size. An opportunistic prover, who hasn't seen at least np elements, in my mind is not adversarial: he is still computing a proof that he has seen nf elements, but the probability of generating such proof is lower. The real adversary is someone trying to create a certificate with fewer than nf elements. I do not believe we have to worry about race conditions here either, the biggest worry of Peras is to always produce a certificate. To come back to numbers, we will need to set nf to the quorum size, i.e. 75% of the commitee stake. This is to prevent an attack on Peras, the intersection attack, where the adversary can boost several blocks and in fine create forks. In practice, we may be able to lower this number to 67% if we consider a 35% adversary which as @abailly-iohk mentioned is considered elsewhere. I have so far dismissed the third main Alba parameter, the security parameter lambda. It is usually set to have 128 bit of security. There might be opportunities to lower it depending on its value in the Peras protocol. |
Beta Was this translation helpful? Give feedback.
-
Citing from the introductory text of the ALBA paper:
My understanding of this is that provers who have more than$n_f$ , but less than $n_p$ elements satisfying $R$ (so $n_f < |S_p| < n_p$ ) are out-of-scope for the soundness and completeness properties. In particlar, under the confidence guaranteed by the security parameter, upon successfully verifying a proof, the verifier only learns that the prover has more than $n_f$ elements; but not something stronger, for example whether the prover actually had (close to) $n_p$ elements.
Therefore, it is natural to ask how easy it is for an "optimistic" prover, who only has$|S_p|$ elements with $n_f < |S_p| < n_p$ , to still create a valid proof. The goal of this thread is to understand how such (adversarial) optimistic provers impact the ALBA parameterization choices for potential applications.
The most general strategy for such an optimistic prover is to simply try all possible proofs in order to find one that is valid. Lemma 3 (slightly modified) can be used to analyze this: In the scheme from Section 3.2.2 ("Generalization to small$n_p$ "), there are $r \cdot d \cdot {|S_p|}^u$ possible proofs, and each one is valid with probability ${(1/n_p)}^u \cdot q$ , so by the union bound, we get
as an upper bound on the probability that such a prover can create a valid proof.
As a concrete example, consider the parameters$n_p = 0.8 \cdot n = 720$ and $n_f = 0.2 \cdot n = 180$ where $n = 900$ as well as $\lambda = 128$ . Based on Corollary 3, this yields $u = 70$ , $d = 5567$ , $q \approx 0.000893$ and $r = 128$ .
Generally, the success probability increases exponentially the larger$S_p$ gets. We can see that the upper bounds on the success probability of the prover are non-negligible for values noticeably smaller than $n_p$ , for example 1.8% for $|S_p| = 620$ or 0.005% for $|S_p| = 570$ . For $|S_p| = 400$ , we get a bound of 8.6e-16, which is quite low, but still orders of magnitude larger than the configured security parameter of $2^{-128}$ (rougly 3e-39).
If we imagine the context to be a voting scheme with$n = 900$ votes and a share of adversarial voters, where a valid ALBA proof signals that some quorum has been met, this has the following implications for example:
The "easy" option to address problems like this (avoiding any complicated analysis) would be to make$n_f$ so large that just by the soundness of ALBA, one does not have to worry about optimistic provers. However, this might result in the ratio $n_p / n_f$ to be so small that ALBA becomes less or even unappealing for the particular application.
matplotlib script for the graph above
Beta Was this translation helpful? Give feedback.
All reactions