要设计一个区块链系统架构,首先要针对特定的用户需求和应用场景,选择或者定制最合适的区块链类型。
区块链严格定义上被划分为3种类型:公有链,私有链、和联盟链,但是在实际应用中单一的某种链常常无法满足用户需求,就出现了多种类型的结合,比如私有链+联盟链、联盟链+公有链等不同组合形式,最后产生了侧链和互联链。掌握了这5种区块链类型的各自特点,是理解和设计区块链网络系统架构的基础和核心,其重要性不言而喻。
一:公有链(Public blockchains)
公有链是对所有人公开,用户不需要注册和授权就能够匿名访问网络和区块,任何人都可以自由加入和退出网络,并参与记账和交易。
公有链是真正完全意义上的去中心化区块链,它通过密码学(非对称加密)算法保证了交易的安全性和不可篡改性,在陌生的网络(非安全)环境中,建立了互信和共识机制。在公有链中共识机制一般是工作量证明(POW)和权益证明(POS)。
公有链因为人人可参与,无需授权的特点又被称为非许可链,即不需要验证身份即可参与一切网络活动。目前比特币、以太坊、超级账本、大多数山寨币以及智能合约都是建立在公有链上,其中公有链的始祖是比特币区块链。
公有链适用于数字货币、电子商务、互联网金融、知识产权等应用场景。
二:联盟链(Consortium blockchains)
联盟链仅限于联盟成员,因其只针对成员开放全部或部分功能,所以联盟链上的读写权限、以及记账规则都按联盟规则来“私人定制”。联盟链上的共识过程由预先选好的节点控制,一般来说,他适用于机构间的交易、结算、或清算等B2B场景。比如人民银行开发一个基于联盟链的结算、清算系统,工建中农等银行作为联盟成员加入这个系统,获得相应的授权,就可以实时进行不同银行之间的实时结算、清算,与现有的中心化系统相比,这样不仅大大提升了结算、清算效率,几乎不需要人工参与,还能大大降低结算、清算成本。联盟链几乎不采用工作量证明共识机制而是采用权益证明或PBTF等共识算法。
联盟链由参与成员机构共同维护,并提供了对参与成员的管理、认证、授权、监控、审计等全套安全管理功能。2015年成立的R3联盟,就是银行业的一个联盟链,目前已加入的成员多达40多个,包括世界著名的银行摩根大通、汇丰、高盛等。
联盟链适用于行业协会、高级别机构组织、大型连锁企业对下属单位和分管机构的交易和监管。
三:私有链(Private blockchain)
私有链对单独的个人或实体开放,仅在私有组织,比如公司内部使用,私有链上的读写权限,参与记账的权限都由私有组织来制定。比如企业内部的办公审批、财务审计;政府行业的预算和执行。私有链的主要价值在于提供安全、可塑源,不可篡改,自动执行,这是传统系统很难同时做到的。
因为私有链加入结点少,所以交易速度快。私有链的交易速度可以比任何其他的区块链都快,甚至接近了并不是一个区块链的常规数据库的速度。而且因为就算少量的节点,也都具有很高的信任度,所以并不需要每个节点来验证一个交易(无需挖矿)。
由于私有链和联盟链都需要授权加入和访问,私有链和联盟链也被称作许可链。
私有链适用于企业、组织内部。
四:侧链(Side Chains)
严格来说侧链不是区块链的一种类型,它只是在现实应用中,开发者对区块链的一种延伸(扩展),而特别取了个绰号。目前,市场上公开的虚拟货币系统,绝大多数都是基于比特币系统进行规则修改或扩展而来,因为比特币的设计规则已十分固定,难以做出较大修改和扩展,于是这些代币系统的开发者门干脆以比特币平台为基础,重构出一条区块链,然后使用新的规则,发布新的虚拟货币,这条重构出来的区块链就被称为侧链。普遍认为能和比特币区块链进行交互,并能与比特币挂钩的区块链就是侧链。
侧链目前主要适用于代币发行。
五:互联链(InteChains)
互联链就是各种不同的区块链之间的互联互通所形成的一个更大的生态区块链。比如电商平台公有链+物流公有链+物流联盟链+银行联盟链 +.....,它们之间的相互协作、通讯、共识、就是一个典型的互联链。
理解区块链的五种类型(严格来讲是三种),是学习区块链、设计区块链系统、甚至分析区块链投资标的的重要一步,路漫漫其修远兮,吾将上下而求索。