基于保存秘密共享数据的分布式方式计算Enigma介绍
扫描二维码
随时随地手机看文章
这是一个对等网络,使不同方能够共同存储和运行数据计算,同时完全保 护数据隐私。Enigma的计算模型基于安全多方计算的高度优化版本,由可 验证的秘密共享方案保证。 对于存储,我们使用修改的分布式哈希表来保 存秘密共享数据。使用外部区块链作为网络控制器,管理访问控制、身份, 并作为事件的防篡改日志。使用安全保证金和收费激励系统的运作、正确 性和公平性。与 Bitcoin 类似,Enigma 无需受信任的第三方,从而实现对个 人数据的自主控制。用户首次能够以隐私加密保证来分享他们的数据。
我们的目标是使开发人员无需受信任的第三方 即可构建“隐私设计”的端到端分散应用程序。
Enigma是私密的。 使用安全的多方计算(sMPC 或 MPC),数据查询是以分布式方式计算 的,没有受信任的第三方。数据在不同节点之间分割,并且它们一起计算功能而不会将信 息泄露给其他节点。具体来说,没有一方可以访问整个数据; 相反,各方都可访问数据无意 义的(即看似随机的)片段。
Enigma是可扩展的。与区块链不同,计算和数据存储不会被网络中的每个节点复制。 只有 一个小的子集在数据的不同部分执行每个计算。减少了存储和计算中的冗余,可实现要求 更高的计算。
Enigma带来的关键新工具是能够对数据运行计算,而无需访问原始数据本身。例如,一组 人可以提供他们的工资,并且一起计算小组的平均工资。每个参与者学习他们在小组中的 相对位置,但不了解其他成员的工资。 应该说明这只是一个激励的例子。 实际上,任何程 序都可以安全评估,同时对输入保密。
今天,共享数据是一个不可逆转的过程; 共享数据一旦发出,便没有办法收回或限制它如何 使用。允许访问数据进行安全计算是可逆的和可控的,因为除了原始数据所有者外没有人 可以看到原始数据。这为目前的数据分析方法带来了根本变化。
设计概述
Enigma旨在连接到现有的区块链,并将私人和密集计算卸载到链下网络。所有事务都由区块链来实现,区块链根据数字签名和可编程权限来执行访问控制。
代码在区块链(公共部分)和 Enigma(私有或计算密集部分)上执行。Enigma 的执行确保 了隐私和正确性,而单独的区块链只能确保正确性。正确执行的证明存储在区块链上并可 被审核。我们提供用于设计使用私有合同的端到端分散应用程序的脚本语言,私有合同是 可以处理私有信息(即,其状态不是严格公开)的智能合同的更强大变体。
脚本语言也是图灵完整的,但这并不像其可扩展性那么重要。区块链中的代码执行是分散 的,但不是分布式的,所以每个节点都冗余地执行相同的代码并保持相同的公共状态。 在 Enigma 中,计算工作有效地分布在整个网络中。解释器分解了私人合同的执行情况,如图 1 所示,从而改善了运行时间,同时保持隐私和可验证性。
链下存储
链下节点可构成分布式数据库。每个节点都具有不同的份额和加密数据视图,从而保证了 计算过程的隐私保护和容错能力。还可以不加密存储大型公开数据(例如文件)并将它们 链接到区块链。
隐私执行计算
在这部分,我们描述了 Enigma 的计算模型。我们首先简要介绍基于加密技术最新进展的可 公开验证的安全 MPC。 然后,我们描述了对安全 MPC 的一系列性能改进,这使得该技术 即使对于庞大的网络也具有实用性:分层安全 MPC、网络简化和适应性电路。
要使用 Enigma,开发人员需编写高级代码,公开部分在块上执行,而私有部分则在 Enigma 的平台上运行。 我们称这些为私人合同,因为它们是可以处理私人信息的智能合同。
区块链互操作性
在本部分,我们将说明 Enigma 如何与区块链进行互操作。具体而言,我们将详细说明如何 使用数字签名来形成复杂的身份,这些签名自动与区块链兼容。随后, 我们将继续详细描述 将 Enigma 的线下存储和计算连接到区块链的核心协议。
激励机制
由于 Enigma 并非加密数字货币或区块链,因此其激励机制是基于费用而非挖掘奖励,不会对节点因提供计算资源而进行补偿。全节点需要提供保证金,以对恶意行为进行惩罚。