他是IBM Hyperledger Fabric最早的两个创始人之一,Hyperledger白皮书的起草者;他把一个不到10个人小区块链小分队带到如今80多人,做为估值超过75亿美元规模的金融壹账通拳头产品之一;
他和团队研发的区块链底层平台实现全加密状态下的交叉验证和四则计算,光单链就可以达到5万笔/秒的TPS,并可通过多链技术再数倍扩大TPS。同时保持小于0.01秒的时事交易相应时间。
他旗帜鲜明地反对区块链中被奉为圭皋的隐私保护、去中心化、数据可追溯等特性,并带领团队研发出了3D零知识证明,号称超过不但效率超zkSNARKs 1万倍,同时不存在zkSNARKs的多个争议性安全假设。
他的团队为香港区块链贸融网络(eTradeConnect)、 中国海关天津口岸等 20 个国内国际区块链验项目提供解决方案。
他就是平安金融壹账通的区块链业务与研发部总经理:陆一帆。
不久前,营长在深圳平安集团总部对他进行了专访,就平安区块链背后的技术,以及密码学相关的话题,展开了探讨。他也以极其思辨而又犀利的语言对当前区块链行业和应用,提出了十分具有价值的思考。
接下来我们就一起来走近平安区块链和这位亿万体量业务线背后的负责人吧~
从Hyperledger Fabric创始人
到平安区块链业务掌舵人
营长:跟你聊天就绕不开Hyperledger Fabric,毕竟是现在行业里联盟链的标杆之一,能分享下这个项目诞生背后的一些故事吗?
陆一帆:我印象中应该是2013年,当时我在IBM的中间件CTO办公室负责WebSphere系列产品的战略发展规划,当时我们有个想法把一些游戏化(Gamification)的东西发展到IBM 的BPM (Business Process Manager)和中间件产品当中去,比如分数或勋章奖励之类的,结果这个东西渐渐演变成了一种Coin。
那个时候,正是比特币币值第一次大幅提升的时候,当时亚马逊也做了一个Amazon Coin。我们受到启发,想这种机制是不是也可以应用到我们的BPM游戏化当中。
最初这个项目只有我跟另一个同事Binh Nguyen两个人在负责,我们先是找了一些实习生做了一个实验,在当时0.x的以太坊试验品上demo一个能让游戏厂家互相兑换游戏币的场景。后来到2015年,我们才开始从这样一个实验,慢慢发展成了后来的Hyperledger Fabric。
这里也有一些有意思的小插曲,这个项目立项后,我和Binh当时的老大Jerry Cuomo只申请到了5个名额的费用,我们内部都说这5个人有了Golden Ticket(金券)。
营长:那当初是什么原因让你放下Hyperledger Fabric,选择了平安?
陆一帆:最早我接到猎头的电话,我是想给他们推荐超级账本的。后来要说我被打动的点是什么,我认为主要有两点。
一个是我挺好奇在国内工作是一个怎样的环境,因为WebSphere BPM开发团队当时主要在中国,也是IBM当时极少数把核心软件研发放在中国的团队,我时不时都会跟他们沟通一下,我觉得挺有意思。
第二是,我当时一直在怀疑智能合约的价值究竟在哪。而平安表示他们支持我在这方面的研究,并且国内的30多家子公司都可以让我来实践我的想法。
营长:那你后来的研究,是否真的证明智能合约是没有价值的?
陆一帆:价值非常有限。根据长期实践我现在认为智能合约是联盟链发展的一大毒药。原因在于,智能合约本身是一串在多个机构都能跑的代码,而代码的逻辑需要数据才能跑通。但在商业环境中,数据共享是不可能存在的,根本就没有人会给你数据,可智能合约需要数据才能跑,而且每个参与计算节点都需要。所以这就造成了智能合约在商业机构中使用的矛盾问题,不现实。
另外,我认为数据哈希上链本身也是一大安全漏洞。
营长:回国工作之后有什么感触?
陆一帆:都说996,单我们团队很少加班。我每天七点吃完饭回来时团队一大半都不在了下班了。(笑)
“95%的项目属于无效区块链项目,
另外相当比例存在严重的安全漏洞”
营长:你曾旗帜鲜明的对区块链行业中被封为圭皋哪些理念,如去中心化、数据可追溯等持反对态度,你认为造成这些问题的根源是什么?
陆一帆:我认为是国内公司的研发能力不足。现在大家的注意力还放在区块、智能合约, 协议等技术问题上,而真正的科研问题很少尝试。其实只要自己读区块链项目宣传新闻稿,会发现95%的项目不如直接用数据库来追溯或者数字签名防篡改 。
比如数据可追溯,可以轻松通过打标签对数据进行跟踪了,今天为什么还要用区块链来解决这个事情?
还有数据库,比特币中是对数据做批量处理,每次出块前都需要通过劳动量证明确定出块人,这造成了比特币的效率低下。
最可怕的是哈希上链的事情,如果恶意者只要知道数据大概范围和格式,就可以比较轻松碰撞出数据本身,而联盟链参与者都知道数据范围和格式,哈希上链其实等于将数据就半公开了。
大多数区块链项目感觉是在蹭热点,没实际价值也不务实。
营长:那么,在你看来区块链真正应该解决的问题是什么?
陆一帆:去中心化生态,但不能以数据共享做代价因为没人跟你共享数据,采用分链隔离等与重新构建数据孤岛的方式。
营长:利用密码学对所有数据进行加密貌似是FiMAX上的一个特点,这样做的原因是什么?
陆一帆:实际上就是从根本上杜绝数据隐私问题。原因在于我们发现现在大部分的隐私保护方案都不是很理想。目前主要的隐私保护方案有以下3类:
第一类:分链。分链本来是打通数据孤岛的,但在实际操作中却发现,分链本质上等于重新创造了一个个数据孤岛。不如直接点对点连接方便,如果怕数据丢失可以用messaging,怕篡改可以加上数字签名。
第二类:哈希上链。有些银行把客户的地址信息都哈希上脸了。其实算一下就知道中国即使有14亿人口,每个人都有一个地址的话。我用一个小时就可以在笔记本电脑上对 14 亿个地址进行哈希然后再碰撞把原始数据给打出来。
第三类:秘钥。用公钥和私钥对信息进行加密,把公钥给对方,可以打开加密信息。我觉得这个没有什么价值,传统TLS协议非但早就解决这个问题而且早已被大量应用。
营长:那么,你们是如何既保护隐私,有能解决这些问题的?
陆一帆:我们研发了3D零知识验证,主要通过「零知识关系验证」和「零知识全同态验证」两类算法来实现任何密文的任何关系和计算校验。在FiMAX上所有的数据都是加密的。
通过3D零知识验证,能把不同密文数据的“大于”,“小于”,“等于”关系和无数个“加”,“减”,“乘”,“除” 计算校验出来。这样的操作对于一些场景,比如贸易融资非常有用。
假如,我卖出 100 万的货,要用 50 万的原材料去融资,但因为各个银行的数据其实没有打通,所以企业可以拿 50 万去银行 A 融资,然后拿 70 万做质押去银行 B 融资。
因为银行 A 不会告诉银行 B 我已经为这个企业质押了 50 万,一旦银行 B 再给它质押 70 万实际上会有很大的风险,因为企业并没有能力去偿还这么多钱。而如果银行 B 通过区块链网络进行一个密文的交易,通过零知识校验就可以检测出这个企业的融资实际上是一次重复质押的行为。
营长:多方安全计算(MPC)似乎也可以实现对密文的验证,两者的差异是什么?
陆一帆:MPC是一个比较简单粗暴的实现方式,但问题是效率特别差而且没有什么扩展性,通常一次一般会有多次交互。
MPC一般要讲数据分拆然后队分拆数据加如噪音,分拆后的数据根据场景由单个或者多个第三方、来协同计算,因为原文加密数据本身被分拆而且又有噪音,所以协同计算方不会知道原文。但这里有几个大问题:
要防止参与方从能获得的数据中得到一些可利用信息;
要确认参与方计算的结果确实是自己分到的那份数据计算出来的;
要有一定防御能防治一定数量的协同计算参与方「串通」起来得到原始数据。
这些问题都可以通过算法解决,但是都直接导致了MPC的底下效率。
一些机构为了能让MPC能用起来,就被迫通过牺牲安全性增加一些“可信“计算节点。不过即使这样效率还是很差。而3D零知识协议非但效率比传统MPC要高上千倍,而且是非交互的, 不需要通过牺牲安全性来提升扩展性的问题。
营长:那么,在数据的获取中,我们怎样确定数据的真实性,而不是被第三方平台虚假授权呢?
陆一帆:我们以就诊数据为例。假如Alice的病例信息、就诊信息是在网络传播的,但都是密文,如果药房 X 想要 Alice 的就诊数据,那 Alice 就把这个数据开放给药房,这没有问题。但是如果这个药房没有通过 Alice ,而是直接向医院要数据,那医院怎么确定这个药房不是一个偷数据的传销公司?
这时候我们采用另外一种技术,简单来说就是把个人的手机变成一个虚拟的区块链节点,在个人手机里产生唯一的个人密钥,之后进行 CA 认证来确定这个密钥一定属于 Alice ,这时候再把授权请求通过数据网络发送给医院,医院就知道这个请求来自于 Alice 而不是第三方,然后就可以把数据开放给药房 X 。
营长:目前平安区块链的技术团队的构成是怎样的?
陆一帆:我们的技术团队是底层研发和解决方案开发各占一半。我们主要的技术框架叫S3C,S指的是Sparrow,主要是做应用解决方案。3C指的是Cathaya、Core、Concord,分别负责加密模块、底层内核,BNaaS及CA。所以我们的团队的功能基本也是围绕这些业务定位组建的。
密码学与产品差异化
营长:你曾说国内顶尖密码学研究机构太少,也不建议一些团队碰密码学。其实密码学是个很大的学科,在这个学科中,与区块链有关的有哪些分支?
陆一帆:其实都有涉及,但是对称加密、非对称加密,数字签名、哈希现在已经属于区块链中比较成熟的解决方案了。我认为现在业界没有很好解决的就是零知识及全同态,这些东西瓶颈很高,很多有长年工作经验的密码学专业人士也搞不好甚至不太明白。
营长:你认为你现在的工作,最重要的是什么?
陆一帆:差异化。基础的东西永远都没有差异化,因为我本职是产品经理,所以我每天最在乎的三个字就是「差异化」。
技术的东西永远都能在市场上找到人去做,能在市场上找到的,都不是差异化。实现差异化得看。