一文读懂Ergo UTXO模型交易工作原理

随着Ergo生态发展壮大,我们的社区现在可以享用几个关键dApp的功能。Ergo有一个稳定币协议,用户可以在其中铸造SigUSD和SigRSV代币。Ergo拍卖行(Ergo Auction House)提供铸造NFT的能力,而ErgoDEX(Beta版)允许您交换代币并提供流动性。这些是UTXO模型(由比特币开创)上的首批、独特且复杂的DeFi dApp。UTXO模型是否可以表达丰富的智能合约,就像账户模型一样,这经常被争论。这就是Ergo平台从头开始构建ErgoScript语言的原因,以努力在比特币的基础上传承并取得进步。

有关UTXO和账户模型的深入比较,请阅读我们之前的文章:《Ergo:在比特币的基础上进化》

作为 Ergonaut,如果在区块浏览器中查看过交易详情,您可能会有一些困惑。UTXO模型通过使用“币盒”来保存数据,这与账户模型有本质的不同。在账户模型中,有一个您可以接收币的账户。然而,在UTXO模型中,每笔交易都会创建一个新币盒,您的余额是链接到您地址的所有币盒之总和。

Aku项目方价值3,400万美元ETH被永久锁定,系合约实现逻辑问题:4月23日消息,NFT项目方Akutar的11,539.5 ETH(约合3,400万美元)被永久锁定在拍卖合约。

Aku采用的是类似荷兰降价拍卖的形式,拍卖结束后会按照结束价格给用户退还超过最低价格的部分,因此这涉及refund以及total bids统计两个方面,而项目方在这两个方面均存在实现逻辑问题。

第一个漏洞,processRefunds() 会被恶意合约阻断,实现DoS攻击,也确有用户使用恶意合约阻断了processRefunds()执行,但该名用户表示只是让项目方确认问题存在,随即设置恶意合约变量,使得processRefunds()顺利执行完,因此该漏洞虽被利用,但已成功解决。

第二个漏洞,也就是真正导致项目方无法提款的关键所在,processRefunds()是按照msg.sender的数量记录在了refundProgress变量,拍卖结束项目方调用claimProjectFunds()取出合约内的ETH时,要求满足refundProgress >= totalBids,而totalBids记录的是NFT的数量,合约最终状态refundProgress数值为3669,totalBids数值为5495,从而导致项目方无法提取合约内的11539.5 ETH。

需要指出的是,在执行processRefunds()之前,参与拍卖的用户可以在三天后通过emergencyWithdraw()将个人投入的ETH取回,但由于processRefunds()的执行,导致用户的拍卖状态由未处理变为refund,从而不能再进行emergencyWithdraw()。[2022/4/23 14:43:41]

需要明确的是,您的Yoroi私钥可以在一个地址中包含多个币盒来存放您的币。

当您生成一个新地址时,您将创建一个辅助币盒来存放币。创建后,您可以将资金发送到这个新地址,您的资金将被视为带有您的私钥。您可以创建无限数量的新币盒来存币。因此,每个接收和支出操作也将创建一个额外的独特币盒。

初看起来,此功能可能会引起用户的误解。当您进行交易时,网络会扫描您的“币盒”以验证您是否拥有代币,然后启动交易。

在此之后事情变得复杂,因为您无法猜测将要花费哪些币盒。假设您有三个不同的接收地址。其中每个地址里都收到了几个币,并且您想花费一些币。在Yoroi钱包中,您可以持有任何Ergo原生币,例如SigRSV或SigUSD。当发起访问这些存币币盒的交易时,您会看到它们被取走然后重新存入。最近,一位Ergonaut提出了以下问题:

“我刚刚创建了一个Yoroi Nightly钱包。我将31枚ERG从我的主Yoroi钱包转移到了Yoroi Nightly钱包。交易显示31枚ERG加上少量手续费0.0011。但它也表示+92000 SigRSV。我的余额显示SigRSV没有变化。交易中的+92000 SigRSV是什么意思?”

让我们来看看这个特定交易的细节:

进行31枚ERG的交易时,钱包选择了三个带有ERG的币盒:

21年7月19日收到一个包含0.02959枚5ERG的币盒

21年7月19日收到第二个装有19.76枚ERG的币盒

21年7月19日收到第三个包含208.26枚ERG的币盒

在上图的左侧部分,您将看到大约228枚ERG被取走,而在右侧部分,您将看到31枚ERG被发送和197枚ERG重新存入您的钱包。

所以你的钱包用了三个币盒来花费所需的金额。此操作将该币盒中的所有资产并入了交易。

在花费了所需的金额后,您的资金将直接退还到您在新创建UTXO币盒中的地址。因此,在一个币盒里花费任何币意味着花费整个币盒并创建一个新的UTXO币盒,这就是为什么你看到代币被取走然后重新存入(译注:这就是UTXO模型的“找零”功能)。

选择花费哪些币盒是钱包随机选择策略的机密。所选币盒中的任何币,无论是SigRSV、SigUSD还是NFT,都将如例中所示。

总结:

账户模型包含一个币盒,这个币盒没有被花费。它保持不变,因此不相关的币将不受影响。

另一方面,UTXO模型包含一组代表用户余额总量的币盒,并且未花费的交易输出必须随着每笔花费交易而变化。

仅交换5枚SigRSV时,您可能会看到一长串代币,如下所示:

这就是UTXO模型交易的工作原理——它的存储与账户模型不同。在UTXO模型中,币将存储在一次性UTXO币盒中,而不是存储在长期账户中。

作者:Ergo平台

原文发布日期:2021年10月7日

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

区块分享

欧易okex官网支付的未来不是稳定币

稳定币,我们将其定义为用作交易媒介的数字资产,据称由专门为此目的持有的资产支持,在过去两年中大幅增长。它们的市值从 2019 年 12 月 1 日的 57 亿美元上升到 2022 年 1 月 21 日的 1556 亿美元。

NEAR元宇宙是一个新时代的开启 其内核由Web3.0 承载

不论元宇宙将来发展出什么值,函数值恒等于 Web3.0。 元宇宙,常见于 2021 年大街小巷的谈论中,以 Roblox 上市和 Meta 改名两大事件最为著称,也因此向全球数亿乃至十数亿人传递了”第一代元宇宙”的基本风貌和价值观——以直接感官体验为核心特征的 3D 沉浸式虚拟世界,占领了早期发展先机,“成功上位”。

以太坊金色早报 | 数字人民币试点应用场景不断扩围

头条 ▌数字人民币试点应用场景不断扩围 1月29日消息,近期,数字人民币试点应用场景不断扩围,上线还不到一个月的数字人民币APP在多家主流手机品牌应用市场的下载量持续攀升。据统计,截至1月28日发稿时,华为应用市场累计下载量1305万次,vivo应用市场累计下载量1068万次,小米应用市场累计下载量507万次,OPPO应用市场178万次。

欧易交易所元宇宙商标的致富路断了

2021年被称之为“元宇宙元年”,也迎来了元宇宙商标注册的热潮,2021年全年,注册的元宇宙商标数量占目前元宇宙商标总数的99.9%。 然而,热潮背后却是疯狂抢注的乱象,腾讯、字节跳动、网易、阿里巴巴等大厂的元宇宙商标均被抢注,而乱象过后,整顿必然随之而来。

[0:0ms0-0:500ms