
我们很高兴地宣布 Aleo Testnet 3 的第 2 阶段!在此版本中,我们将部署我们在 Testnet 3 的原始路线图中概述的许多关键功能,例如部署和执行用户定义的程序,以及激励 zkSNARK 证明硬件开发的难题。
什么是 Aleo?
Aleo 是一个新的第 1 层区块链,它利用零知识加密技术来实现可扩展和私有的去中心化应用程序。在我们的架构中,应用程序不在链上执行;相反,用户在链下执行应用程序,并向链发布 zkSNARKs(简短的零知识证明),以保护隐私的方式证明执行的正确性。然后,该链会及时验证这些简短的证明,该时间*独立于应用程序的运行时间。
这个计划运作良好,除了一个小问题:创建正确应用程序执行的零知识证明可能比直接执行应用程序更昂贵。对于许多有用的程序(例如支付),这种开销是可控的,即使在移动电话或笔记本电脑等商品设备上进行验证也是如此。然而,对于机器学习、游戏或身份验证等其他计算密集型应用程序,在商用设备上进行验证的开销可能过高,似乎使这些用例遥不可及。
然而,Aleo 的设计允许客户选择是否将证明生成外包给第三方“证明服务”,第三方“证明服务”可能拥有更多的计算资源来帮助计算 zkSNARKs 以进行大型计算,例如具有多核、大量 RAM 的 CPU,或者甚至定制验证硬件。那么问题就变成了激励开发更好的证明架构的问题之一。解决后一个问题是设计 Aleo 新共识算法 AleoBFT 背后的关键动机之一。在高层次上,AleoBFT 是一种混合架构,它利用权益证明来实现块确认的即时终结,并利用工作量证明类型的“coinbase puzzle”来奖励开发更快的证明生成技术。在这篇文章中,我们将更深入地探讨这个谜题的细节。
Coinbase 难题
coinbase 难题是一种工作证明类型的难题,旨在激励开发更快的软件和硬件以生成零知识证明。为实现这一目标,我们的 coinbase 难题具有两个独特的功能:
– 密码学:与您在比特币或以太坊中发现的传统 PoW 不同,coinbase 难题需要为 zkSNARK 证明的主要子组件的“有用”算法创建有效的例程。
– 经济:不同于传统的 PoW,其中每个块只能包含一个有效的谜题解决方案,我们的 coinbase 谜题每个块接受多个有效解决方案,防止“赢家通吃”并导致更广泛的证明奖励分配。
让我们从密码部分开始更深入地研究谜题设计:
拼图设计
zkSNARK 设计快速入门:在现代 zkSNARKs 中生成证明的时间主要由两个子组件的证明时间决定:多项式 IOP 和多项式承诺方案。我们的 coinbase 难题有效地激励了这些子组件的加速。让我们通过查看协议流来了解它是如何做到这一点的,它包括两个步骤:
1)生成候选解决方案(证明者) 为了生成候选解决方案,证明者(从随机数)生成并乘以一个随机多项式,然后通过多项式承诺方案(在我们的例子中为 KZG10 方案)承诺生成的乘积多项式). 然后对生成的承诺进行哈希处理,如果此哈希匹配目标难度,则它是一个可以发送给聚合器的有效解决方案(连同评估证明以实现高效聚合)。生成的拼图由 2 个组元素和 1 个域元素、一个地址和一个随机数组成,可以在 D 域乘法和配对中进行验证,其中 D 是生成的多项式的次数。
2)聚合有效解决方案(BFT 领导者) 虽然任何人都可以按原样验证有效的拼图解决方案,但将每个拼图解决方案添加到链中会导致状态膨胀。为了避免这种情况,我们的 coinbase 难题使 BFT 领导者能够聚合有效的解决方案。我们不会详细介绍这是如何做到的,但总体结果是,链上存储以 n + 1 个组元素的成本为主,而 1 个字段元素是一个实质性的改进。作为一个附带的好处,拼图验证也更快。
结论
AleoBFT 是一种新颖的共识机制,它将权益证明的最终性与工作量证明的强大激励机制相结合。在我们的例子中,coinbase 难题激励加速 zkSNARK 证明。这项工作很有用,因为它直接转移到 Aleo 中的所有其他程序执行。通过这种机制,我们希望通过降低成本和减少程序执行延迟来激励一个强大的证明生态系统,使 Aleo 用户受益。
最后一点:测试网的这一阶段将受到激励。但是,本博文的发布并不意味着激励计划的启动。请在 Discord 上加入我们的社区并在 Twitter 上关注我们,以接收有关奖励时间表的最新更新。
英文原文链接:https://www.aleo.org/post/launching-testnet-3-2-provers