比特币挖矿的能量消耗问题及解谜算法的基本要求
以前的分布式计算项目
在比特币诞生之前的几年,就有了利用闲置计算机(或“备用周期”)来做一些其他工作的想法。表 8.1 列出了一些最受欢迎的志愿者计算项目。所有这些项目都有一个属性,使它们适合作为解谜算法的操作。具体来说,他们需要解决“大海捞针”类型的问题,其中可能的答案存在于非常大的空间(或范围)中,并且搜索空间的每个小部分都可以快速并行验证。最著名的例子是 SETI@home 网站,志愿者被分配一小段无线电信号,并使用闲置的个人电脑分析该信号中可能的模式,以寻找外星文明。同时,分布式计算网站()的志愿者被分配一小组可能的私钥用于验证。 [1]
志愿者计算项目成功地将大型计算任务分解为小任务,然后分配每个志愿者执行计算检查。事实上,这种模型在一个名为伯克利开放网络计算(BOINC)的特殊平台上非常常见,该平台的开发目的是将少量的计算工作分配给不同的个人。
在这些应用中,志愿者主要是被解决某个问题的兴趣所吸引,尽管这些项目通常有一个排行榜供人们展示自己的计算能力贡献。排名还导致一些人对自己的工作量作弊,而一些报告的工作量实际上并未完成,这也导致一些项目分配额外的工作来检查网络上的此类作弊行为。货币是加密数字货币分布式计算应用的驱动力。只要技术上可行,就一定会有参与者试图作弊。
高效工作量证明的挑战
通过这些成功的项目,我们可以尝试利用这些成功的方法来简单而直接地解决问题。例如,在 SETI@home 项目中,志愿者被分配收听一小段无线电信号来寻找外星人。我们可以判断,外星人存在的概率比找到“获胜”答案的解谜算法要高,并且允许找到答案的矿工创建区块的概率要小得多。
但这个想法有几个问题。首先,并非所有找到的答案都有相同的概率成为“获胜”答案。参与者可能会意识到,某些特定区域更有可能发现异常值,然后他们会倾向于只分析一些可以产生异常结果的区域。对于集中式项目,参与者被分配工作,以便最终分析所有领域(当然最有前途的领域被优先考虑)。对于挖矿而言,任何矿工都可以随意尝试任何区块,因此矿工会首先涌向最有希望的区块。如果更快的矿工知道他们可以首先尝试最有希望的区块,这意味着解决难题的算法可能不是一个独立于过程的算法。比特币的解谜算法与此不同。比特币解谜算法中用于生成有效区块的临时随机数是完全相等的,因此所有矿工都会随机选择一个临时随机数来尝试。 。这个问题展示了我们都已经习惯的比特币拼图算法的一个关键特征:机会均等的拼图区域。
其次,考虑到SETI@home项目中有固定数量的数据需要分析,这些数据基于射电望远镜的观测。随着挖矿算力不断增长,有可能有一天不再有数据需要处理。比特币在这方面也有所不同。比特币算法具有可以创建的无限 SHA-256 谜题,这说明了另一个重要的功能要求:永无止境的谜题库。
最后,考虑到 SETI@home 项目有一个值得信赖的集中管理员,负责发现新的无线电信号并确定志愿者应该学习什么。同样,由于我们使用解谜算法来构建共识机制算法,所以不可能假设有一个中心化的组织来管理所有谜题,所以我们需要所有谜题的最后一个特征:通过算法自动生成。
哪些志愿者计算项目可能适合解谜算法?
回到表8.1,我们可以清楚地看到像SETI@home和@home这样的项目不太适合去中心化共识机制协议,并且两者都被证明缺乏我们上面列出的三个特征。暴力密码学项目可能适用。虽然它们经常被一些公司用来对某些加密算法进行安全评估,但它们不能由算法自动生成。我们可以通过算法自动生成暴力破解的加密方法,但某种程度上这就是SHA-256不完全原像()算法所做的事情,并且它没有任何有益的功能。
那就只剩下可用性最高的 Prime (Great Prime,简称GIMPS)项目了。这种方法的挑战在于它是通过算法自动生成的(找到大于当前最大素数的下一个素数),并且答案空间是取之不尽用之不竭的。事实上,素数的搜索确实是无限的,因为素数的数量已经被证明是无限的(尤其是梅森素数是无限的)。
梅森素数方法唯一的缺点是寻找梅森素数需要很长时间,而且梅森素数非常稀有。事实上,在过去的18年里,梅森素数搜索项目总共只发现了14个梅森素数,这显然是在该区域内。每年向区块链添加少于一个区块是不可行的。问题似乎是缺乏可调整的难度功能,我们在第 8.1 节中讨论的这一点很关键。无论如何,类似于寻找素数的解谜算法似乎是可行的。
优质硬币
截至 2015 年,实践中唯一被证明有效运行的系统是 。 Prime Coin 的主要挑战是找到素数的“坎宁安链”。坎宁安链是指 k 个素数 P1, P2,...,Pk 的序列,使得 Pk=2Pi-1+1。也就是说,您选择一个素数,然后将该素数乘以 2,并加 1 以获得下一个素数,直到获得总和(非素数)。包含2,5,11,23,47的是一条长度为5的坎宁安链。根据这个规则,得到的第六个数95不是素数(95=5×19)。已知最长的坎宁安链的长度为19(来自79,910,197,721,667,870,187,016,101),有一个已被推测并被广泛接受但从未被证明的理论认为存在一条长度为k的任意坎宁安链。
现在,要将这一理论转化为可计算的解谜算法,我们需要三个关键参数 m、n 和 k,稍后我们将详细解释。对于给定的谜题挑战 x(前一个块的哈希函数值),我们选择 x 中的前 m 位数字。我们可以认为任何长度为 k 的链或大于 k 的答案都是正确的。该链上的第一个素数是一个n位素数,并且具有m位第一条数据,如x(n≥m)。值得注意的是,我们可以调整n和k的值来让这个谜题变得更加困难。增加k的值(所需链的长度)使问题难度呈指数级增加,而增加n的值(链中第一个素数的长度)使问题难度线性增加,这使得我们可以细化-调整问题的难度。 。其中,m的值只需足够大,使得在知道前一个块的值之前的预计算方法毫无意义。
我们讨论的其他属性似乎也存在:结果可以快速验证,问题本身与过程无关,题库可以无限大(假设众所周知的素数分布数学推导是正确的) ,并且解谜可以通过算法自动生成。事实上,这个谜题算法已经被使用了两年,并且对于许多给定的k值产生坎宁安链中最大的素数。 还在其工作证明中进一步涵盖了其他类似的素数链,包括“第二” 链,其中 Pi = 2Pi-1。
这验证了在某些有限的情况下,有效的工作量证明具有实际应用价值。当然,寻找大型坎宁安连锁店的有用性是值得商榷的。坎宁安链无疑代表了我们所知道的数学知识宝库的一小部分。未来可能会有一些应用场景,但目前还没有出现实际应用。
永久硬币和存储证明
另一种有效的工作证明称为存储证明(proof of),也称为可恢复性证明(proof of)。与需要单独计算的解谜算法不同,我们可以设计一个需要存储大量数据进行计算的解谜算法。如果这个数据有用,那么矿工在挖矿硬件设备上的投资就可以得到广泛的应用。分布式存储和归档系统。
我们来看看永续币,第一个共识机制的存储证明方案。首先我们讨论一个大文件F。我们假设每个人都认识F的值,并且这个文件不会被改变。例如,当加密货币推出时,F是由受信任的发行商选择的。这有点类似于任何加密货币在启动时都需要创世块的事实。理想情况下,该文件具有公共价值。例如,大型强子对撞(Large,简称LHC)的实验数据已达到数百PB(以PB表示)规模,这些数据的备份非常有价值。
当然,由于F存储非常大,大多数参与者无法存储整个文件,但我们已经知道如何使用密码学中的哈希函数来确保每个人都不需要知道整个文件。批准F。最简单的方式是每个人都同意H(F),但更好的方式是用一棵大的树来表示F,所有参与者都同意树的根值。既然每个人都认识到F的值,那么证明F的任何部分都是正确的就变得高效了。
在永久货币系统中,每个矿工M存储任意F文件的子集FM。
F. 为了实现这一点,当矿工生成公钥 KM 来接受资金时,他们对公钥进行哈希处理,为区块 FM 生成一组虚拟随机数,他们必须存储这些虚拟随机数来实现挖矿。目的。该子集将成为某个固定数量的块 k1 的一部分。这里我们必须做出一个假设,当矿工开始挖矿时,他们有办法获取这些区块——可能是从标准文件源下载地址(见图8.2)。
图8.2 在永久币系统中选择文件的随机块
注:本例中k1=6,k2=2。在实际应用中,这些参数会大得多。
一旦矿工将 FM 存储在本地,谜题算法就与传统 SHA-256 挖矿非常相似。给定前一个区块的哈希值x,矿工选择一个临时随机数n,对其进行哈希处理并生成虚拟随机数子集FM,n
FM,这个子集包含k21个块。值得注意的是,这个子集是由选定的随机数和矿工的公钥组合生成的。最后,矿工对n和Fk中的区块进行SHA-256哈希函数计算。如果计算结果低于目标难度,就意味着他们找到了有效的解决方案。
验证解谜算法的结果需要以下步骤:
● 验证FM,n 由矿工公钥KM 和临时随机数n 生成。
● 通过检查从 树节点到全局统一树根的路径来验证FM,n 中的每个块是否正确。
● 验证H(FM,n‖n) 值比目标值更容易验证。
我们很容易理解为什么解谜过程需要矿工将所有 FM,n 存储在本地。对于每个临时随机数,矿工需要计算 FM,n 的随机子集的哈希值。如果通过远程访问存储空间来获取文件,速度会非常慢,几乎无法实现。
与算法情况不同,如果 k2 足够大,则不存在可行的时间-内存权衡。如果矿工只在本地存储一半的 FM,并且 k2=20,那么他们必须尝试 100 万次才能找到不需要从网络检索任何文件块的临时随机数,从而减少存储负担以计算量呈指数级增长为代价。当然,由于k2 树路径必须在所有路径中进行传输和验证,因此如果k2设置得太大,操作也会变得非常低效。
k1的设置也可以权衡。 k1越小意味着矿工需要的本地存储空间越少,因此这种类型的挖矿更加民主化(更多人可以参与)。然而,这也意味着,即使大量矿工有能力提供更大的存储空间,他们也没有动力去存储超过k1F的区块。
同样,这是完整的永远币的稍微简化的版本,但这足以让我们理解整体设计的关键部分。当然,最大的应用挑战是找到合适的大文件。这个文件必须有一定的意义,是公开的,并且需要保存多个备份。如果 F 文件本身随着时间的推移而变化,或者难度随着时间的推移而调整,这将使方案变得更加复杂。
长期挑战和经济影响
总结本节,高效的工作量证明是一个非常自然的目标。考虑到良好的共识机制所需的其他解谜算法,实现起来也相当具有挑战性。即便如此,至少本文引用的两个案例——Prime Coin 和 Coin——在技术上是可行的,尽管它们也存在一些技术缺陷(主要是需要更长的时间来验证和解决难题)。此外,与比特币挖矿的数百万美元的投资和大量电力的消耗相比,这两种加密数字货币的应用为社会福利做出了一些贡献。
关于有效的工作量证明是否应该纯粹是公共利益,存在着一场有趣的经济学辩论。在经济学中,公益意味着非排他性,即每个人都可以参与其使用,并且是非竞争性的。公益性的其他用途不应影响其自身价值。一个典型的例子是灯塔。
我们这里讨论的案例,比如蛋白质折叠()[2],并不是一个纯粹的公益项目,因为有些公司(比如大型制药公司)可以从中获利。本质上,这些机构的挖矿成本会相对较低,因为他们可以获得其他机构无法获得的额外收益。
[1] 大约有 500 万人参与了该计划,其中包括译者本人。 ——译者注
[2]蛋白质折叠问题被《21世纪生物物理学》列为重要问题。这是分子生物学中心法则尚未解决的重大生物学问题。 ——译者注
随着区块链技术的发展和普及,数字货币交易所已经成为人们投资和交易数字货币的重要平台。作为一家领先的数字货币交易所,欧意交易所app官网一直在不断创新和提升自己的服务质量,为用户提供更加安全、便捷、高效的交易体验。
在行业资讯方面,欧意交易所app官网一直在关注全球数字货币市场的发展趋势,以及政策法规的变化。通过与全球各大数字货币交易所的合作和交流,欧意交易所能够及时了解到最新的行业动态和技术进展,为用户提供更加准确、及时的市场分析和预测。同时,欧意交易所还通过自己的媒体平台,发布行业报告、深度分析、行情解读等内容,帮助用户更好地了解数字货币市场,把握投资机会。
在问答方面,欧意交易所一直注重用户的体验和反馈。为了更好地解答用户在交易过程中遇到的问题,欧意交易所特别设立了一个专业的客服团队,为用户提供24小时在线咨询服务。欧意交易所的客服团队由经验丰富的专业人士组成,他们熟悉数字货币市场的运作规则和交易流程,能够快速、准确地解答用户的问题,帮助用户解决交易中的难题。此外,欧意交易所还通过社交媒体平台和在线论坛,与用户互动交流,收集用户的反馈和建议,不断优化自己的服务质量和用户体验。
欧意交易所深知,安全和信任是数字货币交易所的核心。因此,欧意交易所一直注重用户信息安全,采用先进的技术和安全措施,保护用户的资产和隐私安全。欧意交易所的用户资金,存放在冷存储设备中,并采用签名技术,确保用户资金的安全。此外,欧意交易所还与全球知名的网络安全公司合作,定期进行安全评估和漏洞扫描,确保交易平台的稳定和安全。
欧意交易所一直致力于为用户提供更加安全、便捷、高效的数字货币交易服务,不断优化自己的服务质量,提升用户体验。无论您是数字货币投资新手还是资深交易者,欧意交易所都将成为您理想的交易平台。