Polygon Miden交易模型:Actor模式 + ZKP => 并行 + 隐私

这篇具有很好参考价值的文章主要介绍了Polygon Miden交易模型:Actor模式 + ZKP => 并行 + 隐私。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 引言

前序博客:

  • Polygon Miden:扩展以太坊功能集的ZK-optimized rollup
  • Polygon Miden zkRollup中的UTXO+账户混合状态模型

Polygon Miden为:

  • ZK-optimized rollup
  • 由客户端生成证明
  • 完善Polygon ZK系列解决方案,致力于成为网络价值层
  • 扩展以太坊功能集

本文专注于Polygon Miden的几个核心概念:

  • Accounts账户
  • Notes
  • Transactions交易

Polygon Miden中:

  • notes和accounts都持有资产。
  • 交易会引起账户状态更改。
  • 交易通常以单个账户和某些notes为输入,输出为:同一账户的新状态,以及,一些其它notes。
  • Polygon Miden的交易与以太坊交易不同,所以称Polygon Miden扩展了以太坊功能集。

2. 账户存储资产和代码

Polygon Miden中的账户:

  • 持有资产
  • 定义资产转移的规则

其与以太坊账户相似,但也有所不同:
Polygon Miden交易模型:Actor模式 + ZKP => 并行 + 隐私,zkVM,zkVM

  • 1)Polygon Miden中的每个账户都有代码,而以太坊中的EOA账户没有代码。即意味着Polygon Miden中的所有账户都是智能合约——即账号抽象(Account Abstraction)。从而有更好的用户体验和更安全的钱包:
    • 可定期rotate keys
    • 做rate limit
    • 社交恢复等。
  • 2)以太坊账户中仅locally存储了ETH balance,即意味着账户的该数据结构中仅存储其ETH balance信息。
    Polygon Miden中,所有资产都locally存储在账户中,从而提供了隐私和可扩展性:
    • 提供隐私,是指:之前已提及,Polygon Miden中的用户可将其账户数据私有维护。某特定账户所持有的资产或代码信息,可不对其他人可见。
    • 提供可扩展性,是指:在账户中locally存储资产,使得任意token交易都可仅触及一个账户,从而支持并发性。
      以太坊中的ERC20 token为智能合约,其存储了一组拥有该合约token的账户及其balance列表,该ERC20 token的某个持有人需修改该合约才能转移其token。
      而Polygon Miden中,tokens并不存储在public list中。
  • 3)Polygon Miden的账户ID仅为8个字节,而以太坊的账户地址长达20个字节。更短的字符更有助于记忆。因为每个账户都有code,从而支持多种认证方式,就没必要将账户ID与其公钥绑定。

3. 账户之间通过Notes来通信

与分布式系统的Actor模式类似,为实现并发状态更改:

  • Actors类似于小的状态机,每个actor负责其自身状态
  • Actors有inboxes来发送和接收消息,从而实现与其它actors的通信。
  • 消息可异步读取。
  • 某actor读取某消息之后,可修改其状态。

Polygon Miden中的notes即类似于上面的消息。
在Polygon Miden中,账户之间通过生成notes和消费notes来实现通信:

  • notes中携带了账户之间发送的资产信息。
    单个note中包含:
    • 资产
    • script:定义了该note如何可被消费。从而使得不仅仅支持资产的转移,还可支持更复杂的功能。

notes的概念,是基于账户模型的以太坊,与,基于UTXO和账户混合状态模型的Polygon Miden之间的,主要区别。

  • 以太坊中:由账户A发送5美金给账户B:【类似于钱包间的现金交易】
    • 账户A直接从其钱包中拿出5美金现金,
    • 然后再直接把这5美金放入账户B的钱包中。
  • Polygon Miden中:由账户A发送5美金给账户B:【类似于钱包间的账单(或notes)交易】
    • 账户A从其钱包中拿出5美金的账单放入某lockbox,然后就不管了后续了(即不负责将钱放入B的钱包中),账户A 的钱包余额中只是少了5美金。
    • 若账户B想要收取该账单,其必须知道该lockbox的组合,如果知道,即可将这5美金放入账户B自己钱包。
    • “将账单放入lockbox” 的动作,与,“将账单从lockbox中取出”的动作,是不同的。

4. 交易:生成和消费notes

Polygon Miden中,当账户生成或消费notes时,则称其为交易。

