从零到一学懂区块链(5):工作量证明

从零到一学懂区块链:工作量证明

每天学一点区块链,每天get新知识。这个系列以概念普及、名词解释为主,帮助小白迅速入门,同时也是自己的学习笔记。可能做不到日更,但一定持续输出。

上一票我们学习了密钥,知道了密钥由公钥和私钥组成,公钥公开,用于接收币,私钥用于支付时的数字签名,一定要自己保护好。忘记了的小伙伴可以戳此链接查看复习从零到一学懂区块链(4):密钥。今天我们要一起来学习工作量证明机制。

01

什么是工作量证明

Proof of Work,简称POW,工作量证明是通过有效计算得到的一小块数据。在比特币中,矿工必须在满足全网目标难度的情况下,求解SHA256算法,即对区块头和一个随机数进行哈希运算,找出给定数量前导0的哈希值的过程,不断地遍历尝试,直到找到这个解,就相当于挖到了一个区块,同时也获得了10分钟内的全网交易记录的打包记账权。这种依靠工作量来争夺记账权达成共识的方式叫做工作量证明。工作量证明机制节点可以自由进出,可以说是完全的去中心化。

工作量证明机制,这个翻译已经很恰到好处地诠释了它的意义。所有节点都在付出算力尝试去找到这个数,所有的节点都付出了努力,但结果只有一个节点能率先算出来,挖到区块的那个节点肯定比其他节点付出了更多的努力,所以叫工作量证明,一点也不夸张。大家都在努力工作,所有节点都参与其中,谁比谁差啊,那就看谁付出的算力更多喽。

02

为什么要有工作量证明机制

在中心化的体系中,共识是由第三方机构决定,也是由第三方机构的信用作为背书,各方只需要服从就可以了,可以说是一种非常高效的方式,比如A打开支付宝,要转账1000元给B,A只要输入数字、密码,其他什么都不用管,支付宝会从A的账户中划走1000元,再在B的账户中添加1000元,至于具体是怎么操作的,是支付宝说了算,A和B不用知道也没有必要了解。但在去中心化的体系中,由于没有了第三方,所有节点都是平等的,A说我以我自己的方式从我的账户里转了1000元钱到B的账户,B说你的方式是什么方式,按我的方式就不算你转了账,谁说了算就成为了一个迫切需要解决的问题,所有节点需要达成一种一致的规则,大家都在遵守这个规则的前提下进行交易、挖矿等操作,这个一致的规则就是共识机制,共识机制的规则建立在密码学基础上,可以说是既安全又有效。工作量证明机制是众多共识机制中的一种,其他的共识机制还有POS、DPOS等。共识机制也是区块链技术的核心。

未来已来,

只是尚未流行。

区块链

03

工作量证明能干什么

节点想要挖到新区块,就必须进行工作量证明的计算,从而获得记账权,打包并验证交易,将该区块加入主链中。工作量证明是一种大家约定俗成的规则,谁先完成,谁就说了算。

04

工作量证明的优缺点

优点:

1、所有节点都参与其中。可以说是真正的去中心化。后面我们会学到的POS,就不是所有节点都能参与。

2、安全性高。攻击者的算力只要不超过全网的50%,就很难成功攻击,网络的交易状态就还是一致的。(51%攻击问题)

缺点:

1、效率低。比特币每10分钟出一个区块,每个区块1M大小限制,大概每秒只能确认7笔交易,实在不适合商用。

2、工作量证明机制的挖矿形式造成了大量算力的资源浪费

3、算力集中的隐患。由于全网难度的不断增加,普通的个人已经很不可能用自己的电脑挖到比特币了,于是就有了矿机、矿池的出现,也就是把算力集中在一起,这样对矿工来说其实是有好处的,没挖到块的矿工也是付出了努力的嘛,努力没有被看见怎么可以呢,所以矿工在矿池里工作,即使没有挖到块,也是有工资拿的。但对整个区块链行业来说,这不又算是搞了一个中心化的机构嘛,和区块链的去中心化理念不是背道而驰了?这种矛盾又博弈的问题这里就不大篇幅讨论了,还处在发展中的区块链以后肯定会有更好的解决方法的。至于说算力集中的隐患,那当然能想到算力集中了,那要是某个矿池有超过50%的算力了,岂不是可以攻击全网了,但大多数都是诚实的矿工,且要保证自身利益,51%攻击的问题我们稍后再探讨,但算力集中,还是有隐患的。

总结一下:

1、工作量证明(POW)就是不断地遍历直至找到符合要求的哈希值的过程。

2、为了挖到区块,获得记账权,就必须要进行工作量证明。

3、工作量证明机制和其他共识机制相比,有优点也有缺点。

下一节内容:交易

可乐

我是可乐,在学习区块链的道路上前行

记录每天学到的一点知识

一起学习,共同成长

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注