8月18-19日,BCCon全球区块链生态技术大会2018在北京举办。会上,恒生电子首席架构师章乐焱以“一个金融区块链技术团队的踩坑扫雷之路”为题,带来了演讲。
以下为精彩内容摘编,由整理。
2015年股灾的时候,恒生网络被罚了4个亿。因为我们做的一个原来机构用的资产管理系统,搬到了云上,被别人用来配资,就是HOMS。当时我们也和今天各位币圈程序员的想法一样,觉得自己只是做菜刀的,但事实证明,这刀如果被别人用来干了坏事,一样要负责的。
2016年,我们成立了恒生研究院区块链专家工作室,开始正式研究这项技术,下图是我们交的作业。
两年过去了,我想把技术实践过程中的6点思考,分享给大家。
1、一种称不上“优雅”的技术
为什么说区块链技术不优雅呢?主要从三个方面体现。
一是性能,区块链要求各个节点保持数据一致,成百上千的机器模拟一台机器,整体处理能力存在硬上限。
二是分布式,同传统架构上的分布式系统不同,区块链上分布的越多,问题越大,包括对于带宽的要求、处理时间的要求。所以说别人家的分布式是解决性能问题的,咱家是带来性能问题。
三是可用性,技术快速发展,经常能听到谁搭建起来了一个平台,但是真正跑起来的时候,会发现其中存在很多小问题。但是对于金融产品,关键应用中一定要能处理小概率事件。
2、一种“降成本、提效率”的技术?
一种创新的技术,一定是要有明显的效果,比如工业革命时的技术、互联网中的计算机技术。区块链技术在实际应用时究竟对业务有没有明显的改进?从技术性价比上看,它目前不是一个明显降成本、提效率的技术。2015年看到IPFS的时候感觉很厉害,说是要取代HTTP,除此之外还有去中心化的淘宝,但是到今天呢,都搞不下去了。
还有就是业务上真真假假,你说区块链去中心、去信任,但是在金融领域内,就是需要一些金融机构的背书。比如你不会说做防伪,而是说溯源,因为防不了伪。还有现在各种自称的挖矿,其实还是以前那套积分、用户成长体系,包装一下就成了挖矿。假挖矿就是挣积分,真挖矿是记账。有的公司来找我们,说能不能把原来的系统搬到区块链上然后发币,觉得这很容易。我就说,你先别考虑区块链,就想想要做一个资金系统,设计一个用户承担体系,成本是多少?
3、被神化的“智能合约”
以太坊因为智能合约而被炒的很热。什么样的业务逻辑应该写在智能合约里?智能合约依赖的Oracle(神谕)服务的可靠性、可信任保障。区块链是不可篡改的代码、自动执行的代码,但是不可篡改就意味着没有BUG吗?很多人对自动执行也有误区,说自动执行是不是意味着我完全不需要去管它了,那当然也不是,自动执行也是需要有某一个事件来触动它,而不是无缘无故的就自动执行了。那你在设计这个构架的时候就要去考虑把什么放上去,然后让它跑一跑测试下,有人就说,能不能把所有东西都放上去?你看着数据差不多,其实成本非常高。
4、“安全、隐私”其实可以和区块链没什么关系
金融领域的应用有一定的特殊性,我们知道比特币这样的公链,它是匿名、公开的,但是在金融领域,很多时候是要求实名、隐私的。
还有,在做联盟链的时候,有时候搞得很复杂,说某份数据,这两个节点能看到,另外两个节点则不行,我们认为只要是在同一个智能合约里,应该是对等的执行机制,要么信任、要么放弃。
在金融应用中,其实还是用传统手段满足“安全、隐私”需求,为区块链隔离复杂性。
5、被忽略的“整体可用性”
很多金融类的应用在设计时没有考虑长远运营的整体可用性,对系统变更考虑不周,在软件升级、节点变动、联盟组织变动时就措手不及。
联盟链是一个相对松散、开放的协作平台,不要拿“联盟协议”做挡箭牌。联盟链是个“伪命题”,整体可用性设计应该向公有链靠拢。
6、金融联盟链中的Token
在金融联盟中用的“token”需要脱敏的,账户模型与UXTO模型下的“Token”,一个去中心化的云平台也是要收费的,所以它还是需要一种计费机制、相关参与方的激励机制。
我们可以看到进入2018年,数字货币市值慢慢下滑。但是全球企业级联盟链开始陆续推出商用原型案例,虽然企业级联盟链还存在各种问题……我们不禁发问:
如果区块链技术被证伪,我们留下了什么?
我认为有三点:
1、 高信息价值密度的跨机构业务协作平台;
2、 从BaaS到去中心化PaaS 平台;
3、 推动高质量行业应用软件工程技术的发展 ;