无币区块链代表未来?浅谈联盟链以及对 Hyperledger、 Corda、FISCO BCOS 的比较

标签: blockchain consortium hyperledger corda fisco | 发表时间:2018-12-06 08:00 | 作者:
出处:http://jolestar.com/

最近流行一个说法是币圈凉了,无币区块链代表未来。一直以来对区块链技术有几种看法:

  1. 只有比特币,没有区块链。区块链只是为了实现比特币而采用的一种不得已而为之的技术,没有什么先进性,也没有通用性。除了比特币,全是山寨币,全是骗子,更遑论无币区块链。
  2. 比特币是区块链技术的一个特殊案例,区块链技术可以用到更广阔的场景,骗人的都是发币的,搞无币区块链的不是骗子。
  3. 上面两种人都是骗子,区块链都是骗子。

鉴于第三种看法前一段时间因为一篇文章广泛流传,个人作为一个区块链技术人员,觉得应该写点什么。一直想写一个系列,但年初的时候区块链鼓吹者甚多,作为一个技术人,完全插不上嘴。最近熊市,冷清了许多,决定写一写。前一次从账本技术演进的角度写了区块链技术的演进《 区块链的技术世界观》,这次说说无币区块链 — 联盟链。

公链,联盟链,私链的划分

业界对区块链的划分一般从两个角度,一个角度按需要达成的共识范围,分为公链(public),联盟链(consortium),私链(private),另外一个角度是从账本生产者加入的方式,分为无许可链(permissionless),许可链(permissioned),私链(private)。

这里要谈的联盟链对应的就是 consortium 和 permissioned。

但 permissionless 和 permissioned 之间的界线实际上并没有那样清晰。比如关于 EOS 的争论。有人认为这样的超级节点数有限的链,就是一种超级节点之间的联盟链。permissionless 就必须是出块节点无限,纯粹的 Peer to Peer 网络,理论上任何一个节点加入后可单凭自己的意愿和力量就可成为出块节点。反对者则认为,EOS 没有准入限制,任何人都可以竞选超级节点,是否能竞选上就取决于用户投票,permissionless 关注的是可能性,调动物力资源(算力)和调动社区力量,都是需要成本的,本质上一样。这就引出了一个关键问题,如何理解 permissionless 和 permissioned ?谁来许可?

所以为了避免争议,我自己提出一种划分方式,可通过链是否可以『自举』,来进行划分。自举包括经济和治理两个方面。

  • 经济 链本身的运行成本分摊以及激励分配是如何进行的?是否在链上进行?
  • 治理 如果准入机制或者分配机制上需要协商,协商结果是否在链上可执行?

如果上面两个问题回答为是,则可认为这个链是一个自举的链。然后我们从这个角度来看看现在的联盟链。

先有联盟还是先有链?

我们假设一个联盟链的启动场景,有几个市场主体,决定要成立个联盟,启动一个链来共享数据。于是协商好各联盟成员在联盟中角色,投票权重,准入机制,承担的责任,利益分配等等,这些机制,要么落实为合同,要么再成立个合资公司,落实为公司股权以及章程。然后找一个联盟链的技术供应商,购买联盟链系统,启动联盟链。

而另外一种启动方式是,把联盟本身的成立,组织,准入,责任利益分配等治理机制都通过链来进行,将线下的合同,转换为链上的共识代码逻辑,它本身就变成了一种可『自举』的链,联盟本身是由链组织起来的,这和前面说的公链实际上没有了本质的区别了。

这也是当前联盟链当前两条路径的主要差异,一派认为应该先有联盟,链只是一个工具,提供方把自己定义成一种区块链软件系统提供方,关注当前现实的可行性以及合规性。另一派认为先有链,联盟是链上的产物,更像是链服务提供方,更关注未来的可能性。

