火星链 火星链
Ctrl+D收藏火星链

C20:详解以太坊可逆交易标准ERC20/721R的机制、创新与局限

作者:

时间:1900/1/1 0:00:00

区块链交易的不可逆特性,一度被形容为是唯一的人类对上帝'时间'的低劣仿制品,然而也正是因为不可逆,导致大量黑客攻击资金被盗无处解决,也被趣称为web2向web3最成功的转型:黑客。

而斯坦福大学研究员于最近9.9号最新发布的论文,便是实现了两种可逆交易的标准命名为ERC20R/ERC721R。其引入了一个“去中心化法庭”机制,资产被盗时受害者可申请冻结资产,而”去中心化法庭“可通过投票来决定是否冻结,冻结资产后“法庭”将基于双方的证据来决定资产归属,以解决纠纷。

然而不可逆到可逆,伴随的是大量复杂的问题

谁能发起?恶意诬告阻塞资金怎么办

如何冻结?资金高速流转,涉事广泛,恶意投如何公证?

谁能仲裁?恶意法官,贿赂法官怎么办?

本文通过解读ERC20/721R的实例代码,以及对其算法实现探讨可逆交易的探索挑战。

NFT受到钓鱼等问题被盗。

由此可见一旦真正能解决这样的问题,其标准的价值将有多大。

其实早在2015年就有让交易可逆的讨论提案了,这些年里既有部分项目尝试使用,也有Vitalik乃至ERC20的原作者之一也参与其中。

2015年,Reversecoin是世界上第?个具有可逆交易的加密代币,它在交易发起和确认之间引?了?个超时时间。每个帐?都有?个离线密钥对,使所有者能够撤销交易或?即确认交易。但其实这并不能阻?许多现代黑客攻击:攻击者要么窃取确认密钥,要么??使?确认密钥来再次确认恶意交易。

推特官方账号已将头像更换为X Logo:7月24日消息,根据推特官方账号界面显示,该账号已将头像更换为X Logo。此前报道,马斯克个人推特账号头像已修改为X Logo。[2023/7/24 15:54:48]

2018年,ERC-20标准的共同创建者之?(DeanEigenmann)提出了可逆ICO的概念,投资者可以获得与最近投资时间成反?的退款?额。尽管这可以防?单个token在发布时的局,但它不能防?token后续恶意交易。

而2022年也出现有refunds-for-nfts

而本论文中最重要思想是借鉴了2018年?vitalik提出的设想,基于Dao治理的可逆ERC20标准

2、ERC20/721R的实现原理

论文实现理念的核心是:基于”去中心化法庭“治理的Token

基于ERC20/721R标准实现的token,其交易在链上发布后都有资格在短时间内撤销。但是争议期过后,交易不能再撤销。而在短暂的争议期内,发送方可以通过说服一组离散抽取的法官来首先冻结有争议的资产,然后再说服他们撤销交易来请求撤销交易。

看似一段话就描述完了,但其实中间存在非常多的风险性问题

决策前:谁能提案,谁能冻结?随意的冻结将会断绝信任也将阻塞资金

决策中:谁能参与,链上链下?法官可能被贿赂,法官的公正动机

Cardano主网已上线Layer 2扩容解决方案Hydra:金色财经报道,Cardano的Layer 2扩容解决方案Hydra已在主网上线。Cardano开发团队Input Output发推文称,Hydra是一项Layer 2协议,旨在使Cardano更具可扩展性和适应性,适用于需要快速和廉价交易的各种用例。第一个Hydra head最近在主网上开放。[2023/5/5 14:44:47]

决策后:币种跨越,如何归还?资金可能很离散,也可能殃及无辜

而20/721R的架构实现细节中,也带有对其不少困境的答案。

合计有4种角色参与其中,受害人、治理合约、法官群体、资产合约

victim是某受害者,即其Token的某个历史持有者,可以向治理合约发起请求冻结。

Governance是治理合约去中心化法庭的实现,可以兼任多个20/721R的治理。

Judges是法官群体,每次随机抽取法官投票,对资产合约发起冻结/解冻/归还资金等操作

ERC20/721R必须使用此标准,才能记录下历史资金流转记录并实现了冻结对象的追溯算法

Governance则是吃瓜群众,可以清理合约中无效的历史数据,从而减少gas费消耗

通过核心流程角色可以看出

基本上,只要Victim受害人发起,满足一定的治理合约的开庭条件就可以发起冻结,导致资金无法流动,所以,治理合约中的经济模型奖惩机制是非常需要设计的,否则要么是法官疲于奔命,要么是恶意冻结中的阻塞资金

LUNC社区KOL主动销毁1300万代币:12月21日消息,Terra Classic生态KOL ClassyCrypto在最近的推文中宣布,将其LUNC验证者佣金的100%正式销毁,具体销毁包括Classy的Crypto Sphere验证者佣金(近800万个LUNC代币)、YouTube上LUNC视频的广告收入等,总计1300万个LUNC代币。目前,LUNC社区销毁的代币总量已超过362.31亿枚,价值超过470万美元。(coingape)[2022/12/21 21:59:02]

