# Aleo项目调研 **Published by:** [0x_932](https://paragraph.com/@0x-932/) **Published on:** 2023-10-29 **URL:** https://paragraph.com/@0x-932/aleo ## Content 关注Twitter——0x_932,获取更多项目研报,谢谢各位支持。 Aleo的项目特色是解决区块链的不可能三角问题,那么这篇报告就以此为引线,来看看Aleo是如何实现解决该问题的,这个问题的解决也是Aleo能融资2.98亿美金的原因。 以太坊创始人Vitalik Buterin提出的一个理论——不可能三角,指的是区块链网络无法同时实现安全性、去中心化和可扩展性。 去中心化是区块链的重要特性,它确保了网络不受任何单一实体或集团的控制。在去中心化的网络中,所有参与者都具有平等的权力来验证和核实交易,让网络更能抵御攻击、捕获以及审查。 安全性是指区块链抵御不同类型攻击、持续运行的能力。在使用工作量证明(PoW)的区块链中,一般通过网络的累积算力来衡量安全性,更高且更均匀分布的算力意味着更高的安全性。 可扩展性指的是网络能够处理不断增长的交易量,同时保持合理的交易处理时间和成本。 项目介绍 Aleo是一个专注于隐私的区块链平台,其目标是为用户提供前所未有的隐私性、安全性和可扩展性。 项目特点隐私性:Aleo利用零知识证明来确保交易的隐私性。零知识证明使得可以在不透露任何敏感信息(如交易金额或涉及各方的身份)的情况下验证交易。复杂度低:Aleo使用一种名为Leo的编程语言,这使得开发者可以在该区块链上创建复杂的智能合约和去中心化应用。可扩展性:snarkVM 将计算置于链外,只需要证明者在链上发布计算证明,提供了极大的可扩展性。去中心化:snarkOS 创建了一个完全去中心化的公共生态系统,用于交易验证和状态存储。安全性:用户可以共享零知识证明而不是个人信息,这减少了需要存储和保护的敏感数据量。技术讲解 LEO语言 Leo 是一种用于私密应用程序的函数式静态类型编程语言。Leo 专为Aleo 区块链开发而设计,为私密、去中心化的生态系统奠定了基础。 模块 PlayGround:一个网页内置编辑器,用于程序员测试代码功能 Workshop:一个构建应用程序的开发指南的开发文档 Documentation:程序员可以通过该文档了解Leo的核心概念和语法 特点: 面向隐私的编程语言 LEO语言内置了隐私保护机制,可以构建隐私优先的去中心化应用。 支持零知识证明 LEO语言内置了零知识证明模块,可以便捷地在应用中使用零知识证明。 静态类型系统 LEO语言使用静态类型系统,可以在编译期间发现错误,提高安全性。 SnarkOS snarkOS是一个零知识应用的去中心化操作系统。该代码构成了Aleo网络的主干,该网络以可公开验证的方式验证交易并存储加密状态应用程序。 snarkOS的主要功能包括: 支持匿名网络应用 在snarkOS上构建的应用默认是匿名的,保护用户隐私。 利用零知识证明保护用户隐私 snarkOS使用零知识证明技术,在不泄露真实数据的前提下验证交易,保护用户隐私。 提供安全可靠的运行环境 snarkOS是一个专注于安全和隐私的操作系统,提供安全可靠的应用运行环境。 支持构建去中心化应用 在snarkOS上可以轻松构建去中心化应用,拥有更高的安全性和隐私保护。 提供开发工具和资源 snarkOS为开发者提供各种工具和资源,方便构建隐私保护的去中心化应用。 轻量级和高效 snarkOS是一个轻量级的操作系统,资源占用低,运行高效。 SnarkVM Snark虚拟机是Aleo区块链上的虚拟机,它是为了支持智能合约功能而设计的。 SnarkVM的机制:执行环境:Snark虚拟机是在Aleo区块链节点上的运行环境。它提供了一个安全且隔离的执行环境,确保智能合约在可信的环境中运行。代码编译:智能合约首先使用LEO编程语言编写,然后通过编译器将LEO代码编译成Snark虚拟机的字节码。节点验证:在执行智能合约之前,Aleo节点会对合约进行验证,包括语法验证、类型检查等。只有通过验证的合约才能在Snark虚拟机上执行。字节码解释:Snark虚拟机将编译后的字节码作为输入,通过解释器逐条执行字节码指令。解释器会根据指令的不同执行相应的操作,从而实现智能合约的逻辑。零知识证明:Snark虚拟机内置了支持零知识证明的功能。在执行智能合约时,Snark虚拟机会利用零知识证明技术验证合约的正确性,同时保护用户的隐私。资源管理:Snark虚拟机会管理智能合约所需的资源,例如内存、存储等。它确保资源的正常分配和释放,以避免资源浪费和安全漏洞。交互接口:Snark虚拟机还提供了与外部世界交互的接口。合约可以通过接口获取链上数据、与其他合约进行通信等。SnarkVM的优势: *这里先提一个概念,zkEVM是一种兼容以太坊虚拟机且零知识证明友好的虚拟机,可保证程序、操作和输入输出的正确性。针对以太坊网络的兼容性进行了优化,因为以太坊的开发人员都是Solidity语言开发程序,所以zkEVM具备易上手的特点,对开发人员比较友好,但是由于构建在以太坊虚拟机,集成零知识证明和加强隐私性的功能就会收到约束;而zkVM是一种通过零知识证明保证安全且可验证的可信性的虚拟机。你可以简单理解为是新公链自己搭建的虚拟机,zkVM典型项目有StarkNet的Cairo、Aleo的Leo语言。* Aleo抽象了开发应用程序的复杂层 以前,开发者必须在电路层面开发,这非常乏味且耗时。有了Aleo,ZK电路根据你的程序自动生成,使任何开发者都可以利用ZKPs的力量,这使隐私更易于访问。 通过批量证明而无需支付gas费用来增强可扩展性 Aleo将交易链下处理,然后通过ZKP链上验证交易。这样,所有的计算密集工作都是链下完成的,使Aleo能够实现更高的吞吐量。通过ZK批量证明执行,Aleo能够进一步减少证明者时间、验证者时间和证明大小,这使得成本呈次线性关系——当你超过4个执行时,证明者时间减少了4倍以上。 无限的程序运行时间 在zkCloud(一个去中心化、无信任的链下计算环境)中运行的程序可以花费一秒、一分钟、一天;只要在计算结束时提交保护交易就可以了。这为比以太坊等链上执行模型更广泛的应用打开了大门,因为以太坊中的程序运行时间受“gas”限制。 最大化的可编程性和可组合性 开发者可以更多地决定每次交易暴露或不暴露哪些信息以及暴露多少信息,这使他们可以更好地定义区块链上哪些参数是公开的、哪些是通过ZKP保护的。他们也可以获得更好的可组合性:虽然你不能在Solidity中从注册表中导入库或程序逻辑,但在Aleo中可以。 默认隐私 - 针对所有人 在其他ZK解决方案中,隐私是选择加入的。这导致了两类用户:非隐私用户和隐私用户,匿名集只代表以太坊用户的一小部分。问题在于,你的匿名集越小,对隐私用户的隐私也越差。在Aleo上,每笔交易默认都是隐私的,所以只有一类用户:受保护的用户集。 总结:ALEO主要是通过LEO语言来保证隐私性,通过SnarkOS来保证其去中心化的特性和安全性,通过SnarkVM来保证可扩展性。 机构背书数据来源:https://cryptorank.io/ico/aleo#funding-roundsAleo、Starknet和Zksync都是基于零知识证明的Layer 2解决方案,它们在技术路线和产品定位上有着明显的差异,形成了激烈的竞争局面。下面我从多个维度对这三者进行详细的竞品分析: 一、技术比较 1、证明系统 Aleo采用的是SNARK零知识证明。该证明系统证明效率高,可以在区块时间内生成证明,但需要信任设置。 Starknet使用的是STARK证明系统。STARK证明时间较长,需要几分钟,但安全性更高,不需要信任设置。 Zksync支持SNARK和STARK两种证明系统。其中SNARK用于 Rollup 中的证明生成,STARK用于数据可证明性。 2、编程语言 Aleo使用自研的Leo语言,专注于隐私计算。 Starknet使用类Solidity语言Cairo,以便兼容以太坊生态。 Zksync支持Solidity语言,直接兼容以太坊。 3、虚拟机 Aleo使用SnarkVM,这是定制的高效虚拟机。 Starknet使用StarkVM,针对STARK优化。 Zksync使用zkEVM,兼容以太坊虚拟机。 二、产品定位 1、通用性 Aleo更侧重于隐私计算,通用性较差。 Starknet和Zksync都可以看作是通用的可编程的计算平台。 2、兼容性 Aleo的兼容性较差,需要定制开发。 Starknet通过Cairo语言,可以兼容部分Solidity合约。 Zksync直接兼容以太坊生态。 3、侧重领域 Aleo更侧重于金融隐私计算。 Starknet和Zksync侧重于通用的去中心化应用。 三、生态建设 1、开发者社区 Aleo由于产品还在早期,开发者社区规模较小。 Starknet作为行业先驱,开发者社区庞大。 Zksync也有大量开发者,生态建设进展明显。 2、支持的钱包 Aleo钱包支持还在规划中。 Starknet已经支持多种钱包接入。 Zksync支持MetaMask等多种主流钱包。 3、去中心化治理 Aleo计划通过代币进行去中心化治理。 Starknet使用Validator Manager合约治理。 Zksync使用ZKS DAO进行治理。 4、生态合作 Aleo生态合作还在早期。 Starknet与多家项目达成合作。 Zksync与许多项目达成技术合作。 综上所述,Aleo、Starknet和Zksync都在积极推进零知识证明在Layer 2的应用,但各有侧重。从当前阶段来看,Starknet和Zksync在产品成熟度和生态建设方面处于领先地位,Aleo还处在提速阶段。三者都充满潜力,将给以太坊提供关键的可扩展性。未来随着技术不断进步,三者在零知识计算领域将形成良性竞争。 ALEO最新进展 AI领域——Zkml Zkml(基于零知识证明的机器学习)可以通过以下方式来解决机器学习模型的可验证性和隐私性问题: 将机器学习模型转换为支持零知识证明的语言 Aleo的zkML transpiler可以将Python机器学习模型转换为兼容Aleo的Leo语言。Leo语言内置了零知识证明模块,可以使模型支持零知识证明。 利用零知识证明证明模型的正确性 开发者可以使用zkML为机器学习模型添加零知识证明。这可以在不泄露模型参数和训练数据的情况下,证明模型进行了正确的计算,达到了预期的结果。 保护隐私数据 零知识证明可以只证明结果的正确性,而不泄露输入数据。这保护了用户隐私,使得机器学习模型可以在不透露敏感信息的前提下运行。 证明模型完整性 零知识证明可以证明整个机器学习模型的结构和参数没有被篡改,保证了模型的完整性。 审计模型运行历史 零知识证明为模型的运行提供了可审计的记录,可以证明模型是在什么时间以什么方式运行的。 构建可信任的模型 通过零知识证明,可以构建可被第三方验证和信任的机器学习模型,扩大模型的应用场景。 身份验证领域——zPass 传统的身份系统容易受到 DDoS 和单点故障的影响,为了保护敏感数据并消除对不良行为者的第三方的依赖,基于 Aleo 区块链的zPass ,通过使用先进的零知识 (ZK) 加密技术进行私有去中心化身份验证,保护用户隐私和数据安全。零知识证明技术:Zpass利用先进的零知识证明技术,使得可以验证密码和身份信息的正确性,同时不需要泄露实际的密码或个人数据。这种技术可以确保用户隐私和安全。去中心化的架构:Zpass采用去中心化的系统架构,用户自己拥有和控制自己的数据和密钥,不需要依赖中心化的第三方服务。这样可以降低数据中心或服务提供商被攻击的风险。分散存储身份信息:Zpass将用户的身份信息分散存储在多个地方,而不是集中在一个位置。这样即使某个存储点被攻击,也只能获得部分信息,不会泄露全部身份信息。选择性信息披露:Zpass允许用户选择性地披露他们的身份信息,而不需要披露全部敏感数据。这种方案可以最大程度地保护用户的隐私。加密存储信息:Zpass使用加密技术对存储的身份和密码信息进行保护。这样即使数据被窃取,攻击者也无法解密获得敏感信息。创作不易,看到的兄弟顺便关注下Twitter——0x_932,谢谢支持 ## Publication Information - [0x_932](https://paragraph.com/@0x-932/): Publication homepage - [All Posts](https://paragraph.com/@0x-932/): More posts from this publication - [RSS Feed](https://api.paragraph.com/blogs/rss/@0x-932): Subscribe to updates - [Twitter](https://twitter.com/0x_932): Follow on Twitter