比特幣行情 比特幣行情
Ctrl+D 比特幣行情
ads

ETH:當我們在談論ERC20時,我們在說什么

Author:

Time: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)

OKX BTC瀏覽器已正式支持閃電網絡:6月25日消息,OKX BTC瀏覽器已正式支持閃電網絡,用戶可以查詢閃電網絡通道開放/關閉行為的上鏈交易、閃電網絡節點和通道詳細情況。還可以通過節點、通道列表了解閃電網絡點對點支付用戶排行。

據悉,OKX BTC瀏覽器是支持BTC完整生態的區塊鏈瀏覽器,旨在為用戶提供一站式鏈上數據服務。此前已支持BTC、BRC-20數據查詢,未來還將支持BRC-20S鏈上數據追蹤和查詢。[2023/6/25 21:59:09]

首先這兩個接口很簡單,分別是該幣的發行總量和給定地址的余額,注意上圖中decimals(8)代表它支持的精度到小數點后8位,所以該地址實際余額是317047792083/10^8=3170.4;同時注意上圖中allowance一項的查詢結果為0,將會在下文進行比較和說明。transfer(address_to,uint256_value)

Starknet已集成加密安全公司Hypernative:6月13日消息,以太坊Layer2擴容解決方案Starknet已集成加密貨幣安全初創公司Hypernative,Hypernative對Starknet的支持將包括提供開箱即用的在線監控、漏洞檢測和自動事件響應,使建立在Starknet上的項目能夠檢測部署后的零日網絡攻擊、黑客攻擊和漏洞利用,此外還可以主動檢測涵蓋財務、治理、技術和社區等各種類別的其他主要實時風險。[2023/6/13 21:33:19]

這個也比較簡單,表示把當前調用該函數用戶的_value數量的代幣轉移給_to這個用戶。當然具體實現時需要進行邊界條件檢查以防止溢出和其它安全問題,現在一般都選擇繼承自OpenZepplin的SafeMath.sol和StandardToken.sol庫。transferFrom,approve,allowance

Mars Protocol:MARS/OSMO LP池流動性已達230萬美元:2月6日消息,去中心化借貸協議Mars Protocol發推稱,已經向Osmosis上的MARS/OSMO LP池新增流動性,目前池流動性為230萬美元。

此前2月1日消息,Mars Protocol宣布已上線Cosmos應用鏈Mars Hub主網。目前,Mars Hub只能在鏈上訪問,它沒有UI,但有一個治理提案來激勵Osmosis上的流動性提供商。

6440萬枚MARS治理代幣已經解鎖,在Terra Classic上持有MARS代幣的人基于兩次歷史快照獲得了空投。MARS代幣現在僅在Mars Hub鏈上可用,該鏈沒有DEX,因此無法將MARS兌換為其他加密貨幣。[2023/2/6 11:50:29]

這三個接口比較有意思,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。安全問題

路透社:SBF在FTX系統中內置后門并借此轉移數十億美元資金:11月12日消息,據路透社報道,SBF在FTX的會計軟件中設置了一個后門,該后門允許SBF改變FTX的交易記錄,而不會觸發安全警報,亦不會觸發外部審計人員的警報,他曾借此轉移10億美元資金。對此,SBF予以否認。[2022/11/12 12:55: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多為交易所的智能合約,一般不會故意想要黑用戶的幣。然而這個歷史遺留問題估計要等到下一版標準出來才有望徹底解決了。

跨鏈DeFi平臺Wing Finance推出NFT首付功能:金色財經消息,跨鏈DeFi平臺Wing Finance宣布推出NFT首付功能,讓用戶以60%的首付購買藍籌NFT。運行原理為:用戶可以選擇自己想要購買的NFT,平臺提供NFT地板價40%的貸款給用戶,用戶支付剩余的60%,然后NFT將需在Wing NFT池中進行抵押。[2022/9/6 13:10:23]

Tags:ETHHERTHEETHERLiquid Staked ETHRUN TOGETHERethereum和erc20區別EthereumPoW

POL幣最新價格
COIN:Coinbase宣布支持USDC:和美元掛鉤的穩定幣靠譜嗎?

本文來自:橙皮書,作者:ProofofWork,編譯:orangefans,星球日報經授權轉發.

1900/1/1 0:00:00
區塊鏈:為區塊鏈世界想象一種稅收模型:Vitalik多次提及的「哈伯格稅」究竟是什么?

本文來自:橙皮書,作者:SimondelaRouviere,譯者/編輯:曲雪寧/retricleon,星球日報經授權轉發.

1900/1/1 0:00:00
區塊鏈:網易內測區塊鏈應用「網易圈圈」,投資內容可賺收益提現

繼風靡一時的“網易星球”和曇花一現“易頭條”之后,網易的第三個區塊鏈應用又來了。這次的應用叫“網易圈圈”.

1900/1/1 0:00:00
數字貨幣:幣幣交易和法幣交易指的是什么?| 區塊鏈課堂第97問

編者按:本文來自哈希派,作者:LucyCheng,Odaily星球日報經授權發布。傳統的加密貨幣交易平臺只有法幣交易,即法幣兌數字貨幣交易.

1900/1/1 0:00:00
EOS:從CPU爆紅來看EOS三大資源模式

本文來自:EOS引力區,作者:eosisgravity,星球日報經授權轉發。隨著近期EOSDapp的爆發,EOS賬戶持有數突破了40W,越來越多人正慢慢加入EOS生態,但在EOS生態穩步推進的同.

1900/1/1 0:00:00
ACT:「Fractal」希望用非交互的輕量協議,實現純POS底層共識

自從PoW誕生以來,針對其耗能高、性能低下等缺點,新型的共識機制主要采用PoS、PFBT或混合共識的方式。不過,這些機制也在不同程度上面臨去中心化程度低、協議交互性強的問題.

1900/1/1 0:00:00
ads