比特币:比特币工作量证明,“法外之地”的法——BB财经

PoW是区块链技术中基本的、常见的一种共识机制。加密币中的挖矿,其实就是运用工作量证明来进行的。

一、PoW的起源

工作量证明最早是一个经济学名词,指系统为达到某一目标而设置的衡量机制。通俗来说,就是当你完成一定量的工作后,确认这一工作量的证明。因为监测整个工作的过程是非常的耗时的,而只通过检验工作结果来确认工作量,显然效率要更高。

工作量证明系统,是一种应对拒绝服务攻击和其他服务滥用的经济对策。它要求发起者进行一定量的运算,也就意味着需要消耗计算机一定的时间。这个概念由CynthiaDwork和MoniNaor1993年在学术论文中首次提出。

在1999年,MarkusJakobssonandAriJuels两人将pow概念引入计算机体系,工作量证明这个名词,在两人的文章中被真正提出。起初,PoW被用于抵挡拒绝服务攻击和网络爬虫,后来在反垃圾邮件中被广泛使用。

比特币市值升至全球市值资产第12位 超越沃尔玛:Asset Dash数据显示,目前比特币市值达4454.42亿美元,与知名公司股票市值相比,排名升至第12位,已超越零售巨头沃尔玛公司市值,沃尔玛市值现报4657.27亿美元。[2020/12/20 15:49:03]

反垃圾邮件系统哈希现金,其设计理念是一个正常用户写一封邮件是需要一定的时间,而发送垃圾邮件者是无法接受这个等待的时间,PoW系统使垃圾邮件发送者需要更多的时间来发送邮件,增大他们的成本,起到抵挡攻击的作用。

PoW共识机制是基于哈希函数本身复杂的运算,通过给定的初始值和简单的值递增规律,利用其碰撞原理,找到特定的碰值,可以通过对碰值的调节,实现对于工作量的调节。

工作量证明二、哈希函数

USDT占比特币交易比重约为61.78%:金色财经消息,据cryptocompare数据显示,目前比特币交易情况按照交易币种排名,排名名第一的是USDT,占比为61.78%;排名第二的是美元,占比为13.17%;排名第三的是日元,占比为6.22%;排名第四的是CNYT,占比为5.02%;排名五的是欧元,占比为3.67%[2020/10/10]

哈希函数即散列函数,输入一个x,会得出相应的输出H。其中,这里的x可以是任意长度的字符串,而输出的H却具有固定长度,哈希函数正是将任意长度的数据映射到有限长度的域上。在计算过程上,虽然复杂,但非常高效。

比特币这种加密系统使用的哈希函数,还需要同时具备免碰撞、匿名性、防篡改等特点。

免碰撞指的是:如果输入的x≠y,绝不会出现H=H的情况,即输入两个不同的数据块,其哈希值一般来说也不会相同。理论上相同的可能性并非绝对没有,但概率极小。所以,对于一个给定的数据块,要找到与它哈希值相同的数据块极难。

USDT占比特币交易比重约为68.13%:金色财经消息,据cryptocompare数据显示,目前比特币交易情况按照交易币种排名,排在第一的是USDT,占比为68.13%;排在第二的是美元,占比为10.89%;排在第三的是日元,占比为9.82%;排在第四的是韩元,占比为3.29%;排在第五的是欧元,占比为2.45%。[2020/7/5]

哈希函数的隐匿性是指,对于一个给定的输出结果H(x),想要逆推出输入的x,在计算上是不可能的。

而对于数据块的任何一处小小的改动,哈希值随之产生的变动都会非常明显,这一点构成了哈希函数的防篡改特点。

同时,在这一函数中,穷举法是能够使得哈希值H落在特定范围的最好方法。在比特币的区块链上,使用哈希穷举实现工作量证明能够拥有随机和易验证两种特性,这两种特性将于后文中提到。

动态 | 比特币未花费交易输出数量创新高:据Bitcoinist 1月3日消息,比特币UTXO(未花费的交易输出)数持续增长并创下历史新高。每一笔比特币交易(输入)会生成UTXO(输出),从而将交易的比特币重新分配到一个变更地址中,比特币未花费交易输出数量增长原因可能为,一方面和矿工的挖矿活动相关,另一方面和Mixer(混合器)的使用有关。但对UTXO增长最乐观的解释是,小额比特币的使用频率越来越高了(同时其价值也越来越高)。[2020/1/3]

工作量证明三、工作量证明的原理

在工作量证明系统中,客户端完成一定难度的工作,得出一个结果,验证者只需通过验证这个结果就能检验客户端是否做了相应的工作。这种方案的一个核心特征是不对称性:工作对于请求方是适中的,对于验证方则是易于验证的。其工作流程如下:

对于任意一串字符,给出了一定的工作量要求,对这串字符进行变更,使其得到具有特定规律的一个结果,若得到这个结果,则验证通过。为了达到这个目标,需要不断地对这串字符进行哈希计算,直到计算量达到一定次数时,才能得到要求的变更后的数列。

在计算之前,根据工作量要求可以得出预期的计算次数,这个预期的次数和实际不一定完全吻合,但会大体接近,如果重复多次,会发现这确实是一个符合统计学规律的概率事件。而

这里提到的预期计算次数,其实就是要求的工作量。

以上是工作量证明的基本原理,比特币系统中的工作量证明机制与其类似,但更为复杂。

工作量证明四、比特币的工作量证明

在工作量证明的区块链中,系统会根据算力大小来选取打包的节点,对于节点来说,单纯的打包和数据上传非常简单,不过,系统需要选取一个特定的节点来处理某件事,为了避免众多节点对同一件事打包而引起不必要的分叉,比特币通过前文中提到的哈希穷举,增加打包难度,以延长打包时间。

简言之,就是每个节点都需要在10分钟内找到一个随机数,并保证这个随机数加上上文所说的哈希运算,能够满足一定的规律。为了找到这个随机数,只能通过不断尝试新的随机数,不断的运算。而随着运算量的增大,目标范围也会不断缩小。

哈希穷举的随机性和易验证性在这里体现了出来。首先,即使知道了这个随机数的范围,也只能通过大量计算去得到;然后,如果有人找到了随机数,那么其他节点能够很容易地检验这个结果的正确性。

如果算力增强,就需要修改难度以增加计算次数,比特币中就有修改难度的规则。所以,想要找到这样一个随机数,计算量要远远大于预期的工作量。

为了鼓励节点不断地对数据和信息进行打包,比特币的区块链网络设置了奖励,即支付给打包节点的奖励和交易费。

打包奖励是指创建区块的节点会获得一定数量的比特币作为奖励,奖励的数量随着比特币区块的生成而减少。

交易费即使用比特币转账时支付给记账节点的费用,这是支持节点工作、维护区块链自动运转的重要因素。

这两种打包奖励都是通过工作量证明来进行,在比特币中也就是为人所熟知的挖矿行为。而衍生而来的矿机,在一开始其实是个人计算机这样的运算设备,随着算力的提高,难度的增大,专业矿机诞生。自始至终,算力的竞争从未结束,而难度和算力也在不断进行博弈。

工作量证明的优点是足够安全、公平和去中心化,其免碰撞、匿名性与不可篡改的特点奠定了比特币区块链技术的核心;但它的缺点也很明显,耗时长效率低,算力提高的同时耗费了电力,除了挖矿,这些强大的算力难以转化成其他资源。

文章来源

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金星链

[0:15ms0-1:43ms