Aleo系列博客——零知识密码学技术的未来

1. 引言

Aleo系列,前序博客有:

  • 欢迎关注Aleo
  • 使用Zexe构建Aleo隐私应用——How Zero Knowledge is Rebalancing the Scales of the Internet
  • Aleo系列博客——透明的代价

这系列文章探讨了当今数字世界隐私的演变和价值,以及零知识技术为公平竞争提供的机会。

2. 隐私 是 Web3中完整用户体验 的关键

尽管当前公有链提供了巨大的金融通道,但是由于其交易是公开透明的,所有人都能看到所有交易细节,使得存在被利用和套利的问题。

解决方案有:

  • 绝对的隐私 absolute privacy:通过混淆交易的所有内容,实现了绝对隐私的同时,牺牲了可编程性。

以decentralized finance (DeFi)为例,说明了可编程性对任何可表达区块链网络的重要性。
但是,当前人们仍面临着二选一的问题:隐私 OR 可编程性。
如,Zcash可为用户提供完全的隐私,但是具有有限的可编程性。以太坊提供了强大可编程性,但是只有有限的隐私。
我们希望实现一种协议,同时具有隐私和可编程性——即可保证用户数据不被利用,同时支持强大的链上应用程序和它们之间的可组合性。这也是构建Aleo的初衷。

Aleo系列博客——零知识密码学技术的未来_第1张图片

3. Aleo——第一个分布式、开源、支持隐私和可编程性的应用

通过默认 可选择退出隐私 opt-out privacy,Aleo实现了一个可持续的、公平的Web3世界,可满足开发者、消费者和企业的需求。

Aleo利用零知识密码学技术来实现隐私和可编程序。
零知识密码学和零知识证明允许第三方验证某些信息的正确性,而不需要直接透露该信息。Aleo将这称为ZEXE (Zero Knowledge EXEcution)。
在ZEXE中,用户离线执行状态转换,在该过程中同时生成一个proof,该proof将捆绑进相应的链上交易中,该交易通过使用/创建链上记录来更新系统的状态。使得:

  • 可像Zcash一样,提供了强大的隐私保证,因为交易中仅包含了proof,而不包含生成它的input。
  • 又可像以太坊一样,ZEXE可支持智能合约,使得用户能以预定义的方式进行交互或价值转移。


支持智能合约的公有区块链系统上的decentralized exchange (DEX) 去中心化交易所
为例:
DEX为去中心化的应用,允许用户在链上买卖呆逼,而不需要找到特定的买家或卖家。
与中心化交易所(如Coinbase或币安)不同,DEX允许用户自己来维护自己资产的保管权。

去中心化金融(DeFi)在2020年爆发式增长,将DEXes置于聚光灯下。截止目前,最大的链上DEX——Uniswap,其在2021年处理的体量已超过250亿美金。

但是,在公有区块链上,可追溯某个人的身份及其完整的金融历史交易细节。如前所述,公有区块链的透明性使得用户的这些信息存在被利用的问题。
当然,你可循环账户(cycle accounts),使得你的真实身份与链上身份更难连接,但是,这样做对用户来说是复杂的也是不方便的。
即使在最好的情况下,你的身份仍然有很多方法可与链上的假名地址相关联。由于区块链上存储的数据是永久性的,一旦建立了这种关联,将永远不可打破。

Aleo通过将隐私应用到任何应用程序的最基本组件——用户和交易,可化解该风险。

简单来说:去中心化网络中的每一个应用程序都是 一系列用户users(people人 或 smart contracts智能合约) 以不同程度的复杂性 彼此进行交易。
因此,任何隐私解决方案,都必须保证这些应用程序的原子组件具有隐私属性。

仍以DEX为例,这就意味着需要让交易对手匿名。即意味着,用户的活动不应与 Aleo区块链中特定的地址或特定的账号 关联。通过隐藏交易中的细节,Aleo可确保即使是金融活动的大致轮廓或模式 也不会泄露任何身份信息。

