说到区块链,我们必然会谈及它的共识机制。
今天我们就来聊聊什么是共识机制,何为区块链的共识机制,以及为什么说不了解区块链的共识机制,就无法理解区块链的真正意义。
1、 什么是共识?
什么是共识?直取它的字面意思,就是“共同的认识”。
人与人之间是不同的,这种不同不仅体现在身材、长相、能力,更体现在文化、观点、想法、利益诉求等等方面。
共识,简而言之,就是一个群体的成员在某一方面达成的一致意见。
在哪方面的一致意见呢?规则。
当然,当我们谈到共识的时候,还可以是价值观、道德、观点,等等方面的共识。
2、区块链的共识机制
区块链是一个公共账本、公开的数据库,同时也是一个点对点的协作网络。协作方(节点)共同维护数据,每个节点都有一份完整的数据备份,所有节点的数据内容必须完全一致,每个节点都可以在本地查找交易记录,每个节点也可以在本地添加交易。
没有一个中心来指挥、协调,要完成这个协作,区块链就必须有一个共识机制,这个机制必须解决两个基本问题:
1. 谁有权写入数据——一次只有一个人可以记账;
2. 其他人如何同步数据——因为要保持账本的一致性。
数据写入(区块添加)的过程是这样的:有权打包交易的节点,将打包的交易(区块)放在既有的数据库(区块链)上,并向全网广播,其他节点收到信息,验证区块无误,就会同步这个新打包的交易。每个打包的交易叫作一个区块,区块不断叠加,延长区块链。
那么,区块链共识机制重点要解决一个问题:谁有权写入数据?
随着区块链的发展,已经有多种方法解决这个问题了。下面介绍一下三个主要的:POW, POS和 DPOS。