Aleo主网后的PoW谜题算法还会调整?

文摘   2024-09-15 11:35   新加坡  

2024年9月5日凌晨,随着Aleo的主网发布,最近热度非常高,尤其是各大池子、锄头和旷工们,马不停蹄的都在忙碌着。之所以能让众多旷工参与进来,还有个重要原因就是Aleo最新的谜题算法已经完全移植适配到GPU,也就是说没有了CPU的限制,不再像之前测试网Beta激励的时候,需要高端CPU。

最新的谜题算法相信很多人应该都有所了解,这个版本的算法和上个版本是完全不同的,是一个全新的算法。上个版本的算法主要是针对零知识证明生成相关,涉及MSM和NTT两个主要核心算子。但是这个版本算法要说和零知识证明没有关系,也不完全是,因为目前的谜题算法可以理解成是零知识证明系统需要证明的,也就是说是生成一个零知识证明系统可以证明的内容。

那么到底要证明什么?证明程序执行过程是正确且有效!

本质上是和zkVM有关。说到zkVM,先说一下什么是VM。

虚拟机(VM)是一种抽象物理计算机系统的概念,允许软件系统模拟硬件系统的功能,从而执行各种软件程序和部署应用程序。通过使用虚拟机,软件系统可以复制硬件平台的操作,例如执行各种程序和安装应用程序。

Web3行业最知名的就是以太坊的虚拟机EVM。以太坊虚拟机(EVM)是以太坊区块链中的关键组件,充当开发人员的虚拟计算机或软件平台。这项创新允许创建和部署去中心化应用程序(DApp)以及在以太坊网络上执行智能合约。EVM以其图灵完备性而闻名,这意味着它可以执行用任何编程语言编写的智能合约,并执行一系列复杂的计算。

zkVM是一个由零知识证明来保证安全可验证可信特性的虚拟机,能够执行各种计算任务,包括执行智能合约、数据处理和复杂算法运算等。其核心功能是生成零知识证明,这种证明能验证计算的正确性而不透露执行细节。

zkVM使用零知识证明技术来确保程序执行过程的正确性,这种技术适用于任何可以被编译和运行在虚拟机上的程序。zkVM 的设计注重于提供一种通用的计算验证平台,适用于各种应用场景,并支持多种编程语言,如 Rust、C/C++ 和 Go,开发者可以使用自己熟悉的语言来构建应用程序。

从本质上讲,正确的zkVM可以让所有应用程序能够相对轻松地在每笔交易中使用零知识证明。真正的zkVM是按照ZK优先原则构建的,并将它们集成到技术堆栈的每个部分中。

换句话说,zkVM相对比zkEVM更加通用,因为zkEVM仅限于应用在以太坊上。

那为什么一定要用zkVM?

因为除了zkVM众多特性和优点以外,利用ZK的特性,能帮助公链突破很重要的难点即扩容,也就是说zkVM其实是一种非常普适通用的扩容方案。所以说为什么V神要把EVM升级为zkEVM,因为一旦升级为zkEVM,L2的Rollup可能也就不需要了。

通过zkVM可以实现链下证明计算,链上对于证明结果验证,完美解决扩容的问题。

讲到这里,相信有些同学已经意识到,Aleo的谜题算法或者coinbase谜题机制,从最开始的设计之初,其实并不是随意且没有章法可循,从上个版本的零知识证明生成相关加速,到这个版本Witness见证人加速,其实都是围绕着一个主题即zkVM,从下面这个图可以看到全貌:

从上图可以看到,上个版本的谜题算法是围绕着后半部分即零知识证明生成的加速。对于zkSnark来说,相对比生成,验证会更快,而且是链上验证,所以暂时应该涉及不到。

目前这个版本的谜题算法是针对Witness Generation(见证人生成)即前半部分生成的加速,也就是说要投喂给零知识证明系统要去证明的内容,这样最终才能输出零知识证明的结果再投喂给链上验证去验证程序执行的正确性。