Polygon Miden中的交易总是基于单个账户执行的,且仅引起该单个账户的状态更改:
Polygon Miden交易模型:Actor模式 + ZKP => 并行 + 隐私,zkVM,zkVM
即意味着,2个账户之间发送资产时,需要2笔交易:

  • 1笔交易用于创建note
  • 另1笔交易用于消费 发送账户 所创建的note。
    Polygon Miden交易模型:Actor模式 + ZKP => 并行 + 隐私,zkVM,zkVM
    仍以上面的例子为例:
  • 账户A将5美金账单放入lockbox中,这即为账户A的状态转换和首笔交易。
  • 账户B从lockbox中取出该5美金账单,这为账户B的状态转换,和,另一笔交易。
    • 账户B甚至可以同时打开多个lockboxes,并在单笔交易中“消费”所有账单。

使用这种交易模型可以做一些引人注目的事,如:

  • 1)交易可以在本地执行和证明,因为交易只涉及一个帐户。这提供了隐私并降低了复杂计算的成本,因为其无需多个网络参与者进行重新执行。
  • 2)在另一个帐户消费了某note之前,该note的创建者可对其进行更新。可通过公开note script的哈希部分,来完成note更新。
    如某note script可为:“消耗这5 ETH并发送Bob 10 MATIC或0x213…”。然后,若无人消费这该note,其创建者可公开“0x213=消费这5 ETH并发送Bob 9 MATIC”。以此来说明可更新lock——如做市商可在短时间内免费更新链上订单。
  • 3)当某note被发送到错误的地址,其创建者可召回该note。想想那些在以太坊或比特币上意外将东西发送到错误地址的用户。在Polygon Miden上,特定交易的创建者可对其进行配置,以便在尚未消费某note的情况下可召回该note。

5. 包含公共共享状态的交易

Polygon Miden账户可以在本地执行并证明其交易,因为交易只会改变其自身状态。

但是,若某交易涉及到公共状态呢?
想象一下,有一个类似Uniswap的合约——它只是另一种简单账户——在消费和生成一些notes后会发生变化。且这种更改必须对所有其他用户可见,因为这会影响所有其他用户的交易费率。

基本上,一个需要公开其状态的帐户无法在本地执行和证明其交易。
这些网络交易必须由Polygon Miden运营商执行和验证。在这种情况下,Polygon Miden的工作方式与所有其他ZK Rollup类似,由专门的Provers来创建有效状态转换的证明。

两个帐户如何使用类似Uniswap的合约交换代币的架构如下图所示,从左至右,可将其分解为离散阶段:
Polygon Miden交易模型:Actor模式 + ZKP => 并行 + 隐私,zkVM,zkVM

  • 1)Token Swap Initiation阶段:
    • Acct1 and Acct2 want to trade on a Uniswap-like contract
    • Tx1 creates Note1 and can be locally executed by Acct1
    • Tx2 creates Note2 and can be locally executed by Acct2
  • 2)Uniswap Execution阶段:
    • In Tx3, Uniswap consumes Note1 and Note2 (and all the other notes that are in its inbox) and creates Note3 and Note4 in the same transaction
    • Because Uniswap’s state must be publicly visible, this state change is performed by the Polygon Miden operator
  • 3)Token Swap Finalization阶段:
    • Acct1 and Acct2 now get their swapped tokens back
    • Tx4 consumes Note3 and can again be locally executed by Acct1
    • Tx5 consumes Note4 and can again be locally executed by Acct2

参考资料

[1] Polygon Labs 2023年4月博客 Polygon Miden: Transaction Model文章来源地址https://www.toymoban.com/news/detail-721410.html

Miden系列博客

  • zk、zkVM、zkEVM及其未来
  • Polygon L2扩容方案揭秘
  • 混合Rollup:探秘 Metis、Fraxchain、Aztec、Miden和Ola
  • Polygon Miden:扩展以太坊功能集的ZK-optimized rollup
  • Polygon Miden zkRollup中的UTXO+账户混合状态模型