可拓展阅读:资金阻塞对系统运作的影响

CryptoPunk世界上最早的去中心化NFT交易市场

其次可逆交易在实现中还有2个核心的问题需要特别关注

如何确保仲裁后可靠的归还

如何防止恶意的法官和决策

从论文的流程图中可以看出,主要5大环节

失窃:黑客盗窃后可能快速转移到多地址,兑换流转,乃至销毁

申诉:发起冻结是需要支付挑战保证金的,也将成为治理合约的收益来源

抽法官:其组成从法官库中随机挑选,这可沿用POS类似的质押参与出块思路

冻结:一旦法官决议冻结,则由智能合约来计算应该被冻结的地址与金额

决断:最终等待双方提交证据以待法官决策,完成后法官分割评判收益

加密市场数据提供商Kaiko与德意志交易平台达成数据服务协议:6月21日,据官方消息,加密市场数据提供商 Kaiko 宣布与德意志交易平台达成数据服务协议。德意志交易平台的客户和市场成员,例如资产管理公司、银行、高频交易员和做市商,将能够从 2022 年第四季度开始访问 Kaiko 的数据。

此前报道,Kaiko 总部位于巴黎,于 2017 年开始为市场上最大的参与者提供加密数据。目前该公司已拥有 CoinShares、Paxos 和 Messari 等客户,及 S&P Capital IQ、Dow Jones Factiva 和 Refinitiv 等合作伙伴。[2022/6/21 4:43:18]

3.1、如何应对恶意法官?

从上述运作流程中可以看出

法官决策有着极高的权利,因此如何选择法官,如何对法官进行补偿,如何阻?行为不端恶意的法官,例如收受贿赂或对有争议的交易做出错误决定的法官,就是治理的难题

首先,法官的行为只能通过治理合约进行,其行为是受限的,虽然此合约并未真正实现但也提及了些设计思路,基本是参照POS质押出块的流程

秘密投票原则:在投票数量?够多之前不公开法官成员,用以规避主动找法官贿赂。

动态法官原则:随着有争议交易的???增加法官需要的数量,提高贿赂法官范围和成本。

Juno Network向从Terra迁移至Juno项目提供激励的提案已通过:5月20日消息,Juno Network向从Terra迁移至Juno项目提供激励的提案已通过,赞成票比例为97.45%。

此前报道,该提案建议提供100万枚JUNO(社区池提供70万,发展基金提供30万),用于项目迁移和持续开发,且该部分资金将由多签地址管理。[2022/5/20 3:30:42]

法官SBT原则:采用链下现实世界中真实身份参与法官池,让错误判决影响其真实身份

决策分离原则:采用法官的决策无论是同意还是不同意,都可以收益瓜分提案手续费。

工作监察原则:法官如果多次无法及时投票,则罚没质押金以及清退

在十四君看来,这种理想中的法官管理方式,可能需要较高的收益做激励以及错判的2次复审,防止陷入有提案难决断的中间状态。

3.2、如何做到可靠冻结?

通过上文的描述,可以看出法官依赖于现实与去中心化投票的决断,但他们行为的基石是该资金已经被冻结,从而有时间让他们进行分析决断。

因此20/721R如何做到有效找到该冻结的对象和金额,就是本文最难,也是该论文最多笔墨创新的部分了。

3.2.1、针对ERC721R

这种逻辑相对简单,因为资金的流转是不可分的,只有地址可能多样。

当然即使是721也不简单,因为我作为历史持有者可能不是马上发现资金损失的,而即使是1分钟,也有可能导致该NFT被转移到其他无辜的用户手中。

所以ERC721R他定义了一套专门用于记录交易历史记录的合约数据存储,

针对冻结:定义了frozen??对象来锁定Id继续转移

针对受害地址:依据历史交易记录来确定资金损失方

综合来看,721R与传统的721对比,则是记录如下的数据,总是能得知NFT流转方

当然你可能会说,这不是看NFT合约的历史记录就可得知了吗?

拓展阅读链上数据分析:

抓完X2Y2十万NFT订单,分析版税可以不收后多少用户真这么做了?

不过论文中这种记录交易历史的做法,不只是为了找出争议交易的区间,也能作为一种对恶意法官的限制,是的,面对极高的法官权利,一旦NFT过了争议期,或者已经有往期评估审计后,那就无法发起撤销交易指令。

3.2.2、针对ERC20R

ERC-20合约的冻结功能要复杂得多。问题在于,在盗窃和冻结请求之间,代币可能已转移到多个账?,且各个账号可能获得资金都不同。如下图

图中V是victim是某受害者,a0是黑客,a1-a11则是在冻结请求之前的全部涉案地址。图中表示了多种资金可能被操作的场景链路。

场景1:资金可能销毁,例如a8通过跨链桥转移到不同生态或者币交所出金,这时自然无法找回

