公有链和联盟链的区别

2020-07-17 12:52 栏目:经验之谈 来源:网络整理 查看()

从2008年比特币相关论文发表到2020年6月,区块链科技经历了十多年的发展,尤其是最近五年。仅从媒体角度来看,2019年之前,区块链圈主要由“货币圈”来表达,金融机构在探索区块链方面领先于其他行业。2019年10月24日,中央政治局集体研究了区块链技术的发展和现状后,“链圈”代表了技术联盟链,并逐渐进入公众视野,政务、能源、进出口等更多行业开始关注和探索区块链可能给自己领域带来的深远影响。

公有链和联盟链的区别

本文将从以下五个角度阐述公共链和联盟链的主要区别:

设计目标

获取途径

一致性算法

性能

可治理性

设计目标

块链系统是一种非常典型的分布式系统,它不同于传统的分布式数据库。它通常没有主从节点,所有参与者都使用点对点通信技术,默认情况下他们的身份是相同的。在这样的环境下,区块链技术不仅受到了CAP理论的影响,而且未能充分考虑分权、高效和安全三大设计目标,即所谓的“不可能的三位一体”。公共链和联盟链都符合这一框架,但设计重点不同。

公有链和联盟链的区别

绝大多数公共链都位于虚拟货币发行和交易场景中,通过讲述故事或设定目标(这里主要指法国货币或其他更为普通的公共链代币,例如,Ethereum在上线前先发行比特币)从外部筹集资金,并使用非对称加密算法生成账户地址和设置相应的账户余额。这种行为通常伴随着巨大的非法融资风险,这在2017年5月被包括中国在内的许多国家的法律法规所禁止。

从技术上讲,公共链没有准入门槛,任何人都可以参与。有必要确保参与者尽可能多且平等(分散化),并且有足够的安全性来抵御某些恶意用户的攻击。绩效通常被认为是次要目标。比特币和以太网的性能不超过30TPS(每秒事务数),后来上线的EOS通过了DPoS共识算法,以牺牲一些“分散”的代价换取更高的事务性能,峰值约为4000TPS。

联盟链与公共链的最大区别在于联盟链中的所有参与者都有明确的现实身份和一定的准入条件,参与者的故意不当行为通常可以直接定位。在安全方面,联盟链受现实社会的法律约束,这是一个自然的安全基线。联盟链通常服务于典型的业务场景,例如证书存储和可追溯性。与拥有数百万个节点的公共链不同,联盟链的参与者数量通常是有限的,从几十个到几百个不等。

由于联盟链的安全维度不同,“分散化”的程度也受到业务场景的限制,不同业务参与者的自然角色也不同,通常是几个业务数据提供者加上1-2个监管者;就性能而言,联盟链的设计必须实现高吞吐量,不能延迟业务系统。一般认为4000吨是最基本的要求。

存取方式

公共链对参与者没有限制,参与者通常以匿名方式参与链中的活动。通常情况下,钱包软件是由参与者自己的电脑下载的,并且由非对称加密算法和哈希算法生成的账户地址是随机的,因此任何机构都很难将参与者的实际身份与钱包地址关联起来,这使得公共链具有相当大的监管难度。各种灰色交易和黑色产品通常使用链上的代币作为支付手段,如勒索病毒。

对称加密算法:加密和解密使用相同系列的密钥,如DES、3DES和AES,其特点是加密和解密性能高。

非对称加密算法:加密和解密不使用一系列密钥,通常一个是公钥,另一个是私钥。对于用公钥加密的内容,可以解密相应的私钥;用私钥加密的内容可以用相应的公钥解密;公钥可以公开,私钥可以由用户掌握。常见的使用场景是数字签名和安全密钥交换。该算法的特点是计算性能低,一般认为比对称加密算法慢一千倍。

联盟链要求参与者具有明确的身份,通常使用包含用户公钥和身份信息的公钥基础设施数字证书。对于联盟链超级分类帐结构,参与者需要使用证书颁发机构根证书来颁发组织内的节点证书和用户证书。在开发和测试环境中,您可以使用命令行工具(如openssl)进行自我签名,并生成CA根证书和其他相应的证书。在生产环境中,建议使用权威机构颁发的证书来实现对所有参与者身份的实名管理。

不同的联盟链和场景有不同的访问要求,通常由整个联盟链的初始成员组成的治理委员会决定。多方投票和设置投票阈值是Hyperledger Fabric的访问方法,由同一CA颁发的证书是BCOS的技术访问方法。

一致性算法

