Aztec:私有状态的 UTXO 并发问题
注意 - “UTXO”、“注释”和“承诺”一词可以互换使用。
背景
Aztec 正在将 UTXO 用于其私有状态。 这让我们面临一些其他也实现可编程 UTXO 的可编程区块链所面临的 UTXO 并发问题。
比如说,我在智能合约中有一堆私人票据(就像私人存储余额的代币合约),并且我在交易中使用其中一些。 当从数据库中获取笔记时,我们总是获取前 X 个尚未被取消的笔记(参考 12 和参考 2),即默认情况下我们不使用偏移量。
一旦这些票据在交易中使用,它们就可以被视为待处理,直到状态更新(当区块在 L1 上最终确定时发生),这可能需要 2-10 分钟(取决于我们的证明者网络证明的速度) 。 但在那之前,交易仍然悬而未决,承诺也没有被取消。
因此,当该交易处于待处理状态时,如果用户再次在同一合约上获取票据,他们将获得相同的票据(因为它们尚未被作废)。 这意味着用户每个区块每个合约只能进行 1 笔交易(对于需要访问票据的交易)。 这类似于基于 Cardano 构建的 DEX 所流行的问题,如果天真地实现,每个区块只能允许每个池进行 1 次交换(因为池中的 UTXO 可以被另一笔交易使用,因此池中的所有其他交易都会失败,因为原始 UTXO 现已被销毁)。
这很糟糕,并且是一个根本性的挑战,不仅是 Aztec 的可扩展性,而且是所有尝试利用可编程 UTXO 的区块链都需要解决的挑战。
我们目前正在做什么?
有一个 PR 可以在任意偏移处获取可变数量的音符(感谢 Leila!)。 这在诸如我知道我的前两张票据卡在待处理交易中的情况下很有用。 然后,当我为下一个交易获取另外两个注释时,我只需传递两个偏移量。 现在我得到了两张不同的票据,我可以并行使用它们(使 4 个票据处于待处理状态)。
一种解决方案是由 Aztec RPC Server 进行偏移计算。 另一种选择是让 dapp 开发者拥有自己的特定于他们的应用程序的算法(这需要对 UTXO 进行深入的了解,并对如何使用他们的 dapp 进行大量建模)。 我个人认为前者(RPC Server 进行偏移计算)更好,因为它提供了更简单的开发方式。
RPC 服务器可以通过以下方式进行计算——典型的事务将获取笔记然后使用它们。 这会在 Noir 上调用“compute_nullifier()”,它会获取用户的密钥并通过对 RPC 服务器的 oracle 调用来计算 nullifer。 每次调用此方法时,节点都可以告诉 RPC 服务器移动偏移量(对此想法请向 @jaosef 表示感谢)。
这假设每次调用compute_nullifier() 时,都会删除注释。 有没有什么情况你会调用这个方法来不使无效?
可是等等! 还有更多!
上述解决方案并不能完全解决问题。
**假设用户在多个设备上拥有钱包(读取其 rpc 服务器/模拟器的实例)。**他们从一台设备进行交易,但交易仍处于待处理状态。 如果您现在转到另一个设备在同一个合约上进行另一笔交易(如今天所实施的那样),它将最终获取相同的注释(因为偏移量仅在第一个设备上本地更正)并且内核证明将正确构建 。 当然,当通过我们的汇总电路发送时,事务将恢复,但这是糟糕的用户体验。
以太坊也存在这个问题,但由于 Aztec 拥有长达 10 分钟的出块时间,这可能导致 20 分钟的协调时间(最坏情况),而以太坊理论上可以提供 20-30 秒的时间。 因此,有更多的动力来确保阿兹特克人做到这一点。 等待 10 多分钟才发现您的交易正在恢复,这可能会非常令人沮丧。
未解答的问题
- dapp 开发人员如何在运行时通过算法确定将用户(或合约)余额分割成的最佳票据数量?
待定承诺允许用户有效地将大笔记分割成多个较小的笔记或将多个小笔记合并成一个大笔记。 但是如何确定如何拆分/合并它们呢? 假设一份合约有 1 张价值 10 ETH 的票据。 假设我想从中取出 1 eth,而 Jake 想要取出 2 eth。 这两项交易都是私下进行的,即在用户设备本地进行。 我会将合约的 utxo 分别拆分为两个值 1 eth 和 9 eth,而 Jake 会将其拆分为 8 和 2。当然,只有一笔交易成功(比如我的),但现在 Jake 失败了,即使合约有足够的资金来处理 我们双方的交易!
优秀的 dapp 开发人员需要创建算法来确定如何存储用户的余额以及合约池。 大多数基于 UTXO 的 DEX 都使用链下聚合器将所有交易合并为一个(有自己的代币经济模型)。 参考资料 1
更多相关问题:
- 关于 dapp 开发人员如何以编程方式计算出要获取用户的多少笔记的良好算法设计?
- …或者何时分割/合并笔记?
- ...或者如何确定正确的偏移量?
一个简单的答案是在你的黑色智能合约中拥有一个不受约束的函数,它可以获取用户的多个注释,并让 dapp 开发人员以这种方式确定它。 不知道如何保护隐私……
DevRel 的最后一点说明
- 我们还需要做好提供文档和示例的工作,证明如果简单地处理 UTXO 并发问题会对用户体验产生负面影响。
感谢 @cooper-aztecLabs 和 @suyash67 的反馈!
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
您可能感兴趣
-
SK海力士的最新财报,能成为存储芯片的救命稻草吗?昨晚,美股芯片板块再度遭遇惨烈抛售。SK海力士和美光双双重挫近9%,闪迪更是暴跌14%。这种跌幅本该足以登上财经头条,但如今甚至快让人产生"审美疲劳"了——芯片股大跌,正在从"新闻"变成"日常"。市场
-
中国光刻机也要进入DeepSeek时代?美股又要面临抛压了吗?昨晚,美股芯片板块再度遭遇惨烈抛售。 闪迪收跌11%,SK海力士跌逾7%,股价正式跌破149美元的IPO发行价。就连一向稳健的龙头英伟达,也大跌5%。 而今天上午,恐慌情绪蔓延过了太平洋——韩国股市再
-
当加密货币驶入「监管深水区」:为何合规阵痛是 Web3 走向全球普及的必经之路?近年来,全球加密货币市场似乎步入了一个前所未有的「强监管周期」。从今年 5 月英国针对部分头部加密货币交易所实施精准的资产冻结,到 7 月底欧盟正式祭出第 21 轮制裁方案并对多家加密平台实施广泛的交
-
交给曲线,别和周期对抗:宏观分析大师 Raoul Pal 的加密 10 年投资复盘作者:Raoul Pal,Real Vision 联合创始人兼 CEO 原标题:《Where Crypto Fits in the Exponential Age》 编译:胡韬,ChainCatche
-
Visa 最新研究: 1.1 亿笔交易背后,Agent 支付正在重构互联网商业作者:Tim Conard(Visa 链上数据负责人)、Lucas Shin(Artemis 数据与研究) 编译:佳欢,ChainCatcher 前言 Artemis 是链上数据领域的分析平台,Vis
-
CLARITY 法案的“最后一公里”为何走不通?作者|Odaily 星球日报 jk《数字资产市场结构法案》,(Digital Asset Market Clarity Act,即 CLARITY 法案)自 2025 年 7 月 17 日以 294
-
Bitget UEX 日报|伊朗突袭美军基地油价反弹;存储芯片继续重挫;苹果与微软、谷歌等稳健上涨 (2026年07月29日)一、热点要闻 美联储动态 决议前市场分歧显著,加息预期升温联邦基金利率期货未平仓合约激增至历史新高(周一达96.7万份),反映交易员对政策路径的巨大分歧。 CME数据显示,7月维持利率不变概率69.5
- 成交量排行
- 币种热搜榜
World Liberty Financial USDv
泰达币
比特币
以太坊
USD Coin
Solana
瑞波币
Ronin Network
币安币
莱特币
艾达币
狗狗币
大零币
Wormhole
比特现金
SHIB
UNI
OKB
AR
ICP
DOT
LUNC
YGG
DYDX
LPT
ETC