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