块链一致性算法有两层含义,一是数据一致性,二是业务一致性。数据一致性是指节点之间使用什么样的硬件和软件算法来实现节点之间账簿的一致性,这主要是指交易序列的一致性,因为联盟链和公共链都有发起者的数字签名,这几乎不可能被篡改和丢弃。业务共识是指哪些参与者应该认可和保证数据链中的数据所代表的业务意义,以确保业务数据的真实性。

对于公共链中的比特币和以太网,发行货币和转移货币的规则是他们的商业共识,而PoW是他们的数据共识。前者规定了链中业务的具体细节,而后者规定了如何在节点之间协商数据。它们之间有一个连接点,当PoW计算任务完成时,会凭空生成特定数量的令牌,令牌用于刺激数据存储的提供和一致的行为。

对于联盟链,业务共识可以与数据共识完全分离,业务数据的真实性可以单方面生成,并由多方认可,实现交叉验证。在数据一致性方面,联盟链可以根据业务需求采用任何一致性算法。由于安全设计不同于公共链,联盟链甚至可以使用非拜占庭容错消息中间件卡夫卡来确定事务的唯一顺序。正因为如此,联盟链通常会提供一个以上的共识算法,让业务参与者灵活选择。

公有链和联盟链的区别

表演

由于可以使用多种数据一致性算法,联盟链在特定场景下的事务性能甚至可以与传统关系数据库相媲美,达到每秒数万个事务。与单一目的公共链不同,联盟链可以针对不同的场景进行专门配置。例如,在存款和认证的情况下,事务之间通常没有过度的相关性,并且在大型并发事务的情况下,它不关心哪一个是第一位的,而只关心简单的数据验证和顺序写入,因此事务性能可以非常高。如果事务之间存在相关性,事务顺序对执行结果有很大的影响,并且确定事务顺序和执行验证逻辑需要更多的时间,那么整体的事务性能将会大大降低。

公共链中的大部分交易都是转账交易,从一个账户转账到另一个账户,这就要求转账后账户余额不能为负数,同一块中的单个账户的多个交易需要依次进行验证和执行。以比特币为例,指定账户下的比特币收入来源于

为了提高区块链的吞吐量,区块链提出了许多高性能的方案,如有向无环图和并行多链结构。并行多链方案相对容易理解,将节点的处理逻辑复用到链上,以创建具有相同结构的多个底层区块链,而DAG区块链的困难在于控制并行宽度,其由IOTA、Byteball和xuperchain表示。下图是DAG结构示意图。

公有链和联盟链的区别

可治理性;可统治性

公共链的治理通常比联盟链更困难。改变公共链的运行参数通常意味着硬分叉(与先前版本的区块链算法更新不兼容)或软分叉(与先前版本的区块链算法更新兼容),这不一定符合当前所有参与者的利益。下图是修改公共链块大小的代码,这意味着当块高度达到115,000时,最大块体积被修改为更大的值。修改结论可以写在代码中,但是没有明确的条件可以修改。因为公共链不能指定参与者的具体数量,治理通常需要通过额外的离线论坛或离线组织进行沟通。通信周期长,成本高,导致许多不确定性。

公有链和联盟链的区别

联盟链的治理相对清晰。新成员进入需要满足哪些条件,需要多少参与者签名才能修改块大小,哪种参与者有权写交易,哪种参与者可以查询交易内容。这样的治理规则甚至许可都可以在区块链写成配置。当需要修改特定配置时,任何联盟成员都可以提出建议,询问其他参与者是否同意。随着时间的推移,无法满足业务需求的联盟链需要调整。重建区块链网络通常成本高昂,而强大的可治理性可以为联盟链带来更强的业务适应性。即使治理规则没有写入链中,联盟链通常有明确的创始人或治理委员会,因为其成员有限且可控。在这种情况下,治理变得相对简单,错误可以追溯,不适当的参数可以及时调整。但从宏观角度来看,联盟链仍然需要更完善的治理体系的支持。

下图显示了TBaaS中成员加入的投票事件。

公有链和联盟链的区别

虽然公共链和联盟链在技术上有很多不同,但随着区块链技术被纳入“新基础设施”,两者的技术优势不断融合,创新层出不穷。未来,将会有越来越多的区块链项目具有强性能、高并行性、丰富的一致性算法、高可治理性和灵活易用的合同。如今,区块链技术正成为传统企业完成数字化转型的驱动力。区块链技术作为企业间合作的基础设施,最终将成为企业价值转移的可靠渠道。

微信二维码
售前客服二维码

文章均源于网络收集编辑侵删

提示:仅接受技术开发咨询!

郑重申明:资讯文章为网络收集整理,官方公告以外的资讯内容与本站无关!
NFT开发,NFT交易所开发,DAPP开发 Keywords: NFT开发 NFT交易所开发 DAPP开发