很多人知道比特币,区块链,但是整个网络是怎么保证这个去中心化的?可能很多人并不了解,其实从挖矿这个角度去理解区块链会更能抓住重点,了解了挖矿,你就了解了区块链,了解了去中心化。
比特币本质上是由分布式网络系统生成的数字货币,其发行过程不依赖特定的中心化机构,而是依赖于分布式网络节点共同参与一种称为“工作量证明(Proof of Work, PoW)”的共识过程完成交易的验证与记录。
PoW共识过程(俗称“挖矿”,每个节点称为矿工)通常是各节点贡献自己的计算资源来竞争解决一个难度可动态调整的数学问题,成功解决该数学问题的矿工将获得区块的记账权,同时当前时间段的所有比特币交易被打包记入一个新的区块,并按照时间顺序链接到比特币主链上。
区块链(Blockchain)是比特币的底层技术,类似一个数据库账本,由分布在不同区域的节点共同参与决策并记载所有的交易记录,而决策规则的核心就是共识机制。
共识机制是决定按照哪一个参与节点记账,以及确保交易完成的技术手段和机制。
共识机制需要平衡效率与安全的关系,即安全措施越复杂处理速度就越慢,若要提高处理速度,必然要简化安全措施的复杂度。
从目前看,区块链技术的共识机制主要有:Pow(工作量证明机制)、PoS(股权证明机制)、DPoS(授权股权证明机制)、Pool(验证池机制).
1、Pow工作量证明,就是大家熟悉的挖矿,通过与或运算,计算出一个满足规则的随机数,即获得本次记账权,发出本轮需要记录的数据,全网其它节点验证后一起存储;
优点:完全去中心化,节点自由进出;
缺点:一是目前比特币已经吸引了全球大部分的算力,使用PoW共识机制的区块链应用很难获得相同的算力来保障自身的安全;二是挖矿造成大量的资源浪费;三是共识达成的周期较长。
2、Pos权益证明,PoS是一个根据用户持有货币的数量和时间派发利息的制度。在PoS模式下,有一个名为“币龄”的概念,即每个币每天产生1币龄,如用户持有100个币,共持有30天,则其拥有的币龄为3000。
此时若用户发现了一个PoS区块,则其币龄就会被清空,用户每被清空365币龄,将会从区块中获得0.05个币的利息(可理解为年利率5%)。
随后,系统会进行一个SHA256的哈希运算,基于交易输入和其他一些固定数据,以及当前时间得出哈希值。
该哈希运算类似于比特币的工作量证明,其难度与交易输入的“币龄”成反比。由于“币龄”清空为零,每发现一个新块,矿工的算力也归为零。
优点:在一定程度上缩短了共识达成的时间
缺点:还是需要挖矿,本质上没有解决商业应用的痛点
3、DPos股份授权证明机制,类似于董事会投票,持币者投出一定数量的节点,代理他们进行验证和记账。
优点:大幅缩小参与验证和记账节点的数量,可以达到秒级的共识验证
缺点:整个共识机制还是依赖于代币,很多商业应用是不需要代币存在的
4、Pool验证池,基于传统的分布式一致性技术,加上数据验证机制;是目前行业链大范围在使用的共识机制
优点:不需要代币也可以工作,在成熟的分布式一致性算法(Pasox、Raft)基础上,实现秒级共识验证。
缺点:去中心化程度不如bictoin;更适合多方参与的多中心商业模式。
总之,区块链解决了在不可信信道上传输可信信息、价值转移的问题,而共识机制解决了区块链如何在分布式场景下达成一致性的问题。
所以矿叔认为区块链的伟大之处就是它的共识机制在去中心化的思想上解决了节点间互相信任的问题。
区块链能在众多节点达到一种较为平衡的状态也是因为共识机制。尽管密码学占据了区块链的半壁江山,但是共识机制是保障区块链系统不断运行下去的关键。
其实当分布式的思想被提出来时,人们就开始根据FLP定理和CAP定理设计共识算法。
规范的说,理想的分布式系统的一致性应该满足以下三点:
1.可终止性(Termination):一致性的结果可在有限时间内完成。
2.共识性(Consensus):不同节点最终完成决策的结果应该相同。
3.合法性(Validity):决策的结果必须是其他进程提出的提案。
但是在实际的计算机集群中,可能会存在以下问题:
1.节点处理事务的能力不同,网络节点数据的吞吐量有差异
2.节点间通讯的信道可能不安全
3.可能会有作恶节点出现
4.当异步处理能力达到高度一致时,系统的可扩展性就会变差(容不下新节点的加入)。
下面是矿叔的挖矿菜鸟成长营,有兴趣的朋友可以加入哦~群内会不定期分享有关于数字货币的消息哦~
查看更多——
韩国交易所太疯狂?看不下去的CoinMarketCap直接将其踢出局