宇宙链 宇宙链
Ctrl+D收藏宇宙链
首页 > SHIB > 正文

当我们在谈论ERC20时,我们在说什么

作者:

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

编者按:本文来自DOSNetwork,作者:nrek,Odaily星球日报经授权发布。熟悉以太坊代币经济和ICO的同学一定对ERC20这个词不陌生,市面上几乎绝大部分基于以太坊智能合约的项目都宣称自己的代币是ERC20代币,那么究竟什么是ERC20,为什么1个以太坊地址能够作为所有ERC20代币的钱包地址呢?ERC20(EthereumRequestforComment20)是社区在2015年底提出的一项以太坊改进计划(EIP),旨在给智能合约的实现提供一个标准,让智能合约能够像那些有自己区块链的原生数字货币(比如比特币、以太币)一样具有发送、转账、查询余额等等类似功能。凡是实现了这套标准的智能合约都可称为ERC20代币。发行基于ERC20标准的代币变得很简单,基本不超过10分钟,50行代码。ERC20让代币间变得互相兼容,也增强了代币的交易量和流动性。正是得益于ERC20标准的出现,基于以太坊的去中心化应用开始百花齐放。言归正传,ERC20标准其实很简单,一共定义了以下5个函数接口和2个状态接口(event):下面将结合etherscan.io和EtherDelta上的具体例子(EETHtoken,bitcointalk.org上一个恶作剧空投币)来更直观的解释:totalSupply和balanceOf(address)

NFT游戏生态系统Gameta推出3000万美元的社区激励基金:5月16日消息,NFT游戏生态系统Gameta宣布推出3000万美元的社区激励基金,以奖励其社区用户和关注者对Gameta的积极贡献。在第一阶段,Gameta用户(包括Hippo ClubNFT持有者、Gameta代币持有者、活跃的Gameta游戏玩家、社区发起人和参与者)都将首先有机会获得奖励基金。[2023/5/16 15:06:06]

首先这两个接口很简单,分别是该币的发行总量和给定地址的余额,注意上图中decimals(8)代表它支持的精度到小数点后8位,所以该地址实际余额是317047792083/10^8=3170.4;同时注意上图中allowance一项的查询结果为0,将会在下文进行比较和说明。transfer(address_to,uint256_value)

Bybit推出万事达卡支持的加密借记卡:金色财经报道,Bybit将推出一种新的借记卡产品,允许用户使用加密货币进行支付和提现。该Bybit卡将在万事达卡网络上运行,并将允许在用于支付商品和服务时通过扣除加密货币余额进行基于法币的交易。该服务首先推出了在线购物的免费虚拟卡,实体借记卡将于2023年4月推出。

该服务将与用户账户上的BTC、ETH、USDT、USDC和XRP余额一起使用。支付将自动将这些初始加密货币的余额转换为欧元或英镑,具体取决于用户的居住地。

此前消息,由于合作伙伴的服务中断,Bybit已暂停了通过银行支付的美元储值,不再可用通过电汇(SWIFT)和电汇(美国银行)的美元储值。Bybit未在公告中透露银行合作伙伴是否是Silvergate。(Cointelegraph)[2023/3/6 12:45:17]

这个也比较简单,表示把当前调用该函数用户的_value数量的代币转移给_to这个用户。当然具体实现时需要进行边界条件检查以防止溢出和其它安全问题,现在一般都选择继承自OpenZepplin的SafeMath.sol和StandardToken.sol库。transferFrom,approve,allowance

BIS:FTX、Terra崩溃对新兴经济体的零售加密投资者打击最严重:金色财经报道,国际清算银行在周一发布的一份报告中表示,虽然全球大多数加密应用程序用户在去年Terra生态系统和FTX交易所崩溃后因持有比特币而蒙受损失,但主要经济体以外的投资者受到的打击最大。报告称,在2022年5月Terra倒闭后,超过4500亿美元从加密货币市场消失,而在11月FTX破产后又损失了2000亿美元。到2022年12月,中位投资者将损失431美元,相当于他们自下载该应用程序以来投资的900美元资金总额的近一半。值得注意的是,这一比例在巴西、印度、巴基斯坦、泰国和土耳其等几个新兴市场经济体中甚至更高,如果投资者继续以每月的频率进行投资,超过五分之四的用户将会亏损。[2023/2/21 12:18:17]

这三个接口比较有意思,transferFrom(address_from,address_to,uint256_value)接口并不冗余,它是专门给第三方智能合约设计的,表示允许该函数的调用者msg.sender(通常是另一个已授权的智能合约)从_from账户转移_value个代币到_to账户,同时也会触发Transfer()这个事件在区块链上留下log以便客户端监听。而在调用transferFrom()之前需要让用户先调用approve(address_spender,uint256_value)函数,表示用户授权_spender(即调用transferFrom()的第三方智能合约)从你的账户最多转移_value个代币。而allowance(address_owner,address_spender)返回_owner仍然允许_spender转移的代币个数。如果你在EtherDelta进行过交易就会很容易理解这三个函数的意义:在EtherDelta交易的第一步是需要向EtherDelta合约“充值”:如果你有所留意,当点击”Deposit”后Metamask会让你确认两次:第一次确认的地址0xf152Fc...99c3是EETHcontract的地址,这实际上就是调用了approve()函数,允许EtherDalta合约从该账户转走最多3170.478个代币。我们先不点击第二个确认,这时再来观察一下etherscan.io有什么变化:可以看到此时余额不变,但是授权EtherDelta挪用的额度变了。这时再点击第二个确认:注意第二次确认的地址0x8d12A1...6819是EtherDelta合约的地址,此时调用了transferFrom()函数,之后再观察下etherscan.io和EtherDelta的变化如下:在etherscan看到此时用户账户余额已经清零了,而且允许EtherDelta再挪用的额度也清零,同时EtherDelta账户显示了应该有的3170.478个EETH。安全问题

