主页 > imtoken安卓版下载地址 > 以太坊话题 | 高级隐私解决方案(从零开始学习区块链 171)

以太坊话题 | 高级隐私解决方案(从零开始学习区块链 171)

imtoken安卓版下载地址 2023-10-15 05:12:55

本文是以太坊创始人 Vitalik Buterin 系列文章的最后一篇。 它专注于以太坊先进的隐私保护解决方案。 方有新的认识。 文中涉及的许多技术理论都有充分的理论依据。 之前也有文章介绍过,不过目前很多还在测试阶段。

从解决问题的方法来看,目前可以在以太坊平台上使用的高级隐私方案最好的技术有3种,分别是环签名、ZK-SNARKs零知识证明和秘钥共享技术。

高级隐私计划

环签名技术是一种特殊类型的密码签名,它可以在不泄露签名者身份(私钥对应哪个公钥)的情况下,证明签名者拥有对应一组特定公钥的私钥。 或者,还有一个更高级的版本,chainable ring signatures,它有一个额外的特性:如果你用同一个私钥签名两次,这个事实可以被检测到,但不会泄露其他信息。一般来说,可以使用环签名技术证明签名者属于某个集合的成员之一

例如,某项服务的授权用户构成了一个集合,一个人可以利用这种技术证明自己是这个集合的成员,而无需暴露自己的身份。 可链接环签名技术在区块链场景中可能是最有用的,因为可链接特性增加了抗双重支付的关键能力:在保留完全隐私的前提下,单个参与者不能进行双重支付,如果他们这样做了,就会被发现出去。

该技术的一个自然应用是区块链资产管理的简化隐私保护方案。 例如,开发人员可以集成简化版的 CoinJoin 方案。 在该方案中,用户只需要将一定单位的资产发送到智能合约,满足以下两个条件就可以将这些资产提取到另一个账户,提供可链接的环签名证明:

1.他们是存款人之一

基于以太坊的区块链_以太坊区块链开头_以太坊区块链

2. 之前没有签字,也没有提款。

如果将该技术用在现有的身份管理平台上,将作为一种具有隐私保护机制的安全的身份唯一性对应认证方案。 例如,如果监管机构允许金融平台在不验证身份信息的情况下为小额账户(如200美元以下)开通存款和转账权限,但对于超过该金额的账户,则需要提供身份验证信息。 目前,电话号码通常可以作为唯一身份认证的手段,但其缺点是:

1.不保护隐私

2.电话号码与身份没有对应关系

一种可能的解决方案(假设存在某种加密数字身份管理方案)是让用户使用可链接的环签名来证明:

以太坊区块链_基于以太坊的区块链_以太坊区块链开头

1.他们是授权用户

2. 他们还没有开户

然后他们可以开设一个限额为 199 美元的账户。 用户只有在提供更多身份信息的情况下才能将其帐户升级到更高的限额。 隐私的特征不需要是绝对的; 具体会根据不同的限额设置相应的限额。 低于此限制,只需提供少量信息,高于此限制,则需要提供更多信息。 并且可以使用可链接环签名技术来保护更高级别信息的隐私。

同态加密是可链接环签名技术的天然搭档。 加法同态加密技术背后的概念如下:你可以加密原始值,如果你加密x和y这两个值生成e(x)和e(y),第三方可以在这​​种情况下的值,或任何私人信息,计算 e(x+y) 的值。 该技术结合密码学概念“范围证明”(Range Proofs),由Greg Maxwell等人扩展成为机密交易(confidential transactions)方案,可以验证区块链上的所有交易价值和账户余额. 加密,用户只能看到自己账户的余额和输入自己账户的交易相关值,同时可以保证账户的正确性(比如交易结果是零和,一个人的收益必须对应另一个人的支出,任何人都不能凭空创造新货币,最重要的是任何账户都不能出现负余额); 令人惊讶的是,这最后一个要求使得从数学角度开发类似的方案变得困难。

