(一)公有链
所谓公有链,是指全世界任何人都可以在任何时候加入、任意读取数据,任何人都能发送交易且交易能获得有效确认,任何人都能参与其中共识过程的区块链——共识过程决定哪个区块可被添加到区块链中和明确当前状态。作为中心化或者准中心化信任的替代物,公有链的安全由“共识机制”来维护——“共识机制”可以采取PoW或PoS等方式,将经济奖励和加密算法验证结合了起来,并遵循着一般原则:每个人从中可获得的经济奖励与对共识过程做出的贡献成正比。这些区块链通常被认为是“完全去中心化”的。
在公有链中,程序开发者无权干涉用户,所以区块链可以保护使用他们开发的程序的用户。从传统的经济学角度来看,的确难以理解为何程序开发者会愿意放弃自己的权限。然而,随着互联网崛起,协作共享的经济模式为此提供了两个理由:借用托马斯·谢林(Thomas Schelling)的话,即妥协是一种力量。首先,如果你明确地选择做一些很难或者不可能的事情,其他人会更容易信任你并与你产生互动,因为他们相信那些事情不大可能发生在自己身上。其次,如果你是受他人或其他外界因素的强迫,无法去做自己想做的事,你大可说句“即使我想,但我也没有权力去做”的话语作为谈判筹码,这样可以劝阻对方不要强迫你去做不情愿的事。程序开发者们所面临的主要压力或者风险主要是来自政府,所以说“审查阻力”便是公有链最大的优势。
(二)私有链
所谓私有链,是指其写入权限由某个组织和机构控制的区块链。读取权限或者对外开放,或者被进行了任意程度的限制。相关的应用可以包括数据库管理、审计甚至是一个公司,尽管在有些情况下希望它能有公共的可审计性,但在很多的情形下,公共的可读性似乎并非是必需的。
大多数人一开始很难理解私有链存在的必要性,认为其和中心化数据库没有太大的区别,甚至还不如中心化数据库的效率高。事实上,中心化和去中心化永远是相对的,私有链可以看作是一个小范围系统内部的公有链,如果从系统外部来观察,可能觉得这个系统还是中心化的,但是以系统内部每一个节点的眼光来看,其实当中每个节点的权利都是去中心化。而对于公有链,从某种程度来看也可以看作是地球上的私有链,只有地球人的电脑系统才可以接入。因此,私有链完全是有其存在价值的。
私有链的巨大优势就是,由于对于P2P这样的网络系统而言,系统内部的处理速度往往取决于最弱的节点,而私有链所有的节点和网络环境都是完全可以控制的,因此能够确保私有链在处理速度方面远远优于公有链。
私有链和公有链另外一个巨大的区别就是,一般公有链肯定在内部会有某种代币(token),而私有链却是可以选择没有代币的设计方案。对于公有链而言,如果要让每个节点参与竞争记账,必定需要设计一种奖励制度,鼓励那些遵守规则参与记账的节点。而这种奖励往往就是依靠代币系统来实现的。但是对于私有链而言,基本上都是属于某个机构内部的节点,对于这些节点而言,参与进行记账本身可能就是该组织或者机构上级的要求,对于他们而言本身就是工作的一部分,因此并不是一定需要通过代币奖励机制来激励每个节点进行记账。所以,我们也可以发现,代币系统并不是每个区块链必然需要的。
因此,考虑到处理速度及账本访问的私密性和安全性,越来越多的企业在选择区块链方案时,会更多地倾向于选择私有链技术。
(三)联盟链
联盟链(Consortium Blockchain),是指其共识过程受到预选节点控制的区块链。例如,可以想象一个由15个金融机构组成的共同体,每个机构都运行着一个节点,而且为了使每个区块生效需要获得其中10个机构的确认。区块链可能允许每个人都可读取,或者只受限于参与者和走混合型路线,例如区块的根哈希及其API(应用程序接口)对外公开,API可允许外界用作有限次数的查询和获取区块链状态的信息。这些区块链可视为“部分去中心化”。比如R3 CEV就是一个典型的联盟链系统。
(四)许可链
许可链(Permissioned Blockchain),是指每个节点都是需要许可才能加入的区块链系统,私有链和联盟链都属于许可链。
(五)混合链和复杂链
随着区块链技术变得越来越复杂,区块链的技术架构开始不仅仅简单地分为公有链、私有链等架构,而是这之间的界限逐渐开始模糊。在区块链的系统中,不再是所有节点都有着简单的一模一样的权限,而是开始有不同的分工。有些节点可能只能查看部分区块链数据,有些节点能够下载完整的区块链数据,有些节点负责参与记账。而随着系统日益复杂,其中不同的角色,以及不同的权限等级会变得更多。其实我们在DPoS这样的共识机制中,已经能够看到这种趋势开始出现,并不是每个节点都参与记账,而是获得投票数量最多的受托人(Delegated)才开始进行记账,这样的受托人就是典型的角色划分。如果今后央行采用区块链技术发行人民币,肯定会选择类似于混合链这样的技术。