写点什么

微众银行张开翔:开源联盟链的挑战与应对

2018 年 5 月 24 日

看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!

《经济学人》2015 年 10 月刊的封面文章《信任的机器》如是说——“比特币背后的技术有可能改变经济运行的方式”。

后来有着“数字经济之父”誉称的唐塔普斯科特(Don Tapscott)在他的《区块链革命》书中这样评论《信任的机器》,“银行家们喜欢安全性、零摩擦及实时交易的概念。世界各地的银行纷纷组织一流的团队去调查这其中可能存在的机会,这些团队里面还有不少的杰出技术人员。”

张开翔正是那个时候开始他在区块链技术领域的探索之旅,2015 年他加入微众银行,担任微众银行的区块链首席架构师。

而此前,张开翔在分布式系统、网络安全、海量服务等技术领域已有丰富的经验。张开翔从南京大学毕业后,从事软件开发多年;2007 年张开翔加入腾讯,一直致力于互联网业务系统架构设计和开发。

关于区块链技术、区块链技术在金融领域的运用、以及联盟链的架构和挑战,张开翔都有着最直接而深刻的理解。

关于区块链

您是如何接触并投身区块链领域的?

腾讯这样的大型互联网公司对分布式的海量服务能力,系统和业务安全投入非常大。我个人也一贯很关注创新的技术形态,比特币出现后,出于对其“点对点电子现金系统”的兴趣,我通过阅读代码和文档,以及进行体验和实践,了解了其相关算法和运作原理。

在 2015 加入微众银行之后,适逢区块链技术被金融业所关注,被认为是一项非常有潜力的金融科技技术。我把重点工作方向转向了区块链相关的领域,至今已经全力投入了近三年,团队在区块链底层平台建设和应用落地方面都取得了一些进展。

投身区块链这几年,您的关注点主要是什么?

区块链被誉为“信任的机器”,其巨大的潜力和复杂的技术,以及行业里此起彼伏的各种声音,使这项技术既引人注目,又充满了神秘感,堪称“黑科技”。在这几年中,我的任务总结起来,就是“让黑科技变成明明白白”。

这一方面需要在技术上深入研究,梳理澄清这项技术的架构、难点、算法内涵,明确研究方向;同时建设一个稳定、易用的底层技术平台,让对区块链应用有兴趣的开发人员可以不需要陷入到技术细节,安全、稳妥的进行业务开发,以使这项技术在业务层面快速落地,体现其潜力和价值。另一方面,在金融业使用一种前沿的技术或者说新的运作模式来开展业务,是需要兼顾创新和稳定的,如何平衡技术的“颠覆性”和金融业务“安全合规”之间的关系,也是需要思考和把握的课题。

区块链研发最大的壁垒是什么?

区块链技术本身是一系列成熟技术的组合,与在互联网公司时接触的分布式系统技术、信息安全技术大体上有很多共通之处。

比如互联网公司会大量的采用分布式架构,包括分布式计算、分布式存储,面向全世界用户提供服务。技术人员主要的工作除了实现业务之外,重点是处理分布式系统架构对容量、性能的影响,所用到的各种服务模型,网络模型和一致性算法如 Paxos、Raft、pBFT,在区块链体系里都有类似的涉及。同时,分布式系统里的著名的 CAP 原理,也影响着区块链系统的发展,需要思考在一致性、可用性、分区容错性等不同维度的权衡。

所以,只要是面向分布式系统的开发,同样都需要深度理解分布式系统架构原理,把技术做细和持续的优化。另一方面,相对普通的分布式系统,区块链体系和跨机构和人群的社会协作更密切相关,需要研究人员更多的去理解与博弈论、概率论、经济模型有关的知识。

区块链到底带来了哪些改变?区块链最有价值的地方在哪里?

在分布式商业模式下,参与各方具有平等地位,专注各自领域且足够成熟。在此基础上,采用基于对等架构的技术平台实时交换和共享数据,同时接入多家合作方,可以有效提升商业上的容错性,从而避免商业上的“大而不能倒”的情况发生。

为了实现分布式商业的对等、共享与透明规则,以开源为主要特征的分布式技术得以发挥优势,区块链技术、分布式账本技术等渐渐成为了前沿科技的核心代表,因此,以区块链为代表的分布式账本技术的价值逐渐凸显。

