1.2 区块链的权限决定类型
根据区块链权限的开放程度,区块链被划分为三种类型:公有链、私有链、侧链。
1.2.1 公有链:人人可用的区块链
公有链的完全去中心化特征使任何人都能参与公有链的共识过程中,这就意味着公有链上的数据可以被任何人读取和使用,任何人发送的交易信息也都具有实际有效性。
在公有链程序的开发过程中,开发者没有权力干涉用户,因此区块链用户的交易信息可以得到有效的保护。公有链是一个人人可用的区块链,其特点可以被归纳为以下几个,如表1-1所示。
表1-1 公有链的特点
比特币、以太坊、智能合约及超级账本等均属于公有链的应用。其中,比特币是公有链的第一个成功应用,任何人都可以用交易或挖矿的方式从中读取或写入数据;以太坊则是一个崭新的区块链平台,在该平台中,任何人都可以建立或使用以区块链技术驱动的去中心化应用。
以太坊是一种可由用户自己编程的区块链,用户可依照自己的想法在以太坊平台中建立起各种复杂操作,以达到自己最终的目的。以太坊类似于编程语言,其最终用途由它的开发者决定。当然,除了在金融行业的应用,以太坊也被用在对信任安全度及运行稳定性有高要求的应用场景,如投票管理和资产注册。
公有链的发展源于比特币,2008年年末,比特币的概念被提出,2009年年初便开始正式上线运行,这是第一代公有链。网络共识协议限定着比特币的总量,任何人都不能对比特币系统中的数据随意进行篡改。
自比特币诞生以来,一些顶级的金融机构就注意到其隐藏的一种底层应用技术——区块链。在这些顶级金融机构的带领下,金融行业及部分其他行业也开始意识到区块链的存在及应用价值。于是,公众对区块链的探索便开始了,而公有链则成了探索的首选。
金融行业在2014年开始将区块链应用在分布式域名系统等数字货币以外的领域,同时以太坊也出现了。
通过这些年对区块链的探索,公有链已经成为一个可提供广泛信任的区块链系统,也成为一个成功的业务模式,在所有区块链中发挥着基础性作用,扮演着“支柱”的角色。
任何事物在发展过程中都会不可避免地面临未来发展的选择问题,区块链当然也不例外。因为公有链主要是为虚拟的数字场景应用服务,与现实生活的联系并不紧密,所以若要长期发展下去,必须融入现实生活的场景当中。
在这种情况下,发挥基础性作用的公有链便需要进行转变和改进。对于公有链而言,来自技术、架构体系等方面的问题是它所面临的关键性问题,如性能问题和需求问题。
1.性能问题
公有链的性能问题,以以太坊为例进行说明。当许多大型且集中的交易在以太坊网络中产生,或者是以太坊中某个应用的使用频率很高时,以太坊的性能就会因为网络拥挤而大幅降低。这是因为以太坊是公有链的一种,单一的公有链无法承载大规模的交易行为和高频率的应用使用。所以,为了帮助公有链解决性能问题,侧链技术等辅助技术就被不断地开发出来。
2.需求问题
公有链的需求问题主要是来自实际应用场景的业务需求问题。在实际应用场景中,隐私保护需求、政策需求等多样化的需求使公有链的单一架构体系受到了限制,这也决定了公有链无法很好地满足需求。因此,现实场景中的需求问题就要求新一代公有链在架构体系上实现革新与发展。
目前,公有链有了一个比较明确的发展要求,“本体网络”提出:新一代公有链应该是一个由公共服务链等各种业务链交织的链网,而不再是单一的公有链。
之所以要形成一个链网体系,是因为在链网体系中,公有链的性能会得到良好的扩展:不同业务可以实现不同形式的划分,不同的协议群可以将不同的业务进行对应的串联,不同的链网体系也可以通过不同的协议群来支持。这里所说的协议群是依据不同场景形成的,包括实体映射、分布式数据交换等内容。
“本体网络”是新一代的基础公有链。在自主创建的公有链基础上,“本体网络”还涉及了一个名为“超融合链网结构”的网络架构,该网络架构主要由高性能区块链框架、协议群、业务链、公共服务链四部分组成。
1.高性能区块链框架
本体区块链具备了定制化的架构体系。因此,高性能的本体区块链不仅可以支持高性能公有链的运行,还可以支持各类业务链的定制化建设。
2.协议群
本体区块链可以依据不同的业务场景以协议群的方式提供各类交互协议。协议群的主要目的是使本体区块链具备更优质的扩展性,从而令协议群在同一个应用场景下最大化发挥自身的作用,尽可能多地去支持不同的协议。协议群有用户授权协议、分布式数据交换协议、本体身份标识协议、事务协作/跨链资产交换协议、更多业务性专项协议等。
3.业务链
基于基础性的公有链,各行各业的不同业务场景都可以拥有自己的业务链,这种个性化的业务链能够更好地满足不同场景下的要求。业务链融入本体链的方式主要有两种:业务链之间相互合作和使用基础服务。这里所说的业务链之间相互合作主要指为一些特定的跨链业务提供专门的协同支持;使用基础服务主要指业务链用基础服务公有链来获得基础性服务,如实体认证等。
4.公共服务链
“本体网络”自主创建的公有链是为本体基础服务的公有链,换言之,“本体网络”是用一条或多条自主创建的公有链来实现基础性服务的。公共服务链既可以为各类业务链提供基础性的通用服务,也可以为各类业务链的性能提供保障,并为其分担一些基础服务的模块。
另外,“本体网络”自主创建的基础服务公有链的业务设计,包括通用化支持和定制化设计两方面内容。在通用化支持方面,数据资源管理模块、智能合约交易模块、点对点通信模块等都用于数据交易;在定制化设计方面,松耦合设计、单一模块单一功能、水平扩展等均来自基础性服务的公有链。
通过基础化模块的设计和新一代基础服务公有链的设计,“本体网络”为新一代基础公有链的研发提供了一个全新的思考方向,区块链开发者可以更快速地建立起适合不同行业与不同业务场景使用的去中心化应用。总之,“本体网络”是一个具有开放性和协同性的分布式社区,具有良好的开拓前景。
在公有链的发展演进中,“人人可用”的性质没有改变。如上述“本体网络”的链网体系为应用于各类行业的通用型协议提供了支持与帮助,例如先前提及的分布式数据交换协议和分布式身份认证框架等。“本体网络”从技术和架构体系两个方面入手,将公共服务链与各类业务链串联,建立起一个受公众信任的高性能且可跨链协作的链网体系。
1.2.2 私有链:用户需要被筛选
私有链不同于公有链“人人可用”的特点,它的用户需要被筛选。私有链的数据写入权限只由一个单一组织掌控,如一家企业,并且其访问权限也具有一定程度的限制。也就是说,私有链没有和公有链同等的对外开放程度,它基本上只在内部系统中运行。
尽管私有链具有一定的封闭性,但也正因为这样,私有链的节点数量虽少却不会降低节点之间的信任度,而且交易不需要让每一个节点都来验证。因此,私有链的交易速度非常快,比其他两种类型的区块链要快得多。
私有链中的数据信息具有私密性,不会随意地被任何一个联网的人获取,这也是私有链会被大多数企业采用的原因。因为私有链在内部运行,所以当私有链只由一个单一的实体机构来处理所有的交易信息时,在私有链上便可以进行免费的或比较廉价的交易,不会再收取费用。
私有链对交易产品的保护性能被当前的一些金融机构看好。例如,对于银行类的金融机构而言,比特币这种不具有国家性质的新型货币打击了传统金融机构的核心利润,为了保护自身交易产品不受损害,银行类的金融机构纷纷应用私有链。
综上所述,私有链的特点可以被归纳为以下几点,如表1-2所示。
表1-2 私有链的特点
与高度去中心化的公有链不同,私有链的去中心化程度并不高,但是依然受到一些企业的欢迎。比如,企业试图去掉一些比特币的负担,像比特币挖矿引起的高能耗问题,此时私有链就非常适合企业使用,因为企业可以依据具体情况开发私有链。
不仅是公有链,以透明机制来提升工作效率和创建信任也是私有链的关键。一个企业可能会有多个分部,各分部之间可能存在效率低下的问题,并且各分部之间交流的数据信息还需要第三方中介机构来保障,这些问题都可以在私有链的帮助下得到解决。
如今,很多金融公司都成功应用了私有链。以 R3CEV 为例,它是一家分布式账本初创公司,曾建立了一个金融联盟,共有42家金融机构参与,包括高盛投资集团、瑞士信贷银行等。建立这个金融联盟的主要目的是研究区块链技术及其如何实施。R3CEV认为可以通过以下三种服务解决金融联盟成员的问题。
第一种服务:创建技术基础层结构,并且在此基础上应用私有链。
第二种服务:建立全球协作实验室。实验室的参与者需要经过严格的业务流程考核(申请—测试—分析)。
第三种服务:建立商业应用模式。这一模式要在技术基础层结构上建立,并且结合全球协作实验室所发掘的私有链应用的成功案例。
R3CEV的总经理Charley Cooper说:“在市面上还没有私有链技术的时候,金融联盟的成员已经认可了金融贸易领域的一些应用案例,而且还准备将这些应用案例向商业应用转化。”
除了 R3CEV 这家分布式账本公司,还有一些专门开发非金融领域私有链应用的公司,如Gem公司。Gem公司的关注点在医疗领域,据Gem公司的市场总监Emily Vaugh表示,他们从BMC Health Services杂志上的一项研究中看到,由于当前的医疗收费系统非常繁杂,因此每年会产生大约3750亿美元的资金浪费。
虽说造成医疗系统浪费是不可避免的,但是Gem公司认为,如果医院、患者、保险公司及其他相关组织机构都能在一个区块链系统里进行缴费和收费,那么浪费问题也许就能在一定程度上得到缓解。
于是,他们决定使用区块链技术来减少医疗领域的浪费现象,同时,为了保障患者的隐私,他们使用了私有链。通过私有链创建一个新的统一的医疗收费系统,不仅可以缓解医疗领域的浪费问题,还可以进一步提高医疗服务的效率和透明度。
1.2.3 侧链:确认其他区块链的数据
每时每刻都会有崭新的区块链出现,从之前的比特币到现在的无数个区块链,区块链的增长速度迅猛。但这也伴随着一个问题:如果想要使用另一个区块链的特性功能,就必须购买该区块链上的代币,这个问题会随着侧链(Side Chain)技术的开发得到解决。
开发侧链的目的是确认其他区块链上的数据,其技术特点是允许用户将自己的币从一个区块链迁移到另一个区块链,而且不需要额外花费购买代币的成本。
代币的迁移具有可逆性,即在新的区块链上使用完毕后,还可以被用户迁回原来的区块链上。而且在这一迁移过程中,并不需要借助任何第三方的帮助,这是侧链最大的优势。
侧链是相对主链而言的一个概念,其诞生主要是为了解决比特币在运行过程中出现的一些问题,例如比特币区块链的共识机制虽然强大,但也在一定程度上拖慢了交易的速度。这就要求区块链技术不断升级,以满足人们希望区块链日益完善的需求。
由于比特币对系统的安全性与完备性有着高要求,所以技术的升级就急需一种具有高严密性的验证且能够保证升级安全的方式。针对这种情况,作为辅助的侧链便发挥了非常重要的作用。在侧链的帮助下,比特币以一种虚拟的方式被迁移到侧链中,侧链会依据相应的需求做出有针对性的开发,满足比特币区块链(主链)更多的需求。
在侧链完成任务后,用户在侧链中的财产(币)可随时被转回原来的区块链中。利用侧链的好处就在于免去了主链的频繁更新,而且也能保证用户的财产(币)安全回流。侧链和主链均使用统一的数字货币,主链负责维护货币的发行和自身的安全性,侧链只需关注如何进行技术革新。
侧链之所以可以完成技术革新,主要是侧链拥有一个重要组成部分——简化的SPV(支付验证)证明。SPV证明财产(币)已经被锁定在链中,验证者可以安全地将替代链中的等值代币解锁。但要使其为侧链服务,SPV证明就必须简化,因为只有足够小的SPV证明才适合单笔基于币种的交易。
例如,先将比特币主链上的主链币发送到一个特定的输出上,然后利用SPV证明验证这个支付是否可靠,以及有无出现“双花”这种安全性问题。之后,侧链就会生成一个来自主链的输入,当确认接收该输入后,用户便可自由使用存在于该输入中的主链币。
在主链和侧链之间的资产迁移中,需要两个等待期使这两个链实现同步。第一个等待期是侧链接收资产前的确认期,第二个等待期则是侧链接收资产后的竞赛期。
1.侧链接收资产前的确认期
该等待期是为了确保发生在主链上的交易已经被顺利地记录在区块上。在主链上将主链币发送到特定输出上后,交易生成,用户此时就需要等待侧链确认期的结束。经过侧链上的SPV证明的验证,确认交易已在主链上建立,紧接着侧链上便会生成一个将该输出导引出来的交易。总之,这一等待期是根据侧链制定的安全参数,被用于权衡跨链交易的速度和安全性。
2.侧链接收资产后的竞赛期
该等待期是为了防止侧链在释放币给指定用户的过程中出现“双花”问题,这一过程也被称为“重组”。在该等待期间内,若发布了一个新的 SPV证明,而该证明最终并没有被记录到主链上的区块信息中,那么就表示资产迁移失败。
竞赛期一般只需一两天的时间,这一渡过竞赛期的过程则被称为“重组证明”。需要注意的是,在资产迁移的整个过程中,新出现的SPV证明会导致交易变动大,这也就意味着会占用更多空间。
实际上,侧链并不是指某个特定的区块链,所有遵循侧链协议的区块链均可被称为侧链。所谓的侧链协议既能够在比特币从主链迁移到其他区块链的过程中确保资产的安全性,又能够确保比特币从其他区块链迁回主链这一过程的安全性。侧链协议产生的原因主要有以下三点。
1.比特币核心开发组不欢迎附生链
虽然比特币区块链拥有彩色币(Colored Coin)、合约币(Counter Party)等附生链,但比特币的核心开发组实际上并不欢迎附生链,因为在他们看来,附生链的存在令比特币区块链的安全性大大降低。比特币的核心开发组曾把OP_RETURN 的数据区减少到只有40字节,并让合约币的开发团队以另外的方式携带数据至比特币的交易中。
2.为了应对来自其他区块链的革新威胁
当前比特币并不是唯一的区块链,以太坊、比特股等区块链也已经走进大众的视线中,同时,智能合约等各种去中心化的应用在新兴区块链中逐渐流行起来并受到大众的喜爱。比特币应用的开发面临着巨大的威胁,为了应对来自其他区块链的革新威胁,侧链协议产生了。
3.出于对Block Stream的商业化考虑
以太坊曾利用众筹获得了价值1.4亿元人民币的比特币,可以说取得了高额的回报。然而比特币核心开发组并没有取得这样的高额回报,所以他们期望以成立Block Stream的方式来实现其商业价值。
如今,随着侧链技术的发展,各种侧链层出不穷,ConsenSys 团队推出的BTC Relay被普遍认为是区块链上的第一个侧链。BTC Relay的主要应用原理是用一种去中心化的方式将比特币网络和以太坊网络安全地连接起来, BTC Relay利用区块头建立起一个小型的比特币区块链,以太坊Dapp开发者便可通过智能合约向BTC Relay发送交易信息,借助API调用来验证比特币的交易进行情况。作为第一个侧链,BTC Relay开启了跨链通信交易的尝试,为后来更多的不同区块链之间的交流开辟了新的通道。
Asch是一个基于侧链技术建立起来的去中心化应用平台,DPOS和PBFT是它的核心算法。在 Asch 这个应用平台上,用户可以轻松快速地进行一个区块链系统的开发,或者进行一个去中心化应用的开发。
Asch平台最初的设计目的是降低区块链系统和区块链应用的开发门槛。Asch应用平台是一个开放性的平台,并不给予开发者限制性,比如只限制在某一专门领域的区块链开发等。
此外,由于Asch应用平台在继承DPOS算法的基础上做了更进一步的强化,因此在Asch应用平台上开发的区块链系统在共识机制上的双重支付概率被大大降低。Asch应用平台是基于侧链技术创建起来的,所以在侧链技术的支持下,Asch应用平台可以在一定程度上有效地解决区块链膨胀的问题。
在Asch应用平台中,其内置代币为“阿希币”, XAS是“阿希币”的单位。“阿希币”凭借双向楔入的方式和侧链进行信息交换,代币“阿希币”在区块链系统发布之前会向投资人进行预售,预售的形式是“ico”。
Asch 的团队主力在区块链系统发布以后就不再拥有区块链系统走向的掌控权。
以侧链技术为基础的 Asch 应用平台主要面向三类用户,分别为区块链开发者、中小企业、参与区块链交易的普通用户。Asch应用平台上的区块链交易只有两种方式:一是平台用户通过聚币网进行购买交易;二是平台用户通过竞选成为受托人后,凭借投票机制获取交易的收益。
总体来说,Asch应用平台具有以下三个特点,如表1-3所示。
表1-3 Asch应用平台的特点
其中,容易使用的特点主要体现在区块链的开发语言、开发工具和工作部署上;具有灵活性的特点体现在侧链的各项参数均可由区块链开发者随意制定;具有安全性的特点则体现在被强化了的DPOS共识算法上。