約翰W蓋茨2星評價
2021-01-22 14:45:14
Gas最初是在以太坊區(qū)塊鏈上使用的,用于衡量消息消耗的計(jì)算和存儲資源。這是短語“ GasUnit”的起源。從歷史上看,在其他區(qū)塊鏈中,礦工以本機(jī)貨幣指定GasFee,然后根據(jù)消息消耗的Gas向生產(chǎn)礦工的區(qū)塊支付優(yōu)先費(fèi)用。
但是,Gas消耗是整個網(wǎng)絡(luò)應(yīng)承擔(dān)的成本,因?yàn)榫W(wǎng)絡(luò)上的每個節(jié)點(diǎn)都必須花費(fèi)存儲和計(jì)算資源來驗(yàn)證每條消息并保持網(wǎng)絡(luò)的一致狀態(tài)。這樣,基于特定消息的Gas使用量,會燃燒一些Gas以補(bǔ)償網(wǎng)絡(luò)。不花費(fèi)此成本會造成激勵失調(diào),因?yàn)槌蓧K生產(chǎn)的礦工可能會免費(fèi)包含計(jì)算上昂貴的消息,而其他人則會為此付出代價。
BaseFee是以太坊的EIP1559引入的概念。一條消息的BaseFee乘以Gas使用量即被“燃燒”??啼浺馕吨鴮⑵浒l(fā)送到無法使用的地址,并從網(wǎng)絡(luò)上的流通中刪除。它會根據(jù)給定時刻對網(wǎng)絡(luò)帶寬的需求進(jìn)行動態(tài)調(diào)整。當(dāng)網(wǎng)絡(luò)變得擁塞時,它會上升,從而使估值低于網(wǎng)絡(luò)BaseFee的郵件發(fā)件人將保留并等待直到擁塞消除。BaseFee的變化速率旨在快速增加潛在的DOS攻擊,并隨著網(wǎng)絡(luò)變得不那么繁忙而迅速降低。導(dǎo)致網(wǎng)絡(luò)變得更加擁塞的消息發(fā)件人也將通過支付更高的費(fèi)用來內(nèi)部化成本。燃燒還會產(chǎn)生緩慢的通縮壓力,使所有網(wǎng)絡(luò)參與者受益。
回到我們的公路旅行類比中,考慮一下汽車中的天然氣之類的天然氣,以及正常交通中的網(wǎng)絡(luò)。如果道路擁堵(例如在高峰時段),并且交通停走,您的汽車將消耗更多的汽油。在這種情況下,可能需要稍等片刻然后再開始旅行。相同的理論也適用于Filecoin網(wǎng)絡(luò)-當(dāng)網(wǎng)絡(luò)流量擁塞時,Gas費(fèi)將很高,因此等待稍后再試可能是有意義的。
除了燒掉一些費(fèi)用以補(bǔ)償網(wǎng)絡(luò)之外,消息發(fā)送方還包括針對生產(chǎn)礦工的區(qū)塊的優(yōu)先級費(fèi)用,該費(fèi)用不受消息消耗的Gas量的束縛。這稱為GasPremium,也可以在協(xié)議之外進(jìn)行安排。
為了幫助讀者更好地了解Gas收費(fèi)機(jī)制,以下內(nèi)容描述了有關(guān)Gas的概念及其相互作用。這些字段可以由消息發(fā)送者設(shè)置,但是目前在Lotus中是自動的,可以開發(fā)更多工具。
GasLimit –消息發(fā)送者可以消耗,估計(jì)和指定的消息執(zhí)行量的限制。塊中包含的所有消息的GasLimit之和不得超過BlockGasLimit。這以GasUnit為單位。
GasUsage – 一條消息的執(zhí)行實(shí)際消耗的氣體量。當(dāng)前協(xié)議不知道消息在執(zhí)行之前將確切消耗多少Gas。這以GasUnit為單位。
GasFeeCap – 發(fā)件人愿意為每個GasUnit為在塊中包含消息而支付的最大令牌數(shù)量。發(fā)送消息時,消息發(fā)送者的最低余額必須等于GasFeeCap乘以GasLimit的最低余額,即使并非所有余額都將被消耗掉。以attoFIL / GasUnit為單位。
GasPremium – 優(yōu)先權(quán)費(fèi)用,它按每單位GasLimit的價格支付給塊狀生產(chǎn)礦工。這受GasFeeCap的限制,BaseFee具有更高的優(yōu)先級。這以attoFIL / GasUnit為單位,并且可以低至1 attoFIL / GasUnit。
BaseFee – 一個網(wǎng)絡(luò)范圍的變量,可以根據(jù)上一個技巧集中的所有消息的GasLimit之和動態(tài)調(diào)整。當(dāng)總GasLimit超出某個塊的GasLimit目標(biāo)(信號網(wǎng)絡(luò)擁塞)時,它將增加,而當(dāng)?shù)陀诖酥禃r,它將減少。以attoFIL / GasUnit為單位。
消息發(fā)送者只需為每個消息指定一個GasFeeCap和GasLimit。隨著鏈上資源的消耗,GasUsage乘以BaseFee將被燃燒。從GasFeeCap中減去BaseFee將產(chǎn)生GasPremium。GasPremium乘以GasLimit將作為優(yōu)先費(fèi)用進(jìn)入生產(chǎn)礦工的區(qū)塊。GasLimit和GasUsage之間的部分差異將作為高估損失而被消耗掉。其余的將返回給郵件發(fā)件人。
當(dāng)前默認(rèn)實(shí)現(xiàn)是礦工基于GasFeeCap / GasLimit選擇消息,以在給定GasLimit的情況下最大化其預(yù)期收益。當(dāng)網(wǎng)絡(luò)擁堵且BaseFee很高時,礦工可以選擇對包裝進(jìn)行裝箱,從而減少GasLimit總量,以降低BaseFee,但可能以犧牲GasPremium為代價。
一幣一嫩模1星評價
2021-01-19 11:46:56
熟悉以太坊區(qū)塊鏈的人,對這個詞一定非常熟悉。這個詞從字面意思理解是燃料的意思,可以說在以太坊區(qū)塊鏈上它仍然充當(dāng)著燃料的作用。在以太坊區(qū)塊鏈中,避免不了的就是不斷的寫入,然而當(dāng)在鏈上執(zhí)行寫入操作時,網(wǎng)絡(luò)中每個節(jié)點(diǎn)都要進(jìn)行一次運(yùn)算,并存儲相同的計(jì)算值,這樣一來對于整個鏈來說耗費(fèi)是非常巨大的,因此為了鼓勵大家將不必要的運(yùn)算放鏈下進(jìn)行,鼓勵礦工,每當(dāng)在鏈上執(zhí)行一個寫入操作時都要支付一定以gas為單位的費(fèi)用。
與gas費(fèi)并列的其實(shí)還有其他幾個詞,“gas limit“、”gas price“。在區(qū)塊鏈中,每個區(qū)塊都有g(shù)as limit,即單個區(qū)塊允許的最多gas總量。我們每一次交易或合約調(diào)用都要設(shè)置一個gas limit,如果該次操作所使用的gas數(shù)量小于或等于所設(shè)置的gas limit,則會被執(zhí)行,但如果gas總消耗量超過gas limit,所有的操作都會被重置,但gas費(fèi)用依舊會被收取。在執(zhí)行中實(shí)際消耗的gas值總和叫g(shù)as used,沒有使用完的gas會退還到原賬號。
同樣的在發(fā)起交易或合約調(diào)用時,我們可以自己設(shè)置gas的價格,即gas price,一般以GWei(1 ETH = 1000000000 GWei)為單位。通過gas price可以節(jié)省礦工費(fèi)用,但也會減慢礦工打包的速度,礦工會優(yōu)先打包gas price設(shè)置高的交易,如果您想加快轉(zhuǎn)賬,您可以把gas price設(shè)置得更高,這樣您就可以插隊(duì)靠前。
其實(shí)這就相當(dāng)于我們?nèi)ゾW(wǎng)吧上網(wǎng),gas limit相當(dāng)于我們身上帶的所有網(wǎng)費(fèi),gas price是不同區(qū)域每小時不同的網(wǎng)費(fèi),我們根據(jù)自己的需求選擇不同的電腦不同的時長,花的錢(gas used)自然不能超過身上帶的money。