Aztec.nr:Aztec的隐私智能合约框架——用Noir扩展智能合约功能

这篇具有很好参考价值的文章主要介绍了Aztec.nr:Aztec的隐私智能合约框架——用Noir扩展智能合约功能。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 引言

前序博客有:

  • Aztec的隐私抽象:在尊重EVM合约开发习惯的情况下实现智能合约隐私

Aztec.nr,为:

  • 面向Aztec应用的,新的,强大的智能合约框架
  • 使得开发者可直观管理私有状态
  • 基于Noir构建,Noir为Aztec Labs作为核心贡献者开发的通用zk编程语言。
  • 使得开发者使用Noir来编写隐私智能合约,并借助模块化函数来扩展其功能,并简化状态管理。
  • 未来将为开发者提供Solidity的智能合约功能和语法。

开源代码实现见:

  • https://github.com/AztecProtocol/aztec-nr(Noir)

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:Aztec的隐私智能合约框架——用Noir扩展智能合约功能,隐私应用,隐私应用
Aztec.nr框架是改进开发者管理隐私状态的重要步骤,单纯Noir并没有相应功能。

以简单的隐私token合约为例,Aztec.nr包括以下helper函数:

  • get_balance
  • increment
  • decrement等等

换句话说,在标准token合约内应调用类似函数。

隐私note的管理流程为:
Aztec.nr:Aztec的隐私智能合约框架——用Noir扩展智能合约功能,隐私应用,隐私应用
如Alice想给Bob转账:

  • Alice聚合其所有待发送资产的现有的non-nullified notes,将这些note值求和,若Alice有足够的金额,则会创建一个change note来调和其余额。

而Aztec.nr会让其更易于管理。以简单的隐私token合约为例中的decrementdecrement_by_at_most函数为例。
decrement_by_at_most函数的流程为:

  • 1)找到待decrement的notes。该函数首先获取owner拥有的一些notes来累加max_amout
    Aztec.nr:Aztec的隐私智能合约框架——用Noir扩展智能合约功能,隐私应用,隐私应用
  • 2)销毁所选中的notes。遍历选中的notes并销毁这些notes,将这些notes求和值添加到decremented变量中:
    Aztec.nr:Aztec的隐私智能合约框架——用Noir扩展智能合约功能,隐私应用,隐私应用
  • 3)处理change note。若销毁的notes总值(decremented)大于max_amount,则为超出值创建一个新的note(change_value),并将其分配给该owner。
    Aztec.nr:Aztec的隐私智能合约框架——用Noir扩展智能合约功能,隐私应用,隐私应用
  • 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-starter
  • Noir doc
  • Aztec论坛

参考资料

[1] Aztec团队2023年9月博客 Introducing Aztec.nr: Aztec’s Private Smart Contract Framework文章来源地址https://www.toymoban.com/news/detail-717085.html

Aztec系列博客

  • Aztec Hybrid Rollup:混合zkRollup,而非zkEVM
  • Proof Compression
  • Aztec Connect即将主网上线
  • Aztec connect bridge代码解析
  • Aztec 征集 Rollup Sequencer去中心化提案
  • Aztec的隐私抽象:在尊重EVM合约开发习惯的情况下实现智能合约隐私
  • 完全保密的以太坊交易:Aztec网络的隐私架构

