无私钥非托管多方计算钱包ZenGo正在准备添加对PolygonPoS链的支持。让ZenGo用户未来能以更低的gas费用享受Web3DeFi和NFT,且为所有Polygon用户提供了一个更安全的钱包,其安全性比目前支持Polygon的传统钱包高出10倍以上。Polygon能成功的关键原因之一是其跨链桥技术,让用户可以虚拟地将资产从以太坊转移到Polygon上,反之亦然。
多方计算Multi-PartyComputation,MPC
文章速览:
01/Polygon跨链桥的工作原理
02/验证Polygon跨链桥的财务稳健性
03/ForgottenFundsAnalysis对被遗忘资金的分析
04/提前过节:为用户007节省了200万美元
05/总结
作为研究区块链及其安全功能的一部分,ZenGo团队调查了Polygon跨链桥的底层工作原理。也因此发现了价值数百万美元被遗忘的跨链代币,至今仍未被其所有者认领。作为这项研究的结果,ZenGo与Polygon团队联手帮助一位巨鲸用户取回了200万美元的资金。
在这篇博客中,将深入探讨Polygon跨链桥的底层运行,且利用DuneAnalytics的新功能成功验证其财务稳健性,探讨资金为什么会被遗忘以及如何让合法所有者认领回资金。
Polygon跨链桥的工作原理
要在以太坊和Polygon之间桥接资产,用户必须依赖像官方的Polygon跨链桥去中心化应用。
Polygon跨链桥(https://wallet.polygon.technology/bridge)
但在这个跨链桥的背后发生了什么?它是如何运作的?
当用户想把资产,比如说100USDT,从以太坊转移到Polygon上时,资金会被送到Polygon在以太坊上部署的合约,该合约收到资金后发送出一个事件。Polygon验证者节点时刻监听着此类事件。当监听到事件后,验证者节点会在Polygon链上铸造相应数量的资产并将其发送到用户的地址。用户的Polygon地址与以太坊地址相同。
因此,用户把基于以太坊的代币跨链至Polygon,只需在以太坊上发送一次交易,一段时间后代币会自动出现在Polygon链的钱包中。
只要代币在Polygon链,用户就可以参与任意形式的DeFi且享受Polygon较低的交易费用和较快的完成时间。跨链至Polygon的USDT价值与以太坊上相同,因为它由Polygon的以太坊合约持有的原始以太坊USDT1:1支持。
假设一段时间后,用户获利,想把赚到的200USDT转回以太坊。这个过程本质上是类似的,但细节上略有不同。
首先,用户需“销毁”Polygon链的USDT代币。和之前一样,Polygon验证者时刻监听着此类销毁事件,在一个时间段内累积和聚合此类销毁事件,并将经过聚合的信息更新至Polygon的以太坊端。
但与往Polygon存款不同的是,当用户将资产取回以太坊上时,需要额外发送一个以太坊交易来从Polygon的以太坊合约中认领USDT。认领交易包含一个加密证明,证明取款人已在Polygon端销毁了对应的USDT。一旦合约验证了证明,就会将代币发送到取款人的以太坊地址。
总而言之,存款是一个一键点击,只需几分钟的过程。然而取款需要两个步骤,且从第一步到最后一步完成可能需要几个小时。
验证Polygon跨链桥的财务稳健性
Polygon跨链桥的财务稳健性源于这样一个事实,即对于在Polygon端铸造的每项资产,Polygon在以太坊上的合约都持有适量的金额,鉴于近期关于托管交易所和幽灵资产的新闻,可将此查询视为确认区块链的“储备证明”的尝试。
还好,与中心化交易所不同,在DeFi中,所有信息在链上都可查询,且可以轻松被验证,无需信任模糊的储备证明文件。
在Etherscan上可以看到,截至2022年11月13日,Polygon合约持有价值超过70亿美元的ERC20代币。
比较跨链桥两端的金额,可以发现以太坊端总是比Polygon端持有更多代币,意味着跨链至Polygon的代币的确有适量的以太坊代币作为支持。
然而,ZenGo团队还注意到在以太坊端有大量盈余,约1%的额外代币,这就需要解释了。
例如:11月13日,Polygon端的USDT有6.75亿个,以太坊端有6.83亿个。
图一:2022年11月13日,Polygon跨链的USDT有6.75亿美元
图二:2022年11月13日,Polygon跨链桥持有超过?70亿美元的ERC20,有6.83亿美元的USDT
1%差异的现象同样在USDC、ETH、DAI等其他主流资产上出现。
?跨链桥两端主要资产结余差额
虽然1%听起来可能不多,但在涉及到70亿美元的金额时,它可能很重要。
ForgottenFundsAnalysis?
对被遗忘资金的分析
为了找到资金差异的原因,ZenGo试着将Polygon端的销毁交易与以太坊端的对应认领交易进行匹配。为此,还利用了DuneAnalytics最近开发的允许跨链查询的新查询引擎。
?图三:无人认领的USDT来自DuneAnalytics查询(见https://dune.com/queries/1536897)
通过这个查询,可以验证在Polygon端的提取调用确实比以太坊端应有的认领调用要多。如图三所示,仅仅是USDT就有大约3000个提取调用与认领不匹配。
ZenGo团队也因此开发了一个通用的DuneAnalytics查询,支持任意跨链的ERC-20的token交易对。
通用DuneAnalytics查询支持任意Polygon跨链的?ERC-20的token交易对
提前过节:
为用户007节省了200万美元
深入研究个别案例,可以发现许多有趣的例子。例如,这个神秘的用户半年多前在Polygon上做了两次提取交易,分别是WrappedETH和WrappedBTC,且都价值超过100万美元,但至今没有在以太坊端进行认领。
在Polygon上销毁但从未在以太坊端认领
可以看到该用户一个月后依然活跃在以太坊上,所以他不认领这笔资金的原因应该不是密钥丢失。
为了确保这些资金是可以被认领的,ZenGo团队在一个模拟平台上模拟了认领交易过程。在提供交易应有的销毁证明后,该平台可以忽略我们不是用户0x007的问题,让团队认领了丢失的这100万美元价值的ETH,也就是说这笔资金确实是可以被原始用户认领的。
虽然很难想象有人会“忘记”数百万美元,但可能正是因为需要额外的交易步骤以及资金不能立即被认领,才为此类错误创造了空间。
当ZenGo?团队于2022年11月23日向Polygon团队报告发现后,他们将相关的认领交易发送给了用户,并从Polygon桥向该用户的账户转入了200万美元。值得一提的是,不仅限于Polygon,如果有任何愿意支付gas价格的无私用户,都可以认领这笔资金并将其转移到原始提款账户。
11月23日,007的账户与他遗落的200万美元重逢
可以想象,对于007来说,一觉睡醒发现他的以太坊账户中多了200万美元应该是一个很棒的惊喜。
总结
Polygon链及其跨链功能对用户来说非常有用。从以太坊跨链到Polygon非常地简单直接,但是跨链回去可能对用户来说就麻烦得多,目前导致的潜在损失市值高达数百万美元。
但还好,这些资产并不会永久丢失!
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。