一、背 景
随着2C互联网红利日益遇到瓶颈,越来越多的创业公司走向2B创业方向,跟国外相比,我国的2B行业尚有很大的空间。在此背景下机构之间的互联合作技术也越发重要,是实现2B商业模式的桥梁和基础设施。
传统的机构之间的合作形态一般是提供方-使用者,即一方是服务提供方,另外一方是服务使用者,他们是上下游形态的商业关系,比如一家在线旅途OTA公司需要接入酒店预定的服务以优化旅游体验,旅游公司会采购酒店预定服务提供商,技术上一般会使用Web Service API来连接。
但是随着2B应用的深入发展,出现了新型的分布式商业的业务形态,传统的中心化的CS技术已经不能满足需要。以金融场景为例:
1.联合风控:某银行要做互联网贷款业务,不同于传统的线下贷款,坏账率对于业务成败非常关键,需要对用户进行更精准的风控刻画,但是银行本身关于用户的数据是片面和匮乏的,需要和更多的银行、政府等机构进行合作。在此业务中,数据不再由一方提供,整体的风控算法和参数是由银行提供的,需要多方协同一起完成计算。
2.跨境汇款:跨境汇款实现用户由本地钱包将钱汇款到国外钱包账号,涉及的合作伙伴由钱包机构、汇出机构、银行、中间行、收款机构等多个跨国组织,再加上各国的监管和反洗钱部门等等。在此业务中,多方需要在各种规则下实现汇率兑换和事务性,业务形态上无集中的中心化机构能管控一切。
3.反洗钱:现代洗钱的形态日益复杂化和隐蔽化,洗钱者可以通过多种形式如银行、电子钱包、虚拟货币等形式实现资产转移,要实现反洗钱检测,需要整合多个资金网络来做图计算分析。在此业务中,多个机构都是合作协同的关系。
分布式商业形态的特点
1.对等:双方的业务关系不再是简单的上下游的关系,更多是相对对等的合作伙伴
2.多方:业务涉及的参与者不局限于两方,可能涉及多个参与方,随着业务发展,更多合作伙伴会参与
3.弱信任:由强信任退化成弱信任,业务形式更开放,更依赖商业规则驱
二、问题和挑战
要实现这样的分布式商业网络,为什么传统的web service或者成熟的大数据基础设施(如hadoop)等不能用于解决所有的问题呢?主要有以下几个难题需要解决:
1.无中立可信的第三方:如果有一个诚实中立可靠的第三方的话(GOD?), 所有参与方把数据都交给此第三方,并由第三方完成业务流程计算,那会大大简化技术复杂度。但是现实情况中,很少有这种中立性机构。不过幸运的是,我们有分布式共识协议这些工具可以使用。
2.数据安全和隐私保护:目前成熟的大数据基础设施如hadoop,明文数据在各个节点之间流动完成计算,但是直接放在分布式商业网络中,则是行不通的。随着用户日益重视的隐私问题,我国的网络安全法规定,泄露用户数据50条以上则有可能涉及刑事责任,欧盟的GDPR则更加严格。另外除了用户隐私保护以外,机构对于商业秘密的保护也是有很强的需求,比如某些客户希望保护用户ID不被其他人知道。
3.利益分配和激励:不同于传统的客户服务模型,由于各方对业务都可能有贡献,游戏规则的设计对于生态运转最关重要,如何衡量贡献和做利益分配也是多方协同计算一个难题。
4.互联网网络延迟:很多基于局域网基础设施都假设很高的带宽,但是在分布式商业网络中,低网络带宽是大概率事件,网络丢包比较常见,所以进行跨机构的大数据计算要非常仔细的处理异常情况。
5.异构化网络管理:各家机构的机房环境千差万别,机器操作系统也不一样,时区也可能不一样,防火墙的策略也是多样化,想让这些机构互相无阻碍的通讯并不是那么简单。另外,由于要互相通讯,各个节点的通讯协议的版本必须一致,整个分布式网络的版本管理也是一件很有挑战的事情,涉及的部署升级也都需要仔细设计,否则网络运维就会成为噩梦。
三、技术路线
为了解决机构合作的信任和数据安全两大问题,多方协同计算有共识计算和安全计算两个大的方向,前者是区块链技术为代表的分布式共识计算,后者是以MPC/TEE为代表的安全计算。这两者都是以密码学技术为基础解决分布式计算的问题。参与计算的数据类型也可以分为公域数据和私域数据,共识计算主要是解决公域数据的一致性问题,而安全计算主要是解决私域数据的数据安全和加密计算问题。
1.共识计算:面向公域数据,解决多家机构对于账本、计算(合约)的分布式一致性问题,最终多个机构对业务过程和结果达成共识,并且单一方不可篡改过程。
2.安全计算:面向私域数据,解决机构的数据安全和隐私保护问题,在不泄漏各自数据明细的情况下仅仅公开计算结果。同时也要求由结果不可反推明细,更进一步,结果也要是可验证的。
两者解决的问题不同,但是两者具备很好的互补性。共识计算不能解决数据的隐私问题,安全计算也不能解决数据造假等信任问题,两者结合起来才来兼顾信任和隐私问题。
共识计算
共识计算核心难点是实现高效的分布式共识算法,目前区块链中使用比较多的是工作量证明(POW)比较多用在公有链上,典型场景是比特币上,类似于全民公投,超过51%的那就达成共识了。拜占庭(PBFT)和RAFT应用在联盟链上,更像英国的议会,首先必须是议会成员才有资格参与,为了防止个别议员有问题,主要是容错。
安全计算
安全计算核心难点结合密码学的底层算法实现各种应用场景(如AI/BI等)的隐私保护需求。目前比较流行的隐私保护算法有安全多方计算(MPC), 匿名技术(PIR/OT), 同态加密(HE), 差分隐私(DP) , 零知识证明(ZKP) 以及 基于可信硬件的可信计算环境(TEE)等等。各种算法都有自己的适用场景如下图,对带宽和计算要求都不尽相同,目前还没有“银弹算法”,需要针对场景选择合适的算法。
四、MORSE平台设计理念
蚂蚁链摩斯(MORSE)隐私计算平台,深度融合了多方安全计算、联邦学习、可信执行环境等多项隐私计算技术。离线计算支持10亿级大规模数据稳定运行,在线计算支持千万级请求毫秒级时延,并提供标准化互联互通解决方案。摩斯深度连接多方数据生态和场景资源,帮助客户实现更安全更精准的用户洞察。
MORSE围绕着数据合作中常见的应用场景构建一系列的核心能力,可以针对每种场景做性能和安全性的极致优化。摩斯是市面上极少数深度融合了各种隐私计算技术的产品,可以在用户体验一致情况下,提供不同安全和性能级别的方案。以机器学习为例,MORSE的LR算法比业界平均性能快3~5倍,GBDT则快100倍以上。底层密码库上,MORSE的同态加密比开源库快20倍以上。安全性上在某些场景使用ZKP实现了可验证安全,使用DP实现了计算结果安全。
MORSE不依赖可信中心方,提供抗共谋攻击的方案,并采用零知识证明等技术手段达到恶意安全模型。此外,摩斯融合了差分隐私、脱敏、匿名化等隐私保护技术,全方面保障数据隐私。除了隐私计算外,摩斯还从系统安全、通信安全等方面保障数据隐私。摩斯通用产品和一体机分别集成了蚂蚁自研的国密认证的软密模块和密码卡,摩斯一体机还采用了基于TPM的可信度量、安全容器等技术,从硬件、系统等层面增强安全性。
MORSE部署架构
为了构建多方协同计算的网络,MORSE在架构上采取云端混部方案。很多机构的IT设施跟阿里的体系有很大差别,那种“全家桶”的重部署方案行不通,客户的计算资源预算一般也不多,机器和系统也不同。MORSE采用全docker微服务方式,既可以单机部署,也可以很方便部署成集群模式,目前MORSE已经部署了300+节点,在金融机构中广泛使用。优点如下:
1.轻量部署:仅依赖docker, 半天内完成部署
2.适配性好:适配各种企业复杂网络环境、各种已有机房、网络场景
3.升级便捷:一键完成升级
4.弹性扩容:微服务化,支持企业按需扩容
5.安全性好:易审计,安全性增强
目前,摩斯已经发展出MORSE Edge(隐私计算软件产品,支持分布式、集中式)、MORSE Flow(隐私计算连接器,互联互通标准化解决方案)、MORSE Station(隐私计算一体机,密码卡/TEE卡/GPU加速),根据客户基础设施和需求情况选择适配。同时摩斯提供MORSE OPEN系列服务,安全数据服务MorseDaaS、安全模型服务Morse MaaS、机密算力服务Morse CaaS、隐私计算APIMorse OpenAPI。