2018-10-18 08:53
来源: 区块(kuài)链(liàn)前哨
联(lián)盟链是目前区块链落地实践的热点,也(yě)是大家(jiā)对“杀手(shǒu)级(jí)应用”期望最大的(de)区块(kuài)链(liàn)部署形态。联(lián)盟链的诞生源(yuán)于对区块链技(jì)术的“反思”,是对(duì)比特币、以太坊所(suǒ)体(tǐ)现(xiàn)的技术特点(diǎn)与企业客户实际需要的融合与折(shé)衷,蕴含了大量区块链工作者(zhě)的智慧与(yǔ)辛劳。
由于对未来价值的“共识”,很多(duō)厂商(shāng)推出了(le)自己的(de)联盟(méng)链框架或平台,本文(wén)选择(zé)了 Hyperledger Fabric、FISCO BCOS、微软的 Coco、企业(yè)以太坊联盟(EEA)及 R3 的 Corda 这(zhè)五(wǔ)个具有一定(dìng)影响力的联盟链,拟从设计理念、生态、效率(lǜ)、扩展性(xìng)、节点管理与权限管理、智(zhì)能合约、部署与运维友好性、隐私保护、公链结合或演化能力(lì)九(jiǔ)个方面进行比对,以供各位开发者、爱好者参考。
其中(zhōng),EEA 由于只出具规(guī)范而不涉及代(dài)码,所以比对中采用了其官方(fāng)承认(rèn)的技(jì)术(shù)基础——摩根大(dà)通的 Quorum 平台;Corda 并不是区块链,严格说与其(qí)他四者(zhě)的比较(jiào)属于分(fèn)布式(shì)账本技术这个层级的比较,但(dàn)是由于其承认(rèn)设计上是受到区(qū)块链技(jì)术启发,且对其他(tā)联盟链也产生了(le)一定的影响(xiǎng),因(yīn)此,也列(liè)入了(le)比较范围。本(běn)文的信息主要(yào)来源于公开的技(jì)术白皮书、Github 中的开源信息,就不在文中一(yī)一注明了(le)。
设计(jì)理(lǐ)念其实决定了一个框架(jià)或者系(xì)统(tǒng)的最(zuì)佳应(yīng)用方式,是(shì)其设计的出发点,因此,研究(jiū)每种(zhǒng)区块链(liàn)时,都应(yīng)当认真关注其如何“看待自己”,以免在(zài)应用上出(chū)现“硬套”的问题。设计理念上本文分成核心思路与市场(chǎng)定位两部分进行比(bǐ)较。
核心思路(lù)体现的是其设计初衷,这个“初心(xīn)”对其后续(xù)技术走向有一定的影响(xiǎng)。
Hyperledger Fabric 是希望改变公链的单一通用网络模式,通过建(jiàn)立多个(gè)可以(yǐ)互联的区块链网络覆盖各类不同的业(yè)务场景,实现设计的灵活性,满足多样(yàng)化的要(yào)求,并实(shí)现网络间的交互,这种思路(lù)体现在了其独特的通道机(jī)制设计上(shàng)。
FISCO BCOS 初衷(zhōng)是设计一(yī)个(gè)国内企(qǐ)业主导(dǎo)研发、自主(zhǔ)可控、对外开源的满足金融行(háng)业需求企业级区(qū)块链底层平台(tái),并(bìng)逐渐扩展至其他领域、适用于广(guǎng)泛的分布式商业场景,所以进行(háng)了自底向上的(de)完整设计,并考虑了较多国内的特殊需(xū)求。
Coco 基于保密联盟环境(jìng)的假定(dìng),重新评(píng)估了公链的(de)设计(jì),通过将其他区(qū)块链协议集成为底层,快速(sù)高效地构建区(qū)块(kuài)链(liàn)应(yīng)用。在(zài)这种思路下 Coco 大胆放松了一(yī)些关键的(de)设计限制,并且最终实现了一(yī)个对现(xiàn)有区块链协议的加速机制,可集成的协(xié)议(yì)已经包括 Hyperledger Fabric、以(yǐ)太坊、Corda、Quorum 等。
EEA 是力求引导一(yī)种基(jī)于以(yǐ)太坊的标准区块链设计,可根据(jù)成员需要定制(zhì),但(dàn)不(bú)提供代码(Quorum 提供部分开源代码)。官方承(chéng)认其技术基础是摩根大(dà)通开发的 Quorum 平台,该平台的目(mù)标则是提供高速、高吞吐量交易的能力,以解决区块链(liàn)技术在金融等(děng)领(lǐng)域(yù)遭遇(yù)的挑战(zhàn)。
Corda 希望提供一个具有唯(wéi)一性、权威(wēi)性、可以记录(lù)企业间所有协议的全局逻(luó)辑账本,核(hé)心是实(shí)现具有节(jiē)点间最小(xiǎo)信任机制的无中心数据库,因此(cǐ),Corda 主张充分考(kǎo)虑与现(xiàn)有业务系统的结合,而(ér)非将现有(yǒu)业务系(xì)统拆掉重来。Corda 的设计(jì)思路对 Hyperledger Fabric 有(yǒu)一定影响,也参与了对后者的建设。
市(shì)场定位反映了对自身(shēn)应用方向的价值主张。五个联盟链(liàn)都是(shì)面(miàn)向企业级应用(yòng)的(de),但是具(jù)体的定位略有(yǒu)差异:
Hyperledger Fabric 旨在打造不分行业的(de)通用区块链开(kāi)源框架;
FISCO BCOS 源(yuán)自企业级区(qū)块链(liàn)平台(tái) BCOS,做为一(yī)个金融版本分支,保留(liú)通用性的同时(shí),更关注于(yú)金融(róng)行业,并且较多考虑了监管机(jī)构的特殊性;
Coco 希(xī)望提供更高效易用的区块链(liàn)技术(shù),没(méi)有特(tè)殊的行业定位;
EEA 比较有趣,它(tā)以将所有企业导向一个统一(yī)的路线图(该路线图以以太坊技(jì)术(shù)发展为基础)为(wéi)目标,但是由(yóu)于(yú)目前的(de)技术代表(biǎo)是(shì)摩根大通的 Quorum,所(suǒ)以,应用实例上对金融行业更有(yǒu)指导(dǎo)性;
Corda 则是针(zhēn)对金融行业的,并且明确提出至少一定时间(jiān)内不会考(kǎo)虑其他行业。
从设计理(lǐ)念的角度来讲,选用 Hyperledger Fabric 时,应当善(shàn)用其通道机制,通过通道机(jī)制降低业务或者(zhě)环境的复(fù)杂(zá)度,但是要注(zhù)意(yì)其(qí)跨(kuà)通道能力的一(yī)些技术限制;FISCO BCOS 则应关注其对国(guó)内市场(chǎng)特殊需求的适应性设计,这些设计会带来(lái)很多部署上(shàng)的优势;Coco 和 EEA(Quorum)设(shè)计(jì)理念上都(dōu)属于基(jī)于(yú)现有协议(yì)的优化加速机制,只(zhī)是(shì)前(qián)者“博爱”,兼容的协议(yì)更多,后者“专一”,只针对(duì)以太(tài)坊;选用 Corda 则(zé)要先明确,它(tā)不是区块链(liàn),不要带着区块链的价(jià)值(zhí)假定(dìng)去应用。
大家常说建联盟链就是建生态(tài),所(suǒ)以本文就(jiù)比较(jiào)下要帮着(zhe)别人(rén)建(jiàn)生态的联盟链,其(qí)自身的(de)生态建(jiàn)的(de)如何。生态考察(chá)主要(yào)包括管理方、社(shè)区和商业应用这三个方面。
从(cóng)管理(lǐ)方看,各家都是“实力派(pài)”。
Hyperledger Fabric 的管理方是 Linux 基(jī)金会(huì),基(jī)金(jīn)会管理下的 Hyperledger 其实(shí)是一(yī)个(gè)项目系列,包括 Cello、Swatooth、Burrow、Iroha 等;
FISCO BCOS 管理方(fāng)是(shì)金链(liàn)盟,金链盟是由(yóu)深圳市金融科(kē)技协会(huì)、深圳前海微众银行、深证通、腾讯、华(huá)为、中科(kē)院等金融(róng)机构、科技(jì)企业、学(xué)术机(jī)构等组成的非(fēi)营利(lì)性组(zǔ)织(zhī);(参考 https://www.fisco.com.cn/views/member.html)
Coco 的管(guǎn)理方是微软(ruǎn);
EEA 是由芝加哥交易所、因特尔(ěr)、ING、摩根大(dà)通(tōng)和微软等三十几家创始成员组成(chéng)的(de);
Corda 的(de)管理(lǐ)方 R3 是(shì)以银行为主的组织,至少已经吸(xī)收了 42 家金融巨头,包(bāo)括富国银行、美国银行(háng)、花旗银行、德意(yì)志银行、加拿大皇家银行等,我国的(de)平安、招行等也是其成员,不过 R3 麻(má)烦不断,也有些(xiē)重量级(jí)成(chéng)员已经退出。
现(xiàn)今科(kē)技发展(zhǎn)比较流(liú)行开源(yuán),五大联盟链也都是(shì)开(kāi)源的,开源意味着要搞好社区(qū)建设,通过社区推广(guǎng)和改进设计,凝(níng)聚(jù)更(gèng)多智慧。
Hyperledger Fabric 已经打造了国际化的社区,除了(le)在 GitHub 上比较活跃外,大(dà)量的线下 Meetup、技术(shù)推广活动也比较多,加(jiā)上(shàng) IBM 的有力推动,使其有了大(dà)量(liàng)的活跃用(yòng)户;
FISCO BCOS 社区(qū)建设(shè)初现规模(mó),已(yǐ)有了千级成(chéng)员、百级机构(gòu)参与,除了 GitHub 外,还有官方微信群。FISCO BCOS 在不(bú)断(duàn)迭代源码和文档的基础上,陆(lù)续推出了线上(shàng)线下多(duō)种(zhǒng)形式的(de)系列运营活动,包括技术培训、高校开课、线上线下(xià)讲(jiǎng)座沙龙、包括近期举办(bàn)的(de)金链盟(méng)中国区块链大(dà)赛,影响力逐(zhú)渐扩散。作为国内开(kāi)源项目,相信未来发展上会有一定的“天时地利人和”;
Coco 社区(qū)不是很活跃;
Quorum 在 GitHub 上已经有(yǒu)了 551 个话(huà)题,有一定活跃度;
Corda 也(yě)不是很活跃。
商业应用是大(dà)家打造区块(kuài)链平台的目的(de),也是一个联盟链最重要的人气所在。
Hyperledger Fabric 得益于(yú) IBM 的大力推(tuī)广,加(jiā)上(shàng)技(jì)术框架比较成熟、推出较(jiào)早,目前(qián)已有较多商业应用(yòng),据 IBM 披露有 400 多个落(luò)地项目,其中(zhōng)不乏马士基、沃尔玛、联想(xiǎng)、邮储银行这类大型客户,也有统计称,所有联盟(méng)链项(xiàng)目中 Hyperledger Fabric 已占据半壁(bì)江山;
FISCO BCOS 从金融(róng)出发,携本土优势,落地项目也有数十个,包括微众银行的机(jī)构(gòu)间(jiān)对账平台、网易(yì)的竞猜游戏(xì),四方(fāng)精创的(de)供应链(liàn)金融、城商行旅游金融(róng)联盟的旅游金融、仲裁链、安妮股(gǔ)份的版权(quán)存证平台、乐寻坊的人才活动平(píng)台、链动时(shí)代的不动产登记系统等;
Coco 目前在项目方面乏善可陈,除(chú)了其白(bái)皮(pí)书(shū)中(zhōng)提到的 Mojix 将其供应链 Dapp 转移到(dào) Coco 平台上之外,没有更(gèng)多公(gōng)开的项目信(xìn)息;
Quorum 上,比较有影响的(de)应该(gāi)算是 2017 年(nián) 10 月(yuè)摩根大通开发的 IIN(Interbank Information Network)平台,实现跨行信息交互(hù),摩根(gēn)大(dà)通、加(jiā)拿大(dà)皇家银行(háng)、澳大利(lì)亚 ANZ 银行、新西(xī)兰银(yín)行等相继加入该平(píng)台(tái);
Corda 也是同样的境地,雷大雨小,耗(hào)费巨资,但是测试的多(duō),落(luò)地的少。
从(cóng)生态角度看(kàn),Hyperledger Fabric启动的比较(jiào)早,目前领(lǐng)先一步,但是 FISCO BCOS 奋起直(zhí)追,已经初见规模(mó),Coco、Quorum、Corda 还需要做很大努力。
区块链目前最差强(qiáng)人意的(de)指标(biāo)莫过于效率,虽然现在也(yě)有些人开始反(fǎn)思也许不应当(dāng)苛求区块链的(de)效率,但是商(shāng)业应(yīng)用总是回(huí)避不了这个问题。效率方面,本文(wén)从共识协议、出块速(sù)度、TPS 和存储消耗这(zhè)四点加以比对(duì)。
联(lián)盟链为了(le)提升交易速度(dù),往往是先从共识协议(yì)“下手”。POW 和(hé) POS 都无(wú)法满足商业应用的需要,“挖矿”对联盟链来讲也是没必要的,因(yīn)此,各(gè)家(jiā)都采用(yòng)了替代的共识方案。
Hyperledger Fabric 在 0.6 版(bǎn)中(zhōng)应用了 PBFT,而在 1.0 版中放弃了 PBFT,转而采用效率更高的 Kafka,支持(chí)单点和集(jí)群(qún)两(liǎng)种方式,由(yóu) Kafka 直接给交易排序和出块(kuài)。
FISCO BCOS 支持(chí)并行计算(suàn)的 PBFT 和标准 RAFT 两种方式(shì),前者是将通常(cháng)的(de) PBFT 中议长节点和(hé)投票节点分(fèn)步验证的方式优化为并发验证(zhèng),从而(ér)进一(yī)步提高共识效(xiào)率;
Coco 支持(chí) Paxos 和 Caesar 两种协议(yì)。由于 Coco 节点是建(jiàn)立在基(jī)于硬(yìng)件的 TEEs(可信(xìn)执(zhí)行环境)上,因此就假定(dìng)了节点充分(fèn)可信,所以在 Paxos 中,leader 节点处(chù)理过的事务(wù),follwer 节点简单跟随即(jí)可,这体现了其对公链假定的改变;Caesar 支持灵活的容错模型,可以(yǐ)与 Paxos 共同使用以防范 leader 节点(diǎn)由于(yú) TEEs 遭到(dào)破坏产生的(de)安全威(wēi)胁(xié),该协议支持(chí)在 follwer 节点发现 leader 节点不可靠时将其驱逐(zhú),从而保证全网的安全;
Quorum 支持 Raft 和 Istanbul BFT 两种协议。后者是由来自台湾的 AMIS 帐联网公司在 2017 年研发的,可以(yǐ)大幅提升(shēng)现有的(de)以太坊架构的讯息交换效(xiào)率;
Corda 比较(jiào)特殊,它借(jiè)鉴“矿工”角色设计(jì)了(le)公证人模块来提(tí)供交易公证(也即(jí)签(qiān)名(míng))服(fú)务,整(zhěng)个网(wǎng)络不依赖于任何特定的(de)共识算法。但公证人(rén)是一个集群概念,一般使用 BFT 或 Raft 在(zài)公证人间达(dá)成一致,因此,公证人(rén)是存在效率问题,可能成为效率瓶颈;
与传统分布式系统的共识设计相比,Hyperledger Fabric 并没有什么改进,其共识方式与中心化共识的分布式(shì)数据库一致;FISCO BCOS 支持 PBFT 共(gòng)识算法,具(jù)备拜占庭容错功(gōng)能,也提供 RAFT 共识算法,适(shì)用(yòng)于在节(jiē)点可信度比(bǐ)较乐观的场景;Coco 是通过 TEEs 提高节点可信(xìn)性(xìng),以(yǐ)降低(dī)共识协(xié)议的复杂度;Quorum 也没做多少调整,尤其是(shì)在引入 Istanbul BFT 之前;Corda 应(yīng)该(gāi)说是在(zài)传统设(shè)计中引(yǐn)入了“矿工”理念。
由于替换(huàn)了共识机制,因此相比使用 POW 的比特币、以(yǐ)太坊,联盟链出(chū)块速度要(yào)提高很多。Hyperledger Fabric、FISCO BCOS、Coco 都是秒级出块(kuài);Quorum 则称是毫秒级,默认(rèn)设定是 50 毫秒,可以调(diào)整;Corda 没有块,所以也没有(yǒu)出块速度可以考量。
TPS 相当于区块链世界(jiè)中的“网红”,很多新出现(xiàn)的(de)链都(dōu)把(bǎ) TPS 贴(tiē)在(zài)“脑门”上。这五大(dà)联(lián)盟(méng)链虽然 TPS 远高于比特(tè)币、以太坊,但还是比现有(yǒu)的分布式系统逊(xùn)色:
Hyperledger Fabric 通常实测的 TPS 在 300-500 之间;
FISCO BCOS 实测单(dān)链(liàn)可以达到 1000 以上。并且支持多(duō)链架构下的并(bìng)行计算,可灵活扩(kuò)展,理论上无(wú)上限(xiàn)。
Coco 官方数(shù)据是 1600;
Quorum 在 Istanbul BFT 协议(yì)下可以达到 400-800,Raft 下缺少数(shù)据(jù);
Corda 由于(yú)其网络结构的原因,没有全局吞(tūn)吐(tǔ)量可(kě)以衡(héng)量。
其实 TPS 方面如果没(méi)有达到一个数量级以(yǐ)上的差(chà)异(yì),是不用特殊关注的(de),因为在(zài)实(shí)际应用中,节点数量、网络环境、硬件配置(zhì)、软件设计等都会对 TPS 产生影响,而现有的联盟链在(zài)吞(tūn)吐量上已经可(kě)以满(mǎn)足相当(dāng)一部分商(shāng)业场景的要(yào)求,毕(bì)竟 Visa 在 2016 年每秒实(shí)际处理(lǐ)的交易也只有 1,667 笔(bǐ),尽管 Visanet 据(jù)称(chēng)有每秒处理 56,000 笔(bǐ)交(jiāo)易的能(néng)力。
区块链(liàn)可以说是以(yǐ)“浪费”存储来(lái)换取信(xìn)任的技术(shù)。虽然存储(chǔ)设备(bèi)的价(jià)格(gé)越来越(yuè)低(dī)廉,但这不代(dài)表“浪费”就(jiù)没(méi)毛病,存储的快速膨胀一定会带来效率、成本、可用性等诸多问题,甚至会要求改变设计架构,尤其是在大家都想(xiǎng)追求“杀手级应用”的时候。
Hyperledger Fabric 方面,蚂蚁金服倒(dǎo)是给出了一个详细的计算公式,Fabric 数(shù)据(jù)容量估算(GB) = 每种业务每天平(píng)均交(jiāo)易(yì)笔数 x (Fabric 每笔交易基本开销 + 每笔交(jiāo)易平均业务数据大小 KB x 2 ) x 业(yè)务 Channel 数量 x(365 x 年(nián)数 x(Peer 节点数量 x 2~1 之间 + Orderer 节点数量)+ Kafka Retention 天数(shù) x Kafka Replica 数(shù)量) / (1024 x 1024),其(qí)计算(suàn)示例中,在业(yè)务笔数每天 10 万、4 节点、2 通(tōng)道、单笔(bǐ)交易容量 1K 的情(qíng)况(其(qí)他因素不详细列出了)下,年(nián)存储消耗 4619G;
FISCO BCOS 支持(chí)历史数据快速追(zhuī)踪,对接(jiē)数据库,实现分布式存储,能够(gòu)支持海量服务的存储需(xū)求,提高存储访问(wèn)速率,节省存储(chǔ)消耗。
Coco 由于设计上(shàng)需要集成(chéng)区块链协议做(zuò)底(dǐ)层,因此(cǐ)其消耗就取决(jué)于集(jí)成的区块链协(xié)议,比(bǐ)如(rú)集成了 Hyperledger Fabric,那(nà)加上 Coco 自身的消耗,其存储消耗量至(zhì)少应(yīng)该是比肩 Fabric 的(de);
Quorum 也没有针对存储(chǔ)的特殊优化,至少应当按照大于以太坊消耗来估算(suàn);
Corda 倒(dǎo)是不(bú)同(tóng)于(yú)其他联盟链,因为它基(jī)本上就是传统的(de)分布(bù)式数据库(kù),而且没有任何节点(diǎn)保存全(quán)局数据,每个节(jiē)点都只保存跟自己有关的数据,所以,其存储消耗(hào)应(yīng)该与(yǔ)传统分布式系(xì)统设计类(lèi)似,没(méi)有(yǒu)过多(duō)的冗余消(xiāo)耗。
综(zōng)上,从效率(lǜ)方面看(kàn),在 Hyperledger Fabric 之后推出或开(kāi)源的(de)其他联盟链(liàn),效率高于它也(yě)属正常。FISCO BCOS、Quorum 本就是(shì)面向金(jīn)融的设计,所以效率要求自然要(yào)高于一开始(shǐ)就希望做(zuò)通用框架(jià) Hyperledger Fabric;Coco 设计理念上就是(shì)希望做成(chéng)“加速器”的,它的效率理应高于任何它可以集(jí)成的区块链;而(ér) Corda 的设计模式决定了很难全面评价其(qí)效率,只能去单独观(guān)察每个实例。
联盟链的用户都希望自己(jǐ)能(néng)发(fā)展成(chéng)生态(tài)圈,比(bǐ)如海尔的(de)供应链、中化的原油进出口(kǒu)贸易(yì)平台(tái)、马士基的全球交易平台等,因此,扩展性是联盟(méng)链(liàn)设计必须要考虑的问题。这方面本文关注了节点数量扩展、共识扩展、单多(duō)链模式、加密算(suàn)法扩展、第三方认(rèn)证证书支持这五点。
Hyperledger Fabric 在节点(diǎn)数量扩展(zhǎn)方面(miàn)是弱项,已落地(dì)项目多是(shì)个位数节点,但是可以支持较多的客户端,算(suàn)是一种弥补,不过(guò)节点数(shù)少其实意味(wèi)着参与方的独立性是会有所下(xià)降的;
FISCO BCOS 的分组模(mó)式支持(chí)根据节(jiē)点数(shù)量进行水平扩(kuò)容(róng),因此理论上节(jiē)点数量是不受限制(zhì)的;
Coco 在这方(fāng)面有些“投(tóu)机取巧(qiǎo)”,可支(zhī)持的节点数量取决于其集成的区块链协议,如果集成的是公链协议(yì),在理论上也不受限制;
Quorum 是基于以太坊的,因此理论上(shàng)也没有(yǒu)限制;
Corda 同(tóng)样(yàng)也没有节点(diǎn)数限制。
虽然除了 Hyperledger Fabric,其他(tā)联(lián)盟(méng)链似乎都(dōu)没有节点数量(liàng)问题,但是节点数量其实(shí)还受(shòu)共(gòng)识协议的影响,BFT 类共识协(xié)议在节点数量(liàng)超过一定水平(píng)时会出现吞(tūn)吐(tǔ)量下降,设计时应当考虑这点(diǎn)。
共识协议的(de)扩(kuò)展(zhǎn)能力对联盟链的稳定性有很大影响(xiǎng),能否根据节点数(shù)量、网络平衡(héng)情况、吞吐量(liàng)进行调整决(jué)定了其网络(luò)的扩展能力。
Hyperledger Fabric 虽(suī)然(rán)很早在设计上就称其共识模块(kuài)可插拔,但是目前实际应用上看是不具备插拔(bá)能力的,每个版本(běn)仅支(zhī)持一(yī)种共识模(mó)式;
FISCO BCOS 支持(chí)共(gòng)识协(xié)议的插件式实现,允许(xǔ)切换共识机制;
Coco、Quorum 目前也具备了这种能力;
Corda 实现的应该说不是共识协(xié)议(yì)的直(zhí)接插(chā)拔,而是公证人模块的可插拔,可以通过切换公证人模块来选择公证(zhèng)人的共识模(mó)式。
多链模式(shì)目前被很多新出现(xiàn)的链用于性(xìng)能扩展,不过多链(liàn)模式有(yǒu)利有弊(bì),提升性能的同(tóng)时也增加了设(shè)计复杂度。
Hyperledger Fabric 的通道机制其实可以算(suàn)是早期的多(duō)链设(shè)计,但(dàn)是通道在 Hyperledger Fabric 中(zhōng)并不是出于(yú)提升效率的(de)目的(de)设计的(de),而(ér)是(shì)为了满足(zú)业务多样性要求(qiú),以降低业务复杂度,因此,通道机制目前在性能扩展方面没有显著贡献;
FISCO BCOS 是明确的并行计算多链(liàn)设计(jì),设(shè)计(jì)上(shàng)要求开发者尽(jìn)可能保持多链的同构特征以减(jiǎn)少冲突,多链设(shè)计被直(zhí)接应(yīng)用在系统扩展方面;
Coco 的模式仍然取决于(yú)其集(jí)成的区块链协议;
Quorum 是(shì)单链模(mó)式的,底(dǐ)层(céng)的性能扩展要跟随以太坊(fāng)的(de)技术路线,可(kě)能要依赖以(yǐ)太坊的(de)分片等技术进(jìn)行(háng)扩展;
Corda 设计(jì)上是多(duō)网络(luò)模式,没(méi)有单多链的概念(niàn),但是可以建立两个网(wǎng)络(luò)节(jiē)点的双(shuāng)向连接(jiē),配(pèi)置双方信任(rèn)的公(gōng)正和认证机构进行(háng)网(wǎng)络融合,融合算(suàn)是其扩展的一种方式。
对于国(guó)内的(de)应用,加密算法的扩展也即国密替换是一个强烈需求,尤其是在金融(róng)领域。
Hyperledger Fabric 不支持国(guó)密替换,目前(qián)已有的应用凡实现国密(mì)的(de)基本上是自行替(tì)换或者依赖第三方服(fú)务;
FISCO BCOS 是支持国密的;
Coco 未(wèi)对加密算法的选择(zé)有(yǒu)明确说明,因为这对 Coco 而言属于底层(céng),取决(jué)于其(qí)集成区(qū)块链协(xié)议(yì),但目前它所集成(chéng)的协议中还没有(yǒu)支(zhī)持国密的;
Quorum、Corda 都没(méi)有对国密的支持方案。
这一点对国内的应(yīng)用也很(hěn)重要。
Hyperledger Fabric 目前(qián)不支持第三方 CA;
FISCO BCOS 支持第三方(fāng)证书,支持证书的撤销,支持多CA;
Coco 由于私钥都保管在本地业务系统且允许自己生成,网络上只(zhī)存公钥集,因此技术(shù)上看应该可以支持第(dì)三(sān)方 CA;
Quorum、Corda 都未见有此类(lèi)支(zhī)持。
综上,Hyperledger Fabric 在扩展性上有一定的限制(zhì); FISCO BCOS 的可(kě)扩(kuò)展性是很有优(yōu)势的,尤其是(shì)面向(xiàng)国内应用时;Coco 扩展性取决于其集成的(de)协议;Quorum 的扩展(zhǎn)性与(yǔ)以太坊关系密(mì)切;Corda 除(chú)了在(zài)加(jiā)密算法和第三方认证证书方面外,扩展的自由度有可能(néng)是最高的。
除了共识之(zhī)外,联盟链(liàn)与(yǔ)公链的显著区别当属在节点和权限上(shàng)的设计(jì)了。本文从(cóng)节点类型、作用、成员(yuán)准入(rù)控制、角色(sè)和权限管理这几个方面比较下各联(lián)盟链之间的差异。
Hyperledger Fabric 网(wǎng)络中(zhōng)的节点(diǎn)主(zhǔ)要分为排序(xù)节点(diǎn)、背(bèi)书节点和记(jì)账节(jiē)点三类,实际应用中(zhōng)还(hái)可(kě)以加(jiā)入只有同步账本能力(lì)的二级节点;
FISCO BCOS 中包含(hán)核心节点、全节点(diǎn)、轻节点;
Coco 是一个(gè)可信验(yàn)证节点(VN)分布式网络,也即,它只有一类节点就是 VN;
Quorum 中(zhōng)的节点是(shì)基于的以太坊 Golang 版本实现的,因此节点之间(jiān)是对等的,没有节点类型的(de)区(qū)分,节点之间可以有(yǒu)白(bái)名(míng)单管理;
Corda 也不(bú)区分(fèn)节(jiē)点(diǎn)类型。
Hyperledger Fabric 网络中背书节(jiē)点负责(zé)提供签名服(fú)务,经背书节(jiē)点签(qiān)名且满(mǎn)足签名策略的交易提案会提交(jiāo)给排(pái)序(xù)节(jiē)点(diǎn)进(jìn)行交易排(pái)序和(hé)出块,再由(yóu)记账节(jiē)点完(wán)成账本更新;
FISCO BCOS 中核心节点负责共识和记账(zhàng),共识节点参(cān)与记账共识, 观察(chá)节点同步账(zhàng)本;
Coco、Quorum、Corda 中节点都(dōu)是对等的(de)。
Hyperledger Fabric 中(zhōng)有专门的 CA 模块提供用户信息注册、数字证书(shū)发行、延期和吊销等(děng)服(fú)务(wù),成员(yuán)管理采用 MSP 方式,同一(yī)个组(zǔ)织内的成员通过共用同一个 MSP 标(biāo)识(shí)进行识别;
FISCO BCOS 中(zhōng),成员(yuán)加入网(wǎng)络采用管理员认证的方式,提供合法有效(xiào)的成员信息与CA证书,由管(guǎn)理员审核通过(guò)后,加入网络(luò);
Coco 网络中的角色分为(wéi)成(chéng)员和(hé)参(cān)与者两种,成员是网络的(de)集体(tǐ)管理者,拥有投(tóu)票权,投票决定其他机构的(de)加入或删(shān)除;
Quorum 网络中节点通过授权(quán)才能加入网络(luò),授权是集(jí)中式(shì)的,通(tōng)过 Java 控制台(tái)操(cāo)作(zuò);
Corda 中节点也是(shì)需要(yào)授权加入的,节点选择加入一个(gè)或多个网(wǎng)络地图,网络(luò)地图相当于网络成员及其地址(zhǐ)列表,节(jiē)点只能(néng)与所在(zài)地图中的成员(yuán)进(jìn)行交易。
Hyperledger Fabric 中虽然成员没有明确的角色划分,但(dàn)是(shì)基于其运维(wéi)或对(duì)应(yīng)的(de)节点(diǎn)的差异(yì)会自然形成不同(tóng)的角色;
FISCO BCOS 网(wǎng)络中的(de)角色包含超级管理员、链或权限管理员(yuán)、运维(wéi)、交易、监(jiān)管等;
Coco 网络中的角色分为成员和参与者(zhě)两(liǎng)种,但不是(shì)必须同时具有(yǒu)两类参加者,也可(kě)以只有成员类型;
Quorum 网络(luò)中没有角色的区(qū)分;
Corda 网(wǎng)络(luò)中(zhōng)的角色分为公证人(rén)和(hé)参与者两种(zhǒng),公证(zhèng)人提供公(gōng)证服务,参(cān)与者进行交易。
Hyperledger Fabric 中权限主(zhǔ)要通过(guò)策略进行管理,策略实际(jì)上是成员通过节(jiē)点进(jìn)行某种操作(zuò),比如提交交易提案等,所(suǒ)需要满足(zú)的(de)签(qiān)名(míng)数量(liàng)要(yào)求。
FISCO BCOS 权限管理采用系统合约的方式,并可以通过自定(dìng)义合(hé)约的方式进行权限管理(lǐ)功能的扩展,权(quán)限管理模(mó)型为 ARPI(账(zhàng)户——角色——权限——接口)模式,多个账(zhàng)户可(kě)以对应同(tóng)一个(gè)角(jiǎo)色,角(jiǎo)色有(yǒu)明确的(de)权限列表,每(měi)个(gè)权限对(duì)应一个接口,接(jiē)口指向(xiàng)智能合约,权限列表按照(zhào)系统(tǒng)合(hé)约方式维护。业务中的权限(xiàn)管理则采用交易权限链(liàn)的(de)方式,一个交易相当(dāng)于一组权限链,包含多个 Filter,交易处(chù)理是逐个 Filter 进(jìn)行权限判断,一个交易完成(chéng)相(xiàng)当于(yú)一组 Filter 审核都通过。
Coco 网络(luò)有成(chéng)员(yuán)负责治理,参与者是没有投票权的(de),不能参加网络管理。成员和参与者(zhě)都可(kě)以(yǐ)拥(yōng)有 VN。成(chéng)员对网(wǎng)络的管理通过(guò)共同维护一个可编程的网络章程来(lái)进行,章(zhāng)程内容至少(shǎo)包括成员列表(biǎo)、VN 列表、代码清单、TEE 清单和投票策(cè)略。
Quorum、Corda 没(méi)有(yǒu)明显的(de)权限管理(lǐ)内容(róng)。
综合比较,FISCO BCOS 的设计比较周全,也(yě)有一定的(de)复杂性,但这也意味着它能够支持更复杂的场(chǎng)景; Hyperledger Fabric 、Coco 带有一定中心化因素;相较之(zhī)下,Quorum、Corda 更(gèng)接近公链思路(lù)。带(dài)有中心(xīn)化因素本就是(shì)联盟链对(duì)其(qí)应用(yòng)的(de)商(shāng)业环境的体现,这也无可厚非。
为了提升效率,支持(chí)更加友好的设计,各(gè)联盟链在(zài)智能合约上也(yě)出现了(le)不同的发展思路。
Hyperledger Fabric 中的智能合约称(chēng)为“链码”。链(liàn)码分为系统链码和普通链码(mǎ),前者包(bāo)括生命周期管理、配(pèi)置管理等,属于系统控制层面的链码;普通链码(mǎ)则是用于(yú)实现业务逻辑的链码,智能合(hé)约开(kāi)发(fā)通(tōng)常指的就是这部分链码。链码的业务模型为“MCV-B”,即,在传统的(de) MVC(模型(xíng)、控制(zhì)器、视图)模式(shì)中嵌入 B(区(qū)块链),强调链码是业务逻(luó)辑的加强。链码的生命周期包括打包、安装、实例化、升级、停止和启动,运行在 Docker 中,由背书节点进行调用,目前主要支(zhī)持的是(shì) Go 语言。Hyperledger Fabric 虽然(rán)提供了跨通道机制,允许(xǔ)跨通道(dào)调用(yòng)链码,但(dàn)是跨通(tōng)道调用只支(zhī)持读而不支持写(xiě)。
FISCO BCOS 中(zhōng)除了(le)通常用于(yú)业务逻(luó)辑的智能合约外,将系统管理(lǐ)也(yě)智(zhì)能合约化了,统称(chēng)为(wéi)系统合约(yuē),包(bāo)含系统代理、节点管(guǎn)理、机构证书(shū)、权限管理、全网配置(zhì)五类。上述(shù)合约原则上由区(qū)块链管理员在网络启(qǐ)动时部署,网络运行期间的(de)变更则需要在(zài)去全(quán)网所有节点(diǎn)许可的情况下由管(guǎn)理(lǐ)员(yuán)操作。FISCO BCOS 主要支持 EVM 引擎的智能合(hé)约(yuē)。
Coco 由于其节点运行(háng)在可(kě)信执(zhí)行环(huán)境中(zhōng),因此,与(yǔ)其他联盟链不同(tóng)的是(shì)智能合约只需单个节点运(yùn)行,不必多次验证(zhèng)。更(gèng)与众不同(tóng)的是,因为可(kě)以单点只运行一次,所(suǒ)以(yǐ) Coco 的智能合约支持不确定交易。此外(wài),允许智(zhì)能合约(yuē)直(zhí)接连接外部可(kě)信数据源。
Quorum 是基(jī)于以太坊智能(néng)合(hé)约的,智(zhì)能(néng)合(hé)约本(běn)身没有特别之处(chù),合约运(yùn)行结果(guǒ)方面,节(jiē)点只对公开(kāi)交(jiāo)易和节点涉及的私有交易进(jìn)行(háng)验证,而不必验证所(suǒ)有交易。
Corda 的智能合约设计思路(lù)也比较独特,首先,它主张智能合(hé)约的业务数据和业务逻辑(jí)要能关联到(dào)明(míng)确(què)的法(fǎ)律依据上,这(zhè)相当于要智能合约跟业(yè)务(wù)凭证之间具有强联系;其次,Corda 主张纯(chún)函数(shù)式(shì)设计,力推金融(róng)合约的标准化,提供小型类库,以减少对(duì)低层次逻辑的重新开发;再次,单纯看智能合约的话(huà),Corda 的智(zhì)能合约是“碎片化”的小段程序,而且只能做为(wéi)起(qǐ)流转控(kòng)制作用的“验证程序”,做不到一般智能合约(yuē)那(nà)种(zhǒng)价值(zhí)转移功能(néng),在 Corda 中,“交易”、“智能合约”和“流式架(jià)构”加起来才能与其他平台的智能(néng)合约相(xiàng)当。
总(zǒng)结一(yī)下,Hyperledger Fabric 的链码设(shè)计给了(le)智能合约一个新的设计框架,这方面它(tā)是开创性的(de);FISCO BCOS 则将智能(néng)合约应用扩展到了系统(tǒng)管理方面;Coco 采取了改变公链设计假定的思路,不仅(jǐn)不对智能(néng)合(hé)约进行重(chóng)复(fù)验证,还支持不(bú)确定交(jiāo)易;Quorum 的(de)智(zhì)能合约基本(běn)沿袭公链(liàn)思路;Corda 的思路也比(bǐ)较(jiào)另类,但是智(zhì)能合(hé)约本身却更弱化了。
智能合约是随着以太(tài)坊火(huǒ)起来的,成了(le)区(qū)块链的标志性技(jì)术,但(dàn)其实目前的智(zhì)能合(hé)约还(hái)远不(bú)够(gòu)“智能”,这(zhè)个名字(zì)容(róng)易引起(qǐ)误解。以太坊创始人 Vitalik 最近在(zài)推特上发文称(chēng)对使用智(zhì)能合(hé)约这个(gè)术语表示“十(shí)分遗憾”,应(yīng)该使用更专业或更无聊的名字(zì),比如,“持(chí)续的脚本”之(zhī)类的东西,想(xiǎng)来也有此意。
联盟链常被称为是(shì)个“坑”,这个“坑”主要是在部署和运维方面。
Hyperledger Fabric 虽然已经是(shì)个成熟框架了,有良好的社(shè)区环境,市面上还有若干不错的教材,但是部署(shǔ)方面依然让很多新人不知就(jiù)里,笔者所(suǒ)在的微(wēi)信群(qún)里大部分时间都(dōu)在交流部署问题而(ér)非设计问题;
FISCO BCOS提供一键安装(zhuāng)/step-by-step/docker等搭链方式(shì),同时还未企业生产部署(shǔ)提(tí)供物(wù)料包的打(dǎ)包工具,简(jiǎn)化部署复杂度;
Coco 的部(bù)署特点是增加了(le)一次(cì)对其他区块链(liàn)协议的集成,要先(xiān)有底层区块链(liàn)协议(yì),才能部署 Coco,这其实(shí)要设计人员对 Coco 和(hé)其集成的区块链协(xié)议都有(yǒu)一定了解才好,学习(xí)成(chéng)本较大,此外(wài),Coco 需要(yào)部署(shǔ) TEE 硬件设(shè)备来支持可信执行环境构(gòu)建,这是其他(tā)联盟链通常不需要的,TEE 因此也成为一个安全隐患;
Quorum 需(xū)要在以太坊之上部署,依赖以太坊,与 Coco 相同,设计人(rén)员最好也要(yào)了解以太坊(fāng);
Corda 的部署目前缺乏实(shí)例(lì)来做比较。
Fabric 目前没有提供多少支持工具(jù),多(duō)数需要(yào)设计者自己开发;
FISCO BCOS 提供了(le)方(fāng)便运(yùn)维(wéi)的合约命名服务,提供区块链浏(liú)览器和监(jiān)控,并且有上(shàng)帝模式用(yòng)于处理节点崩溃问(wèn)题,运维友好度有一定改善;
Coco 目(mù)前未见提供多少运维工具;
Quorum 有一些第三方支持工具;
Corda 与其他(tā)联盟链相比,运维方面最(zuì)大的(de)特色莫过于支持受限形式的数(shù)据库回滚。
联(lián)盟链的部署(shǔ)和运维都有一定的学(xué)习(xí)曲线(xiàn),其(qí)复杂度远高于公(gōng)链,一个新手部署一条以太坊要(yào)不了多少时间(jiān),但是运(yùn)转起一(yī)个联盟链(liàn),还是(shì)需要(yào)打听(tīng)不少“小(xiǎo)伙伴”的。
联盟链(liàn)有一个让大家纠结的问题是,明明要上链一起共建生态、共享信息,却纷纷要求隐私(sī)保护,要上链又不能随意公开,不仅希望(wàng)身份保密,还希望交(jiāo)易信息保密,这与公链信息公开、身份保密的设计理念(niàn)有很大不同,但这是合理要求,尤其是在金融领域。本文从可(kě)见(jiàn)范围、加密(mì)措施(shī)两方面(miàn)对各链加以比较。
(一)可见范围
Hyperledger Fabric 的通道(dào)可以用来(lái)隔离数据,只有在(zài)同一(yī)通(tōng)道内的节(jiē)点才可以共享同(tóng)一套账本信息(xī),而通过组织设计,基(jī)于 MSP 标识可以在同(tóng)一通道内(nèi)进一步(bù)控制数据可见范(fàn)围(wéi),1.2 版中加入了私有数据模(mó)式,允许指定的节点间(jiān)共(gòng)享信(xìn)息,这比组织更加灵(líng)活;
FISCO BCOS 设计了 AMOP 协议,以(yǐ)提供机(jī)构间的(de)点对(duì)点通信(xìn),通信(xìn)信息(xī)属于链(liàn)下信息,不在全网共享,链上(shàng)部分在引入(rù)中央对手方提供信(xìn)用背书(shū)的情(qíng)况下,数据也仅在交易方和中央对手方之间共享,多链方式也可用于数据(jù)隔离,必要时通过跨连互通;
Coco 支(zhī)持两个或多(duō)个交易者的机密交易,通(tōng)过 TEE 控(kòng)制可见性,但要求(qiú)集成的区块链(liàn)协(xié)议最好也提供一定支持;
Quorum 区分公开数(shù)据和私有数据,私(sī)有数据只(zhī)允许限定(dìng)的(de)交易方可见;
Corda 数据仅(jǐn)在交易方之间可见,节(jiē)点(diǎn)之间提供一个交易依赖关系图,数据根据需要发送,而不在全局广播,任何参与方都无法见(jiàn)到包(bāo)含(hán)全部数据的全局账本。
Hyperledger Fabric 1.1 开始支持账本(běn)数据加(jiā)密,1.2 版(bǎn)引入私有数据后(hòu),设计(jì)上(shàng)允许只给 Kafka 提供交易 Hash 用(yòng)于排序(xù)而不向 Kafka 提供交(jiāo)易信(xìn)息,以防排序节点泄露(lù)数据;
FISCO BCOS 允许采用(yòng)高强度的加密数(shù)据信封进行保护,未参与(yǔ)交易的机构只能接收到密文,此(cǐ)外(wài),建议(yì)对敏感数据(jù)采用脱敏上链、Hash 上链等方(fāng)式(shì)进行保密处理;支持零知识证明,环签(qiān)名(míng),群签名,同态加密等(děng)隐私保护方法。
Coco 允许(xǔ)应用程序先进行(háng)数据加(jiā)密再提交事务,公网(wǎng)数据采用加密传播(bō)的方式,以对不(bú)受信任(rèn)的(de) host 保密;
Quorum 有独立的 Constellation 模块,对私(sī)有事务的交易数据进(jìn)行加密保护,还提供了独立(lì)的(de)零知识(shí)证明(ZSL)模块以防止验证用户身(shēn)份时发生信息泄露;
Corda 也(yě)使用 enclave 进(jìn)行数(shù)据保(bǎo)护,并考虑使(shǐ)用安全硬件(jiàn)。
在隐私保护上,各链都下了(le)很大力气,这方面与(yǔ)其一较短(duǎn)长,不如考虑互相借鉴。
通过以上(shàng)八个(gè)方(fāng)面,本文(wén)粗略比较了五大联(lián)盟链的设计与差异,如果(guǒ)非要从技术角度给各(gè)家打个分、排个名,实在有些“霸王硬(yìng)上弓”之(zhī)嫌,各家原(yuán)本思路(lù)和焦点就不同,都有自己的“小目标”,非要不管人家自己的想法去(qù)论个短长(zhǎng),有些不太“科学”,也不是应用的(de)合理“姿势”。各联盟链毕竟都是(shì)为(wéi)了(le)解决实际问题、为了落地区块链项(xiàng)目(mù)而设计的,所(suǒ)以,本文最后从大家都会关心的技术(shù)选型角度做个总结。
整体而言,Hyperledger Fabric 的综合(hé)实力依然最强,推(tuī)出时(shí)间早、框架完整且比较(jiào)成熟,有国际化应用和国际化社区加持,案例和(hé)技术支持(chí)对于仍属早期发(fā)展阶段的区块链而言非常重要,Hyperledger Fabric 在这方面可(kě)以说优势极大。但是,它也有些不(bú)能回(huí)避的问(wèn)题,比如基础研发进展缓慢,研发主体不(bú)明确(què),一些(xiē)应用(yòng)者关心的关键(jiàn)问题迟迟不(bú)见解决。随着百度、阿里、腾讯、京东等一众(zhòng)国内大(dà)厂的强势加入,Hyperledger Fabric 的优势地位也会(huì)受到越来越多的挑战,对此,它急需合适的应对措施(shī)。
FISCO BCOS 应(yīng)该说是本土化设计(jì)的代(dài)表(biǎo),其在底层研究上的投入、关键技术上的改(gǎi)进、对国内需要的适应性调整、对社区建(jiàn)设(shè)和运维(wéi)的重视,都有(yǒu)可圈点之处,平台在各行业(yè)的(de)通用性也在加(jiā)强(qiáng),随着开源工作的推进和案例(lì)的不断增加,其(qí)本(běn)土化优势(shì)会逐步显现。在国家(jiā)政策的鼓励下(xià),国(guó)内大(dà)厂(chǎng)如今纷纷高(gāo)调(diào)杀入联盟链市场,如果这些大厂真的“倾情”加入,那与 Hyperledger Fabric 相较,其开发主体、资金(jīn)投入(rù)的稳定性要更有优势,而且,大厂们基(jī)本自带生态和流量,案(àn)例的增长、生态的发展也是可以预期的,是很多项(xiàng)目可以借力之处(chù)。
Coco、Quorum、Corda 都存在支(zhī)持能力不足、缺乏有效案(àn)例的问题,虽然微软目前在 Coco 以及其(qí)他基于 Azure 的区(qū)块链平台和应用上投入了一(yī)定(dìng)力量,但(dàn)是对国内(nèi)应用者而言,仍显不足。
因此,从技(jì)术选型角度来讲,应用(yòng)者,尤其是新(xīn)入局的应用者,最好还是在 Hyperledger Fabric 这种(zhǒng)影响广泛的成熟框架或(huò)者(zhě) FISCO BCOS 这种有实力且能提供较(jiào)强本土(tǔ)支持的平(píng)台上做选(xuǎn)择(zé),而在开发(fā)过程(chéng)中(zhōng)借鉴(jiàn)下 Coco、Quorum、Corda 中的优秀设计理念。
区(qū)块链仍属于技(jì)术的早(zǎo)期阶段,这(zhè)个阶段必然要求应用者具备较(jiào)强的学(xué)习(xí)能力,多做基础研究,敢于对所(suǒ)选择的(de)技(jì)术平台进行改良(liáng),积(jī)极与平(píng)台提供商合(hé)作进(jìn)行(háng)技术探索,区块链还没(méi)到像主流操作系统(tǒng)那(nà)样可以“坐享其成”的阶段,仍然需要所有参与者秉持“开源”思想,不辞辛苦(kǔ)、热情(qíng)奉献(xiàn)、共同进步。
作者按(àn):文章大部分是晚上(shàng)写的(de),是“夜话”;挑来选去,最后(hòu)写了(le)五个链(liàn),想起了“春秋(qiū)”。春秋之(zhī)后是战国,估计是随着 BATJ 积极(jí)加入后(hòu)的战国(guó)。“天下(xià)大势,合(hé)久必分,分久必合”,联盟链乃至区块(kuài)链会否如此,可能要(yào)“久”到下一代技术(shù)来决定了。近期(qī)有文章称当前的基础研究(jiū)越来越难(nán)以(yǐ)支撑技术的创新发展(zhǎn)了,区块链也有此忧虑。作为早期形(xíng)态,刻(kè)意“浪(làng)费(fèi)”算力和(hé)存储换取信(xìn)任,可以;作为未来的成熟形态(tài),不妥。五大联盟链中也有(yǒu)对此问题的些许思考,但现有方案(àn)乃(nǎi)是当下之技(jì)术或认知所能达到的较高水平了。今日“链人”之努力(lì)乃是前进(jìn)的必经之路,足(zú)以启发(fā)天下之想象。没有今日的“痛(tòng)苦”,就没有未来理(lǐ)想的区块链世(shì)界,愿大家广发宏(hóng)愿,持续努力(lì)。
付晓岩,原中国建设银行资深业务架构师,负(fù)责业务架(jià)构设(shè)计(jì)、项目管理,热衷新技术探(tàn)索与(yǔ)实践,具(jù)有丰(fēng)富的银行业务经验和企业级项目(mù)业(yè)务架构设计(jì)经验。2000 年加入建行,曾长(zhǎng)期参加建行“新一代核心业务系统(tǒng)”建设,主导客(kè)户(hù)关系、金融市场、同(tóng)业、资管、养(yǎng)老金等(děng)多个领域核心系统(tǒng)的业务架(jià)构设计。从 2017 年开(kāi)始探索区块链技术及其应(yīng)用,并发表《关(guān)于使用区块(kuài)链技术(shù)建设行业(yè)级同业交易平(píng)台的(de)探(tàn)讨(tǎo)》、《数字货币可能(néng)诱发的现(xiàn)金社会经(jīng)济活(huó)动的模拟与(yǔ)思(sī)考》等(děng)多篇文章。