共识委员会数量如何确定?

首先,我们有一个很大的群体(我们称之为 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 。这些公式帮助我们找到适当的小组大小,以确保诚实人的概率高于我们可以接受的阈值。