在参与DeFi的过程中,很多朋友会遇到这样的情况。明明看准了一个投资机会并发起交易,可交易却迟迟得不到确认,等到最后确认了,价格早已不是下单时的价格。要么买高了,要么卖低了,总之亏钱是跑不了的。
为什么交易迟迟不被确认
我们在《什么是Gas?一文了解以太坊交易费》用“链上快递”为大家讲解过以太坊交易手续费,这个例子同样可以解释交易为什么得不到确认。
如果我们把每一笔交易看作一份快递,而以太坊矿工是快递员。快递员为了赚到更多的钱,会优先送快递单价更高的快递。如果你的快递单价给得太低,就只能一直排队,直到出价更高的快递全部完成后才能得到快递员的“青睐”。
同样地,以太坊网络同时会存在许多笔待确认的交易,矿工们会优先打包gasPrice高的交易。如果你设置的gasPrice太低,矿工自然会优先打包其他人的交易,而你的交易只能一直排队。
因此,如果你认为将要发起的交易比较紧急,那么尽量选择较高的gasPrice,避免出现交易长期等待打包的情况。至于如何设置gasPrice,请回看《什么是Gas?一文了解以太坊交易费》。
区块链初创公司Flex ID与汇款平台Uhuru Wallet达成合作:3月1日消息,津巴布韦区块链初创公司Flex ID和总部位于南非的Whatsapp汇款平台Uhuru Wallet最近表示,他们已经推出了一个平台,为南非数百万津巴布韦移民提供数字身份和汇款服务。据介绍,由Victor Mapunga共同创立的Flex ID使用了Algorand区块链,而Uhuru钱包则建立在Stellar区块链上。[2023/3/1 12:36:28]
当然,即使明白如何设置gasPrice,依然存在交易被堵的风险。比如出现在等待打包过程中交易数量突然暴涨,又或者一笔本来并不紧急的交易突然急需确认。
这时候急需一个方法,让我们可以根据自身需要和实际情况对这笔交易进行加速或者取消。
什么是交易被“堵”
我们所说的“交易被堵”指的不单指某笔交易迟迟得不到确认,而是根据以太坊网络的特性,排序在该笔交易之后的交易也都需要等待。
这种特性很好理解,如果把以太坊账户想象成一个车库,一旦车库的出口被某辆车堵住,后面的车也都无法通行。
与比特币采用的UTXO体系不同,以太坊网络使用的是account体系,也就是账户体系。
报告:俄罗斯勒索软件项目更名以避免西方制裁:金色财经报道,区块链情报公司TRM Labs透露,一些与俄罗斯有关的主要勒索软件集团在2022年重新命名,以避免西方国家的制裁。根据最近发布的一份新报告,品牌重塑和其他重大活动表明,在俄罗斯入侵乌克兰后,网络犯罪空间和暗网市场发生了显著变化。
同样,美国外国资产控制办公室(OFAC)对流行的暗网平台Hydra实施的制裁也对勒索软件项目造成了影响。为了通过改变链上行为来加强匿名性,两大勒索软件集团LockBit和Conti重组了他们的活动。Conti停止了原来的业务,并重组为三个较小的集团,分别名为Black Basta、BlackByte和Karakut。在多元化之前,Karakut是Conti运营商运营的一个副项目。[2023/2/27 12:30:46]
现实生活中绝大部分金融系统都是账户体系
我们先看看现实世界中的账户体系是如何运行的。假设张三、李四、王五在同一家银行开户,张三存入100元并发起两笔交易,先给李四转60元,再给王五转40元。
银行在处理每一笔交易时都会校验张三的账户状态:首先校验张三的余额是否大于等于60元,如果满足条件,将60元从张三的账户划转至李四的账户,首笔交易完成;再校验此时张三的余额是否大于等于40元,如果满足条件,将40元从张三的账户划转至王五的账户,第二笔交易完成。
如果第一笔交易迟迟没能完成,银行是不能执行第二笔交易的,因为银行无法保证第一笔交易完成之后张三的账户状态如何,余额是否足够完成第二笔交易。
数据:以太坊域名服务ENS主域名注册量突破44万:金色财经报道,据Dune Analytics最新数据显示,以太坊域名服务ENS主域名注册量已突破44万,本文撰写时为440,070个,创历史新高。此外,ENS参与地址总数量也突破61万个,当前为610,285个,迄今已创立的ENS域名总量达到2,794,742个。[2022/11/29 21:09:03]
同样的道理,以太坊网络在处理某个账户的交易时也需要获取账户的实时状态,以太坊账户的状态由四个部分组成:nonce、balance、storageRoot、codeHash。
nonce代表该账户地址发出的交易数量,balance代表此地址拥有的ETH数量。其余的两个和今天的主题关系不大,暂时先忽略。
继续使用张三给李四、王五转账的例子。
张三开户后存入100元,此时张三的账户状态为nonce=0,balance=100;
第一笔交易完成之后,张三的账户状态为nonce=1,balance=40;
第二笔交易完成后,张三的账户状态为nonce=2,balance=0。
而在发送交易时,nonce成为交易信息的一部分,代表当前交易是该账户地址发出的第几笔交易。
需要注意的是,交易中包含的nonce值从0开始计起。比如张三发给李四的交易,作为张三账户地址发起的第一笔交易,其nonce值应该记为0,而张三发给王五的交易nonce值将被记为1。
新加坡提醒其加密货币公司对俄罗斯的金融制裁:10月31日消息,新加坡所有被批准的加密货币交易所都被提醒要遵守新加坡金融管理局 (MAS)对俄罗斯实施的金融限制。此前有调查显示,亲俄组织筹集了数百万美元的加密货币捐款,支持乌克兰持续的冲突,使俄罗斯遭受到更严厉的国际金融制裁。
据悉,新加坡金融管理局 (MAS)还在欧盟实施第一轮制裁前后,针对对在俄罗斯有业务的俄罗斯银行和其他公司采取措施。[2022/10/31 12:01:38]
矿工在处理某个账户地址的交易时,将根据nonce值的顺序进行处理,且不可跳过,即矿工必须先处理nonce值为0的交易,才可以打包nonce值为1的交易。
如果某笔交易迟迟未被确认,该账户发出的nonce值大于该笔交易的其余交易也都无法被打包。比如nonce等于2的交易未被确认,那么nonce等于3,4,5…的交易无论gasPrice给得多高,也只能乖乖排队等待。
图片来源于网络
如何摆脱交易被堵
尽管nonce的存在会导致以太坊交易被堵的情况,但我们同样可以利用nonce的特性来解决这个问题。
德意志银行:预计美国经济衰退将更早到来且会更严重:6月21日消息,德意志银行首席美国经济学家Matt Luzzetti在近日发给客户的报告中解释说,经济衰退将比之前预测的来得更早,而且会更严重。该行今年4月曾表示,美国经济将在明年年底前陷入“严重”衰退。
然而,Luzzetti在报告中解释道:“自那时以来,美联储采取了更激进的加息路线,金融状况大幅收紧,经济数据开始显示出明显的放缓迹象。”这位德意志银行的经济学家继续说道:“为了应对这些事态发展,我们现在预计衰退会更早,而且程度会更严重。”(Bitcoin.com)[2022/6/21 4:42:04]
以太坊网络规定单个账户地址中每个nonce值都是唯一的,也就是说,一个账户中被确认交易的nonce值只会存在一笔为0、一笔为1、一笔为2…一笔为x,依此类推。
但仅存在一笔nonce为x的被确认交易不代表只能发起一笔,在没有nonce为x的交易被确认之前,我们可以发起无数笔nonce为x的交易。
运用该特性,我们可以加速或者取消某笔交易,完美解决交易被堵的问题。
前面提到过,一笔交易迟迟未被确认,主要是由于gasPrice给得太低,因此需要一直排队等待。
如果我们发送一笔nonce值相同,转账金额、收款方也完全相同,但gasPrice更高的交易,矿工会选择打包gasPrice较高的新交易,新交易确认后,原交易将由于nonce已被使用而失效。
上述操作的本质是用一笔完全相同但gasPrice更高的交易顶替原来那笔迟迟未能确认的交易,相当于对原交易进行加速。
而如果我们发送一笔nonce值相同,转账金额为0、收款方为自己,但gasPrice更高的交易,矿工会选择打包gasPrice较高的新交易,新交易确认后,原交易将由于nonce已被使用而失效。
在这个操作中,我们用一笔发送0Wei给自己的交易顶替原交易,相当于取消了原交易。
不过值得注意的一点是,无论是加速交易还是取消交易,由于原交易已经消耗网络资源,因此原交易中的交易费将不会退回。在交易费如此高昂情况下,建议大家还是在发起交易时就选择合理的gasPrice,尽量一步到位,少花冤枉钱。
如何用ViaWallet加速/取消交易
ViaWallet已经上线以太坊交易加速/取消功能,当您在以太坊网络上的某笔交易迟迟得不到确认时,您可以针对该笔交易进行加速或者取消操作,削弱网络拥堵带来的负面影响。
交易加速1.打开以太坊钱包,找到打包中交易,若存在多笔打包中交易,则找到序号最低的一笔,点击
2.点击后进入加速交易页面,点击底部
3.在跳出的弹窗中点击并输入安全密码,确认进行交易加速
4.交易加速完成后,交易列表内会出现两条交易记录:原交易转账失败,新交易转账成功
交易取消1.打开以太坊钱包,找到打包中交易,若存在多笔打包中交易,则找到序号最低的一笔,点击
2.点击后进入取消交易页面,点击底部
3.在跳出的弹窗中点击并输入安全密码,确认取消交易
4.交易加速完成后,交易列表内会出现三条交易记录:原交易转账失败,新交易转账成功、新交易收款成功
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。