当然,后面这套机制如果试图通过程序表达出来,并且达到最后的可执行效果,复杂度超过可能当前所有公链的治理机制,并且也一定程度依赖法律的变革,所以当前的联盟链服务商都采取了一种简化策略。

  1. 去除掉公链内部的经济系统。公链的经济系统本身是为了激励和惩罚参与者而设计的,没有了经济系统,本质上是把利益分配机制转移到链下的传统方式。
  2. 暂不引入链上的治理机制,通过提供配置参数以及可拔插的组装能力,以适应不同联盟的需求,简化复杂度。

去除了上面两个难点,很大程度上降低了链的实现复杂度,联盟链现在焦距的方向主要是链的吞吐,开发者的支持,业务场景的适配。

联盟链的应用场景在哪里?

区块链造出了币,造出了融资平台,造出了交易所,也该到造应用,将区块链应用到更多行业和场景里去的时候了。当前新的公链和联盟链其实都是这个趋势下的产物,主要都在探索应用场景。

谈论区块链的时候,很多人的第一个问题就是它到底能用在哪呢。这个问题其实可以拆解成两个问题,它未来有什么用,和它当前有什么用。很多质疑区块链的人混淆了这两个问题,你谈论未来的时候,他拿现状质疑,你谈论现状的时候,他拿未来嘲讽。

第一个问题其实就是,假设区块链的网络已经建立起来,网络效应发挥出来之后的可能性。谈论可能性的时候,容易放飞自己,听着就像忽悠,所以这里先从背景和趋势进行演绎。

区块链要解决问题的大背景是信息互联网在各行各业的进一步深化,也就是常说的互联网+,或者互联网进入 B 端,从以前连接消费者(C 端)转变到连接企业(B 端)或者连接组织(包括 G 端,政府)。

但C 端直接面向的是人,以信息展示为主,商业模式主要依赖吸引终端用户的注意力。而要连接 B 端,依赖的是企业间系统互通,以信息和价值互换为主。给人的信息展示对数据格式化以及标准化要求并不高,但如果是系统间的交互,则对数据格式,流程,协议有严格要求,如何让不同企业的内部系统遵循同样的数据,流程,协议,然后连接成一个网络,形成网络效应?

一个方向是沿用互联网模式,让 B 端都接入到一个互联网平台上,然后再通过平台内部连接。但如何吸引 B 端呢?一种尝试是通过 C 端的流量来吸引 B 端,比如电商以及外卖平台等都是这个思路。但这种连接比较浅,依然沿用的是互联网流量入口的模式,并没有实现 B to B 的连接。另外一种尝试是 SaaS 服务,将企业内部应用互联网化,如果服务普及到一定程度,就可能实现企业与企业之间的连接。但你可以设想全中国的人都用微信来聊天,但能构想一个在线企业服务,比如财务系统,全中国的企业都用吗?

还有一种方向是行业标准或者行业联盟提供的平台。比如金融领域的 FIX(Financial Information eXchange,金融信息交换协议) ,或者银联这样的组织提供的结算平台。但标准以及协议只能定义通信格式,很难定义业务逻辑,更难实现统一的数据处理逻辑,而银联这种行业联盟平台构建的成本太高,不可能适用到所有行业。

而区块链展示出的一个蓝图是,数据的校验,处理流程,乃至组织的治理都可以通过代码定义,各参与方遵循同一套规则,这套规则是活的运行中的代码,而不是死的文档中的规范,是一种更高级的行业协议联盟,是 Software Defined X 趋势在行业内的延续,比如 SDF(软件定义金融,Software Defined Finance)。

比如拿比特币来举例,把比特币网络理解成一个清算网络,各交易所是接入这个清算网络的企业。以前企业间需要数据互通,只能互相谈判对接接口,系统接口还必须保持兼容。而有了比特币这套网络后,只要遵循比特币规则接入到网络中,即可和全球其他任意企业进行价值互通,用户的比特币即可在不同交易所之间流动。

