当前位置:网站首页 > 专栏 > 正文

区块链的复苏 ALOKEX与你一起见证下一合约奇迹

作者: 币圈艾博 2020-07-21 11:56:55 1473 0

这是一场知识密度极高的头脑盛宴。

可扩展角度与隐私计算价值方向详解。

一场硬核 FAQ 缓缓展开。


可扩展角度

Q:可验证计算是什么?

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

Q:在区块链系统中,哪些计算适合「上链」,哪些不适合?

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

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

Q:在上链之前,如何保证链下计算的正确性?

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

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


Q:保证链下计算正确性的同时,链上的验证如何做?验证速度能不能达到商用标准?

A:链上的验证工作,是依赖于计算者提供的一些输入值,和与该计算任务相关的公开的验证关系式。

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

Q:从可扩展角度来说,可验证计算对吞吐量带来了什么变化?

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

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

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

Q:在商用实践中,可验证计算可以实现哪些功能?

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

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

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


隐私计算的价值

Q:隐私计算是基于密码学的一项技术,与区块链的关系是怎样的?又如何与区块链技术结合 ?

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

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

Q:相比于「传统」计算,加上隐私计算后,能够解决哪些之前不能实现的遗留问题?

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

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


Q:隐私计算适用于哪些商业场景?

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

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

同样采用了 MPC 技术,另一个相关的例子是以太坊 2.0 网络中的一个安全性机制,叫做 Custody Game (托管策略),其实就是为了保证轻节点可以安全地下载区块头构建区块链,无需担心区块数据不可用的问题,这里 MPC 的引入,不但实现了原始目标——提供安全性,还能创建新的质押商业模式,让多个用户共同分担成为验证人节点所需的经济门槛——32 个 ETH,在丰富商业玩法的同时,更重要的是提升了以太坊 2.0 网络的去中心化程度。

Q:就场景来说,能不能举个例子说明 MPC 在实际应用中的作用?

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

本文暂时没有评论,来添加一个吧(●'◡'●)

发表评论:

  • 评分:
  • 回到顶部