NuLink(NLK)介绍
NuLink 网络是一种为开发隐私保护 APP 的技术人员们提供最佳操作方案的去中心化解决方案,且是同类型中最优质的安全和隐私保护方案。NuLink 平台提供端点加密和密码访问控制,任何敏感数据都可以从其他用户平台非常安全地共享到云端或者去中心化的储存设备,并根据代理重加密和属性加密协议,自动授权对云端或设备中敏感数据的访问。另一方面,零知识证明可以帮助验证数据的来源。在更多的高级隐私保护用例中,NuLink 会充分利用全同态加密技术来为大企业专门定制数据计算服务。
NuLink主要使用技术
1.确保密文形式的数据的可用性。这里使用的加密技术主要是零知识证明。
2.隐私保护的数据共享。使用到的基本方法是对数据进行加密,让数据所 有者控制对它的访问。这些技术包括去中心化加密存储、代理重加密、基于身份 的加密和基于属性的加密等。
3. 隐私保护数据的计算,这部分会将某些隐私计算能力集成到智能合约中。
使用的技术包括多方安全计算(multi-party secure computing)、全同态加密等。 这三种技术解决方案可以在许多领域提供隐私保护应用,例如去中心化金融 (DeFi)、医疗保健、社交网络、数字版权管理等。
设计理念
NuLink 网络集成了应用层、密码层、存储层、区块链层和观察者网络。
1. 架构设计
(1) 应用层:应用层是一个抽象的接口层,直接与应用交互。应用层还需要与密码层交互以将隐私数据授权给密码层。
(2) 密码层:密码层是一个实体,代表应用层处理加密操作。加密操作包括 密钥生成、加密、解密等。密码层还需要连接到存储层,负责上传和下载加密的隐私数据。
(3) 存储层:存储层。存储层是一个存储网络,可用于存储加密的隐私数据。 目前,我们将星际文件系统(Interplanetary File System,IPFS)作为我们的去中 心化存储网络。其他的存储网络,如 Swarm 和 S3 将很快推出。
(4) 区块链层:区块链层是一个可以处理代理注册和重加密请求管理的区块 链系统。目前,代理机构(Proxies)只能在以太坊注册。然而,用户可以将他们 的请求发送到其他区块链系统,如 Polkadot 和 Solana。
(5) 观察者网络:观察者网络是一个中继网络,将代理节点的信息从以太坊 转发到其他区块链系统。观察者网络将在链上治理机制(DAO)下维护,以保证 其去中心化和安全。
NuLink 用户可以简单地集成到一个 API 中并访问多个有关存储和区块链的解决方案。矿工在存储层中通过提供去中心化的存储服务,获得NuLink的token (NLK),也可以在观察者层中通过转发来自 ETH 的信息到其他区块链系统,获得NuLink的token。
2. 加密原语(Crypto Primitives)
NuLink 提供的核心产品是去中心化的隐私保护技术,它是区块链和密码学 技术的有机结合。涉及的密码学原语包括代理重加密、全同态加密、零知识证明 等。本节将介绍这些加密原语和 NuLink 使用的方案,并解释这些原语如何在 NuLink 系统中工作。
零知识证明
零知识证明由 S Goldwasser 等人在 1989 年首次提出,是指证明者让验证者相信某个结论是正确的,而不向验证者提供任何有用信息。它有以下三个特性:
完整性:如果证明者和验证者双方都是诚实的,并且遵循证明过程的每一步, 那么证明一定会成功,验证者一定会接受证明者。
稳健性:没有人可以伪造新的证明并成功使其通过验证。
零知识:在验证过程之后,验证者验证证明者具有知识,但没有获得关于该知识的任何信息。从证明者的角度来看,验证者没有侵犯隐私。
注:按照参与者是否需要互动,零知识证明可以分为交互式零知识证明和非交互 式零知识证明(Non-Interactive Zero Knowledge,NIZK)。非交互式零知识证明适 用于去中心化的场景。常用的非交互式零知识证明方案有 ZK-SNARK,ZK- STARK Bulletproofs,PLONK,Supersonic,Malin 等。每种方案都有自己的优势, 我们可以根据所涉及的不同场景来选择合适的方案。
代理重加密
代理重加密是公钥加密(Public-Key Encryption,PKE)的一种类型,它允许 代理实体将数据从一个公钥转换或重新加密到另一个公钥,而不需要访问基础明 文或私钥。
发布者 Alice 用自己的公钥将数据 m 加密成 cA,然后 Alice 将密文 cA发送给代理人并为其生成一个重新加密的密钥,该密钥由 Alice 自己计算。
接下来,代理人使用重新加密的密钥将密码文本 cA 转换为可由 Bob 用 其私钥解密的密码文本 cB,并将其发送给 Bob。代理人只提供计算转换服务, 不能获得明文。
Bob 解密了 Alice 想要安全分享的明文 m。
代理重加密在 NuLink 的私人数据共享中发挥了作用。具体来说,NuLink 使 用 NuCypher 的 Umbral 代理重加密方案。Umbral 是一个遵循密钥封装机制(Key Encapsulation Mechanism,KEM,一种同时使用公钥加密方案和私钥加密方案对 消息进行加密的技术)的阈值代理重加密方案。它的灵感来自 ECIES KEM 和 BBS98 代理重加密方案。通过 Umbral,Alice-在 NuCypher 密钥管理系统(KMS) 中数据所有者的通用名称-可以通过一组有 N 个半信任的代理机构执行的重加密 机制,来将任何属于她密文的解密权利委托给 Bob。当这些代理机构至少有 t 个 (在 N 个中)参与执行重加密时,Bob 能够合并这些独立的重加密机制并使用他 的私钥解密原始信息。
使用 Umbral,NuLink 不仅可以轻松实现单用户对单用户的私有数据共享— (我们再次强调 Umbral 是一个阈值方案),NuLink 还可以实现单用户对多用户 的私有数据共享。
基于身份的加密和基于属性的加密
基于身份的加密(Identity-Based Encryption,IBE)和基于属性的加密都属于 控制访问权限的公钥加密方案。前者可以指定接收者的身份信息,而后者可以指 定接收者的属性。NuLink 使用这两种技术来实现更多功能的数据共享。
使用(普通)公钥加密方式来传输数据有一定的缺陷和风险。例如,公钥通 常是一系列无意义的随机数字。如果在加密过程中错误地使用公钥,密文就不能 被正确的接收者解密。同时,它很可能将信息透露给错误的用户,甚至是恶意的 用户。事实上,在现实生活中,就有这样的攻击方法:恶意用户欺骗发件人,替 换接收者的公钥。
基于身份的加密通过将用户的身份信息直接绑定到公钥上解决了这个问题。 它类似于一个理想的电子邮件系统。如果你知道某人的身份,你可以给他们发送 一封只有他们能读的信。你可以验证他们的签名。
在此基础上,基于属性的加密技术做了更进一步的功能扩展。如果我们把属性定义为事物或信息的特征,策略就是这些特征之间的关系(译者注:属性之间 的关系,比如,Alice 的账户余额和信用额度是她的属性,那么“额度是否大于 余额的 5 倍”可以是一个策略)。那么 IBE 使用最简单的策略和属性匹配,也就 是验证身份属性。在 ABE 中,属性和策略的选择更加多样化。ABE 一般分为两 类。密钥策略(KP-ABE)将策略嵌入到密钥中,将属性嵌入到密文中。密文策 略(CP-ABE)将策略嵌入密文,将属性嵌入钥匙。因为这两种方案在结构上有 双重关系,所以在方案设计中经常进行类比转移,但它们在具体应用场景上有很 大不同。
NuLink 选择了 CP-ABE,因为策略是嵌入在密文中的。这意味着,数据所有 者可以通过设置策略来决定哪些属性可以访问密文,这相当于为该数据做了一个 加密的访问控制,这样其颗粒度可以细化到属性级别。
全同态加密
全同态加密是指在没有私钥的情况下计算密码文本的能力。也就是说,对于任何有效的 f(data)和明文 m,有一个特殊的属性 f(Enc(m)) = Enc(f(m))。
全同态加密被称为密码学的圣杯。由 Rivest 在 1978 年提出。30 多年后,在 2009 年,Craig Gentry 构建了第一个全同态加密方案。
目前,安全高效的全同态加密方案是建立在 LWE 问题和 Ring-LWE 问题的点阵上。它们是抗量子攻击的,即使在后量子时代也能提供足够的安全性。目前,全同态加密受到效率的限制,这主要取决于密文的操作模式。FHEW 和 TFHE 密码系统更适合处理布尔逻辑运算,而同态加密(BGV)、全同态加密 和近似计算同态加密(CKKS)则更适合于批量处理和计算仿射变换。对于非线 性任意函数,最新的 PBS 技术在效率方面有良好的表现。因此,NuLink 将建立 不同的全同态加密算法来提高效率。
全同态加密具有广泛的理论和实践应用,特别是在去中心化的隐私保护产品 中。
系统中算力不够强的节点可以将其数据以密文的形式存储在存储层。当需要 进行数据计算时,用户向计算节点发起计算授权。计算节点进行相应的密文操作, 得到加密的结果,用户下载结果并解密,就可以得到最后的明文结果。在整个计 算过程中,只有数据的所有者才有能力解密,所以用户的数据隐私可以得到保证。
3. 解决方案
数据可用性
作为一个专注于数据隐私的平台,我们首先需要解决的就是数据可用性问题。这个问题往往分为两部分:第一是消费者在购买前如何确定卖家是否有自己需要的数据,第二是如何验证在密文状态下的数据是否真实。
在 NuLink 网络中,这两个问题可以通过零知识证明技术来解决:数据所有 者需要在数据授权前提供零知识证明。事实上,密文状态下的证明方法与明文状 态下的证明方法是一致的,这与使用的加密方案无关。这为 NuLink 网络提供了更高的灵活性。
数据共享
NuLink 的数据共享功能是通过将代理重加密技术桥接到区块链系统来实现 的。这是 NuLink 将首先部署的一项功能,IBE 和 ABE 将在以后加入这个解决方案。该解决方案可以应用在很多场景中。
首先,Alice 通过物联网设备上的 APP 调用应用层,选择代理重加密服务并 授权。在 Alice 的 NuLink 端,应用层收到授权后,调用区块链层发起和验证交 易,并将数据传输到密码层。密码层与存储层交互以执行加密操作并上传加密数 据。这一步得到的加密过的数据只有 Alice 才能解密。为了将其转换为 Bob 可以 解密的密文,我们通过 NuCypher 部署的 Ursula 节点实现代理重加密,重新加密后,加密后的数据将发送到 Bob 的 NuLink 端的密码层,可以直接解密。
数据计算
未来 NuLink 的数据计算功能将通过将全同态加密技术桥接到区块链系统来 实现。它利用了全同态加密可以计算密文的特性,即用户在应用层选择数据计算 服务。收到授权后,密码层执行全同态加密,并将用户的数据上传到存储层。区 块链层的计算节点将访问数据并执行指定的计算(如机器学习,模型预测等)。 最后将密文结果返回给存储层,密码层访问密文结果,解密后返回给用户。我们 后续将在此解决方案中添加多方计算(MPC)。
4. 工作流程
例如,用户 A 有数据库 D,用户 B 想使用 A 的数据库进行机器学习计算。 用户 A 提供数据,但不希望任何参与者(包括 B)访问其数据库,要求 B 只能 访问计算结果。
设置:在进入网络时,密码层为所有用户生成一个对称密钥和一个同态密钥 对。公钥将会开放。这些密钥可以随时更新,用户的密文数据需要同步更新。
应用层:用户 A 使用应用层,选择数据计算服务并授权密码层。同时,A 向 区块链层发送交易,指定其请求服务的节点,并支付服务费。
区块链层:检查并广播相应区块链中的交易。
密码层:密码层与存储层交互,用对称密钥加密数据库,用同态公钥加密对 称密钥,上传密文。对称加密的优点是加密和解密效率高,体积小,占用带宽低。 与此同时,密码层向计算节点发起计算请求。
计算网络:计算节点将收到密文并首先进行同态解密。这一操作可以将对称 加密的密文转换成同态加密的密文,并继续其机器学习计算。计算的正确性和安 全性是由同态加密技术保证的。计算结果是密文形式,只能由用户 A 解密,所以 计算节点向代理网络发送了一个重加密请求。
代理网络:目前,我们使用的代理网络是 NuCypher 的 Ursula 网络。在未来, 我们将根据我们的需求建立 NuLink 自己的代理网络。对于 ETH 中的代理重加 密请求,通过 NuCypher 部署在以太坊上的 Ursula 节点,我们可以直接提供代理 重加密服务。此时,密文将被转换为用户 B 可以直接解密的新的密文。这是由代 理重加密技术保证的。对于 Polkadot 或其他生态系统中的代理重加密请求,我们 建立了观察者网络。
观察者网络:观察者网络将把 Ursula 节点的信息从以太坊转达给其他生态 系统。当这种情况发生时,通过 Ursula 实现的代理重加密可以映射到其他生态系 统中。
密码层(B 端):在这一步骤中,密文被传送到 B 端的密码层,解密后可以 得到计算结果。
应用层(B 端):在收到密码层发送的计算结果后,应用层可以将其显示给 B。
NuLink 网络中有多个参与者。它们可以分为两大类:“提供者”和“用户”。 “提供者”实际上是节点,是各种在 NuLink 网络中提供不同服务的节点。根据 提供的服务类型不同,提供者可以分为代理人、计算提供者、观察者、存储提供 者。“用户”是指在 NuLink 网络中使用各种资源的参与者,可以分为数据提供者 和数据消费者。
下面我们就来详细地讲解这些术语:
代理人:在 NuLink 网络中,代理人的作用与 NuCypher 中的 Ursula 节点相 同。代理人需要在一段时间内注册和抵押 NuCypher(NU)通证,在锁定期内他 们为用户提供重新加密服务,他们的服务也会得到相应的回报和奖励。奖励包括 两个组成部分:NU 通证作为恒定奖励,其他token作为服务费。具体取决于代理 服务的公链(以太链上的 ETH 和其他公链中的 NLK)。如果代理人违反协议, 他们将会受到 slash 惩罚,即自动扣除所抵押的token。
计算提供者:计算提供者则是一种在 NuLink 网络中提供全同态加密服务的 节点。他们需要在一定时间内质押相应数量的 NLK并保持质押以获得奖励。 所奖励的 NLK,由两部分组成:固定奖励和服务期限内所收取的服务费。 如果计算提供商违反协议,他们也承担被自动扣除质押token的风险。
观察者:观察者是指负责将代理人的注册信息从以太链上跨到其他公链的节 点上。NuLink 将建立一个链上治理机制(DAO)来管理观察者网络。想要成为 观察者的候选人的话需要先质押 NLK,才有资格参加观察者的选举。赢得观察 者竞选的候选人,其 NLK 通证在一个特定区块完成的周期内必须在链上锁定并 保持质押。那些在观察者竞选中失败的人可以取回他们质押的 NLK。观察者将 被要求监管 NuCypher 与以太坊的质押合约,并将代理的更新信息跨链到多个公链(如 Polkadot、Solana、Near 等)上。他们可以通过提供这样的服务来获得固 定比例的奖励。同样,观察者也将受到 slash 惩罚机制的约束。
存储提供者:存储提供者是为 NuLink 网络提供去中心化的存储能力和存储服务的节点。NuLink 网络支持第三方去中心化存储,并使用 NLK 来激励存储网络。
数据提供者:数据提供者是 NuLink 生态系统中数据的所有者。他们可以使 用 NuLink 网络的隐私保护数据共享功能,与数据消费者安全地共享他们的数据。 数据提供者还可以通过隐私保护数据计算功能,为数据消费者的计算模型提供他 们的数据。这里需要提到的是,数据提供者需要向其他提供者支付服务费用,并且可以在链下渠道中向数据消费者收取这部分费用。
数据消费者:数据消费者是 NuLink 生态系统中数据的接收者。他们可以要 求数据提供者直接共享数据,也可以提供计算模型以安全的方式使用数据提供者 的数据。他们可以与数据提供者进行交易,以换取链上或链下数据的访问权限。 NuLink 计划在不久的将来提供一个链上交易市场。
NLK的功能和价值
作为不同提供者(代理人,观察者,计算提供者,存储提供者)质押的 抵押品。提供者需要在 NuLink 网络里质押 NLK 而提供服务并享受福利。同时, 他们将在接受惩罚时承担 NLK 被消减的风险。
作为不同提供者(代理人,观察者,计算提供者,存储提供者)的质押 福利。在提供者提供一定服务的情况下,他们将会被奖励 NLK。
作为 NuLink 网络的服务费。想要获取服务(加密数据管理,加密数据分享或加密数据计算)的用户将会支付费用给相应的提供者。
用以 DAO 选举和投票。NLK 用来在提案上投票。
NLK 是 NuLink 网络通证。它的价值和 NuLink 网络的规模成正比。NLK 的 需求和价值可能在以下场景中增加:
当更多的去中心化 App 在 NuLink 网络生态里开发以及更多的用户使用 NuLink 网络。
当更多的去中心化 App 在 NuLink 网络生态里以及以此为基础的商业应 用(加密 NFTs 交易市场,IOT 设备的数据收集加密共享,医疗数据的协同分析, 金融加密数据预测,信用记录查询,私密社交网络,去中心化的数字权益管理等) 将会导致对 NLK 需求的增加。
当流通中的NLK总量因为它们在使用或锁定在网络中而减少时。比如, 在对链上治理进行质押或投票时。
应用设想
电子病历共享
NuLink 网络能够构建一个强大的电子病历共享平台。作为数据提供者,患 者拥有电子病历和加密密钥,他们的病历将被加密并存储在去中心化网络中,患 者有权限来决定谁访问他们的数据,他们能够将安全访问权限授权给医院或者保 险公司这样的第三方。
注重隐私保护的社交网络
NuLink 网络能够构建一个注重隐私保护的社交网络,用户在使用端到端的加密群组进行信息交流时,可以很容易地通过授予或撤销访问权限从而在聊天中添加或删除成员。NuLink 解决方案会避免参与者因多次单独执行加密,发送消息所造成开销的情况。此外,用户还可以只与某一群人分享一个帖子,而不必担心信息泄露,尤其是对社交网络中的数据所有者。
去中心化的数字版权管理
NuLink 网络能够部署去中心化的数字版权管理平台。数字资产的所有者可 以将数字资产产权登记在区块链里面,他们可以加密他们的数字资产(并在平台 上)发布存储网络中的数字资产的加密版本。有购买意愿的买家可以支付一定报 酬获得临时访问权限。在整个过程中,只有所有者和买家可以访问数字资产。
加密非同质化代币(NFT)
为了保证 NFT 交易的安全,交易分为两部分:支付和所有权的转移。这些需要在链上完成,而 NFT 传输需要在链下同步安全的 完成。Alice 首先通过使用 NuLink 的代理重加密功能将她的 NFT 资源加密并上传到 NuLink 网络,这样 NFT 就可以安全地传 输给 Bob。Alice 和 Bob 的加密 NFT 数据将通过铸造操作被写入区块链中:这一步完成了 NFT 所有权在链上的转移。
汽车数据共享
车主或使用者需要能够与第三方共享他们的车辆数据——也许是保险公司, 这样他们可以获得优惠后的保险费,或者是 MaaS(出行即服务)公司来解决争 端。显然,数据所有者不会希望在数据传输过程中有任何另外的第三方接触到他们的数据。
在从 OBD 端口读出数据后,通过 NuLink 的代理重加密功能,数据将被从 端点加密并发送到企业服务器。甚至在车主发动汽车之前,密钥就将自动授予保 险公司或者 MaaS 公司。