把上面的交易所,替换成任何一个 B 端系统。比如企业财务系统,企业间的对账直接通过网络进行,内部账单保存在本地,再配合政府的电子发票,基本就实现了记账对账审计一整套体系,政府审计查账那就太容易了,跑一个程序就搞定。这也是为什么政府支持区块链的原因。

单从行业来说,金融领域是最关注区块链的。如果说互联网给金融带来的压力只是入口之争,而区块链带来的压力则是根本性的。所以金融机构对区块链有一种矛盾的心态,一方面想积极拥抱,联盟链基本上都有金融背景,另外一方面又有排斥,毕竟定义货币,债券,股票以及数字资产是金融机构的生存之本。但区块链带给金融的不仅是挑战,更多的是契机,比如全球化。

再比如溯源防伪,供应链方面的场景。看到过很多批评溯源的文章,核心在纠结一点:真实世界到信息世界的映射的过程如何防作弊。如果纠结这点,基本上区块链就只能用于像比特币这样纯信息世界的场景,数字资产从诞生到流通,一直在数字世界。但实际上,人类的大多数资产以及信息,都不是直接在信息世界产生的,也无法直接在信息世界验证。正如我在一篇《公链的关键竞争点在哪里?》的文章中所述,溯源最后正真的价值并不只是用来防伪,只是当前这个阶段防伪只是一个容易体现价值的点。溯源最后实际上是在定义数字资产。每个商品,如果把它从生产运输销售中的所有环节的追踪到了,实际上就是定义了这个商品的数字标志,把它 Token 化了。这个过程会涉及整个产业链的每个环节,以及其中的金融机制,重构商业体系,肯定不仅仅是一个信息采集和共享的事情。

关于未来这里不进一步畅想,这方面有很多书籍文章,我们再谈谈下一个问题,现状。

联盟链的困境

区块链当前遇到的困境其实和互联网应用初期遇到的困难类似。区块链和互联网应用都有网络效应,它所绘制的蓝图需要在网络构建完成后才能体现出来,初期个体的采用并不能享受到网络带来的好处,那初期用户有什么动力来采用区块链呢?如果说公链还可以依赖自己的经济体系做早期激励,互联网应用可以利用各种营销手段,对 to B 的无币联盟链来说,这个问题尤其困难。B 端用户的决策周期长,采用成本高,尤其区块链的应用架构和传统应用差异巨大。

所以当前的联盟链创业者初期肯定是需要在路径上摸索和寻求突破,比如我这里可以列举几个可能的途径:

  1. 以开发的便利性作为突破。区块链的智能合约模型,提供了一种更优雅的应用开发模式,平台完全接管应用的输入输出以及运行环境,开发者可以更专心于业务逻辑。这个和 Docker,Kubernetes,ServiceMesh,Serverless 的演进是一个体系的。也和朋友聊过通过更轻量的沙箱 VM 替代 Docker 的想法,有空再仔细写一下这方面的思路。
  2. 以安全和容灾作为突破。区块链的架构完全符合异地多活的架构要求,并且可以做的更可靠优雅(可参看我的 《 区块链的技术世界观》中的相关段落分析)。
  3. 以内部监管作为突破。可适用于很多复杂体系的企业,比如总公司和分公司使用不同的系统。
  4. 以构建公信力作为突破。利用区块链的几个特性:1. 用户对自己数据的控制能力。2. 联盟成员互相制约。3. 数据的公示与监督。可以帮助创业者以更快的速度构建公信力,而在之前,基本上公信力只能靠时间来构建(比如保险行业,用户选择保险的时候很关注的一点就是保险公司持续的时间)。
  5. 以跨系统的信息互通和结算作为突破。在区块链之前,跨系统的信息互通和结算基本靠远程调用,很难保证一致性,所以必须有独立的对账清算机制,而通过区块链的共识算法,可实现交易即清算,提高效率。这种方式相当于实现一种基于区块链的异步消息机制的远程方法调用,而不用侵入已有业务。

