# Aleo隐私交易的基础框架zkCloud

By [xinba](https://paragraph.com/@netmeta) · 2022-03-04

---

1.  引言 Aleo系列：
    

欢迎关注Aleo 使用Zexe构建Aleo隐私应用——How Zero Knowledge is Rebalancing the Scales of the Internet  
Aleo系列——透明的代价  
Aleo系列——零知识密码学技术的未来  
Aleo 提供的zero knowledge primitives 在 Aleo 提供的zero knowledge primitives中介绍了，Aleo提供的ZK primitives有：

shielded identities(屏蔽身份)

shielded transactions(屏蔽交易)

Aleo为这些ZK primitives提供的运行环境为zkCloud。

zkCloud为链外的、不可信的计算环境。在zkCloud中，程序以隐私、安全、廉价的方式执行，且具有无限的运行时间。

借助这些功能，zkCloud解决了区块链迄今为止面临的最具挑战性的问题之一：The Privacy Dilemma 隐私困境。

解决隐私困境 区块链协议的一个持续性挑战在于：权衡隐私和可编程性。目前已上市的大多数项目都落在以下二维区间：

![](https://storage.googleapis.com/papyrus_images/31f225fd8442d61f3429b46d139b0bb7e0fb3138b9f359bcc22c2c64ace9d832.png)

大多数区块链项目要么是以隐私为代价选择可编程性优先，要么是牺牲可编程性来满足隐私要求。 迄今为止，没有任何项目可兼顾可编程性和隐私性。Aleo将借助zkCloud来提供可编程隐私性。

1.  zkCloud的工作原理 在典型的公有区块链中，程序执行发生在链上——由每个网络节点运行的全局“虚拟机”（VM）。这意味着网络中的每个节点必须重新计算（并共同商定）给定程序的每个步骤。这不仅效率低下，而且降低了速度，增加了最终用户的成本。而且因为这个虚拟机必须能够访问相关信息，所以隐私的选择是有限的。
    

通过zkCloud，Aleo将应用程序runtime 与 区块链维护的状态分离，从而克服了这些限制。结合零知识证明的强大功能，这使得Aleo能够实现完全的可编程性和隐私性，以及相对于链上VM模型的高交易吞吐量。

zkCloud是一个链外的、不可信的执行环境，其中单个实体或shielded identities可通过shielded transactions相互交互。 这些交易，无论是简单的P2P传输还是复杂的金融应用，都通过一系列递归的零知识证明（在Zexe中描述）来隐藏交互的细节（即参与者、金额、智能合约等）。外层的proof是这个过程的最终结果，也是在zkCloud中发生过的交易（或在复杂应用中的一系列交易）的唯一“证据”。

shielded transactions将zkCloud链接到Aleo区块链。这些交易将在链上消费和创建记录，以修改/更新给定应用程序或程序的状态。节点（和其他用户）可验证shielded transactions中的零知识证明，从而可确信其真实性，而无需了解具体的细节。 可将zkCloud和Aleo区块链之间的交互视为“shadows”。

当你看到一个shadow时，就知道something创建了该shadow，但是你很难分辨出细节或准确地确定它是什么。 类似地，尽管程序在zkCloud上以不同程度的复杂性运行，但是Aleo网络中的节点位移能看到的就是zkCloud中执行的shielded transactions所透射出的shadows。因为零知识证明没有透露任何关于其内容的信息，所以当这些节点（或其他第三方）看到提交给链的shielded transactions时，他们可判断出something is happening。但是除非有人故意透露一些数据，否则他们无法确定这种互动的任何具体内容。

![zkcloud](https://storage.googleapis.com/papyrus_images/a13880bdbc4ffbf6ef607a7bd9a40558a9aaa8d6a83800b30b6cd5fa3d98efaf.png)

zkcloud

通过将计算与状态分离，zkCloud可提供无限的应用runtime。 在zkCloud中允许的程序可能需要一秒钟、一分钟、甚至一天的时间。只要在计算结束时提交shielded transaction，这些运行时间都不重要。与以太坊这样的链上执行模型相比，这为更多种类的应用程序打开了大门。在以太坊模型中，程序runtime受到了“gas”的限制。

此外，zkCloud的链外执行意味着可答复提高与应用程序交互的用户隐私性。 由于只有proofs会提交到链上，从技术上来讲，任何人都不可能看到或利用任何交易细节的知识。此外，交易吞吐量也可大幅提高，因为Aleo节点仅需验证proof，而不需运行程序。

除此之外，Aleo的方案并不会损害安全性，因为作为shiled transaction中一部分的的零知识证明以密码学的方式保证了正确的程序执行。这与其他区块链和许多Layer 2 解决方案形成了鲜明对比，后者只提供了正确发生状态转换的加密经济保证，但在Aleo中，一个proof表面程序要么运行正确，要么根本就没有运行，从而消除了用户或智能合约开发人员对额外信任假设的需要。

zkCloud旨在帮助开发者构建隐私、可扩展的项目。

通过将执行与状态分离，并通过shielded transactions只向区块链提交proofs，zkCloud帮助Aleo实现隐私、可编程、高性能网络的目标。

随着我们数字生活变得越来越重要，我们应对在线互动中所披露的信息进行更强的控制。因此，零知识密码学代表了下一次数字革命。 通过在zkCloud中发布shielded identities和shielded transactions，Aleo为构建这样的应用提供了技术基石，颠覆了我们目前对区块链扩展性和隐私性的思考方式。

---

*Originally published on [xinba](https://paragraph.com/@netmeta/aleo-zkcloud)*
