区块链快速入门(五)——区块链技术的演进1、区块链技术的发展
比特币区块链面向传输场景,支持简单的脚本计算。如果引入更复杂的计算逻辑,将能够支持更多的应用场景,即智能合约。智能合约除了提供货币交易功能外,还可以提供更灵活的合约功能,执行更复杂的操作。
引入智能合约的区块链已经超越了简单的数据记录功能;可以在区块链上加入权限管理、高级编程语言支持等,实现更强大的分布式账本系统,支持更多的商业场景。
区块链技术的三个典型演进场景如下:
混帐
2、区块链技术分类
根据参与者的不同,区块链可分为公有(Public)链、联盟(Consortium)链和私有(Private)链。
公链,即任何人都可以参与使用和维护,参与者大多是匿名的。比特币、以太坊等典型区块链,信息完全公开。
如果进一步引入许可机制,可以实现私有链和联盟链两种。
私有链由中心化管理者管理和限制,只有少数人可以使用,信息不公开,与传统中心化记账系统的区别不明显。
联盟链介于两者之间。几个组织一起工作(例如供应链机构或银行联盟)来维护区块链。区块链的使用必须有权限限制访问,并且相关信息将受到保护,通常是 Hyperledger 项目。在架构方面,现有的区块链大部分至少包括网络层、共识层、智能合约和应用层等分层结构。联盟链的实现往往会引入额外的权限管理机制。
目前公有链的信任度最高,容易引发讨论,但在短时间内,更多的应用会首先登陆联盟链。公链由于匿名和公开的场景,面临更多的安全挑战和风险;同时,为了支持互联网规模的交易规模,需要更高的可扩展性,在短时间内解决性能瓶颈非常有价值。
对于信任与中心化的关系,一般来说,去中心化程度越高,信任度就越好。随着节点数量的增加,早期的信任度往往会迅速增加。达到一定程度后,信任度不会随着节点数量的增加而显着提高。随着成员数量的增加,合谋作恶的成本将成倍增加。
根据使用目的和场景不同,可以分为以数字货币为目的的币链、以记录产权为目的的财产链、以众筹为目的的众筹链。链。因为通用链需要考虑到不同场景下的应用特点,所以在设计上需要更加全面。github
3、区块链共识算法的演进一、区块链共识算法的发展
区块链常见的共识算法有Paxos、Raft、PBFT、POW、POS、DPOS等。但是随着区块链技术的发展,不同的区块链项目在不同的应用场景中都发生了基础共识算法的相互交互。融合与改进催生了多种新的共识算法,如DBFT、BFT-DPoS、SBFT、VBFT、Tendermint等。
(1)DBFT
DBFT(Delegated Byzantine Fault Tolerant),委托拜占庭容错算法,是基于PBFT改进的区块链共识算法。
DBFT算法中,超级节点参与记账,普通节点可以看到共识过程并同步账本信息,但不参与记账。共有n个超级节点,分为一个议长和n-1个成员,议长轮流选举产生。在每次记账中,发言者首先发起一个区块提案(要记录的区块内容),一旦有至少(2n+1)/3 个记账节点(发言者加成员)赞成该提案,该提案将成为最终发布的区块,并且该区块是不可逆的,其中的所有交易都是100%确认的,该区块不会分叉。
为了便于在区块链开放系统中的应用,DBFT将PBFT中C/S(client/server)架构的request-response模式改进为适合P2P网络的点对点节点模式,并采用静态共识参与节点。改进为可动态进出的动态共识参与节点,适用于区块链的开放节点环境。
由于BFT算法的可扩展性问题,DBFT算法由权利人投票产生代理记账,代理验证生成区块,大大减少了共识过程中的节点数量,解决了固有的问题BFT算法。可扩展性问题。