前三种,偏向于前面说的第一派联盟链的思路,企业先内部独立用起来,突然有一天发现可以用同一套系统和外部对接。后两种偏向于第二派思路,先构建出网络优势,再说服企业加入。如果你有其他的想法,也可以留言探讨。

看看现在的联盟链

这里为了照顾到非技术读者,所以本文不详述这几种联盟链的技术细节区别。只是从它们解决问题的思路方面进行分析。

Hyperledger Fabric

Hyperledger 实际上把自己定位成模块化区块链平台,包括共识机制等都是可替换的。

在联盟链场景下,它简化了计算证明的要求,允许用户以任意语言开发应用,并部署到 Docker 中运行,被称为 chaincode,相当于托管到链上的应用。开发者不需要懂太多区块链知识,只需要知道它接管了应用的输入,并通过提供 SDK 的方式,接管了应用输出即可。甚至可以理解成一个微服务框架,不过拥有区块链的共识能力,很容易实现多节点数据同步。

R3 Corda

Corda 的思路比较特别,它内部甚至不是一个区块的链式结构,只维护了交易的链式结构。它认为只需要交易双方达成共识即可,不需要维护全局账本,所以设计了一种公证人(notary)的机制,由公证人见证交易,只有必要的时候才启动共识协议。

它提供了一套 Flow 机制,方便定义需要多方参与的流转式交易。它的合约就是 Java 或者 Kotlin 代码,不过都是无状态的,只负责校验,不保存状态,同时还内置了许多金融合约的实现,应用打包后就是一个 farJar 包,叫做 CorDapp,可直接托管给平台,相当于一种平台插件。

金链盟 FISCO BCOS

FISCO BCOS(以下简称“BCOS”)是基于以太坊改造的联盟链。将以太坊的共识机制改造为 PBFT 或者 RAFT,并提供系统合约来实现节点管理,系统配置等能力。它的合约以及交易,主要继承自以太坊,不过废弃了以太坊的 Ether,所有资产都通过合约实现。

BCOS 提供了一种链下网络上互通消息的能力,节点之间可以先通过消息来通信,实现一些协议,只有必要时再上链。它对以太坊的改进点主要关注在性能和安全层面。性能层面比如对 Global Trie 的改造,通过多链并行解决热点账号问题等。安全层面的改进主要是增强密码方面的支持以及脱敏隔离,因为以太坊是一个全局账本,不支持局部共识机制,必须通过其他手段来保护数据。

可以看出,当前的联盟链的关注点还主要在性能,开发支持,应用场景。业界也对联盟链如何和公链的融合以及实现『自举』有探讨,比如前一段时间讨论的公众联盟链(参看文末链接),不过技术层面的融合机制还在探索阶段。联盟链可以利用公链的安全来进行数据公正以及裁决,实现联盟链本身的自证清白,以达到更高的公信力,最终实现更好的融合,这个其实就是区块链 layer2 的方案了。我们留到下一篇文章中分析。

一些应用案例

一直也在琢磨区块链的案例。正好前一段时间金链盟举行了一个大赛,看到一些参赛案例。具体的代码和实现没看到,所以只是从脑洞和当前落地的可行性方向分析下。

政务类 相当于 to G 的场景。这个领域实际上可做的事情非常多,比如最简单的信息公开。当前大多数政府信息公开还是原始的网页或者办公文档,并没有格式化的信息,第三方很难再次加工利用。如果通过区块链方式开放格式化的标准信息,则更有价值。比如大赛中出现的不动产登记、智慧城市服务、信用共享等应用场景的案例。这个领域的实施难度不在技术,关键在如何驱动。就比如,最简单的,工商登记部门提供一套证书机制,企业注册时生成数字证书,证书效力和公章一样,这样所有的数字合同场景都可以用得上,这个甚至都不需要用区块链就能实现。

