工作量证明(PoW)最初是作为针对垃圾邮件的一种解决方案而发明的。直到后来它才被修改用于比特币。
PoW挖矿实际上是在后台进行的操作是将动能(电力)转换为分布式帐本。矿机反复执行哈希运算,直到解决了密码难题。除了解决该问题的一个特定哈希值以外,所有哈希运算出的值都将被丢弃。
这个很小的哈希值本身只需要很少的能量就能计算出来,它直接代表了产生它所需的巨大能量。区块被铸造的“证据”。为了重写区块,攻击者以后将不得不花费最初需要的大致相等数量的哈希运算。哈希值并不表示能量本身。
随着时间的流逝,随着改进的挖矿硬件变得越来越有效,这种能量表示越来越不准确。能量本身并没有改变,但是它在比特币区块中的哈希表述会出现偏差。
可视化这种能量转化过程的另一种方式是将PoW挖矿视为将物理权重添加到虚拟的区块上。随着时间的流逝,较旧的区块会损坏,并且权重会越来越轻。在其他所有条件相同的情况下,这会减少了整个区块链的总重量。
比特币通过不断创建具有新权重的新区块来应对这种能量损耗过程。这样可以确保整个区块的头部始终有较重的权重,从而保护了整个链条的完整性。较重的链==安全的链。(有人建议“最重的链”才是比特币比中本聪的“最长链”更好。当我们不是真正地从字面上理解区块的长度时,最长的链可能会产生误导。)
SHA256是支持比特币PoW挖矿的哈希函数。SHA256可防止帐本被重写。唯一的哈希输入输出。这就是比特币不变性的由来。哈希运算将全部只用于保护帐本的目的!现实世界中几乎没有任何东西具有这种100%的奉献精神和效率。
实际上,它可能不是100%,而只是近似值。因为不可逆性依赖于哈希结果具有统一的随机性(就像掷骰子一样),并且算法无法真正模拟现实世界中的随机性。
对我们来说幸运的是,诸如SHA256之类的哈希函数已显示出足够的随机性,也就是“伪随机性”。SHA256经过了多年的审查和压力测试,并拥有丰富的研究文献。因此,算法本身这不是我们应该担心的安全问题。从根本上讲,将能量“附加到块上”的想法是正确的,并且可能是随机模拟不变性的唯一方法。
随机性是比特币工作量证明(PoW)的基石。随机性如何在比特币身上体现呢?
骰子和比特币的工作量证明适用相同的随机性规则
随机性研究简史
随机性一直是生活中必不可少的部分。许多古代的占卜仪式都是基于偶然性和随机性的:希腊人的动物骨骼占卜,中国人的竹签占卜,非洲人的项链。类似骰子的设备在游戏和赌博中的使用可以追溯到数千年前。
中国寺庙的灵签
然而,直到16世纪,我们才开始获得必要的工具和语言来真正理解概率和随机性。这些工具包括算术概念。我们对概率和随机性的研究始于一个名叫吉罗拉莫·卡尔达诺的人。卡尔达诺(Cardano)于1501年生于意大利,是一位数学家,是文艺复兴时期最有影响力的数学家之一。他还是一个臭名昭著的赌徒。由于DuBo问题,卡尔达诺最终陷入了赤贫和默默无闻的境地。然而,正是他在DuBo方面的经验使他写出了名著《概率游戏》(Book on Chance of Chance),这是对偶然性和随机性的第一种系统性处理。有趣的是,卡尔达诺打算将这本书的内容保密。卡尔达诺去世100年后,《概率游戏》才开始首次出版。
Gerolamo Cardano(1501-1576)
卡尔达诺对我们对概率和随机性的理解的主要贡献是样本空间的思想。紧随卡尔达诺之后的是伽利略和帕斯卡尔。伽利略是那个时代反叛思想精神的完美体现:与强大的天主教会背道而驰,宣称地球不是宇宙的中心。伽利略做了许多重要的工作。不太知名的作品“关于骰子游戏的想法”探讨了卡尔达诺感兴趣的类似主题。
帕斯卡尔是费马和笛卡尔的当代人,比卡尔达诺和伽利略的相距更远。他发现了我们现在所说的帕斯卡三角形。尽管其他文明国家(例如伊朗,中国和印度)的数学家早在Pascal之前就发现了相同的三角形世纪,但Pascal的工作是最全面和最新颖的应用,特别是在概率论领域。Pascal还介绍了“ Pascal的赌注”和数学期望的概念。
从卡尔达诺,伽利略和帕斯卡(Pascal)种植的种子开始,我们对机会和随机性的理解逐渐增长,随着时间的流逝,它变得越来越复杂和精致。这是文艺复兴时期的共同主题:天文学,牛顿物理学,微积分,经验主义等一些基本突破奠定了科学基础,带来了知识的新分支和重大的技术创新,最终导致了工业革命。
我们破解概率和随机性过程中的重要里程碑列表:
· 样本空间
· 排列组合
· 帕斯卡三角形
· 大数定律
· 小数定律
· 贝叶斯定理—条件概率
· 钟形曲线和标准偏差
· 向均值回归
· 随机漫步
· 蒙特卡洛模拟
· 伪随机性
关于概率和随机性的两个重要发展:蒙特卡罗模拟和伪随机性。特别是因为它们与当今世界高度相关。
计算机的发明为随机性的全新应用打开了大门:计算机仿真。我们有史以来第一次通过廉价地反复进行实验来“预测”未来或发现隐藏的真相。这些机器提供给我们的大量模拟以前是无法想象的。
20世纪初,蒙特卡洛模拟的发明标志着人类历史上的一个重大转折点。在文艺复兴之前,人类常常生活在对随机性和不确定性的恐惧中。直到20世纪,我们逐渐改进以更好地理解它,但在很大程度上还是让随机性决定事物的流动。通过蒙特卡洛模拟,我们开始用随机性为我们服务,人类开始成为概率的主任。
蒙特卡洛模拟的著名早期开拓者包括现代计算机的两个教父约翰·冯·诺伊曼和艾伦·图灵。
如今,蒙特卡洛模拟具有大量应用:流体力学,商业,金融,人工智能等。最近发生的AlphaGo案例就是蒙特卡罗模拟(结合其他技术)如何将我们引向新发现的完美范例:AlphaGo的举动完全超越了我们的想象力和丰富的Go文献,超越了最优秀的人类选手。挑战了机器无法创新的想法,并迫使我们重新考虑“创造力”的真正含义。
蒙特卡洛方法的日益普及是促使“伪随机性”(伪随机过程是一个看起来是随机的过程,但不是随机过程)发展的原因,因为良好的仿真需要能够紧密反映现实的随机性。。这样的过程产生的数字是确定性的,但是它们通过了对所谓“随机”的统计检验。反过来,伪随机性成为了一个崭新领域的组成部分之一,这也是计算机时代的产物:现代密码学。
这也最终导致了比特币的出现。
随机性在比特币中的作用
比特币的主要创新之一是在建立分布式共识中使用工作量证明(POW):使用不断消耗的电能来支撑比特币区块可以使我们客观地观察系统不变性。PoW是数字与物理之间的桥梁。
PoW提供了客观的衡量标准,比特币网络参与者可以依靠该衡量标准达成共识,而无需信任网络上的任何人。这与权益证明之类的计划不同,后者依赖于共识的主观解释。本节假设PoW是实现区块链的唯一安全方法。
工作量证明中的“工作”涉及搜索具有最少前导零个数的哈希输出。(哈希输入有一些限制,例如格式,时间戳等)。
比特币PoW方案使用称为SHA256的加密哈希函数。密码哈希函数的一个重要特征是它们是单向的。这意味着仅通过查看散列输出来推断散列输入是不可行的。而且它们之所以是单向的,很大程度上是由于哈希输出的随机性。
事实证明,这非常关键,因为如果散列函数不能生成足够的随机(“伪随机”)输出,则可以从所需的输出开始,即:一个带有一定数量前导零的字符串,然后从那里开始向后工作。这将使该证据充其量在最好的情况下不可信,而在最坏的情况下则无用。
简而言之,典型的PoW方案是:(a)提出一个问题,其解决方案存在于一个非常大的空间中;(b)没有捷径;(c)唯一的解决方法是蛮力地-强迫并随机搜索大空间。就像在巨大的干草堆中寻找针头一样。(为此,官方的计算机科学术语是“无限制的概率迭代过程” 。)
因此,哈希函数的随机性决定了证明的强度。
散列(提供输入输出)→随机性(保证强度)→工作量证明
一个好的哈希数学难题使每个矿工有机会根据他们贡献的哈希能力的多少来赢得下一个难题解决方案。解决问题的速度取决于不同矿工所拥有的挖矿能力。
没有正式的证据表明随机性是PoW的强制性要求,但从经验上看,这似乎是事实。也有一个简单的观察结果,即解决方案非随机的任何问题往往需要花费大量的精力进行验证,而不是首先计算解决方案。任何此类方案都将在可扩展性方面受到严重限制(请记住,比特币很难按原样扩展)。它还会不成比例地偏向于最快的矿工,以至于稍慢一些的矿工一无所获。
基于随机性的PoW的另一个好处是,矿工会员资格是高度开放的:矿工可以随时随地出入。不论是在找到障碍物之后立即加入,还是5分钟后加入,获得下一次奖励的机会都不会改变。
哈希呢?这是获得随机性的唯一方法吗?可能不是。除了哈希以外,还有其他模拟随机搜索过程的方法,例如整数分解或离散对数。
因此,很可能哈希不是实现随机性的唯一方法,而随机性是创建数字工作量证明的必要前提。
总而言之,只要人类存在,我们就一直在努力应对随机性和不确定性。现代计算机的发明和20世纪的蒙特卡洛模拟使我们第一次使随机性变成了我们的优势。比特币中随机性的使用标志着这一漫长旅程的又一个里程碑。简而言之,随机性是工作量证明中“证明”的基础。没有随机性或真正好的伪随机性,工作量证明将无法工作。
如果比特币成功地成为未来的货币,它将代表人类迄今为止最重要,规模最大的随机性应用。
原文作者Hugo Nguyen 编译cybtc.com