关于微众银行

微众银行在区块链技术探索和应用落地方面有哪些经验?

我们走的是技术研究,应用落地探索,社区运营互相结合的路线。在底层平台方面,微众银行推出了开源的企业级联盟链底层平台——BCOS(BlockChain OpenSource),及金融版区块链底层平台——BCOS 的金融分支版本 FISCO BCOS。BCOS 开源平台,通过集成身份认证、非对称加密算法、引入技术治理功能、支持全面监管审计功能等举措,可支持多个行业的应用需求。FISCO BCOS 是基于 BCOS 平台加以模块升级、最终完成深度定制的金融版区块链底层平台,以达到促进区块链技术在金融业务的落地的目标。

在场景落地方面,2016 年 8 月,微众银行联合上海华瑞银行推出微粒贷机构间对账平台,这也是国内首个在生产环境中运行的银行业联盟链应用场景,目的是为解决金融机构间对账成本高的问题。此外,微众银行推出了区块链电子证据存管平台,并联合广州仲裁委、杭州亦笔科技三方基于 FISCO BCOS 区块链底层平台搭建了应用于司法领域的“仲裁链”,目的是为了解决金融领域的取证难、诉讼难问题。

信息安全对银行业很重要,展开区块链业务和开发时你们做了哪些安全准备工作,在实践中有哪些重要的地方?

区块链先天的和密码学算法有紧密的结合,在数据防篡改抗抵赖,多方鉴证方面有很强的保障。我们也看到现有区块链方案在网络接入, 数据读写, 智能合约引擎,业务安全方面还是有一些风险。

所以,从一开始我们就在底层技术和业务架构设计上,采用立体安全策略,多层面,全面的安全防护,满足高要求的安全标准,总结一下包括以下维度:

  • 对通信层,用户数据等模块进行高强度的加密保护。
  • 在系统治理方面,实现准入控制,权限控制策略,保护系统安全
  • 支持多种密码学算法,包括基于密码学的隐私保护算法。
  • 提供安全方面的最佳实践,协助合作伙伴共同实施安全措施,保障全网安全。

关于金链盟

在联盟链的开发中面临的挑战主要有哪些?

联盟链的应用场景通常运作在机构之间的商业合作领域,主要的挑战体现在高安全性,性能表现,系统稳定性,业务功能周全性(友好性),监管合规等五方面。

安全性不言而喻,安全是金融的生命线,各种商业场景里的财产安全,业务和数据安全是非常关键的,必须在网络通信、数据存储、身份认证,隐私保护等方面进行周全的保护。在性能方面,开发者需要评估所用技术是否能满足所要求的并发交易数、交易时延、数据容量等,如达不到,则需要进行持续的优化。

商业机构要求系统 7x24 小时的运行,提供高质量服务,对系统的稳定性要求很高,在完善系统本身的稳定性的同时,需要配套周全的监控运维系统。业务功能周全性和开发友好程度会直接影响开发效率和业务开展,开发者需要评估智能合约开发方案是否可行,业务端 SDK 是否周全,平台是否提供丰富的功能,或者是否便于进行二次开发等。

最后,开展业务应遵守有关法律法规,尤其在金融业,必须符合监管要求,包括对科技方面的要求如两地三中心部署,规避技术风险和操作风险,以及业务合规,重视和监管的协作,兼顾创新和金融稳定。

金链盟的共识的研发用了一年,共识开发的难点在哪里?

共识算法做为区块链系统的核心组件,用于组织多个参与方协同工作,共同记账,保证数据的一致性可信性,维持系统稳定运行,其算法本身具备很高的复杂性,对性能,稳定性,安全性等各方面影响较大,且容易受区块链各节点运行质量,网络波动等多种因素影响,实现一个稳定高效安全的共识算法,需要反复验证,迭代优化。

基础技术的研究和实施没有任何捷径可走,我们从读基础理论的论文开始,完成足够的理论储备,然后进行细致的工程实现,这一年的时间里,我们的工作包括对共识算法的技术研究,方案选型,代码开发和原型测试,性能调优,生产验证等,最终的效果是实现了插件化的共识算法框架以及多种稳定高效的共识算法。