当你在Aleo的DEX中进行买卖时,你可在链下根据汇率计算更新账户余额。可通过以向Aleo网络提供零知识证明交易的方式来结束买卖,即说明某个action已发生。proof本身并不包含action的内容——如在哪个交易所执行的,或者是谁参与的。然而,底层的加密技术应让所有的参与者相信:买卖已执行,且所有的余额都得到了正确更新。

比如,你想要在Aleo的DEX 卖Token A 买 Token B:
1)首先,你需要向DEX证明你拥有足够的Token来完成整个买卖交易。可通过零知识证明的方式来证明,而不需要直接透露钱包余额或者是买卖历史信息。即,可通过提供一个前序交易的链上proof记录,来证明你有足够的余额来完成买卖。在整个过程中,交易所无法知悉以下信息:

  • 1、你拥有的token总额
  • 2、这些token的来源
  • 3、你是否曾在DEX交易过

总之,这创造了一个DEX生态系统,不仅具有完全的隐私性,也支持了用户可扩展性,同时复制了类似以太坊中智能合约的关键特性:可组合性。

可组合性,是指:
在开放平台上,应用程序可以以越来越复制的方式相互联通。

可组合性是一个强大的概念,它支撑了以太坊的DeFi生态系统。尽管Aleo可确保完整的隐私,但是某些应用程序可利用公共数据资源(要么是在proof中公开的记录,或者是链下数据)来实现智能合约的隐私组合。

这种 可选择退出隐私 opt-out privacy 模式,可消除很多透明区块链的信息提取利用问题。它允许用户类控制何时、以何种方式来与应用程序交互,同时只透露他们选择透露的信息。

因此,Aleo使得应用程序具有可编程、可组合以及隐私性。

4. Aleo的工具集

Aleo为编写零知识应用程序提供了业界领先的基础设施和工具。

我们的目标是为开发者提供一个端到端的管道,借助我们的可编程零知识整套工具,使得其能无缝地完成编写、运行和部署隐私应用程序的的过程。具体的Aleo工具集有:

  • Leo编程语言:基于Aleo直观简单的编写隐私应用程序,提供的编程语言成为Leo。Leo看起来、用起来就像传统的编程语言。而在Leo的底层,比传统编程语言要复杂。Leo对底层的密码学概念进行了low-level抽象,使得其更易于与隐私应用程序集成。
    同时,Leo提供了high-level语法,使得更易于编写和直观表达零知识的相关逻辑。
    Leo语言受传统编程语言如JavaScript、Scala和Rust的启发,同时具有更强的可读性和可用性。
    在底层,Leo将开发的high-level code转换为zero knowledge circuits。

  • Aleo Studio IDE集成开发环境:为了加快开发周期,提供了Aleo Studio——第一个用于编写零知识应用程序的IDE。Aleo Studio是一个交互式开发环境,用于在Leo中编写零知识应用程序。对于开发人员来说,Aleo Studio的设计目的是简化开发周期,使得可将Leo项目以包的方式发布到生系统中。

  • Aleo Package Manager:为了简化打包和分享工作,为Leo构建了一个包管理器。Aleo包管理器是第一个zero knowledge circuits的包管理器。它包括诸如团队和组织之间的协作功能,一遍在隐私应用程序上与朋友和同事轻松协作。此外,Aleo包管理器与Aleo Studio集成,使得导入和发布新包变得很容易,而不必离开编辑器。

  • snarkOS 去中心化操作系统:Aleo运行在支持隐私应用程序的分布式操作系统中,该操作系统名为snarkOS。它形成了状态转换的逻辑backbone,并使应用程序能以公开可验证的方式验证和存储Aleo区块链上的状态。snarkOS会对Aleo中的所有程序和交易都强制执行数据可用性校验。此外,这种共识机制保证了Verifiers对链上的checkpoint state 计算零知识证明。

这些工具将使开发人员能构建下一代智能合约。Aleo可表达强大的DeFi原语,如stablecoins或去中心化交易所。所有的交易都是完全隐私的,完全由开发人员和用户控制。

参考资料

[1] Aleo博客 The Future of Zero Knowledge with Aleo

你可能感兴趣的:(Aleo)