既然是和zkVM有关,也就是和VM有关,就会涉及到指令集,也就是目前谜题算法(PoW算法)。从官方公布的关于最新谜题算法的Spec(https://github.com/AleoNet/snarkVM/blob/3d42aa04a058cd5f46a1880b421313e1c04a63dc/ledger/puzzle/epoch/docs/spec.md)上可以看到,目前整个指令集有60条指令,这60条也是zkVM目前全部的指令集,也就是说不仅仅是谜题算法要用到的,也是Aleo的zkVM要用到。

指令集是虚拟机运行的基本单位,它由一系列的指令构成。每条指令都是虚拟机能够执行的命令,它包含了操作码和操作数。操作码用于指示虚拟机执行何种操作,操作数则提供了执行操作所需要的数据。

虚拟机的解释执行是指通过对虚拟机指令的逐条解释与执行来模拟实际硬件的执行过程。虚拟机解释执行的基本原理包括指令解码与执行、数据栈的管理以及跳转与分支等。

解释执行是一种将源代码逐行翻译成机器指令并依次执行的方式。在虚拟机中,解释执行的过程是将虚拟机指令逐条解析并执行。

从最新的谜题算法了解到,其实目前的算法并没有用到全部的60条指令,而只用到了33条,而且是随机抽样的,也就是说我们看到每次的Epoch(纪元)算力有高有低的原因,就是因为每个Epoch都会从60条指令随机抽取一部分指令来参与计算,是随机性的,但是从目前掌握的全部数据来看,并不是全部60条随机,而是60条里面的33条随机,也就是说是一个子集

那么这里要打个问号即为什么是子集?为什么不是全部的60条指令来做随机?

从最新谜题算法的Spec说明中可以看到官方的意图

这部分内容主要从安全性分析,总结一下:

在Aleo的PoW(工作量证明)系统中,为了确保系统的安全性和公平性,官方特别关注了操作的输出熵(output entropy)。输出熵是指操作输出的随机性和不可预测性。在Aleo系统中,具有低输出熵的操作被赋予了较低的采样权重,以减少它们在生成证明过程中的影响。

程序可能主要包含一个操作子集,而旷工也可能专注于该操作子集。解决方案是确保操作(具有高输出熵)得到平等采样,并通过经验验证程序中有足够多的部分包含所需的操作范围。

从Spec上可以看出来,目前的谜题算法的指令子集应该是相对固定的,也就是高输出熵集合。

但是不要忘记,目前官方算法的最新架构是增加了一个灵活的coinbase谜题系统,可以在必要时更轻松地切换谜题内容

有人会说,都已经主网发布了,这个操作指令子集还会改变么?不可能吧?

其实以往的历史也不是没有,比如XMR等项目都有类似的历史发生。

那么有哪些因素会改变这个指令子集呢?

  • 安全性:如果某个指令或指令组合被发现存在安全漏洞,或者可以被恶意利用,系统开发者可能会选择替换或修改这些指令。

  • 性能优化:随着硬件技术的发展,某些指令可能不再需要或者可以被更高效的指令替代。系统开发者可能会更新指令集以提高整体性能。

  • 新功能需求:随着系统的发展,可能需要引入新的功能或操作,这可能需要添加新的指令到指令集中。

  • 标准化和兼容性:为了与其他系统或标准兼容,可能需要对指令集进行调整。

  • 输出熵的调整:系统可能会根据指令的输出熵来调整指令集。如果某些指令的输出熵过低,可能会被替换或修改,以增加系统的随机性和不可预测性。

  • 社区反馈和需求:开发者社区的反馈和需求也可能导致指令集的更改,以满足更广泛的用户需求。


所以以上这些因素都会导致目前看似固定的谜题算法的指令子集会被调整。

这个调整有可能是改变现有的或者增加新的指令到这个指令子集,那么这个调整对于专用ASIC研发设计来说是致命的,也就是说某些厂商如果认为目前的操作指令子集是固定不变的,而针对该固定指令子集做固定的ASIC研发设计,未来或者不久时间一旦指令子集有变化,那么也就意味着该固定ASIC直接报废,算力归0,看看XMR的历史。

对于锄头软件来说其实影响不大,因为显卡有处理器,可以针对最新的操作指令子集做优化调整,而且改变的指令应该也不会很多,工作量应该也不大,只要底层算法的基础架构没有完全改变,类似于上一代算法和这一代算法是完全不同的算法底层基础架构。

综上所述,既然Aleo主网已经发布,算法底层基础架构大的改变是不现实的,会有各方面非常大的阻力,但是针对固定的操作指令子集做调整,这个概率还是很大的,所以针对Aleo项目的专用ASIC芯片或者芯片机,一定是要具备完全兼容这种未来可能存在的变数。如果某些厂商还有想利用目前固定操作指令子集做固定ASIC芯片机的想法肯定是无法行得通的,面临的结果只能某一天突然算力归0。

本文针对目前Aleo最新谜题PoW算法的底层指令集做了必要的分析,也希望大家能有一个充分的认识和了解。

PS:本文如有整理不准确的地方,请及时联系纠正,谢谢!



ZKT Aleo-ASIC,芯片和芯片机预售中,台积电代工!

ZKT 纯GPU锄头,第一梯队,仅限大算力合作!

2024年全球ZK峰会 Aleo-ASIC 最有竞争力品牌!

感兴趣的小伙伴扫码联系,仅限大客户和大渠道

  




从0到1,Aleo全面深度分析!

浅析Aleo主网后的出块奖励规则!

Aleo主网后如何计算及预测每天产出?

Aleo主网倒计时 | 了解激励计划的申领流程

Aleo主网倒计时 | 关于创世区块核心开发者会议完整内容(31/08/24)

Aleo主网倒计时 | Alex关于最终主网时间的社区会议AMA重点汇总!

zkVM设计性能分析

Aleo主网倒计时 | 主网发布前最后的后勤准备工作!

重点解析Aleo基金会执行董事Alex在“ZK硬件加速的未来”中的发言!

测试网Beta激励 | 浅析Aleo出块奖励规则!

Aleo近期市面算力数据乱象,如何辨别真假?

Aleo最新十年区块产出奖励模型推演(Testnet Beta)

Aleo官方首次主推生态应用汇总(24/07/24)

zkVM专辑 | 什么是 zkVM?

zkVM专辑 | 揭秘zkVM的设计

测试网Beta激励 | Aleo全网算力超过1亿算力,近期要点解读!

Aleo主网倒计时 | Aleo最新Puzzle谜题算法深度解析!

Aleo主网倒计时 | 官方详细解释四个测试环境

Aleo主网倒计时 | 测试网Beta发布,距离主网还有多远?

重磅分析!以太坊真的会开倒车转回“PoW”么?还是会效仿Aleo模式?

为什么Aleo官方说目标是使用ASIC?深度解析!

Aleo主网倒计时| 宣布成立 Aleo 基金会!

Aleo主网倒计时 | Aleo Systems 公司 CEO Alex Pruden 卸任感言

Aleo测试网三全部验证者资料汇总(一)

Aleo测试网三全部验证者资料汇总(二)

重磅!Aleo初始经济模型重大更新!主网上线时间是否有变化?

Aleo测试网三的POS质押测试已开始!1月主网还远吗?

ALEO 问答集锦 | 关于质押者、证明者和验证者官方最新解答

ALEO 问答集锦 | Aleo积分到底有什么用?区块奖励重大变化?

重磅分析!为什么说FPGA或者ZK通用服务器在Aleo项目上机会是零?

隐私区块链概述和 Aleo 深入研究,目前为止分析最深入和全面的

Aleo:你能保守秘密吗?深入探讨零知识证明和互联网的未来

重磅!Aleo主网后规模预测、成本、收益与回本周期评估分析

Aleo是否能够成为下个牛市的百倍项目?

提前埋伏融资近3亿美金项目Aleo生态上的毛

提前埋伏融资近3亿美金项目Aleo生态上的毛(二)

Max说说
Web3创业者 分享Aleo等ZK赛道和隐私计算相关知识
 最新文章