目前已经有不少文章针对区块链中公有链
和联盟链
两种形态的讨论,里面跟我的了解有些差异,Elwin这里尝试从道法术器的角度对此进行分析,涵盖信念价值、产生背景、技术特点、维护治理、发展趋势等方面进行讨论,希望能给大家分享一下我对两者的理解和建议。
“手中无剑,心中有剑,草木竹石皆可为剑,以无剑胜有剑。”在《神雕侠侣》剑魔独孤求败他掌握的,是达到目标的“道”,这个“道”,不会因为对象(器)而改变、也不会因为方法(术)而改变。道是世界的本原、本体、规律或原理。
术就是处理事物的谋略和方法,或者说,道,我们可以看做是是信念和价值观;术,是技巧和方法论。法是实现价值观的最根本的战略、方法、指导方针、思路,同时也是一种规范性约束;器是工具,工具的作用是提高效率,把复杂问题简单化。
Elwin的个人理解,对于区块链技术来说,区块链的开发工具和编译/运行环境及工具,就是“器”;算法、智能合约和框架等方法,就是“术”;分布式账本理论、加密原理和P2P通讯原理就是“法”,联盟治理和监管,社区维护治理也是另外一种的“法”;最后的 “道”,就是区块链的信念和价值观,区块链的“道”是建立互信的价值交换网络;公有链,他的道就是去中心化自治;联盟链的道就是合作共赢。
公有链区块链,起源于比特币,他诞生之初就是奔着去中心化的目标,他的信念就是本身不由任何中心机构控制,交易需要全网公开确认,算法面前人人平等,每个人和每个节点都可以参与和监督。正是它的去中心化,才和所有其他的虚拟货币产生了本质区别,后来山寨币之类的虚拟货币,如仍然是由发行者控制的币种,最终都很难发展。
公有链区块链及比特币产生的缘,是基于对于去中心化互联网的追求。一方面,互联网极其发达的今天,互联网给巨头和独角兽霸占大半江山,众多网民无法掌握主动权。要想追回互联网搭建之初的美好梦想,须通过去中心化,将权利还给大众。另一方面,目前很多互联网底层服务都是中心化服务,我们的网络连接其实是非常脆弱的,全球无数的设备越来越多连上互联网,特别是物联网的进一步普及更加剧互联的劣化,将来某些恶性事件可能会突然导致数十亿的用户无法使用互联网,并让整个网络系统陷入停滞。去中心化网络是互联网Web的3.0,未来不再有单一机构的中心化服务,比如去中心化通信、去中心化货币、去中心化DNS、去中心化出版、去中心化社交等等,现在都有不少有益的探索。比特币的出现,让大家看到了希望和方向,由此区块链(公链)开启了去中心化应用的浪潮。
联盟区块链,是对特定的组织团体开放,具有准入机制的区块链。通俗地说就是目前很多金融机构和商业机构在基于区块链技术构建自己的“朋友圈”,在圈内通过“联盟链”的模式完成交易和资产清算,通常称之为“部分去中心化
”或“多中心化
”。他追求的道就是联盟内新型博弈下的互补合作共赢。
联盟区块链产生的缘,可以从联盟链使用的群体了解,他们的主要群体是银行、保险、证券、商业协会、集团企业及上下游企业,区块链诞生于移动互联网时代,这些企业普遍已经IT化和互联网化,区块链对于进一步提升他们圈子的产业链条中公证、结算清算业务和价值交换网络的效率很有帮助,但是在尝试使用现有区块链技术(如比特币代码家族和以太坊)发现,现有区块链的处理性能、隐私保护、合规性等都不满足他们的业务要求,另一方面,他们意识到如果全面采用比特币的那一套完全公链的设计理念,会颠覆他们现有商业模式和固有利益,且要负上很大的风险。于是他们开始改造适合他们的区块链体系,目前的联盟链形态,更多是分布式账本(DSL)为主,区块链的分布式账本和分布式共识为他们解决了主要核心问题,就是联盟中多个参与方交互的信任问题。目前最活跃最被认可的应用于联盟链的典型开源区块链代码项目,是作为HyperLedger(超级账本)基础设施的主要项目之一,由IBM推出的Fabric。
就“法”来说,公有链和联盟链具有共同的“法”都是基于分布式账本理论、不对称加密原理和P2P通讯网络原理,但其中的最大的区别就是准入和维护治理。
1.准入
公有链,对所有人开放,任何人都可以参与,任何人都能发送交易且交易能获得有效确认的、任何人都能参与其中共识过程的区块链,共识过程决定哪个区块可被添加到区块链中和明确当前状态。公有链一旦发布运行,程序开发者无权干涉用户,所以区块链可以保护使用他们开发的区块链的用户。任何拥有足够技术能力的人都可以访问,也就是说,只要有一台能够联网的计算机就能够满足访问的条件,对节点没有太大限制。没有门槛的准入,虽然对容量和性能改善造成比较大的困扰,但全民参与大大增强了信任和透明。
联盟链,只针对特定某个群体的成员和有限的第三方,内部指定多个预选的节点为记账人,每个块的生成由所有的预选节点共同决定,其他接入节点可以参与交易,但不过问记账过程,其他第三方可以通过该区块链开放的API进行限定查询。为了获得更好的性能,联盟链对于共识或验证节点的配置和网络环境有一定要求。有了准入机制,可以使得交易性能更容易提高,避免参次不整和不稳定的参与者产生的一些问题。
2.维护治理
公有链的维护治理,往往由一些极客和技术团队发起,采用社区方式进行维护,代码完全开源,采用社区众包方式。公有链基本都伴随有ICO过程。ICO,全称Initial Coin Offering,就本质上而言,ICO也是一种“公开发行”,他不仅仅是相对传统证券IPO把所发行的标的物由证券变成了加密数字货币,更重要的是ICO的加密数字货币——代币Token是基于公有链创造自己的经济生态系统,并是公有链治理的定海神针。公有链项目团队通过ICO获取技术开发和市场拓展资金,而项目爱好者通过ICO支持项目,同时也可在对应代币进入交易市场后选择交易退出。公有链的代币,不仅仅是一种筹集资金的新途径,更重要的是他是一种全新的去中心化治理模式,没有中央控制方的公司,所有参与者共同共享所有权及贡献。社区代码要维护、社区和公有链要运营、公有链节点要铺开和维护,这些靠传统的公司管理和运营模式是行不通的,通过代币为媒介的激励机制,是公有链健康运转的保证。另一方面,去中心化的社区众包模式,打破了传统对研究成果的传播方式和评价体系,通过互联网上用户的口碑和互动交流,让研究成果能够更快地体现价值和反馈,及时发现和优化问题,集中众人智慧,加快了科研与商业化应用的速度,同时促进技术创新,建立自身技术影响力和标准。
公有链另外一个比较特殊的特性是Gas费用,也就是通过原生Token或原生Token关联的Gas作为手续费去支付使用公有链网络的费用,一方面避免滥用和浪费资源,同时一定程度避免恶意攻击,另一方面可以回馈给进行共识的节点。这个设计是很好的,但也引申一个新问题,就是手续费会随着公有链的原生Token价格波动而波动,很多时候会越来越贵,特别是对于高频应用,可能使用成本比较高了。
公有链的治理存在特殊的博弈问题。拿比特币来说,其核心的治理原则是:非对称加密保障个体的基本财产权利,分布式账本保证了财产权的基本共识,区块链技术保证公开公正,工作量证明机制用简单直接的资源消耗激励记账。比特币生态的初期依赖于早期开发者的创新乐趣和极客的理想主义热情,逐渐带动形成了比特币生态。发展多年后,比特币生态已经很成熟,交易用户、囤币用户、矿工目前已经去中心化;而矿池和交易所,虽然有中心化的倾向,但如果他们违背了矿工和用户利益,也会很快衰落;开发团队中心化是公有链治理的短板,开发者主导决策方向制约生态进化。比特币的受到制约的问题,其实不少功能都已经有解决方案甚至已经开发完成的,为什么迟迟不能升级,就是由于公有链的升级跟传统软件升级不一样,他是去中心化升级,需要得到大多数节点的拥护和同意才能顺利升级,可是开发者团队目前却是分权竞争,有前期带理想主义的核心开发者,也有后来从经济和政治层面考量的开发参与团队,使得目前比特币代码分支成为了Bitcoin core、Bitcoin Classic、Bitcoin Unlimited三个分支代码阵型,同样的,著名的以太坊目前也分叉为ETC和ETH两个分支代码阵型。这个特殊的博弈问题,是所有去中心化应用都可能会面临的,虽然有解(投票等机制),但这个会造成比较大的内耗和制约,这个问题可能有些公有链团队会不太重视,将焦点都集中在技术和算法上了,值得注意。解决的方向,是在公有链推出之初,要制定更完善的治理机制,增强公有链生态体系各个角色的沟通和互信,并确保体系升级背后的技术考量必须是民主化的。
联盟链的维护治理,一般由联盟成员进行,通常采用选举制度,容易进行权限控制,代码一般部分开源或定向开源,主要由成员团队进行开发,或采取厂家定制产品。联盟链的治理方案有很多传统的方案可参考,相对与公有链来说,他们的治理更有规可循,但同样,这些联盟治理的问题他们同样会遇到,如联盟成员中的联合欺诈、竞争性联盟成员的利益均衡等问题。从治理层面,有节点使用收获和投入维护的不对称考虑、联盟链的数据资产权属等问题。这些问题,同样都是需要联盟链在成立之初,需要考虑和完善的治理问题。
对于代币及Gas费用这方面,大部分联盟链都会去掉不使用或只是一种形式,以便联盟成员可以无顾虑地使用区块链网络。但对于价值交换类型应用场景,特别是需要对联盟体外交换价值的联盟链,也会可能使用代币体系,Elwin理解这种为价值联盟链。价值联盟链是指能够内部转移资产所有权的联盟链,如Ripple目前的数字资产交换应用场景,他里面的原生Token XRP,是作为超越交换网关的“交易凭证”(或者说资信证明),以及保证Ripple网络安全性的基石之一,有其独特的价值与定位。这里值得一提的是,之前Ripple的应用是更开放,以公有链和去中心化的运营的,后来才转为保守的更偏向于联盟链的方式。因此侧面也看出,同一套区块链项目和代码框架,可以运营成为公有链或联盟链,主要取决于他的“道”。
3.联盟链的监管
虽然不管公有链还是联盟链,最终可能都会需要有对应的法律规章进行监管,比如加密货币和ICO合法性、区块链存证的法律有效性、智能合约的有效性等等,但相对而言,联盟链由于更多用于金融和商业机构,他将有更高的合规性要求,因此,这里重点说一下联盟链的“法”——监管,这同时也是联盟链使用者不能完全采用公有链那套的主要原因之一(这里指历史原因,现在有些公有链已经部分解决监管的问题了)。
说到联盟链的监管,不得不提两个重要概念,AML(反洗钱)和KYC(了解你的客户)。虽然互联网使得我们无处不在,但是金融监管到处都存在,自2008年金融危机开始,对于金融管控门槛不断升高,而反恐战争导致反洗钱和反恐怖主义融资的范围也让监管的广度和深度逐渐扩大。联盟链需要加入这些监管元素,在区块链中整合AML和KYC的思想,以便能满足合规性的前期下降低成本和提高效率。
区块链的“术”主要包括共识机制、加密算法、智能合约和框架等模式和方法。
共识机制是区块链技术的关键点,共识机制的核心是在分布式网络中,利用一种规则(算法)来保证全网对于区块的创建是一致的。共识机制包括PoW工作量证明、PoS权益证明、DPoS股份授权证明机制、拜占庭家族(如PBFT)、PoET消逝时间量证明等待。对于目前诸多的共识机制,公有链和联盟链都可能用到,但由于各自的“道”和“法”影响,会有所偏重。公有链更偏向于使用更去中心化和更具激励机制的PoW和PoS共识机制,而联盟链会更喜欢采用类似传统的拜占庭家族(如PBFT)、DPoS等共识机制,从技术上,可预知的节点的联盟链也会在PBFT等共识机制运行得更高效。现在不少新型的区块链体系,会有支持可插拔的共识机制模块,可以选择最适合你应用场景的共识机制。
加密算法,主要是哈希函数和非对称加密两部分的算法。同样都适用于公有链和联盟链,但也有细节差别。比如哈希函数算法,联盟链由于商业应用一般都不考虑挖矿问题和更注重性能问题,更偏向于使用SHA256算法为主,而公有链,则会从挖矿和激励治理的策略考虑,从而选择其他的哈希函数算法。又如非对称加密算法,联盟链需要考虑性能效率的同时,也要考虑安全合规性问题,比如国内金融机构更偏向于使用国密算法,而公有链更注重开放性和标准性。
智能合约方面,公有链和联盟链都会有需要,但通常公有链去执行智能合约,会需要支付Gas费用,而联盟链则不一定需要,当然这个也不是必然的。另一点需要关注的是,公有链的智能合约,是往去中化自治努力的,因此他的设计理念上不能加太多条条框框,而联盟链,则更注重隐私、安全和监管,因此会加入更多的管控元素,比如Corda系统记录了智能合约代码和法律语言体系及管理金融协议的清晰联系;Fabric为了保护联盟成员的交易隐私性,实现了不同链上合约的执行分离,不同的链上合约关联主体只知道自己链上合约相关交易和执行交易验证;Qtum在智能合约中加入了主控合约,主控合约的执行逻辑可以通过链下执行,把监管者的角色引入。
最后关于开放框架和架构模式设计上,由于联盟链有节点准入性,因此他有更大的灵活性,从软件工程上进行优化设计和部署,比如不同的共识通道的分离,交易验证和共识的分离, CPU密集型(交易验证)和 IO密集型(共识服务)节点的分离,以便针对性采用专用硬件,最大限度拆解了共识交易达成的耦合度,降低系统串行度提高并行度,提升了系统可用性的同时也同时提高了系统性能,满足系统高伸缩性的设计目标。而公有链要达到同样的效果,有些地方往往会需要花更多的心思去考虑架构的设计。
关于区块链的“器”,也就是区块链涉及的开发工具、编译环境及工具、运行环境及工具,这里面公有链和联盟链大体差别不大,实际上,很多区块链项目既可用于公有链,也同时适用于联盟链或私链,从技术上,IT部署方式和运作方式才是他们之间的主要区别。
公有链特有的“器”,是代币和钱包、挖矿或铸造(或锻造)工具,代币和钱包,是价值交换网络的重要媒介,而挖矿或铸造(或锻造)工具则是支撑公有链价值交换网络和共识机制的核心运转支撑。当然,有部分运营的公有链并没有这些工具,比如采用其他共识机制的区块链,但Elwn个人感觉,好像差了点什么似的。而对于联盟链,代币和钱包不是必须的,很多联盟链都不使用代币,挖矿工具也是没有的,而身份管理、权限管理、监管模块却是必备的。
相对于公有链,联盟链的节点是相对要求一致(硬件、运行环境),很多专用于联盟链的区块链系统,实际生产环境会要求运行的节点机器硬件会有更优的配置,同时考虑节省成员维护和部署节点的人力成本,通常会采用Docker(容器)方式进行部署,而偏向于公有链的区块链系统,则会希望支持更多的形式的终端节点,比如会额外支持家用台式机、Raspberry(树莓派)、矿机等等。
2016年区块链技术发展取得很多重要进展,各种新技术和新区块链体系项目百花齐放。区块链的公有链和联盟链互相学习和借鉴,不断相互促进发展,由道转化为术,又由术形成新的道或完善自己的道,道与术之间生生相息。
下面分别汇总一下主流区块链针对公链和联盟链的适用情况。
名称 | 适合场景 | “道”偏向 |
比特币 | 公链 | 公链 |
以太坊 | 公链/联盟链 | 公链 |
IBM HyperLedger fabric | 联盟链 | 联盟链 |
锯齿湖Sawtooth Lake | 联盟链 | 联盟链 |
比特股BitShare | 联盟链 | 联盟链 |
公证通Factom | 公链/联盟链 | 公链 |
瑞波Ripple | 公链/联盟链 | 联盟链 |
未来币NXT | 公链/联盟链 | 公链 |
阿朵Andor(或NXT2.0) | 公链/联盟链 | 公链 |
小蚁 | 公链/联盟链 | 公链 |
恒星网络Stellar | 公链/联盟链 | 公链 |
Openchain | 联盟链 | 联盟链 |
MultiChain | 公链/联盟链 | 联盟链 |
Corda | 联盟链 | 联盟链 |
龙链Dragonchain | 公链/联盟链 | 联盟链 |
Chain | 联盟链 | 联盟链 |
厄里斯Eris | 联盟链 | 联盟链 |
Zcash零币 | 公链 | 公链 |
布比 | 公链/联盟链 | 联盟链 |
北航链 | 联盟链 | 联盟链 |
量子链Qtum | 公链/联盟链 | 公链 |
对于公有链来说,一方面,加密数字货币市场继续蓬勃发展,比特币依然占据绝对优势和币价大幅飙升,但近两年来若干新出现的数字货币如以太坊和Zcash也吸引了市场的极大关注。同时,各国对数字货币的立场都十分矛盾,鉴于目前法币货币制度的种种弊端以及数字货币的优越性,各国有些限制比特币等数字货币的使用和发展,有些国家却大力推进,更多的是在积极研究和开发自己的数字货币。值得一提的是,我国央行在发行数字货币方面取得了新进展,央行推动的基于区块链的数字票据交易平台已测试成功,由央行发行的法定数字货币已在该平台试运行,但从区块链“道”和“法”分析,这些应该是属于联盟链范畴。
而另一方面,创新者们对于基于公有链的去中心化应用充满热忱,他们正基于区块链技术运用于其他各种网络服务并开发出新的去中心化应用,回头过来又将这些新的去中心化服务整合形成更上层的去中心化应用,各自新DApp应用正在不断迭代推出中,如去中心化的文件存储系统IPFS和Storj、去中心化的证券交易所Bitshare、去中心化在线市场OpenBazaar、去中心化预测augur和GNOSIS等等,大家正往着Web3.0这样去中心化、自主自治的互联网的梦想国度中探索。
对于联盟链,国际大型金融机构出于看好区块链技术的发展潜力,纷纷成立区块链实验室和成立联盟(如R3和国内各种区块链联盟协会,这个跟联盟链不是完全同一个概念,但却又是联盟链的线下实体汇聚的社会基础)等机构来积极推进区块链技术的应用探索。在对联盟链的研究中,金融机构目前探索主要集中在跨境支付、银行间结算、资产托管、信贷合约、票据交易、抵押品管理等领域,商业机构探索主要集中在存证和供应链金融等领域,他们各自针对适合自己的应用场景研究和主要解决思路研究,并选择一些非核心业务进行落地试用。从技术上,几大行业领军公司的架构设计都趋向模块化、分布式事务、分片(账本、事务)、子链,依靠代码重新封装可以实现标准化的可插拔,也将公有链项目的研究的新设计吸收进来,比如解决区块链的隐私保护问题的环签名、同态加密、零知识证明技术。而联盟链的技术和软件工程思想,又给公有链技术予以启发和由此诞生了如分片处理和状态通道的策略技术。
“道为正,术为正,则事半功倍;道为正,术为负,则事倍功半” ——我们需要看清楚和明确自己走的区块链的道,并坚定地以道统术,如果你选择的区块链不是你遵循的道和并不适合你的使用场景,即使采用了多么华丽的技术,最终还是很难壮大,而且发展越大受到的约束会越大。
“道术无间,此道为彼道之术,相互交替,以至无穷。”——同时,不应该拘泥于甚至抗拒其他道下的法术器,比如觉得联盟链一定不如公有链。不同道采用的法术器都值得互相学习和借鉴,可以互补不足。在道法术器之外,还需要留意你建立区块链应用所在的土壤,这个会很大影响你当前的生长速度,比如在国内,联盟链的项目在国内之所以当前更多地被深入和落地,很大原因在于现在很多商业领域的土壤会更适合联盟链落地和生长。而公有链项目,在坚守道心的同时,要在币圈的喧闹中静下心来,看清落地的土壤和环境,慢慢深耕,也许发展的道路会需要更长,但收获的果实肯定会更丰盛。最后,无论是公有链还是联盟链,我们应该更开放和包容的心态,采纳和学习其他道里面的法术器,取其精华,吸收和融合道自己的道的框架中,最终使得自己的更加完善和美好。
声明:此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。本网站所提供的信息,只供参考之用。