据《美国银行家报》报道,R3联盟在去年11月发布了一份有关交易工具的简述,其中罗列了软件开发者设计的隐私保护工具,用于保护区块链交易隐私。
这份研究结果之前从未公开,比较了各种不同方法的隐私度。Zcash联合创始人Jack Gavigan是该项研究的负责人。作为零知识证明(zero-knowledge proofs,ZKP)的典型用例,加密货币Zcash也在本次评估范围之内。金融机构迫切地希望利用区块链技术的效率,但隐私性的缺失是一个重大障碍。
德意志银行(Deutsche Bank)全球银行业务的首席技术官Edward Budd表示,区块链的隐私性需求与任意金融市场技术存在的监管问题同样重要。
在区块链交易环境中,软件开发者已经提出了多种保护客户隐私的方法,包括私有链(permissioned blockchains)、链下(off-chain)方式、多用户混币、环签名(ring signatures)、Pederson commitment、零知识证明以及隐身地址(stealth addresses)。
这项研究表明,这些提高隐私性需求的技术需要存储大量的数据。
与其它提高比特币隐私的技术相比,门罗币(Monero)的环签名交易(隐藏发送地址)所需容量最大。而比特币的交易容量最小,CryptoNote、Zcash和保密交易(Confidential Transactions)紧随其后。
以下就是报告中对几种隐私性技术的分析。
私有账簿
私有账簿会为区块链中的参与者设限,他们的身份必须是互相知晓的。这份研究将私有链定义为“低技术含量”的隐私性选择。在需要多部门保密性的内部交易和反垄断规则中,这类账簿可能无法做到保护参与者的利益。
链下方式
这一分类包括链下信息传送、侧链(sidechain)以及区块链中隔离数据的交易通道。侧链和交易通道使用者可以在私有化控制下的链中进行交易,其中的资产在公链中也是有效的。这类方法虽然能够提高隐私性,但不同的计算机中需要进行数据复制,因此会破坏网络回弹力。
混币
混币服务将不同用户手中的币混合在一起,减少单笔份额,并分配给特定的接收者。这一过程会导致交易历史的随机化。成功的混币服务会聚合大量的随机交易进行再分配,这是一个需要协调的并且相当耗时的方法。
而且监管者可能会盯上混币服务。
环签名
环签名是CryptoNote协议的一部分,门罗币部署环签名用于隐藏发送方地址。用这种技术发送的交易通常捆绑了多个发送方的私钥(private key)。因此,光从环签名来看,很难识别出交易发送方以及最终的签署方信息。
Zcash联合创始人Zooko Wilcox也参与了这份研究,他认为环签名策略就是“在人群中隐藏”,其成功与否取决于“人群”的规模以及成员的随机性。
不过,有部分观察值能够提高攻击者定位地址的准确度,比如说研究每个地址的前一笔交易。
门罗采用了一种三角分配的方法定位虚假地址。与交易地址中闲置的币相比,这种方法对于近期在交易中被频繁使用的币更为有效,得出的结果也更加真实。
Pederson Commitments
Bitcoin core开发者Greg Maxwell研发出了Pederson commitments作为其保密交易的一部分。在这类环境中,发送方选择的交易金额可以不对外公开,而是用哈希(hash)在区块链中进行标记。用户可以通过复制区块链中的哈希来向接收者说明交易金额,并且证明自己的身份。
Pederson commitment是可转让的,因此接收者可以继续在不公开金额的前提下花费这笔钱。这些哈希以“同态化”的形式呈现,可以在不进行数据解密的前提下承担简单的算术函数功能。
零知识证明
使用Zcash零知识证明的用户能够在不泄露数据内容的情况下证明数据状态。这种方式用于加密数据的密码学验证,可以不公开发送方以及交易金额,但同时又能做到证明这笔交易的合理性。
这项研究的作者意识到零知识证明的速度很慢。整个计算过程需要花费约48秒的时间。因此,这种方法不适合用在大流量交易中。
另外,加密货币要想部署零知识证明还需要其它一些密码学要素。这一过程创建的私钥能够创造出“假币”,而Zcash用户必须相信这些虚假的密钥已经被销毁。
Zcash采用了一种去中心化的参数生成方式,旨在确保私钥不会被复制。他们创建了6个单独的密钥碎片分别散落在全球各地。因此,别有用心的攻击者很可能会收集这6个密钥。
隐身地址
隐身地址的应用会逆转货币接收过程,将地址转播给发送方。发送方可以通过隐身地址创建一个新的地址,并塞入交易。既然这个地址是新的,发送方就知道接收者需要密钥来进行开启。
在这一环境中,交易双方可以相互约定一个目标地址,不向系统透露数据,也不会共享在接收者控制中的其它地址。
上述提到的每一种方法都能在特定的领域发挥所长。Gavigan说,很多部署方式通常会结合不同的技术。
与此同时,各个公司的需求也不尽相同。