金链盟 FISCO BCSOS 的性能优化到什么程度?各方面有具体的数字指标吗?

区块链的交易通常被认为并发较低、确认时延较长,比如 tps 在每秒 7 笔到 10 多笔这样,需要 10 分钟以上的确认时间,且交易确认是一种概率性的存在,追求的是最终一致性。联盟链里的商业场景需要高并发,短时间确认,且具备高度的确定性,这是我们在提升安全之外重点要解决的问题。

我们在 FISCO BCOS 的整体架构和交易处理全流程都进行了大量的优化,包括采用高效的共识算法,把能并行的计算并行化,减少重复计算,对关键计算单元进行升级等,目前 FISCO BCOS 单链性能满足金融场景需求,达到千级 TPS,交易被秒级确认,一旦确认就达到了最终确定性。这样的性能表现能满足大多数金融业务的要求。

对于区块链底层平台的性能,我们一直以来的观点是,单链不管性能能到达多少,总是受限的,无法真正从根本上解决问题。性能核心点不仅仅在于单链,更在于基于不错的单链性能,在区块链底层平台的架构上设计并实现灵活、高效、可靠、安全的并行计算和可平行扩展的能力。这让开发者能够灵活地根据自己业务场景的实际需要,通过简单增加机器,达到自己需要的性能。这是对性能问题从理论到实践上的一个比较彻底的解决之道。FISCO BCOS 在这方面已经做了大量的工作,支持了并行计算,包括多链、跨链、热点账户等一整套完整的解决方案。

2018 年 5 月 24 日 15:102576

评论

发布
暂无评论
发现更多内容

负载均衡方式

羽球

负载均衡

简述CAP理论

lei Shi

Cache解决算法 Charles断点调试breakpoint John 易筋 ARTS 打卡 Week 08

John(易筋)

ARTS 打卡计划

ARTS打卡-06

Geek_yansheng25

ARTS WEEK5

紫枫

ARTS 打卡计划

低代码与无代码

lidaobing

低代码 无代码开发

数据驱动 vs 关键字驱动:对UI自动化测试框架搭建的探索

Winfield

DevOps 敏捷 自动化测试

一致性hash算法及标准差验证

Damon

MySQL实战45讲总结

`

MySQL

设计模式(1)—什么是设计模式?设计模式的六大原则是什么?

爱嘤嘤嘤斯坦

Java 程序员 编程语言 设计模式 23种设计模式

分布式系统设计理念这么难学?

架构师修行之路

架构 分布式

【计算机网络】为什么要三次握手四次挥手?

烫烫烫个喵啊

TCP 计算机网络

redis系列之——高可用(主从、哨兵、集群)

诸葛小猿

redis redis集群 redis哨兵 redis主从

ARTS打卡 第7周

引花眠

ARTS 打卡计划

抽象工厂模式

Leetao

Python 面试 设计模式

Mysql插入百万条数据

Java小咖秀

MySQL 运维 数据

【计算机网络】如何实现可靠数据传输?

烫烫烫个喵啊

智慧4S店解决方案发布,看英特尔如何引领汽车销售行业变革

飞天鱼2017

时间去哪了?

escray

编程核心能力之抽象

顿晓

抽象 编程日课

进程、线程基础知识全家桶,30 张图一套带走

小林coding

Linux 操作系统 计算机基础 进程 进程线程区别

SpringBoot 入门:03 - 统一请求返回

封不羁

Java spring springboot

看动画学算法之:排序-插入排序

程序那些事

Java 数据结构 算法 插入排序

昆明市成立两大“高端”中心,区块链赋能生物医药和高原特色农业

CECBC区块链专委会

观智能化浪潮如何改变产业链创新

CECBC区块链专委会

ARTS-WEEK6

一周思进

ARTS 打卡计划

ARTS打卡 - Week 07

teoking

程序的机器级表示-程序的编码

引花眠

计算机基础

自动化测试首先是一种工作文化

wangwei1237

自动化测试 测试文化

每周学习总结 - 架构师培训 5 期

Damon

Go:Stringer命令,通过代码生成提高效率

陈思敏捷

go golang stringer

NLP领域的2020年大事记及2021展望

NLP领域的2020年大事记及2021展望

微众银行张开翔:开源联盟链的挑战与应对-InfoQ