场景2:资金可能重叠,a1可能是a0的长期存储地址,因此多笔被盗资产都在这里,在无法判别之前,只能冻结涉案金额,而非全部金额

场景3:资金可能循环,如a4又向a0转账,则需判断该资金是否是干净的

最终整个a1-11多少金额应该被纳入冻结计算,论文提出了一套算法来计算。

核心理念是依据上下资金传输来定义每个节点的锁定义务,比如V损失100,而a0中刚好有50,则先冻结这50,然后剩余的50作为a1,2,3的义务,往下操作冻结。承担的义务量由a0向a123转账的记录中计算得出。因此即使被投比如转1块给币交所,也不会冻结币交所超出争议资金承担义务的部分。

具体实现算法论文和其代码资源,通过十四君公众号后台回复'ERC20/721R'?可获取

4、总结

到这儿,对其实现已经基本讲述完毕,那这样的方式真的好吗?

从作者本身看

笔者认为这也是目前web3行业的一个大趋势,越来越多web2高端人才在涌入这样的时代热潮中,并且争相解决一些行业前沿协议层的问题,虽然是好事,但,整体人力投入不平衡,胖协议、瘦应用的现状依旧有些头重脚轻、避重就轻。尖端学者走前沿协议研究很好,那项目方是不是更应该拿了ICO后该好好做事呢?

可拓展阅读:协议与应用双赢的案例

一文讲清-NFT市场新秀SudoSwap的AMM机制-创新挑战与局限

从论文目标看

笔者认为,最大的难题并不是单纯的冻结算法精准度,而是有延迟的Token与无延迟的Token如何兼容兑换的问题,即可逆交易其实是有的,一旦争议资金发生跨协议转移,又被逆交易。那对于交易所而言,应该是等待资金度过争议期才执行真正的转移交换,这样对基建的颠覆很有可能阻碍其上的应用发展。

从防黑效果看

首先本身协议能否被社会接受是挑战,其次法官也将伴随质押经济的平衡设计,最终依旧存在贿赂部分矿工从而干扰甚至阻碍重排序交易的风险,而且,最关键的是链上真正可信的数据是很难在链下实证出,这笔交易是被盗,而不是交易反悔。所以笔者对防黑效果上并不完全看好。

从合约实现看

确实,来自斯坦福大学研究员的手笔其合约算法设计高度精巧,且确实在智能合约中实现算法也是难得一见的奇观,赋予算法信任的同时,带来的问题则是高昂的代币成本。

每次转移本身只是2处标准的NFTbalance的修改,然而如今要记录每次历史记录、冻结状态,冻结执行时还涉及大量对子地址的余额修改,都将导致其贵到无以复加。

对Gas计算原理可拓展阅读:

你买的NFT到底是什么?

欢迎你从后台提交web3行业问题探讨

点赞关注十四,用技术视角带给你价值

标签:NFTC20ERC20RC2fio币NFTRC20价格erc20币重名ethereum和erc20区别

芝麻开门交易所下载热门资讯
Huobi:Trade WBT to Share 50,000USDT

DearHuobiGlobalUsers,OurWBTpromotionwillkickofftoday,whereyoustandtowinashareofaprizepoolof50.

1900/1/1 0:00:00
Uniswap:DeFi与CeFi的下半场竞争:Uniswap化身聚合平台,叫板CEX巨头

「我们的首要任务是从中心化交易所巨头手中抽走部分资金。」近日,UniswapLabs首席运营官Mary-CatherineLader表露了他的野望.

1900/1/1 0:00:00
AIN:BNB、DOGE、BTC和LINK的FUD可能会推动上涨。

Santiments的数据称,围绕BNB、DOGE、BTC和LINK的FUD可能会推动它们的突破。几位分析师建议,如果比特币击败FUD,其价格可能会飙升至2万美元以上.

1900/1/1 0:00:00
USD:以太坊可以在第四季度为我们带来什么?

正如预期的那样,自备受吹捧的合并事件以来,以太坊一直表现不佳。这对加密行业来说是一个开创性的时刻。尽管预计合并将提振投资者信心,但它发生在最糟糕的时间。合并发生在加密历史上一个有趣的时刻.

1900/1/1 0:00:00
ETH:就市值而言,以太坊合并会超过比特币成为第一大加密货币?

2022年对于加密货币来说确实是相当艰难的一年。自2021年底以来,排名前两位的加密货币——比特币(BTC)和以太坊(ETH)的价格已经下跌了超过60%,这主要是由于高通胀、美联储政策以及全球金.

1900/1/1 0:00:00
AZU:Azuki开发团队Chiru Labs或将完成3000万美元A轮融资

本文来自?TheBlock,原文作者:RyanWeeksOdaily星球日报译者|余顺遂NFT系列Azuki的开发团队ChiruLabs寻求通过A?轮融资筹集至少3000万美元资金.

1900/1/1 0:00:00