这样的保密保护方案理论上可以与状态通道技术结合以太坊区块链开头,打造一个隐私保护性能高的智能合约平台:用户可以进入状态通道,他们的交互过程不会被其他用户看到,最终形成一个新的平衡集合达成共识,同时旧余额和新余额完全加密,公众可以验证的结论是余额的变化是零和的结果,所有新余额必须是非负的。 可链接环签名技术可以用来保护身份,加法同态加密技术和范围证明技术可以保护余额的机密性,State Channels可以在带来这种信息变化的交互过程中保护其安全和隐私。 如果一些中心化的参与者提出监管要求,这个特性可以集成到允许用户使用的智能合约集合中。

基于以太坊的区块链_以太坊区块链开头_以太坊区块链

ZK-SNARKs(零知识证明)是一种非常强大的密码学原语,其定义如下: 有一些公共程序P,和公共值O,使得P(I)=O以太坊区块链开头,没有公开输入项I的值。要了解这个原语可以实现的功能,可以参考具体场景的认证。 有了ZK-SNARKs,你可以为“这个密钥的持有者有X机构颁发的数字身份证明,至少19岁,是Y国公民,有驾照”等信息提供密码科学证明,而不会透露有关您身份的信息。

ZK-SNARKs可用于资产转移业务场景的隐私保护方案,从本质上隐藏了交易之间的关系,也可以为智能合约创造更好的隐私保护性能。 一个名为 Hawk 的项目引入了“私人合约”的概念。 它的可验证性不依赖于某些个人或机构,而是需要参与者保证其隐私。 在这个模型中,“管理者”负责更新加密智能合约的状态,并证明这些更新是有效的。管理者会看到所有的数据,但即使管理者失败了,其他参与者也可以继续交互(这个过程可能会导致隐私信息的泄露,但仅限于这个特定的交互过程)。管理者的角色可以简单地由交互过程中的参与者之一扮演,也可以是一个中心化的机构;在受监管的金融行业场景,理想的情况是管理者的角色由一个中心化的机构来扮演,毕竟这个场景下的开发者需要了解系统中出现的各种情况。

另一个独立的问题是:如果KYC(了解你的客户)信息必须为每个账户独立保存,谁来保存? 如果要保证隐私,仅靠私有链可能无法实现这一目标。 其原因在本章开头已经说明。 但是,还有另一种加密技术可以让您走得更远,那就是密钥共享。

密钥共享的概念类似于用于访问数据的多重签名技术。 一份数据可以在N个参与者之间共享,其中M个参与者可以一起还原数据,但是如果M-1个参与者看不到任何有用的信息,他们只能看到加密后的随机信息(M和N的值可任意设置,如2/3、6/12、9/9等)。 理论上,开发者可以将该技术与ZK-SNARKs技术相结合,实现类似于David Chaum的加密信息提案的金融隐私信息保护方案:一般来说,要求充分保护隐私信息并实现匿名,但需要他们详细说明与交易相关的信息(发送方和接收方、价值等)将在 N 个主密钥持有者之间秘密共享。 ZK-SNARKs 可用于确保数据有效,不包含此类有效元数据或证据的交易不能被区块链接受。

ZK-SNARKs 是一种强大的技术,但可能存在一些未经证实的安全问题,并且可能存在效率问题:目前,在普通计算机上创建这样的密码证明大约需要 90+ 秒。 因此,对于很多应用来说,一些隐私保护程度较低但效率更高的密码学技术可能更有用,例如环签名和加法同态加密技术。

基于以太坊的区块链_以太坊区块链开头_以太坊区块链

以太坊团队在整合这些解决方案方面有两个角色。 首先,许多这些技术已经可以建立在以太坊上; 几个月来,像 Raiden 这样的项目一直在尝试在以太坊上构建状态通道网络,并且还构建了可链接的环签名方案(以早期 Beta 版本的形式)。 我们打算与密码学专家和其他开发人员合作,将上述一些解决方案集成到以太坊中,以最大限度地提高可用性。 其次,虚拟机的效率已经成为集成这些技术的主要瓶颈,这将成为本项目未来发展的重要重点。 因此,如果这些技术要在以太坊公链上得到最大程度的融合和实践,其时间表将与Serenty版本的发布和(可能的)WebAssembly技术的推进密切相关。 当然,私有链可以通过提前集成这些特性,或者简单地添加一些预编译的合约来获得这些好处。

