鸵鸟区块链

一切皆可计算: 在商业网络里与开发者一起遨游

Ourea无涯社区 2020-07-31 18:30 2717
摘要:

PlatON密码学专题应用深入解读

1.什么是可验证计算 

可验证计算通常是指Verifiable Computing (简称“VC”),指可以将计算任务外包给第三方算力提供者;(不受信任的)第三方算力提供者需要在完成计算任务的同时,提交一份关于计算结果的正确性证明。

2.那些计算放链上?

区块链作为分布式网络,链上计算/存储本质是将计算和存储任务(同时地)执行了多次,是十分昂贵的资源开销;因此链上其实并不适合承载过多的计算任务。

另一方面,区块链自身的全局透明、不可篡改等特性,其实适合那些具备“审计需求”的计算任务,例如通过密码货币里,智能合约执行的“数字资产交易”,需要保证资产交易的公开和可审计;同样是通过智能合约实现的“电子存证上链”,是将司法电子证据作为一种区块链交易发送到链上进行校验计算并保存,也是为了满足公开可审计可追溯的要求。这些链上计算相对更轻量级,且侧重于对业务数据的全局状态更新,例如数字资产交易交易是更新了各账户的余额,存证上链其实也是更新了证据的状态。

3.如何保证链下计算的正确性

保证链下(通用)计算的正确性,从密码学的角度说,其实还是依赖于可验证计算(VC)技术。可验证计算中,计算者通常会将计算任务转换成算术电路,然后通过密码学技术创建一些公开且可以被快速验证的数学关系式以及式子里的各项值;计算者将这些值发送给验证者。验证者可以通过这些输入的值,校验公开的验证关系式是否满足。

可验证计算的技术模型,包含了对计算正确性的潜在要求,即如果是正确地执行了计算任务,则上述过程中生成的值一定可以满足验证关系式;如果没有正确地计算任务,则过程中生成的值能顺利通过验证关系式检查的概率非常非常低。

4.链上的验证如何做?验证速度如何?

就像上述回答中所说,链上的验证工作,是依赖于计算者提供的一些输入值,和与该计算任务相关的公开的验证关系式。

笼统地说,验证工作的复杂性,会远小于计算任务本身,也就是说,验证速度会比计算更快。好的VC技术,可以让验证速度做到常数级别,即不管计算任务多复杂,仅需常数时间(例如几个毫秒)就可以完成一次验证。

5.可验证计算对吞吐量带来了怎样的变化 

可验证计算,包括以zk-SNARKs为代表的零知识证明技术,给区块链可扩展性带来了新的解决方案。以太坊创始人Vitalik在以太坊技术社区曾提出用可验证计算(zk-SNARKs)技术来解决以太坊可扩展性问题,也就是目前非常火热的zk-rollup技术。

大致的思路是,将网络里的区块处理都转交一个链下的第三方,这个第三方可以是不受信任的,他在处理完转账交易的业务后会更新以太坊的账户全局状态,同时他还需要提供一个证明,证明他的整个转账交易处理逻辑,包括对全局状态的更新,都是准确无误的。这个证明,和更新后的账户全局状态,以及压缩后的交易数据,都会被提交上链。链上的智能合约负责对证明进行校验,以及将账户状态进行最终更新。

我们发现,可验证计算可以将复杂的区块交易处理转到链下,链上的工作仅剩余轻量级的验证和状态更新。按照Vitalik的计算,采用zk rollup之后可以将以太坊的TPS从目前约15tx/s提升到约550 tx/s。

6.基于可验证计算可以实现什么功能

除了帮助缓解区块链网络的可扩展性和链下计算可靠性之外,可验证计算通常适用于将复杂的计算任务转交给具备有强大算力的第三方的场景,比如将资源受限的设备(例如智能卡)的计算任务转交给云服务。

一个简单的例子是物联网传感器本身计算能力十分有限,无法处理设备采集的数据,需要上传到云端,而可验证计算的引入,可以保证云服务是“正确且可靠”地进行了数据处理,而不是故意偷懒或者执行了错误的计算。

