智能合约隐私计算之开篇

本文首发公众号 VenusBlockChain,关注公众号后可免费阅读!VenusBlockChain 致力于区块链技术研究,传播区块链技术和解决方案、区块链应用落地、区块链行业动态等。
在这里插入图片描述

1 区块链隐私泄露问题

在 CIA 三要素中,区块链在确保完整性和可用性方面天然具有某种优势,但在确保机密性方面尚存在较大挑战。

隐私是一种与公共利益、群体利益无关,当事人不愿他人知道或他人不便知道的个人信息(只能公开于有保密义务的人)、当事人不愿他人干涉或他人不便干涉的个人私事,以及当事人不愿他人侵入或他人不便侵入的个人领域。

区块链技术的逻辑要求相关上链数据必须得到不同节点的共识验证。因此,区块链上的数据隐私保护与传统的数据隐私保护相比,具有不同的特点与要求,往往需要设计专门的隐私保护策略:

一是设计隐私保护技术方案,区块链在设计和实现时,宜考虑提供适当的隐私保护方案来加强对其上运行的隐私数据的保护。

二是链上(on-chain)链下(off-chain)分割,区块链上的隐私保护,需根据实现方案考虑链上和链下隐私数据的保护策略。

三是访问控制,区块链在设计和实现时,应采取技术措施控制隐私相关数据的访问权限,对隐私数据访问者进行身份验证并检查其授权。

四是需要重点研究同态加密、零知识证明、安全多方计算、TEE(如 SGX)等技术领域,最大限度地为区块链体系提供隐私保护能力。同态加密在保证信息不解密的情况下运行。零知识证明即证明者能够在不向验证者提供信息本身内容的情况下,使验证者相信某个论断真实可信,保证身份的匿名性。

安全多方计算是解决一组互不信任的参与方之间隐私保护的协同计算问题,安全两方计算作为其特例,一般基于混淆电路和不经意传输等技术实现。TEE 技术则是在信任特定硬件设备(如 Intel 芯片的 SGX 功能)难以攻破的前提下选择在受硬件保护的 Enclave 环境中解密外部输入数据、执行智能合约代码、加密输出数据,此过程中明文信息只出现在 Enclave 中但不能被外部看到。

当然,在实现匿名的过程中,所需的代价可能较高,也可能给追踪与监管带来非常大的挑战。本节内容摘抄自参考资料[1]。

下面主要研究和讨论关于同态加密和与同态加密相关的零知识证明技术。

2 智能合约隐私计算

在区块链中,隐私主要分为身份隐私和交易隐私,身份隐私主要指的是区块链地址信息与现实生活中的身份相对于的关系。交易隐私指的是区块链上公开的信息,如输入输出地址、交易金额,以及地址之间的关系等,地址之间的关系通常指的是用户使用一个地址向另一个地址转账并且余额转入零钱地址从而暴露地址之间的关系。

在隐私保护技术方面,比较突出的有两种主流的开源密码数字货币:Monero 和 Zcash。这两种隐匿币采用的账户模型是 UTXO 模型,并非 ACCOUNT 模型。Monero 在地址隐私方面采用环签名和一次性地址技术,在交易数据隐私方面采用基于群签名和 Pedersen 承诺的 Ring CT 方案,同时也解决了交易输入输出地址不可链接且不可跟踪问题。Zcash 在交易数据隐私方面采用的是自研的非交互式零知识证明技术 zk-SNARKs。此外,业界还提出一种不用进行可信设置的非交互式零知识证明技术 Bulletproof,可结合 Pedersen 承诺解决范围证明问题。

如果用户的交易数据未加密,用户的资金情况以及交易金额等隐私信息很容易泄露,阻止了区块链技术在更多领域内的应用。虽然可以采用加密技术来对用户的交易数据进行加密,但是在传统的交易过程中,为了防止应用层发起非法交易,链码端还需要对交易数据的合法性进行校验,即对输入金额与输出金额相等性校验、交易金额大于 0 校验和用户余额大于 0 校验,这些校验在交易数据为明文时很容易完成,但是在对交易信息采用加密技术后,链码端出现的数据均为密文状态,致使无法像校验明文那样来完成校验过程,同时也无法对密文进行相关的运算,来完成对账本的更新。

同态加密是一种具有特殊属性的非对称加密方法,该加密方法可以对加密后的数据进行基本的运算,然后对结果进行解密与直接用明文进行相应的运算结果是一致的,通过使用同态加密算法,能够让链码端在不解密交易数据的情况下对交易密文进行相关的运算,来完成对用户资产的更新。

零知识证明是一种基于承诺的证明技术,该技术可以让验证者在不知道承诺中秘密的情况下,相信关于承诺中秘密的有关信息,譬如秘密所在的范围或两个承诺中是否隐藏同一个秘密,通过使用零知识证明技术,能够使链码端在交易信息为密文的情况下,判断密文中隐藏值的所在范围,来完成对交易信息的校验过程。

本专栏的主题是针对 ACCOUNT 模型,设计一种交易金额的同态加密计算和基于 FO 承诺的零知识证明方案,主要解决交易数据在智能合约中如何进行密文加法计算,同时提供对密文数据的有效性证明和验证,如交易秘密数据范围证明、交易秘密数据承诺相等证明、交易私密数据输入输出平衡验证。

下面是整个写作思路,欢迎关注和交流。
在这里插入图片描述

3 往期回顾

数字签名系列

密码学承诺系列

同态加密系列

4 参考资料

[1]https://mp.weixin.qq.com/s/rfiqphUb09ajUdHIRPWkqQ

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章