到了这里,关于Polygon Miden交易模型:Actor模式 + ZKP => 并行 + 隐私的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • ET介绍——分布式Actor模型

    在讨论Actor模型之前先要讨论下ET的架构,游戏服务器为了利用多核一般有两种架构,单线程多进程跟单进程多线程架构。两种架构本质上其实区别不大,因为游戏逻辑开发都需要用单线程,即使是单进程多线程架构,也要用一定的方法保证单线程开发逻辑。ET采用的是单线程

    2024年02月05日
    浏览(9)
  • Rust 中 Actor 并发模型的实践与使用

    Actor 模型是一种并行计算模型,提供了一种用于构建并发、分布式系统的形象办法。在 Actor 模型中, 计算被示意为独立的、轻量级的计算单元,称为 Actor ,能够发送和接管音讯并进行本地计算。 作为一种通用的消息传递编程模型,被广泛用于构建大规模可伸缩分布式系统。

    2024年04月28日
    浏览(6)
  • 【深度强化学习】(4) Actor-Critic 模型解析,附Pytorch完整代码

    【深度强化学习】(4) Actor-Critic 模型解析,附Pytorch完整代码

    大家好,今天和各位分享一下深度强化学习中的 Actor-Critic 演员评论家算法, Actor-Critic 算法是一种综合了策略迭代和价值迭代的集成算法 。我将使用该模型结合 OpenAI 中的 Gym 环境完成一个小游戏,完整代码可以从我的 GitHub 中获得: https://github.com/LiSir-HIT/Reinforcement-Learning

    2024年02月03日
    浏览(23)
  • 对比传统交易模式与基于区块链的交易模式

    随着科技的不断进步,交易模式也在持续革新。传统交易模式与基于区块链的交易模式,作为两种截然不同的交易方式,各有其特点与影响。本文将对这两种交易模式进行详尽的对比,从多个维度揭示它们之间的差异。 传统交易模式通常依赖于中央机构或第三方来进行交易验

    2024年04月27日
    浏览(12)
  • 并行计算(一)——并行计算机系统及结构模型

    并行计算(一)——并行计算机系统及结构模型

    SMP、COW、PVP、MPP计算机相关_神.秘.人的博客-CSDN博客_并行向量处理机 在下面的讲解之前,我们先看一下并行计算的量纲。 1.1.1 并行计算和计算机科学 随着计算机和计算机学科的发展,所有的学科都转向定量化和精确化,因此也出现了很多计算开头的学科,如计算数学、计算

    2024年01月23日
    浏览(8)
  • 分布式深度学习中的数据并行和模型并行

    分布式深度学习中的数据并行和模型并行

    🎀个人主页: https://zhangxiaoshu.blog.csdn.net 📢欢迎大家:关注🔍+点赞👍+评论📝+收藏⭐️,如有错误敬请指正! 💕未来很长,值得我们全力奔赴更美好的生活! 对于深度学习模型的预训练阶段,海量的训练数据、超大规模的模型给深度学习带来了日益严峻的挑战,因此,经

    2024年01月24日
    浏览(16)
  • 用通俗易懂的方式讲解大模型分布式训练并行技术:MOE并行

    用通俗易懂的方式讲解大模型分布式训练并行技术:MOE并行

    前面的文章中讲述了数据并行、流水线并行、张量并行、序列并行、自动并行等多种并行技术。但现在的模型越来越大,训练样本越来越多,每个样本都需要经过模型的全部计算,这就导致了训练成本的平方级增长。 而当我们希望在牺牲极少的计算效率的情况下,把模型规模

    2024年02月02日
    浏览(17)
  • ZKP16 Hardware Acceleration of ZKP

    ZKP16 Hardware Acceleration of ZKP

    ZK-Learning MOOC课程笔记 The What and Why of Hardware Acceleration Hardware acceleration is the use of dedicated hardware to accelerate an operation so that it runs faster and/or more efficiently. Hardware acceleration can involve optimizing functions and code to use existing hardware (COTS) or it may involve the development of new hardware designed for

    2024年02月05日
    浏览(30)
  • BTC交易模式 - UXTO

    BTC交易模式 - UXTO

    我们常用的 支付宝,银行卡 都是以账户的形式,根据每笔交易,进行余额的增减。 UXTO(Unspent Transaction Output),在一笔BTC交易中,包含 输入 和 输出 。可以将 付款人支付的BTC 理解为 输入 ,输入 就是 上次交易获得的UXTO ;输出可以理解为 收款人收到的BTC ,以及付款人付

    2024年02月21日
    浏览(10)
  • 【深入了解PyTorch】PyTorch分布式训练:多GPU、数据并行与模型并行

    在深度学习领域,模型的复杂性和数据集的巨大规模使得训练过程变得极具挑战性。为了加速训练过程,利用多个GPU进行并行计算是一种常见的方法。PyTorch作为一种流行的深度学习框架,提供了强大的分布式训练工具,使得多GPU、数据并行和模型并行等技术变得更加容易实现

    2024年02月12日
    浏览(15)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包