需要一提的是,可验证计算技术仍然在持续研究和优化,我们有理由相信,在不久的将来,小到四则运算,大到神经网络训练,都可以放心地丢给云服务来完成计算,而无需担心计算结果的准确性。

隐私计算的价值

1.隐私计算对区块链意味着什么?

原生的区块链网络不存在隐私保护的能力。隐私计算与区块链结合,是为了满足更复杂多变的商业需求,特别是面向数据交换、分享的各类场景。

从区块链的角度来看,有几个大的方向或者说是基础设施和服务:最直接的就是隐私交易(privacy transaction), 此外还有密钥管理,以及去中心化数字身份(DID),这些都与隐私计算密不可分。

2.现在能实现什么过去做不了的?

从商业的角度来说,传统的计算,瓶颈往往在于数据端,即数据能否给到计算方,很多时候这是一个数据安全和隐私法规层面的问题。

隐私计算恰好针对的是数据交换、数据分享等场景里的数据隐私问题,笼统地讲,以MPC为代表的隐私计算技术可以实现数据在不离开本地情况下,完成计算任务,达到数据可用而不可见。

3.可以去实现什么样的商业?

隐私计算技术可以服务于各类应用场景,实现多样化的商业创新。我们就区块链领域举两个例子。

就像上面提到的,通过MPC技术实现区块链钱包中的密钥管理,可以看成是一个垂直应用,将资产的管理权通过数学的方式进行拆分,最终可以降低单个私钥丢失风险、以及实现细粒度的token权限管理。

同样采用了MPC技术,另一个相关的例子是以太坊2.0网络中的一个安全性机制,叫做Custody Game (托管策略),其实就是为了保证轻节点可以安全地下载区块头构建区块链,无需担心区块数据不可用的问题。

这里MPC的引入,不但实现了原始目标——提供安全性,还能创建新的质押商业模式,让多个用户共同分担成为验证人节点所需的经济门槛——32个ETH,在丰富商业玩法的同时,更重要的是提升了以太坊2.0网络的去中心化程度。

4.应用举例, 医院和保险

是要针对医院+保险的联合场景进行举例?还是就医院/医疗 和 保险两个不同行业里的应用场景进行举例?

医疗场景里,一个典型的使用隐私计算的例子是电子病历 (EHR) 数据跨域访问。在拥有个人数字身份基础设施的前提下,A医院可以在获得病人授权的前提下,对其在此前就诊的B医院申请数据访问,在满足诊疗需求的前提下,同时出于隐私合规和数据最小化的原则,该次访问仅需要了解病人的某项疾病的特征信息,例如曾有对某类药物的过敏情况,返回是或者否。

那么在这样的一个案例中,MPC技术就可以发挥最大的作用,通过对病人在B医院的病历记录的授权查询,不直接返回病人的病历数据,仅返回所需的药物过敏特征信息。

MPC密码学

1.ZK、TEE、MPC这么多方案,为什么选择了MPC?

相比于ZK和MPC,TEE更侧重于安全技术,而且对技术实现和厂商的依赖程度比较高。相比之下,信任成本更低的是依托密码学的ZK和MPC,而其中ZK更侧重于进行“验证式”的计算,是计算的终点;MPC则是解决数据计算的本身,是计算发起的起点。

其实PlatON在MPC和ZK两方面都有持续投入,从实际业务角度出发,现阶段更多的需求是来自于受限于数据隐私而无法达成计算,那么MPC刚好可以解决这个痛点。ZK其实也是非常关重要的隐私计算技术,通常会用于解决计算正确性问题,属于下一阶段的关键技术。

其实PlatON并没有局限于MPC或者ZK,就像创世白皮书中写的可验证计算、安全多方计算或者同态加密,都属于隐私计算的大范畴,知识[41] 

2.PlatON在密码学上有怎样的大手笔投入?

有几个方面可以说明PlatON在密码学的重视和投入程度。首先,PlatON有一个业界领先的密码学研发团队,汇集了包括中科院、上海交通大学、武汉大学、美国马里兰大学、西北大学等国内外顶尖高校的著名密码学教授和研究学者。

