浅谈:如何解决公共区块链上的隐私需求

[复制链接]
9411 |0
发表于 2019-10-10 19:00:10 | 显示全部楼层 |阅读模式
在这个联系日益紧密的世界中,我们的信息频繁地被人复制、共享及出售,因此想要保护隐私并不是一件易事。


和大多数事物一样,隐私并非是二元对立关系的,而是介于完全公开及完全隐私之间。因此,在谈到隐私问题时,我们需要进一步讨论三个问题。
1.消费者和企业想要怎样程度的隐私?
2.人们愿意为隐私付出代价(成本和精力)吗?
3.在公共区块链上实现隐私交易要权衡哪些条件?
本文旨在简要研究公共区块链上的实际隐私需求,并在高维度上讨论实施隐私解决方案的权衡取舍。
问题一:什么程度的隐私才是有意义的?
隐私的其中一个例子就是匿名,或者说身份私密化。在公共区块链的背景下,匿名指的是各方无需透露有关其自身或其他交易者身份相关信息的情况下交换某物(即金钱、代币或数据)。尽管这只是隐私的一个方面,但随着区块链的发展,它已经变得越来越重要。
像BTC和ETH之类的加密货币,因为相关交易地址及信息公开,再加上分析方法的不断发展,人们可将这些交易与链外身份关联到一起,使得这些加密货币的使用者的身份变得越来越透明。
在隐私方面,企业和消费者有着截然不同的需求。企业通常需要交易数据方面的隐私,例如产品名称、数量、价格、地址、个人身份财务信息等。
网络参与者通常是已知的,但根据角色的不同,可能需要将数据提供给其他参与者。例如,货运代理可能不需要知道某个运输集装箱里头装了什么,只需知道该集装箱已经到达。银行规定还会限制谁可以访问交易数据。安永公司(一家总部位于英国的会计师事务所)的Nightfall协议和摩根大通为Quorum(摩根大通倾力打造的一个区块链平台)定制的匿名Zether协议是企业为ETH开发隐私解决方案的主要示例。
与通常在隐私方面具有很强的商业动机或监管的企业相比,迄今为止,消费者对隐私的了解和关注程度普遍偏低。当然,消费者也希望保护自己的身份、信用卡信息或其他敏感数据,以防止欺诈或身份盗用。有时消费者希望交易匿名,就需要交易的发送方及接收方都具有隐私性。然而,隐私在消费者的日常生活中并不是不可或缺的,大多数人为了便利或免费访问(接受Cookie、使用免费wifi上网、跟踪web冲浪等)而自愿牺牲自己的隐私。
问题二:隐私有需求吗?
隐私通常用于消息传递,保护各方之间发送的内容。它还被用于更广泛的通信通道和底层网络层构造中。如今构造已多种多样,从公钥密码学的演变及其采用,到生成端到端安全网络/传输层协议(IPSec v2,SSL)的其他密钥交换机制。此外,这也确保了安全的DNS查询以及基于Tor的中继器的采用。很多工作催生了学术研究及企业采用的开放标准,以确保数据传输过程中的隐私和保密性,但其中许多技术已在零售用户技术堆栈中找到了自己的出路,从而使终端用户受益。
尤其是在区块链方面,尽管Zcash已存在了将近3年的时间,但只有大约5%的大零币使用了SNARKs(其中约有一半使用旧版SNARKs)。另外大约95%的大零币存储在几乎无隐私度的透明地址中。在这种低采用的情况下,我们可以推断出,也许大多数用户还没有感觉到需要为隐私付出成本和精力。
然而,最终区块链技术要成为主流仍然需要隐私。诸如SSL之类的内置隐私层的成功使互联网成为一种值得信赖的商业媒介,这表明消费者和企业所希望的隐私,是被内置到系统和应用当中的。
问题三:隐私的权衡
第三个问题更具技术性,需要更深入地研究如何在ETH实现隐私,以及所涉及的各种机制之间的权衡。区块链网络需要在可扩展性与去中心化性之间进行权衡,而隐私机制和技术则需要权衡自己。本文将研究其他注重隐私的区块链为隐私实现了什么解决方案,然后讨论一些ETH网络隐私解决方案。
其他以隐私为中心的区块链的经验教训(门罗和Zcash)
在详细介绍ETH之前,不妨先来说说匿名币中的两个典型——门罗和Zcash。在早期山寨币时代中,门罗十分特殊,因为它的代码库并不源自BTC代码库,而是基于一个完全不相关的加密货币项目ByteDAC(使用的是CryptoNote协议的参考设计)。原CryptoNote设计通过混合一笔交易的发送者(通过混合他们的签名以及很多其他诱饵签名来实现)来达到隐私目的。通过这一点,再结合隐匿地址方案,给门罗带来了非常强大的隐私保证。这一“环形签名”方案早就被誉为是一种内置混合器,但其并不成熟。
2017年,随着RingCT技术的引入,环形签名隐藏交易数据的能力得到了极大的提高。RingCT使用零知识范围证明,增加了可批量处理的签名种类。RingCT的引入还强制执行了最低混合要求,以减少困扰着早期门罗的可链接性攻击。目前,环形签名面临的主要挑战之一是,存储在门罗区块链上,会占用大量磁盘空间。此外,环形签名并不适用于大型群体,目前仅限于10到15人的群体。
2018年末,门罗引入“防弹协议”,一种全新的零知识方案,它与环形签名的数量成对数扩展,从而减少交易所需大小。这大大降低门罗的隐私交易成本。
Zcash是首个使用zkSNARKs技术的加密货币。用户可发送仅对接收方可见的完全隐私的交易。对于第三者来说,大零币似乎被发送到了一个巨大的加密黑匣子中,当接收方想将他们的币移回到非隐私地址(与标准BTC地址非常类似),这些币似乎又凭空冒出来了,这使得发送者和接收者之间没有明显的联系。但关于零知识证明有一点需要注意,它的运行需要消耗更多的算力,因此这也使得交易费用变得更加昂贵。
可替代性所面临的威胁
ETH网络提供伪匿名性(即交易链接到由用户持有的私钥所对应的地址),且其分布式性质和透明性使许多全新的技术得以实现。
但是,与BTC类似,ETH也会无意中暴露使用这些数字资产的用户的信息。
隐私所面临的威胁之一在于,公钥和私钥可以与身份相关联。鉴于像BTC和ETH这样的区块链,使用其内置交易框架就好比吃面包会掉面包屑一样,攻击者可追踪到所有资产(甚至是可替代资产)的交易路径。
生成地址所带来的隐私性
随着隐私技术的进步,我们可考虑更多更为复杂的威胁模型。2012年,BIP32引入了分层确定性密钥,通过种子生成主私钥,然后派生出私钥和地址。这使得用户每次接受交易时都可以生成新地址,而且所有这些地址都可被轻松导出和导入到新的钱包中,而不必分别导入不同的随机生成密钥。
而ETH也有相同的功能,尽管其新生成的密钥只有在获得燃料费以太坊之前,才能与智能合约进行交互。由于许多构建在ETH上的系统都将用户的现实世界身份与其地址联系在一起,这也使问题变得更加棘手。链接到ETH地址的额外元数据量会使ETH特别容易遭受去匿名化攻击。但幸运的是,那些使ETH暴露于这些威胁的智能合约,也可被尖端的新密码学系统所使用,从而实现安全和无缝的隐私交易。
ZK结构和预信任机制
许多零知识结构需要所谓的“预信任机制”。这意味着整个结构都要依赖于特殊随机数的生成,任何知道这些随机数的人都能够窥探内部操作。因此,为了减轻这些顾虑,人们就设计了复杂的方法来生成这些随机参数,以确保结构能够被信任。这通常还涉及到社区几个可信成员的参与,每个成员都要派生出他们自己的私人随机数据,并以某种方式将它们彼此组合,如果其中任一参与方删除了他们的密钥数据,那么秘密值就是安全的。因此,所有参与方都需要联合起来保护结构的安全。
值得注意的是,门罗使用的防弹协议无需预信任机制,而Zcash中的zkSNARK却是需要的。著名的RadioLab播客就有记录Zcash的预信任机制仪式。然而STARK无需预信任机制,因为它们使用哈希函数选择作为其“机制”,而不是任何特殊数字。
零知识Note(ZK-Note)
作为ETH隐私领域的先驱,AZTEC协议使用“零知识Note”系统来追踪隐秘的财务状况。这些note在ETH网络上可见,包括每个note的所有者,但是除了note所有者之外,note上存储的金额数量对其他所有人而言都是不可见的。
当一个note所有者决定执行“joinSplit”操作时,零知识的特点在于,他们可以记下其控制的任意数量的note,并创建一组输出note,这些note可能属于也可以不属于其他人。与隐形地址技术相结合,使创建的每个新note都归一个完全干净的ETH地址所有(以前从未在网络上使用过)。在一个常见用例中,一个“ZK-Exchange(零知识资产)”合约可连接到任何ERC20兼容代币,允许用户存放代币以生成ZK-Note,并允许用户燃烧ZK-Note进行提币。该机制允许ETH网络上的任何现有资产以保护隐私的方式进行交易。AZTEC协议使用的证明比ZK-Snarks更易于使用,但仍需预信任机制。
AZTEC也在探索拥有其他新生解决方案的预信任机制。PLONK是一种新型的、高效的ZK-SNARK结构,需要预信任机制,并且所有程序都可以重用此机制。由于PLONK对燃料费需求并不大,因此它对ETH而言更有实用价值。因此,AZTEC协议首席执行官Tom Pocock认为,PLONK可用于编程复杂的逻辑语句,以保持完美的隐私。
使用安全MPC的ZK
在ZKBoo以及最近的Ligero例子中,零知识证明系统就与安全多方计算(MPC)进行了结合使用。这要求证明者提交安全的MPC协议的记录,然后由验证者随机评估其中一方的视图,将安全多方计算协议“编译”成ZK-PCP系统(最早使用概率证明的ZK系统之一)。更重要的是,使用MPC有可能创建隐私智能合约。
与ZK-STARK相同,基于MPC的证明具有:
·透明性——随机数的生成是公开信息
·后量子安全性——依赖公共随机性和哈希函数的可用性仍然是量子系统无法大规模解决的问题
·可扩展性——基于MPC的证明具有一个(准线性)证明时间及一个验证者时间,这可提高分期和批量计算的效率
使用此类技术的一些权衡取舍涉及如何使这些技术对中小型“电路”或问题具有最佳效果,而这可能会导致验证程序出现可扩展性问题。
也就是说,基于MPC的技术在区块链领域还没有得到充分开发,这些技术将比现有的ZK技术更加通用,特别是在各方需保护与实际计算本身相关的机密信息的情况下。例如,MPC技术对于尝试运行信用评分算法来评估客户信用度而言是有用的,无论客户还是银行都不想放弃与其交易历史相关的机密信息以及在ML信用评分模型中的权重。
硬件限制
当Zcash首次提出使用zk-SNARKs来发送交易的想法时,人们对使用隐藏交易所需的算力感到十分的担忧(生成一笔交易需要几个小时或更长时间)。而相对于那时,我们已经取得了长足的进步,现代实现如今能够在浏览器甚至移动设备上在几秒钟内就完成类似的任务。
隐私混合器
混合器是最近一个备受关注的话题。早在今年五月,Vitalik就发布了ETH网络下一代混合器的设计动机和粗略概要。
用户需要ETH混合器来帮助他们实现钱包或个人的隐私交易。以太币的可追溯性意味着特定交易可被追踪并链接到其他钱包、账户等。而混合器则用于交换以太币,以提高交易的隐私性。
从那时起,许多团队致力于使混合器更适用于ETH。以下是一个最新图表,计算了相关混合交易的燃料费成本。