到了这里,关于Aztec.nr:Aztec的隐私智能合约框架——用Noir扩展智能合约功能的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 深度学习实战44-Keras框架下实现高中数学题目的智能分类功能应用

    大家好,我是微学AI ,今天给大家介绍一下深度学习实战44-Keras框架实现高中数学题目的智能分类功能应用,该功能是基于人工智能技术的创新应用,通过对数学题目进行智能分类,提供个性化的学习辅助和教学支持。该功能的实现可以通过以下步骤:首先,采集大量的高中数

    2024年02月15日
    浏览(54)
  • 简介智能合约开发框架-Hardhat

    ​ Hardhat是一个编译、部署、测试和调试以太坊应用的开发环境。 Hardhat内置了Hardhat网络,这是一个专为开发设计的本地以太坊网络。主要功能有Solidity调试,跟踪调用堆栈、 console.log() 和交易失败时的明确错误信息提示等。 node.js python 安装 安装中如果出现这样的报错 下载

    2024年02月16日
    浏览(47)
  • 什么是智能合约?智能合约的应用

    智能合约(Smart Contract)是一种基于区块链技术的自动化合约,能够自动执行合约条件,而无需人工干预。智能合约的出现为许多传统领域带来了革命性的变化,它在金融、房地产、物流、政务等领域具有广泛的应用前景。 智能合约是一种通过计算机程序实现自动执行合约的

    2024年02月16日
    浏览(38)
  • 区块链智能合约测试框架Foundry技术指南

    在区块链开发领域,智能合约的安全性和可靠性至关重要。鉴于区块链的不可变性,智能合约中的任何错误都可能导致不可逆转的后果,包括重大的财务损失。这凸显了彻底测试的关键重要性。Foundry 是一种 Solidity 测试框架,在这一领域中成为一个强大的工具,为开发人员提

    2024年02月03日
    浏览(61)
  • 区块链DAPP开发 以太坊智能合约框架有哪些

    Truffle 是一个在以太坊进行 DApp 开发的世界级开发环境、测试框架。 使用 Truffle 开发有一以下优点: 内置智能合约编译,链接,部署和二进制(文件)管理。 可快速开发自动化智能合约测试框架。 可脚本化、可扩展的部署和迁移框架。 可管理多个不同的以太坊网络,可部署

    2024年02月02日
    浏览(49)
  • 介绍 sCrypt:BTC 的 Layer-1 智能合约框架

    在 TypeScript 中开发 BTC 智能合约 我们非常高兴地推出 sCrypt:一种现代 Typescript 框架,用于在 BTC 上开发第一层智能合约,无需分叉。 现在,人们可以使用现代开发工具在易于使用的统一框架中编写、测试、调试、部署和调用智能合约。 任何 web2 开发人员都可以在 BTC 上开发智

    2024年01月18日
    浏览(38)
  • 在前端页面上应用智能合约实现合约交互例子

    在Remix上编译和部署智能合约,本地使用vscode工具调用智能合约应用于前端界面 win10 Remix VScode Ganache-cli web3 创建新合约 InfoContract.sol 并写入以下内容: 写好合约内容之后,按照ganache-cli连接Metamask钱包里面 步骤 的内容操作。 在remix中进入DeployRun模块,选择Enviroment为Injected W

    2023年04月08日
    浏览(38)
  • ApeWorX: 新的基于 Python 语言的智能合约开发框架

    Brownie 是 Python 开发人员经常使用智能合约框架。 现在出现了一个 Brownie 的继任者,可以让 Python Web3 开发人员获得更好的体验。 在本文中,我将讨论这个 Brownie 的继任者 ApeWorX,也称为“Ape”。 ApeWorX 是一个基于 Python 的智能合约开发和部署框架,有很强的可定制性和安全的

    2024年02月05日
    浏览(45)
  • 【区块链技术开发】十个比较流行的以太坊智能合约开发框架

    专栏:【区块链技术开发】 前期文章: 【区块链技术开发】剖析区块链Ganache模拟器工具及其智能合约部署区块链的查询方式 【区块链技术开发】基于Web3.js以太坊网络上的智能合约的交互及其应用 【区块链技术开发】OpenZeppelin智能合约库:提高智能合约的安全性和可靠性,

    2024年02月02日
    浏览(69)
  • 【区块链-智能合约工程师】第四篇:Truffle框架安装和介绍(Windows)

    参考文章: 以太坊开发框架——Truffle的基础使用 区块链(2)以太坊开发框架Truffle教程(Windows)(主要参考) 简单介绍 Truffle 是目前最流行的 以太坊 DApp 开发框架 ,(按照官网说法)是一个世 界级的开发环境和测试框架,也是所有使用了 EVM 的区块链的资产管理通道,它

    2024年02月02日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包