调查:多数经济学家预计美联储在2024年前不会改变紧缩政策:金色财经报道,《金融时报》的一份调查显示,多数经济学家认为,美联储将把其基准政策利率提高到4%以上,并将其保持到2023年以后,以杜绝高通胀。接受调查的44位经济学家中,近70%的人认为本轮紧缩周期的联邦基金利率峰值将在4%至5%之间,20%的人认为它需要超过这一水平。此外,68%的受访者认为,价格压力的缓解、金融市场的不稳定和劳动力市场的恶化是美联储最可能暂停其紧缩政策的原因,但预计最早在2024年前不会降低联邦基金利率。其中,四分之一的人预计美联储在2024年下半年或之后才会降低基准政策利率。(金融时报)[2022/9/18 7:03:39]

值得一提的是ERC20的approve()函数存在安全隐患(front-runningattack),并且该问题至今没有完全解决。可行的攻击场景如下:Alice授权Bob可以挪用100个她的TokenA.(tx1)tx1被矿工确认后,Alice想把授权上限改为50个TokenA.(tx2)Bob探测到tx1已经确认,同时tx2还在pending状态,他给高额gas并调用transferFrom()函数直接在tx2被确认前从Alice账户转移了100个TokenA.(tx3)tx3先于tx2被确认,之后不久tx2也被确认,在Alice还没反应过来之前Bob立马再次调用transferFrom()又从Alice那转移了50个TokenA。这样Bob一共从Alice那转移了150个TokenA,虽然Alice的本意是只希望授权50个给Bob挪用。有兴趣的可以参见https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729中具体讨论。虽然社区有人提议如果需要重新设置允许值的话,首先在客户端主动重置允许值为0,等待这笔交易被确认,再检查此期间是否发生过代币转移,最后再设置新的允许值。但是首先这是取决于客户端的实现行为,并不在ERC20标准里;其次哪怕客户端实现了这个方案,上文所述的front-running攻击仍然存在,只是让人们有意识的去多一步检测并发现可能的问题,并没有从根本上解决问题。不过也不用太担心,如今实现了ERC20标准的合约千千万,大家都有这问题。而且正如EIPissue里一个评论所提到的,一般用户调用approve(_spender,_value)的场景多是在信任_spender的前提下才会这么调用,而_spender多为交易所的智能合约,一般不会故意想要黑用户的币。然而这个历史遗留问题估计要等到下一版标准出来才有望彻底解决了。

ENS 24小时交易额超200万美元,24小时增幅超800%:金色财经消息,据NFTGo数据显示,以太坊域名服务ENS 24小时交易额达202.25万美元,增幅达807.17%。[2022/5/22 3:33:34]

标签:ETHETHEHERTHEVETH价格tether游戏名《TogetherBnB》Gather

SHIB热门资讯
YEE 发布公链白皮书和共识算法论文,要构建新一代去中心化互联网

2018年11月16日,YEE项目发布了题为《YEECO——新一代去中心化互联网的解决之道》公链白皮书及YEECO首创的Tetris共识算法的数理论证论文.

1900/1/1 0:00:00
全球股市币市同迎黑色一天 熊市持现金或是王道

编者按:本文来自链塔智库,作者:链塔智库,Odaily星球日报经授权发布2018年10月11日,全球股民、币民全部经历了惨痛的一天。全球市场大跌、A股大跌、加密货币大跌,股民和币民损失惨重.

1900/1/1 0:00:00
保单通证化,众安保险想用「保险通证协议」为行业提供统一标准参考

有一天,当你想要买一份航延险,你可能需要先下载一个数字钱包,买完后,你会拥有一个账户以及一些token。这些token就是你所购买的保单,上面有你所买保单的所有信息.

1900/1/1 0:00:00
富人越富,穷人越穷,我为什么反对PoS

本文来自:区块链大本营,作者:HugoNguyen,编译:Guoxi,星球日报经授权转发。据摩根士丹利年初报告,2017年比特币挖消耗的电力与中东国家卡塔尔年耗电相当,预计2018年的电力需求可能会达到2017年的三倍以上.

1900/1/1 0:00:00
详解Tendermint共识算法

原作者:灵魂机器Tendermint是Tendermint公司开源的的一个项目,是一个pBFT算法的变体,Tendermint和pBFT的关系类似于Raft和Paxos的关系,Tendermint是pBFT的简化版.

1900/1/1 0:00:00
机构正通过OTC市场进入加密货币领域,场外交易将迎来爆炸式增长

据福布斯10月23日报道:机构投资者正在通过场外交易进入比特币领域,以此避免加密交易限制。场外交易指的是:交易双方不通过交易所竞价交易,而是直接成为交易对手的交易方式.

1900/1/1 0:00:00