同时,PlatON长期专注于密码学和隐私计算研究,大力支持密码学相关的学术和技术赛事活动,是密码学领域三大顶级会议Crypto/Eurocrypt/Asiacrypt,和安全领域顶级会议ACM CCS的持续赞助商,同时还作为主要赞助商与国内顶级高校和科研机构一起连续举办了两届密码学冬令营(Crypto Innovation School),分别针对安全多方计算和格密码展开了主题培训。此外,PlatON还独立举办了CISC 2019 密码学年度赛事,旨在鼓励和推广全球密码学方面的创造性的密码学技术作品。

3.MPC会诞生什么样的新应用场景?

MPC的核心能力在于如何在保护用户隐私的前提下完成计算任务。以疫情为例,目前的健康码等应用其实是政府的大数据中心/计算服务获取并汇总了用户的运营商数据,进行数据分析和风险判定,存在数据隐私泄露的隐患。事实上,通过MPC技术是可以做到用户个体隐私与群体健康兼顾的。

一种新的方案可能是,用户个体通过可穿戴设备(IOT传感器),实现与心跳、血氧、血压等多种生理数据源对接。设备均拥有数字身份,并由运营机构提供用户数据的本地计算,只需按验证规则返回验证结果。完全不需要在云端各数据源验证结果汇总计算,就可以生成该用户最终的健康状态。

4.MPC下的私钥管理、加密托管

MPC技术确实十分适用于密钥管理;传统的区块链钱包的私钥管理, 不管是软件还是硬件钱包,都存在单点故障的风险;如果私钥一旦丢失,那么链上的数字货币就会躺在所谓的“黑洞”账户里,再也无法取回。

MPC技术可以降低这种风险,将私钥的单一保管模式转换为多点保管模式。用户可以持有私钥的一个或者多个碎片,而将其他碎片托管在受信任的人或者服务商,在需要使用私钥进行签名的时候,通过在线的方式进行一次MPC计算,生成数字签名。

值得强调的是,MPC模式的私钥管理还会带来一些新的安全特性,例如私钥明文在整个业务生命周期里从未出现过;少于额定数目的私钥碎片,凑在一起也无法恢复初完整的私钥;

用户侧的私钥碎片丢失后,可以通过MPC技术进行在线找回,并且找回的是一个新的碎片,而托管方的私钥碎片也会同步刷新。这些独特的安全特性进一步降低了私钥使用过程中的泄露风险。

AI框架

1. 当前AI开发对数据的需求如何? 

整体来看,目前AI商业化在算力、算法和技术方面基本达到阶段性成熟,想要更加落地,解决行业具体痛点,需要大量经过标注处理的相关数据做算法训练支撑,可以说数据决定了AI的落地程度。

2. AI开发人员如何通过Rosetta开发框架获得隐私计算能力

Rosetta是基于TensorFlow的隐私AI框架,主要目的是降低AI开发人员的门槛,让他们可以在不需要了解隐私计算细节的情况下,仅仅通过添加一行代码的方式,将原先传统的数据处理方式转换为隐私计算的方式。

Rosetta本身是对AI训练中的各类基础算子进行了MPC化地封装,使得开发者可以通过算子组合,实现所需的训练算法,并且是以数据输入隐私得到妥善保护的方式执行。

来源:Ourea无涯社区(ID:ourea_community)

==

和11万人同时接收最新行情资讯

搜“鸵鸟区块链”下载

和2万人一起加入鸵鸟社群

添加微信ID:tuoniao02

声明: 鸵鸟区块链所有发布内容均为原创或授权发布,如需转载,请务必注明文章作者以及来源:鸵鸟区块链(微信公众号:MyTuoniao),任何不尊重原创的行为鸵鸟区块链都将进行责任追究!鸵鸟区块链报道和发布内容,不构成任何投资建议。

Ourea无涯社区

Ourea无涯社区以成为真正的分布式商业形态为愿景,构建共识、共建、共赢的分布式社区。

22 篇 作品
7.89W 总阅读量