应用层的单个混合器永远不会给用户带来绝对的隐私性,而只是提供了概率保证。然而,这也许足以满足大多数个人及企业的需求。
谁为燃料费买单?——中继者的涌现
然而,上述这些混合器方法都存在一个致命缺陷,也就是最终需要有人支付燃料费才能确认输出。那这些以太币从何而来呢?如果支付最终输出的以太币可追溯到某个用户,那么该用户相当于失去了匿名保护,这就违背了整个隐私目的。
这就等于产生了一种隐私方面的“先有鸡还是先有蛋”的场景,在这种情况下,接受匿名以太币的唯一方法就是已拥有匿名以太币。在Vitalik的原混合器帖子中,他用一个简单的中继器注册合约解决了这个问题,其中承诺发布任意交易的中继运营者可注册一个火币全球生态通证TP端点,这样交易就可实现匿名发布。
最后,我们还必须考虑钱包和操作的安全性问题。这就需要在保护用户安全的同时,又不会给他们带来太麻烦的体验,这个问题还在讨论中。所有这些混合器解决方案都需要大量参与者来合理地预期隐私,因此工具需要易于大众使用,但是这里的任何捷径都可能导致一些严重侵犯隐私的行为。打个比方,某个用户混合了一些以太币,将其中一部分以太币用于隐私交易上,但后来却忘了他们将哪个钱包用于隐私交易了,然后将剩余的以太币发回某个与他们公开关联的地址中。
这些技术以及行业中正在开发的其他许多技术,都表明ETH网络的隐私问题已得到越来越多的重视,这些技术进展可能很快会得到巨大的推动。虽然在公共区块链上实现隐私似乎有些自相矛盾,但零知识和其他隐私技术方案将使得各种新的、尖端的用例成为可能。同时,这些解决方案将增强用户的能力,让他们对自己的财务隐私放心。
展望未来
虽然本文并不是对ETH所有隐私方案的完整概述,但它研究了实现企业及消费者隐私需求的各种方法。加密生态系统中的许多个体都受到了能够提供自由的抗审查技术的启发。匿名交易或保护个人信息的能力对于创建一个加密原生世界至关重要。当说到隐私时,其实并没有什么灵丹妙药能够解决所有的问题,而是需要针对不同的用例使用不同的方法和机制。
因此,我们将继续研究和评估ETH的隐私解决方案,以帮助科普和推动这类技术的发展。未来我们还会发布有关具体隐私解决方案的帖子,以及解释各种隐私技术的报告,以及对当前正在构建隐私解决方案的项目和公司的更深入分析。


作者 | 本文由Dean Pierce,Robert Drost和Mason Nystrom合著。
翻译 | 头等仓(First.vip)Annie
校对 | 头等仓(First.vip)Gisele
转载请保留文末信息。

20191010155018_KO10.jpg

20191010155018_KO10.jpg
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表