零点课堂 | 自然常数e与Filecoin预期共识有什么关系?(1)
老子曰:“人法地、地法天、天法道、道法自然”。在区块链的实践中,由于是建立Code is Law的体系,遵循 In Math We Trust 的法则。在一个不受个体控制的网络,遵循自然的法则尤其重要。我提倡Filecoin的设计从简、自然。也是这个道理。
自然常数 e,是一个神奇的数,在数学中又极为自然。本文讲一讲 Filecoin 的共识机制的实现进化与自然常数 e 的关系。
内容提要
- 自然常数 e
- 初期预期共识空块率过高:1/e
- 预期共识的实现是一个不段发现的过程
- tipset区块数预期提升(至5),安全性和效率的兼顾
让每一个字节都参与投票:优雅的密码抽签 + e
【预警:数学、概率与分布】
数学常数 e
e 被成为自然常数,在数学家的眼里,这个常数非常自然。但是,对于普通人而言,对于 e,由于没有形象化的描述,就很难理解。本文通过 e 在 Filecoin中的应用,希望能够找到一些点,能够帮助大家 1)了解Filecoin的一些设计;2)通过 Filecoin 得到一点 e 的形象化的描述和印象。
常见的比较复杂的有意思的数学常数有两个,一个是 π,一个是 e。大家对π 都非常熟悉,因为它有一个非常形象化的名字,叫圆周率,也就是说是任何一个圆的周长和直径的比值。非常形象,非常容易理解。小学不学的话,初中总会学到了。
其实 e 是与 π 同等重要的一个数学常数,在数学中的使用一点也不比 π 少。比如就在我们今天所讨论的 Filecoin 区块链中,e 在很多地方被使用,而 π 则不然,基本上没有被用到。
π = 3.1415926535897……
e = 2.718281828459045……
π 和 e 同为超越数,即不是代数数(有理数方程的解),当然也是无理数,无限不循环小数。
但其实,e 和 π 在数学中有非常紧密的关系。甚至可以说,e 就是 π 的另一种表示方法。为什么呢,请看最优雅数学公式 – 欧拉公式:
为什么优雅,这个一个简单的公式把数学中的5个元素(0, 1, i, π, e)十分简单地统一在一起了。就像物理学家希望统一力场一样,数学家也有把总结简洁规律的偏执。
这个公式也表达了 e 和 π 的简单直接的关系。当然,他们之间还有一些有意思的关系,比如:
但是,这些仿佛把事情更加复杂化了,对于 e 本身的理解并没有帮助。到底 e 是什么呢?数学中会讲,e 是自然对数的底,它的一个总要特点就是 e^x 的导数还是 e^x,同时,e 可以通过下式来表达和计算:
稍微形象一点的表达,就是在复利的计算上,e 表达一个在一段时间内翻倍增长的利率,进行极限的连续复利计算能够达到的极限值。也就是说,如果年利率是100%,你如果无限细分一年到 n 个时间段,那么每个时间段的利率为 1/n,而最终你能得到的连本带利的收入为 e 倍,也就是2.7倍多一些。
这仍然不够形象,那么下面映射到 Filecoin 的共识机制来看一看。
Filecoin 预期共识与自然常数的关系
先来复习一下Filecoin白皮书里面描述的预期共识。在go-filecoin的早期实现中,采用的是简单的预期共识,也就是说,每一个矿工按照自己的算力与总算力的比来获得出块权的概率。因为所有矿工的算力之和等于总算力,所以系统每一轮的总出块概率的期望值为 1。简单来说,就是每一轮平均出一个块,但是,每个矿工独立计算,因此,每一轮的出块数可能是各种各样的。
那么在这种情况下,我们建立一个简单(也是有效的)模型来进行一个推演。假设系统中的矿工数为 n,每个矿工的算力占比为 1/n,那么,每一轮呢每个矿工的出块概率为 1/n。
这样,一轮中出现空块的概率为:
如果 n 足够大,那么,可以求得:
也就是空轮的概率超过三分之一,这个就太高了。
那么出块数为 1 的概率有多大呢,可以简单做如下计算:
仍然只有三分之一多一点。剩下的不到三分之一的概率都是多块的轮次。这个结论与开发网当时的测试是完全吻合的。
从这里,我们找到了一个对于自然常数 e 的一个更形象化的解释,那就是:在一个有很多人(大数)参与的独立投票选举中,每个人的赢得选举的概率相同,同时预期赢得选举人数为1的情况下,不能得出选举结果的概率为 e 的倒数,也就是 1/e。