这是一个点对点网络,使不同方可以一起存储和运行数据计算,同时完全保护数据隐私。 Enigma的计算模型基于安全的多方计算的高度优化版本,并通过可验证的秘密共享方案来保证。对于存储,我们使用修改后的分布式哈希表来存储秘密共享数据。使用外部区块链作为网络控制器来管理访问控制,身份以及事件的防篡改日志。使用保证金和费用来激励系统的运行,正确性和公平性。与比特币类似,Enigma不需要受信任的第三方即可实现对个人数据的自主控制。用户可以首次使用隐私加密保证共享其数据。我们的目标是使开发人员无需信任的第三方即可构建“隐私设计”的端到端去中心化应用程序。谜是私人的。使用安全的多方计算(sMPC或MPC),可以以分布式方式计算数据查询,并且没有可信任的第三方。数据在不同的节点之间划分,并且它们一起计算函数,而不会将信息泄漏给其他节点。具体来说,没有任何一方可以访问整个数据。相反,所有各方都可以访问意外(即看似随机)的数据。谜题是可扩展的。与区块链不同,计算和数据存储不会被网络中的每个节点复制。只有一小部分子集会在数据的不同部分执行每个计算。减少了存储和计算的冗余,可以实现更苛刻的计算。 Enigma带来的关键新工具是无需访问原始数据本身即可对数据进行计算的功能。例如,一群人可以提供他们的薪水,并一起计算出他们的平均薪水。每个参与者都了解他们在小组中的相对位置,但不知道其他成员的薪水。应该注意的是,这仅仅是动机的一个例子。实际上,可以对任何程序进行安全评估,同时保持输入的机密性。如今,共享数据已成为不可逆转的过程。发送共享数据后,将无法恢复或限制其使用方式。允许访问数据进行安全计算是可逆的和可控制的,因为只有原始数据所有者之外的任何人都无法看到原始数据。这给当前的数据分析方法带来了根本性的变化。设计概述Enigma旨在连接到现有的区块链,并将私有和密集型计算卸载到链下网络。所有交易均由区块链实现,区块链基于数字签名和可编程权限执行访问控制。该代码在区块链(公共部分)和Enigma(私有或计算密集型部分)上执行。 Enigma的实现可确保隐私和正确性,而单独的区块链只能确保正确性。正确执行的证据存储在区块链上,并且可以进行审核。我们提供了一种脚本语言,用于设计使用私有合同的端到端分散式应用程序,这是可以处理私有信息(即,状态不是严格公开的)的智能合同的更强大的变体。脚本语言也是图灵完整的,但这并不像它的可伸缩性那么重要。区块链中的代码执行是分散的,而不是分散的,因此每个节点都冗余地执行相同的代码并维护相同的公共状态。在Enigma中,计算工作有效地分布在整个网络中。解释器分解了私有合同的执行,如图1所示,从而在保持隐私和可验证性的同时改善了运行时间。链存储链下的节点可以形成一个分布式数据库。每个节点具有不同的共享和加密的数据视图,从而确保了计算过程的隐私保护和容错能力。也可以不加密就存储大型公共数据(例如文件)并将其链接到区块链。隐私执行计算在本节中,我们描述Enigma的计算模型。我们首先简要介绍基于加密技术的最新发展的可公开验证的安全MPC。然后,我们描述了安全MPC的一系列性能改进,这些改进使该技术甚至适用于大型网络:分层安全MPC,网络简化和自适应电路。要使用Enigma,开发人员需要编写高级代码,公共部分在块上执行,私有部分在Enigma平台上运行。我们将这些私人合同称为“私人合同”,因为它们是可以处理私人信息的智能合同。区块链互操作性在本节中,我们将解释Enigma如何与区块链互操作。具体来说,我们将在deta中进行说明