需要注意的问题

在可扩展性问题上,区块链有很多解决方案,但隐私问题却不是这样。 我们得出的结论是,私有链不能完全解决此类问题; 因为虽然私链在可验证性上有33%或者50%的容错率,但是可能还不如中心化的解决方案,你可能只能黑进一台服务器; 但在区块链中,节点众多,任何一个节点的信息泄露,都会泄露所有信息。

私有链并不是隐私保护问题的合理解决方案。 此外,还有一些针对特定应用场景的技术,可以让您为特定用例创建高度隐私。 这些用例将具体包括数字资产转移、身份验证、多方智能合约和数据存储。 这些解决方案需要使用高级密码学技术,例如环签名、加法同态加密、零知识证明和密钥共享技术。 隐私保护方案可以高度定制化,例如仅在特定情况下(与交易相关的参与者、金融机构、监管机构等)向特定参与者展示特定信息。 如果这样的系统能够深入应用,就可以在高度保护用户隐私的同时,满足监管者和其他信息请求者的需求。

以太坊项目的路线图已经计划整合这些技术,让开发者更容易在以太坊上构建具有隐私保护功能的应用程序。 就状态通道而言,已经有几个项目集成了这项技术。 但是,私有链上的以太坊用户可以通过自己的实践,根据自己的进度,选择集成以上列表中的任何技术,并以预编译合约(Precompiled Contracts)的形式实现。

以太坊区块链开头_以太坊区块链_基于以太坊的区块链

总结

以太坊的主导思想是在不同的层次上构建技术。 “第一层”是以太坊平台本身,包括以太坊虚拟机(EVM)、执行环境和区块链共识算法。 在此之上,开发者可以将这些隐私保护方案构建为“第二层”。 目前,以太坊的协议可能还不是完全“纯粹”的:在协议层面之上,包含了账户、余额和序列号的概念。 入口”。但是,我们计划通过 Serenity EIP 101 改进计划剥离这些功能来改变这种情况:所有交易都将被验证——只要它们的格式正确,并且所有交易将看起来来自“入口” " accounts 0xffffffff ...... 用户的账户将成为一种“转账合约”——即以太坊上的智能合约,可以接收来自入口的信息,并且只有当信息包含合法的密码签名和序列时 Pass编号时将其取出。

该方案的影响是,以太坊当前的流水号账户模型将不再拥有系统权限; 相反,任何UTXO、linkable ring signatures、linkable ring signatures、Confidential transactions(机密交易)或其他技术账户管理解决方案都可以集成到这个平台中,感觉就像一个“原生”的账户管理解决方案,并没有太大区别来自由帐号和序列号组成的当前帐户管理解决方案。 巨大差距。 虽然EVM(以太坊虚拟机)还没有升级到WebAssembly技术(或者其他类似的替代技术,如果我们最终采用那些方案的话),但是对于一些具体的密码学操作指令还是有空间的,这样可以避免整体的资源消耗虚拟机,并以合理的效率处理这些指令,但这些操作指令仍然是高度封装的。 我们的最终目标是让所有功能都在 WebAssembly 代码中执行。 届时,以太坊的私链或公链实践案例可能会有一套复杂的第二层工具,允许用户创建受密码学保护的账户,管理他们的身份,并有选择地与特定参与者共享信息。 当事人展示或证明其身份相关信息,或进行其他类似操作。 这样一来,平台的底层架构将大大简化,效率将得到提升,开发者仍然拥有高度的自主权,可以在平台的底层平台上进行构建,满足不同的行业和应用。 工具。

关于这篇文章

VB考虑了目前几乎所有可能的隐私技术方案,但很多方案的安全性还没有得到实际验证。 这是一个挑战,也说明区块链技术还处于探索阶段; 您也可以分享这篇文章让更多人了解这些知识,您的支持和鼓励是我最大的动力,长按二维码关注

基于以太坊的区块链_以太坊区块链开头_以太坊区块链

长按关注探索未来

相关阅读