8. 工作流程
例如,用户 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
网友评论