比特币白皮书解读-工作量证明(Proof-of-Work)

  白皮书晦涩难懂,既然要学区块链知识了,索性就把它就把它弄透彻它,让自己大脑清晰。遇到不懂区块链的人,能讲的头头是道,让不懂的人,通过自己讲解,能明白什么好似区块链,是干嘛的,瑜伽区块链高手不至于一脸蒙,也能跟上别人节奏。

    继续我们的白皮书解读,看文章不是太长,应该容易懂,心理有点窃喜。

原文:4. 工作量证明(Proof-of-Work) 为了在点对点的基础上构建一组分散化的时间戳服务器,仅仅像报纸或世界性新闻网络组一样工作是不够 的,我们还需要一个类似于亚当•柏克(Adam Back)提出的哈希现金(Hashcash)[6] 。在进行随机散列 运算时,工作量证明机制引入了对某一个特定值的扫描工作,比方说 SHA-256 下,随机散列值以一个或 多个 0 开始。那么随着 0 的数目的上升, 找到这个解所需要的工作量将呈指数增长,而对结果进行检验则 仅需要一次随机散列运算。 我们在区块中补增一个随机数(Nonce),这个随机数要使得该给定区块的随机散列值出现了所需的那么多 个 0。我们通过反复尝试来找到这个随机数,直到找到为止,这样我们就构建了一个工作量证明机制。只 要该 CPU 耗费的工作量能够满足该工作量证明机制,那么除非重新完成相当的工作量,该区块的信息就不 可更改。由于之后的区块是链接在该区块之后的,所以想要更改该区块中的信息,就还需要重新完成之后 所有区块的全部工作量。 

比特币白皮书解读-工作量证明(Proof-of-Work)_第1张图片
图片发自App


证明机制的本质则是一 CPU 一票。“大多数”的决定表达为最长的链,因为最长的链包含了最大的工作量。 如果大多数的 CPU 为诚实的节点控制,那么诚实的链条将以最快的速度延长,并超越其他的竞争链条。如 果想要对业已出现的区块进行修改,攻击者必须重新完成该区块的工作量外加该区块之后所有区块的工作 量,并最终赶上和超越诚实节点的工作量。我们将在后文证明,设想一个较慢的攻击者试图赶上随后的区 块,那么其成功概率将呈指数化递减。 另一个问题是,硬件的运算速度在高速增长,而节点参与网络的程度则会有所起伏。为了解决这个问题, 工作量证明的难度(the proof-of-work difficulty)将采用移动平均目标的方法来确定,即令难度指向令每 小时生成区块的速度为某一个预定的平均数。如果区块生成的速度过快,那么难度就会提高。

解读:

先来理清一个感念,工作量证明什么意思,一个矿工成功后,他会把之前的大包好的的网络是那个交易记录到一页账本上,同步给其他人。因为这个矿工能够最先计算出超难数学题的正确答案,说明这个矿工付出了工作量,是一个有权利记账的人,因此其他人也会同意这一页账单。这种依靠工作量来证明记账权,大家来达成共识的机制叫做工作量证明,简而言之结构可以证明你付出了多少工作量,英文简称POW。

上一讲,我们了解了时间戳服务器的原理,但有的人还是会有疑问,因为没有中心化机制监管,如果有人恶意更改时间,同时修改比特币源码造跳过时间检测机制怎么办或者恶意构造交易怎么半,这就是需要另一个机制来保证,就是工作量证明,说白了就是提升作恶的成本。因为工作量证明里面又个 词哈希值,哈希值算法的计算过程事不可逆转的,矿工们进行哈希值计算,可以理解为 一个数学游戏, 获得正确答案,就会获得记账权,其他经过验证或,就可以同意其记账,打上时间戳,然后紧接着进行下一轮算力竞赛。如果有人想把这个区块的内容修改,拿他就需要把这个区块开始所有的区块都重新计算一遍,把账单同步给其他人,而在其他进行计算的同时,其他矿工已经在原来的链上继续进行往前进行记账了,在比特币网络里大家认为最长的链才是正确的链,如果恶意串改需要在短时间内赶上现有区块的高度,让自己的这个链条成为最长的链,让其他矿工,认为这个是真确区块。除非这个恶意篡改的人,拥有非常大的算力,至少超过50%,否则基本上没有可能进行这样的篡改。

这里也要理解一个词哈希值算法,哈希算法是一个哈希函数,如果不知什么是哈希函数,只要记住它是一个可以将任意长度的消息映射成一个固定的值,无论输入什么最后都成为一个固定的值,那么在区块链中就是靠每秒的碰撞,解答比特币的数学题,是一种伟大的密码学数学算法。

这块内容主要是围绕着,工作量证明的,不可更改,即使想做恶修改,也是很难实现的,这也是中本聪的高明之处,比特币区块的公开透明,去中心化,不可更改的机制,不受制约个体操控。这块解析就到此处。

你可能感兴趣的:(比特币白皮书解读-工作量证明(Proof-of-Work))