工作量证明POW

工作量证明POW

区块链其实就相当于一个分布式记账本,里面记录了每一笔比特币的交易信息。因为这个账本是全网同步公开的,且不可篡改,所以获得了所有节点的信任。区块链的运行过程其实就是一个不断选择节点记账和记录交易信息的过程。那么比特币节点是如何竞争记账权?这就是今天要给大家分享的工作量证明POW。

在讲工作量证明之前我们先看看去中心化的分布式记账和中心式记账的区别。我们日常生活中见到的最典型的的中心式记账就是银行的系统,我们银行卡上的资产数字其实就是银行在做记账的产物。中心式记账需要一个像银行这类的中心化机构作信用背书。银行在这个系统中做加减法进行记账,在把这个记账的结果发布给对应的节点。而去中心化的分布式记账是通过一个公平公正的方法选择一个节点进行记账。这个节点的记账结果被多次验证正确后,再同步到每一个节点。这样做的优点是不需要第三方中心机构做背书,大家按既定的协议进行记账。没有第三方的去中心化机构减少了很多的人为因素,大大的减少了作恶的可能,在安全性上有很大的提升。

工作量证明POW

比特币每十分钟产生一个新的区块,也就意味着每十份钟要选出一个可信赖的节点进行记账。区块链在记账的时候会把信息进行Hash加密,在下一次记账的时候会把上次的Hash值和信息一起一起进行Hash,具体的方法之后会另行讲解。比特币采取了让所有节点去解密的方式获取记账权,最快计算出谜底的节点将获得心区块的记账权,同时也获得了新区块的奖励和交易的手续费。那么这个谜题是什么呢?区块链的记账过程大概可以简化为:

Hash(上一个区块Hash值,新区块交易信息)=4768ah489dh~~~

如果在这个Hash加密的过程中再加入一个随机数,那么得到的Hash值将天差地别。这个谜题就是让所有节点计算出这个随机数。大概形式如下:

Hash(上一个区块Hash值,新区块交易信息,随机数)=aaah489dh~~~

如果再加入随机数之后使得获得的Hash值前几位都是一样的,比如都是a。那么要试出这个随机数的难度将大大增加。Hash值里的每一位都有62种可能(包括26个英文字母大小写和10个阿拉伯数字)。如果两位都是a就有62*62种可能,依次类推当有五位都是a,就会有916132832种可能,也就是说要反复计算这么多次才能获得答案。这样的话就能保证所有的节点要花10分钟才能得到答案,如果算力变化了还可以改变计算的难度。

当一个节点算出这个随机数并不是马上就能获得记账权。这个节点要先把自己的答案向全网广播。然后其他节点会对其进行验证,验证通过后就可以获得全网的认可获得唯一记账权。当然有的时候并不是这样一帆风顺的,如果同时出现两个节点算出答案要怎么办呢?这里就涉及到分叉的问题了,这再之后的分享中会和大家解答。

扫面二维码有更多惊喜~~~~~~~~~

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180607G1MQIW00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券