宇宙链 宇宙链
Ctrl+D收藏宇宙链

以太坊网络君士坦丁堡升级的漏洞细节

作者:

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

即将到来的以太坊网络Constantinople升级为SSTORE操作引入了更便宜的gas成本。作为一种不必要的副作用,当在Solidity智能合约中使用address

functiondeposit(uintid)publicpayable{deposits+=msg

functionupdateSplit(uintid,uintsplit)public{require(split<=100);splits=split;}functionsplitFunds(uintid)public{//Herewouldbe://Signaturesthatbothpartiesagreewiththissplit//Splitaddresspayablea=first;addresspayableb=second;uintdepo=deposits;deposits=0;a

}<新的易受攻击代码的示例>该代码以一种意想不到的方式受到攻击:它模拟一种安全的资金均摊服务。双方可以共同接收资金,决定如何split资金以及接收支付。攻击者可以创建这样一对地址,其中第一个地址是以下列出的攻击者合约,第二个地址是任何攻击者账户。该攻击者将充值一些钱。pragmasolidity^0

functionattack(addressa)external{victim=a;PaymentSharerx=PaymentSharer(a);x

function()payableexternal{addressx=victim;assembly{mstore(0x80,0xc3b18fb600000000000000000000000000000000000000000000000000000000)pop(call(10000,x,0,0x80,0x44,0,0)。functiondrain()external{owner

}<攻击者合约列为第一个地址>该攻击者将调用自己合约的attack函数,以便在一个交易中披露以下的事件:1、攻击者使用updateSplit设置当前split,以确保后续升级是便宜的。这是Constantinople升级的结果。攻击者以这样的方式设置split,即第一个地址(合约地址)接收所有的资金。2、攻击者合约调用splitFunds函数,该函数将执行检查*,并使用transfer将这对地址的全部存款发到合约。3、从回调函数,攻击者再次更新split,这次将所有资金分配到攻击者的第二个账户。4、splitFunds的执行继续,全部存款也转到第二个攻击者账户。简而话之,攻击者只是从PaymentSharer合约中偷走了其他人的以太币,并且可以继续。为什么现在可以攻击?

昨日以太坊Goerli测试网费用一度超过8000 gwei:5月9日消息,Dune Analytics数据显示,以太坊Goerli测试网费用中位数自5月4日以来大幅上涨,5月8日最高达到8129 gwei,而4月8日最高仅为57 gwei。[2023/5/9 14:51:22]

在Constantinople之前,每个storage操作都需要至少5000gas。这远远超过了使用transfer或send来调用合约时发送的2300gas费。在Constantinople之后,正在改变“dirty”存储槽的storage操作仅需要200gas。要使存储槽变的dirty,必须在正在进行的交易期间更改它。如上所示,这通常可以通过攻击者合约调用一些改变所需变量的public函数来实现。然后,通过使易受攻击的合约调用攻击者合约,例如,使用msg.sender.transfer(...),攻击者合约可以使用2300gas费成功操纵漏洞合约的变量。必须满足某些先决条件才能使合同变得易受攻击:1.必须有一个函数A,函数中transfer/send之后,紧跟状态改变操作。这有时可能是不明显的,例如第二次transfer或与另一个智能合约的互动。2.攻击者必须能够访问一个函数B,它可以(a)改变状态,(b)其状态变化与函数A的状态发生冲突。3.函数B需要在少于1600gas时能执行(2300gas费-为CALL提供700gas)。我的合约是否易受攻击?要测试您是否容易受到攻击:检查transfer事件后是否有任何操作。检查这些操作是否改变了存储状态,最常见的是分配一些存储变量。如果你调用另一个合约,例如,token的transfer方法*,检查哪些变量被修改。做一个列表。检查合约中非管理员可以访问的任何其他方法是否使用这些变量中的一个。检查这些方法是否自行改变存储状态。检查是否有低于2300gas的方法,请记住SSTORE操作只有200gas。如果出现这种情况,攻击者很可能会导致您的合约陷入不良状态。总的来说,这是另一个提醒,即为什么Checks-Effects-Interactions模式如此重要。作为节点运营商或矿工,我需要做什么?

MakerDAO:已在Arbitrum Nova和以太坊间启动Canonical DAI:8月17日消息,MakerDAO宣布已在Arbitrum Nova和以太坊之间启动其跨链解决方案Canonical DAI,由于桥的无许可性质,该桥在Arbitrum Nova的部署已由协议工程核心组执行,无需执行投票。此次部署将确保Arbitrum Nova的用户从一开始就使用Canonical DAI,从而消除任何代币迁移的需要。Canonical DAI是MakerDAO创建的一种解决方案,是将DAI转移到链下的方法,本质上,Canonical DAI允许MakerDAO支持包装的DAI版本。[2022/8/17 12:30:47]

下载最新版本的以太坊客户端:最新的geth客户最新的Parity客户端最新Harmony客户端最新的万神殿客户端最新的Trinity客户端以太坊钱包/迷雾的最新版本|作者:ChainSecurity|翻译:猎豹区块链安全团队

以太坊全网算力约676,172.20 GH/s:据以太坊链上数据显示,当前以太坊全网算力约676,172.20 GH/s,挖矿难度约9,061.78T。交易费Gas均价为351.00Gwei,未确认交易数为127105。[2021/9/25 17:05:31]

动态 | 以太坊矿池目前累计余额约169万ETH 接近历史最高水平:加密信息网站Santiment研究显示,以太坊矿池目前的累计余额约169万ETH,接近历史最高水平,按目前价格计算价值约3亿美元。以太坊矿工上一次持有这么多ETH是在2019年10月,即ETH跌破170美元导致一些矿工出售所持币之前。报告指出,以太坊累计余额增加表明矿工对这一加密货币的未来充满信心。(Daily Hodl)[2020/2/1]

动态 | 狗狗币对51%攻击的抵抗力排名第三 仅次于比特币和以太坊:据Beincrypto消息,分析师凯文·鲁克(Kevin Rooke)早些时候发表了他的发现,即进行一个小时的51%攻击有多昂贵。他发现,这样的攻击将在比特币上花费近80万美元,在以太坊上花费约10万美元。狗狗币排在第三位,紧随其后的是莱特币,比特币现金和ZCash。[2019/9/26]

标签:以太坊LITGASFUN以太坊币今日价格行情分析Shiba Litegas币值得投资吗funfi币值得买么

火币网下载官方app热门资讯
BitTorrent启示录:去中心化并非一门好生意

编者按:本文来自碳链价值,作者:SimonMorris,翻译:氪12、Diana,星球日报经授权发布。2018年7月24日,波场斥资1.4亿美元收购了著名的P2P文件共享软件开发公司BitTorrent.

1900/1/1 0:00:00
政策周报 | 美怀俄明州将数字货币定义为财产;委内瑞拉欲从加密货币汇款中收费;广州推进“区块链+商事服务”改革

本周,区块链和数字货币相关利好政策不断。国内方面,上海市区块链工程技术研究中心落地复旦大学;人民银行等五部委联合发布《意见》,称将规范互联网金融在农村地区的发展、积极运用区块链等技术;广州市出台《广州市深化商事制度改革实施方案》,推进.

1900/1/1 0:00:00
波场旗下BTT用14分钟完成众筹,沉寂一年币安Launchpad再启动

1月28日23:00,Bittorrent正式登陆币安区块链资产发行平台币安Launchpad,据币安官方消息,币安Launchpad分别用时13分25秒、14分41秒完成BNB环节、TRX环节的BitTorrent代币发行.

1900/1/1 0:00:00
师太说区块链|2.2 区块链,是分布式账本,将颠覆金融及商业格局的技术

天下大势“分久必合,合久必分”。纵观世界历史就是一部中心化和去中心化轮流上演的教科书。过去20年,古典互联网改变了分散的传统商业,形成了高度集中的线上服务平台,如:门户网站、搜索引擎、电商平台、订餐平台......历史的脚步已经悄悄的.

1900/1/1 0:00:00
EOS触底反弹,领涨主流币种?

2月18日晚,主流币普涨,其中EOS一度达到20.67%的日涨幅,价格最高报价3.67美元。相比上月同时期环比增长46.8%,EOS成为主流币中的领涨币.

1900/1/1 0:00:00
韩国年轻人的致富捷径:通证投资 ——区块链周报0224

导读韩国是目前世界上最热衷于区块链及通证的国家之一,其法定货币韩元曾一度占据通证交易量世界前三的位置。并且韩国拥有多家全球排名前列的通证交易平台,也为其国内投资者进行通证交易提供了诸多便利.

1900/1/1 0:00:00