司法类 比如做存证固证平台的,如果做好了,完全可以简化从公安,到检察院,再到法院的整个办案的证据提交和转移流程。实际上是政府部门间协作的流程的标准化以及软件化。

教育类 比如学历链上登记等。本质上其实就是把学历证明数字化。当然这个没区块链也能实现,但如何让所有的学校都加入到这个系统形成网络呢?还是回归到了前面的问题。另外有一个项目挺有意思,图书漂流系统。相当于把图书 Token 化,把图书馆变成了流动的。以前是图书必须先还给图书馆,别人才能借,而现在读者间即可互相转借,Token 的转移代表图书的转移。如果配合押金以及惩罚机制,这个可以完全做成一种开放式的公益图书平台。

其他的金融以及供应链类的案例,就更多了。这方面社区里也谈论的比较多,这里就不细说了。

开放式问题

联盟链当前还有一些开放式问题,暂时没有答案,等待探索。

联盟链上应用和链的关系应该如何划分?是链直接托管应用,还是应用在链外?那具体哪一部分应该在链外呢?是否可提供整体方案?

联盟应该横向连接还是纵向连接?横向是行业内联盟,纵向是产业链联盟,关注点不一样,解决方案也不一样。异或有统一的方案?

联盟链如何连接最终用户?最终用户在联盟链处于什么角色?对自己的数据有控制权吗?当前的联盟链方案多关注联盟成员之间的数据互通,实际上只有将最终用户也纳入进来,才能形成完整的生态。

总结

本文试图通过联盟链来分析区块链的应用场景。我个人支持任何类型的区块链落地探索,无论是私链,联盟链还是公链。无币联盟链相当于改革派,期望在当前的金融框架内进行技术改革。而有币公链相当于革命派,试图重造一套金融体系。但实际上二者是互相依存的,如果没有公链的压力,改革也很难推动,而如果没有联盟链的改革,未来也很难实现区块链网络的融合以及价值的互通。

qrcode_jolestar_blog2

相关链接


  1. 区块链的技术世界观 http://jolestar.com/blockchain-technology-overview/
  2. 马智涛:公众联盟链很可能是打开分布式商业模式大门的钥匙 https://baijiahao.baidu.com/s?id=1611323109728919834
  3. Hyperledger 核心开发者陈昌谈联盟链和公有链混合架构如何实现? https://mp.weixin.qq.com/s/ivawwP6pWYzTEXIDRgFQFg

相关 [区块链 代表 未来] 推荐:

无币区块链代表未来?浅谈联盟链以及对 Hyperledger、 Corda、FISCO BCOS 的比较

- - 午夜咖啡
最近流行一个说法是币圈凉了,无币区块链代表未来. 一直以来对区块链技术有几种看法:. 区块链只是为了实现比特币而采用的一种不得已而为之的技术,没有什么先进性,也没有通用性. 除了比特币,全是山寨币,全是骗子,更遑论无币区块链. 比特币是区块链技术的一个特殊案例,区块链技术可以用到更广阔的场景,骗人的都是发币的,搞无币区块链的不是骗子.

颠覆未来:区块链技术

- - 冰火岛
区块链之父-中本聪,主要来自比特币技术. 2009年的一篇paper,Bitcoin: A Peer-to-Peer Electronic Cash System 提出基于 区块链技术的电子货币技术. 可以用点对点的网络解决方案解决双重支付问题. 没有类似铸币厂一级的第三方的信任机构. 可以用哈希现金形式的 工作量证明来制造新的货币.

【编辑推荐】无区块的区块链,正在成为未来

- - 商业不靠谱
导读:朱嘉明老师是中国改革四君子(王岐山、朱嘉明、黄江南、翁永曦)之一,知名经济学家. 上世纪八十年代初中国对社会变革的期待如火山喷发,力量积蓄已久,社会潮流惟以“变”字当道,政治新锐先发制人,应时而生的“改革四君子”至今仍影响中国社会进程. 六哥在今年年初有幸结识朱嘉明老师跟随学习,并且在朱老师的言传身教下开始研究区块链,随着思考的深入,从最初本能的拒绝到现在坚定的拥抱,完成了认知的艰难升级,成为区块链的信仰者.

