2024年10月15日,在Aleo的官方技术社区中,由Aleo的创始人Howard Wu提交了一份最新的技术提案,标题为:“ARC-0043:将谜题算法扩展为完整的 SNARK”,全文汇总翻译如下:
摘要
本提案建议将当前的区块链难题从以综合为中心(synthesis-focused)的操作扩展为完整的简洁非交互式知识论证 (SNARK)。主要目标是激励专用硬件上完整 SNARK 的加速,并通过简洁的难题验证缩短区块验证时间。此提案旨在缓解由综合操作引起的区块验证管道中的瓶颈,并利用 GPU 和 FPGA 加速方面的最新进展来改善证明者的难题挑战。
背景
过去几年,SNARK 生成性能显著提升,部分原因在于 Aleo 测试网和 ZPrize 等努力。虽然证明生成最初受到多标量乘法 (MSM) 和数论变换 (NTT) 等算法的瓶颈,但这些算法已显著加速,导致合成成为最耗时的操作。随着 Aleo 主网的推出,合成方面的最新改进,现在有机会进一步优化端到端证明和验证过程。
提议
该提案将当前难题扩展为完整的 SNARK,并进行以下关键更改:
1. 增加谜题中的指令数量
2. 扩展指令和操作数的类型
3. 实现一个zkSNARK进行验证
1.增加指令数量
由于共识验证的限制,当前谜题的指令数量被人为地限制了。通过实施完整的 SNARK,可以将指令数量扩大几个数量级。这将大大增强证明者的谜题难度,扩大专用硬件的实用性,并改善当前证明的计算要求。
2.扩展指令集
引入 zkSNARK 进行验证允许包含更丰富的操作码和更大的操作数。指令集的这种扩展将增加谜题挑战的复杂性和多功能性。然而,必须仔细考虑指令选择,以避免操作数退化(例如,操作数变为 0 并传播到函数的其余部分)。
3. zkSNARK 验证
实施 zkSNARK 进行验证将实现简洁的谜题证明验证。这将缩短区块验证时间,从而提高整体网络性能。
技术考虑
1. 该扩展将建立在现有的证明系统和椭圆曲线之上,以最大限度地降低 snarkOS 和 snarkVM 中的技术风险和债务。
2. 现有的合成器能够扩展 Varuna SNARK 中的指令数量和类型。
3. 为了保持不可延展性和不可摊销性,谜题将扩展为 SNARK,而不是 zkSNARK。这对于防止单一证明的可研磨性至关重要,这将简化证明者的问题。
好处
1. 激励开发和使用专用硬件来实现完整的 SNARK 加速。
2. 通过简洁的谜题验证显著提高区块验证时间。
3. 通过允许更大的指令集来增强谜题的复杂性和安全性。
4. 利用 GPU 和 FPGA 加速的最新进展进行合成操作。
风险与缓解措施
风险:难题设计和验证的复杂性增加。
缓解措施:全面测试和逐步实施,并有可能分阶段推出。
风险:指令集扩展可能带来新的攻击方向。
缓解措施:严格的安全分析和审计,以及谨慎选择新指令。
风险:对矿工/验证者的硬件要求增加。
缓解措施:分阶段实施,允许逐步升级硬件。
结论
将当前难题扩展为完整的 SNARK 可激励证明硬件的重大进步。它解决了当前共识的瓶颈,提高了整体网络性能,并激励了加密操作的硬件加速。下一步是收集社区反馈以完善和改进此提案。
MX解读:
本次PoSW谜题算法调整的非常突然,距离最新谜题算法发布仅仅4个多月的时间,幸好是在芯片ASIC厂商流片之前,不过也在我们的意料之中。基本上对于现有的谜题算法底层根基不会动,文中也提到了“建立在现有的证明系统和椭圆曲线之上”,因为本身最新的谜题算法从架构设计上是灵活架构,方便切换谜题内容调整输入,再一个和共识也没关系。
本次算法调整的主要意图文中有提到,主要是由于区块验证过程中对于Puzzle谜题算法构建的部分电路验证时间过长,导致区块验证时间加长。
其实这个问题在最新算法公布后我们就发现了这个问题,主要原因是在目前的区块中,由于是链下执行,而且是zkVM,所以基本上包含的都是所有交易的Proof,只有这个Puzzle谜题算法的计算结果部分不是Proof,会导致需要单独处理执行,所以区块验证时间加长。
这个加长其实目前还没有完全体现出来,会在验证者数量增加到一定数量后体现,也就是在之前的某次社区会议中所提到的当验证者数量增加到50个的时候,出块时间会延长到1分钟左右,这个是难以接受的。
本次Puzzle谜题算法调整也是主要这个目的,调整后,在区块中,Puzzle谜题算法最终构建的其实是一个完整的Proof,对于区块验证来说会大大提升效率。
既然是个Proof,也就是说相当于把上一代的PoSW谜题算法的版本又加回来了——MSM+NTT,但是也不能完全理解成上一代“谜题算法”。
对于这次调整从我们之前的文章中:Aleo主网后的PoW谜题算法还会调整?就预料和分析出来官方通过Coinbase Puzzle谜题算法加速的终极意图其实都是围绕着“zkVM加速”,区块验证其实也是属于zkVM的一部分:
上图在我们之前的文章中有提到,只不过目前来看Aleo更多的验证应该是链上验证,不过在很多zkVM中其实本身也是需要做验证的。
而且在此次PoSW谜题算法调整中,也提到了对于Puzzle指令集的调整,不仅增加指令的数量还有类型,这个也是我们在之前的文章中就有提到过官方会调整目前Puzzle谜题算法的指令集:
这意味着对于ASIC厂商原本想要做固定硬件功能版本的ASIC来说已经不可能了!因为这次的指令集调整增加的数量级不是几倍,而是可能几十倍,ASIC厂商必须要能实现处理器规格,否则固定硬件功能版本只能是死路一条!
同时还要兼顾将Puzzle谜题算法计算结果最终生成一个完整的Proof,注意是“完整”,官方原文标题是“Full SNARK”,意味着也同时需要MSM+NTT。对于MSM还好说,主要是NTT,意味着不仅需要满足计算密集型,同时也要满足带宽密集型。
经过本次PoSW谜题算法调整后,意味着想要实现这个谜题算法的ASIC的厂商需要具备的技术条件:处理器技术+MSM+NTT,需要同时满足可编程特性、计算密集型和带宽密集型,能同时满足以上特性的ASIC厂商屈指可数!
经过本次PoSW谜题算法调整后,旷工的身份也会发生转变,由原来的“旷工”真正变成了“证明者”,调整后的“旷工”就完全具备了参与委托代理证明计算生成的任务,而目前的指令集谜题算法是不具备的,这也是个重大转变,也意味着未来“旷工”会有额外的收入!
补充一下,对于文中所提到的 Varuna SNARK 是Marlin方案的改进版本。Varuna 和 Marlin 之间的主要区别在于,Marlin 的算术语言仅允许R1CS,而Varuna可以同时支持 R1CS和自定义门和查找(自定义约束查找参数),例如Plonkish。这意味着在电路的算术表示中,Marlin仅限于三个矩阵,而Varuna可以使用更多矩阵,从而提供更好的可扩展性。除了加法和乘法电路之外,Varuna还可以支持各种类型的算术电路,并具有相应的不同构造方法,称为广义R1CS。
最后我们要自问一下,本次的PoSW谜题算法调整会是最后一次吗?
答案:肯定是否定的!
我们只有清楚了解和明白官方的初衷和最终意图,了解整个ZK赛道的全貌,了解zkVM的重要性,我们之前就提到过此乃“兵家必争之地”,也就能知道未来Aleo的PoSW谜题算法将改向何方!
ZKT 基于Aleo最新PoSW指令集算法Aleo芯片机
现正式开启第一批头矿预售,仅对大客户和大渠道!
2024年全球ZK峰会 Aleo-ASIC 最有竞争力品牌!
感兴趣请扫码联系,ZKT ASIC Https://zkto.xyz/
Aleo已正式对外更新流通量 Circulating Supply!
重点解析Aleo基金会执行董事Alex在“ZK硬件加速的未来”中的发言!
Aleo最新十年区块产出奖励模型推演(Testnet Beta)
Aleo主网倒计时 | Aleo最新Puzzle谜题算法深度解析!
重磅分析!以太坊真的会开倒车转回“PoW”么?还是会效仿Aleo模式?
Aleo主网倒计时 | Aleo Systems 公司 CEO Alex Pruden 卸任感言
重磅!Aleo初始经济模型重大更新!主网上线时间是否有变化?
ALEO 问答集锦 | 关于质押者、证明者和验证者官方最新解答
ALEO 问答集锦 | Aleo积分到底有什么用?区块奖励重大变化?