共识委员会数量如何确定?
首先,我们有一个很大的群体(我们称之为 U ),里面有诚实的人和不诚实的人。
现在,我们想要从这个群体中随机抽取一小部分人(称之为 G ),并计算这个小组中诚实人的概率。我们希望抽中的人都是诚实的人。但显然,不可能保证全部抽到诚实的人,那就让抽到诚实人的概率最大吧!
那么如何计算这个概率呢?
我们使用了超几何累积分布函数(CDFhg)和二项累积分布函数(CDFbinom)公式来确定最小的小组大小,以确保诚实人的概率高于我们可以接受的阈值。
我们用一个叫做超几何累积分布函数(CDFhg)的数学公式。简单来说,这个公式帮助我们根据群体 U 的总人数、诚实人数以及我们想要抽取的小组 G 的大小来计算诚实人的概率。
但我们想要确定一个最小的小组大小(称之为 n ),使得诚实人的概率高于一个我们可以接受的阈值(1 - ρ)。这样,我们可以在实际应用中使用这个小组大小。
如果我们的群体 U 变得非常大时,我们使用另一个二项累积分布函数(CDFbinom),它基于二项分布。这个公式与之前的类似,但它适用于更大的群体 U 。
最后,我们通过比较不同的阈值(ρ)和不诚实人所占比例(β),找到适用于不同场景的最小小组大小。这些大小可以应用于实际的协议,以确保我们抽取的小组 G 中诚实人的概率足够高。
我们来详细解释一下这两个数学公式:CDFhg 和 CDFbinom 。
超几何累积分布函数(CDFhg)
在这个公式中,我们使用 CDFhg(x, n, M, N) 来表示超几何分布的累积分布函数。
这里:
- N:群体 U 的总人数
- M:群体 U 中诚实人的数量
- n:我们要抽取的小组 G 的大小
- x:小组 G 中允许的最大诚实人数
然后,我们可以通过以下公式计算随机抽样的小组 G 中诚实人的概率:
$Prob[G honest] = CDFhg(⌈n/2⌉ − 1, n, ⌊|U|/β⌋, |U|)$
这个公式告诉我们,给定群体 U 中诚实人和不诚实人的数量,我们可以计算出抽取特定大小的小组 G 时,诚实人的概率。
二项累积分布函数(CDFbinom)
当群体U的大小趋于无穷大时,我们可以使用二项分布来替代超几何分布。二项累积分布函数表示为 CDFbinom(x, n, p) 。
这里:
- p:每次抽取的成功(诚实人)概率
- n:我们要抽取的小组 G 的大小
- x:小组 G 中允许的最大诚实人数
我们可以通过以下公式计算随机抽样的小组G中诚实人的概率:
$Prob[G honest] ≥ CDFbinom(⌈n/2⌉ − 1, n, 1/β)$
这个公式告诉我们,在一个非常大的群体中,我们可以计算出抽取特定大小的小组 G 时,诚实人的概率。
这两个数学公式都用于计算随机抽样的小组 G 中诚实人的概率。CDFhg 适用于有限大小的群体 U ,而 CDFbinom 适用于无穷大的群体 U 。这些公式帮助我们找到适当的小组大小,以确保诚实人的概率高于我们可以接受的阈值。