区块链入门教程

- - 阮一峰的网络日志
区块链(blockchain)是眼下的大热门,新闻媒体大量报道,宣称它将创造未来. 可是,简单易懂的入门文章却很少. 区块链到底是什么,有何特别之处,很少有解释. 下面,我就来尝试,写一篇最好懂的区块链教程. 毕竟它也不是很难的东西,核心概念非常简单,几句话就能说清楚. 我希望读完本文,你不仅可以理解区块链,还会明白什么是挖矿、为什么挖矿越来越难等问题.

[原]区块链技术学习笔记

- - 陶辉的专栏
1、区块链技术是一个解决了拜占庭将军(百度百科 拜占庭将军问题)节点的分布式数据系统. 这是它最大的不同,也导致了这个技术存在诸多限制. 做服务器端开发的程序员,都对zookeeper不陌生,我们解决分布式ACP问题时,寻找一致性解决方案时都会想到它. zookeeper实际使用了paxos的简化版算法(本文不展开,请参考我之前写过的两篇文章: paxos分布式一致性算法–讲述诸葛亮的反穿越 以及 paxos算法如何容错的–讲述五虎将的实践).

我是如何学习区块链的

- - IT瘾-dev
原创文章,转载请注明:转载自 Keegan小钢. 微信订阅号: keeganlee_me. 专栏地址: https://xiaozhuanlan.com/fullstack. 前几天我们已经学了如何学习的“道”和“术”,学完之后就应该落地到实践上,通过不断地实践练习,才能将这些 知识资源转化为我们的 知识资本.

前言 · 区块链技术指南

- -
区块链技术是金融科技(Fintech)领域的一项重要技术创新. 作为分布式记账(Distributed Ledger Technology,DLT)平台的核心技术,区块链被认为在金融、征信、物联网、经济贸易结算、资产管理等众多领域都拥有广泛的应用前景. 区块链技术自身尚处于快速发展的初级阶段,现有区块链系统在设计和实现中利用了分布式系统、密码学、博弈论、网络协议等诸多学科的知识,为学习原理和实践应用都带来了不小的挑战.

区块链的终极猜想

- - 商业不靠谱
编者按:本文来自丹华资本董事总经理Judy的分享“区块链的终极猜想”. 今天,我们来讨论一下区块链发展的终极猜想. 这个背景是之前我们一起打磨过六个课题,这个是最后一个课题. 所以我先用最短的几句话,分享一下之前课题里的一些个人观点. 我的观点一共分三块, 第一个是关于区块链核心的定义;第二个观点是关于平常大家喜欢交流的,区块链的投资趋势;第三个部分就是大家经常向投资人询问的,区块链创业的一些经验分享.

微软力挺乔布斯只有HTML5代表Web未来

- johny - cnBeta.COM
  继苹果老大史蒂夫•乔布斯周四指责Flash不适合移动设备后,微软也发表观点称HTML5才是互联网的未来.   今日早间Adobe已正式发售万众期待的大作Photoshop CS5,不过同属该公司的Flash目前却是备受争议,许多网络用户都非常关注它在未来网络世界中的前途和命运.

Google Glass代表Google未来,将成开发者新阵地

- - ITeye资讯频道
美国科技资讯网站CNET刊文称,继Facebook Platform和苹果App Store应用商店之后, 谷歌眼镜(Google Glass)将成为第三方开发者争夺的下一阵地. 这款产品绝非小打小闹,而是代表了谷歌的未来. 在谷歌联合创始人谢尔盖•布林(Sergey Brin)的主持下,谷歌以跳伞直播的方式展示了 下一代可佩带计算设备谷歌眼镜.