长春专业网站推广,源码时代培训机构,哪个网站是做安全教育,wordpress建购物网站1. 引言
前序博客有#xff1a;
Aztec的隐私抽象#xff1a;在尊重EVM合约开发习惯的情况下实现智能合约隐私
Aztec.nr#xff0c;为#xff1a;
面向Aztec应用的#xff0c;新的#xff0c;强大的智能合约框架使得开发者可直观管理私有状态基于Noir构建#xff0c;…1. 引言
前序博客有
Aztec的隐私抽象在尊重EVM合约开发习惯的情况下实现智能合约隐私
Aztec.nr为
面向Aztec应用的新的强大的智能合约框架使得开发者可直观管理私有状态基于Noir构建Noir为Aztec Labs作为核心贡献者开发的通用zk编程语言。使得开发者使用Noir来编写隐私智能合约并借助模块化函数来扩展其功能并简化状态管理。未来将为开发者提供Solidity的智能合约功能和语法。
开源代码实现见
https://github.com/AztecProtocol/aztec-nrNoir
2. Aztec.nr要点
Aztec.nr框架帮助处理复杂的note管理note管理对于在智能合约开发中实现隐私保护 至关重要。 同时开发者无需在每次编写Noir程序时从头构建智能合约功能。
若没有Aztec.nr将
无法释放事件无法调用其它合约无法实现合约甚至地址概念没有msg.sender无法访问链上历史记录
当前开发者可访问的完整智能合约特性有
合约包括callable合约函数以及合约内部函数调用持久状态变量合约地址语义访问msg.sender以及其它调用上下文信息访问交易上下文信息访问链上历史数据时间logs支持加密和非加密密码学原语跨链L1-L2和L2-L1消息传输
相关示例有
swap合约示例lending合约示例卡牌游戏合约示例
3. Aztec.nr原理
Aztec Labs团队有两个非常坚定的信念
隐私可解锁下一阶段应用爆发。对于链上的日常用户、企业和机构来说将每一个地址、交易和余额都以明文形式公开是不可能的。隐私用户体验必须比区块链中现有的技术状态更好。只有在使用体验比现在更好的情况下隐私保护技术才有用。 Aztec.nr框架是改进开发者管理隐私状态的重要步骤单纯Noir并没有相应功能。
以简单的隐私token合约为例Aztec.nr包括以下helper函数
get_balanceincrementdecrement等等
换句话说在标准token合约内应调用类似函数。
隐私note的管理流程为 如Alice想给Bob转账
Alice聚合其所有待发送资产的现有的non-nullified notes将这些note值求和若Alice有足够的金额则会创建一个change note来调和其余额。
而Aztec.nr会让其更易于管理。以简单的隐私token合约为例中的decrement和decrement_by_at_most函数为例。 decrement_by_at_most函数的流程为
1找到待decrement的notes。该函数首先获取owner拥有的一些notes来累加max_amout 2销毁所选中的notes。遍历选中的notes并销毁这些notes将这些notes求和值添加到decremented变量中 3处理change note。若销毁的notes总值decremented大于max_amount则为超出值创建一个新的notechange_value并将其分配给该owner。 4返回Decrement。最终该函数发送存储于decremented中所decremented的总值。
decrement中则展示了如何使用Aztec.nr中内置的get, insert,replace, remove函数来管理notes和nullifiers。
若开发者想不使用Aztec.nr来编写这些功能即使用纯的非智能合约Noir来编写则开发者需编写自己的Merkle tree来插入并为notes提供membership roof为nullifiers提供non-membership proof。
而借助Aztec.nr开发者无需关心如何重构核心隐私原语这些Aztec团队都以帮其实现了。开发者仅需专注于智能合约逻辑实现即可。
Aztec团队很快将给开发者发布一个本地开发环境基于本地Aztec节点实例来编写和测试Aztec智能合约。在不久的将来借助Aztec.nr所提供的功能开发者也将获得丰富的开发工具来基于Aztec构建智能合约和应用。
Noir相关入门资料可参看
https://github.com/noir-lang/noir-starterNoir docAztec论坛
参考资料
[1] Aztec团队2023年9月博客 Introducing Aztec.nr: Aztec’s Private Smart Contract Framework
Aztec系列博客
Aztec Hybrid Rollup混合zkRollup而非zkEVMProof CompressionAztec Connect即将主网上线Aztec connect bridge代码解析Aztec 征集 Rollup Sequencer去中心化提案Aztec的隐私抽象在尊重EVM合约开发习惯的情况下实现智能合约隐私完全保密的以太坊交易Aztec网络的隐私架构