以太坊gas最小值
㈠ NFT的隱藏成本-Gas費,以及減少Gas費支出的方法
在探討NFT的門檻時,高昂的成本是許多新用戶面臨的一大挑戰。尤其是Gas費,這個在以太坊區塊鏈上進行交易時必須支付的費用,更是讓許多人望而卻步。然而,是否可以轉至Matic鏈以降低Gas費呢?答案是肯定的,本文將深入解析Gas費的本質,並提供實用的策略幫助您減少在Gas費上的開銷。
什麼是Gas費?Gas費即礦工費,是指當我們在以太坊區塊鏈上執行任何操作(如轉賬、買賣NFT或鑄造NFT)時,需要支付給礦工的手續費。礦工負責將交易打包並上傳至區塊鏈,此過程消耗了區塊鏈的計算資源,因此需要相應的費用。在NFT市場上,無論是交手搏易還是創造,都不可避免地涉及Gas費的支出。
計算Gas費的公式為:Gas費 = Gas Limit x Gas Price。Gas Price指的是Gwei的單位,它決定了您的交易被礦工快速打包放上區塊鏈的速度。Gas Price越高,礦工越有動力接受您的交易,反之則需要等待更長時間。如果時間不緊迫,選擇較低的Gas Price則可節省成本。
Gas費的波動與時間、操作復雜度有關。不同的時期,甚至同一時間的不同操作,Gas Limit的默認值可能不同。交易越復雜,所需的Gas單位數量越多,相應的Gas費也越高。因此,了解並調整Gas Limit與Gas Price,是節省Gas費的關鍵。以TP為例,每次交易時,用戶可以自定義Gas Limit和Gas Price,從而實現對Gas費的靈活控制。
減少Gas費支出的方法:
1. 利用工具,合理安排交易時間。密切關注網路流量,是支付較低Gas費的有效方法。使用各種免費分析工具來了解區塊鏈狀態,如Bitinfocharts和GasNow等。這些工具能幫助您在交易高峰期之外進行交易,從而節省Gas費。
2. 採用第二層協議(Layer-2)。Layer2是在以太坊公鏈的基礎上構建的網路,旨在提升性能。Matic Network(Polygon)是一個典型代表,它與以太坊兼容,提供快速且低成本的交易。Polygon基於以太坊主鏈的安全性,同時藉助Matic的POS架構確保低成本和高速交易。近期,它們還引入了熱門的Zk Rollup和Optimistic Rollup解決方案。
3. 選擇側鏈(Sidechain)或其他公鏈。考慮到以太坊Gas費的高昂,選擇Gas費更低、交易速度更快的側鏈或其他公鏈(如BSC、EOS、WAX、tezos、Cardano)是明智之舉。盡管主流NFT項目仍集中在以太坊上,但隨著更多大型項目轉至這些鏈上,它們有望成為以太坊的競爭對手。BSC和WAX尤其值得關注。
4. 合並交易。通過合並相關交易來節省Gas費,是另一個簡單而有效的方法。舉個例子,假設您在不同地址持有多個代幣,希望將它們一次性發送到同一地址。選擇一次合並交易(方案2)相比分別從每個地址轉移(方案1),只需支付一半的Gas費。
5. 使用Gas代幣。Gas代幣能夠幫助用戶對Gas進行代幣化,即在Gas價格較低時鑄造Gas代幣,在價格高時使用/兌換它們。當兌換Gas代幣時,用戶將獲得ETH退款,用以支付Gas費用。然而,Gas代幣並非降低Gas費的理想解決方案,因為它們實際上阻礙了以太坊狀態的大小,因此不是最推薦的方法。
㈡ 到底什麼是Gas、Gas Price、Gas Limit
以太坊網路內,交易執行、智能合約啟動、DApps操作及數據存儲等均需支付手續費,以 Gas 為計算單位,以 Ether 為支付形式。礦工收取手續費,為網路提供驗證交易服務。
Gas Price 是支付每單位 Gas 的價格,通常以 Gwei 作為單位,Gwei=0.000000001Eth。提高 Gas Price 可加速交易驗證,而降低 Gas Price 則可節省費用。費用與驗證速度成反比。
Gas Limit 表示用戶願意花費的最大 Gas 單位數量,避免因合約錯誤導致交易失敗。設置 Gas Limit 可防止過度消費 Gas 資源,且確保交易被正確驗證。費用僅按實際使用量計算。
交易手續費(Tx Fee)計算公式為 Gas Limit * Gas Price,即交易費用等於 Gas 使用量與 Gas 價格的乘積。以汽車加油為喻,Gas Limit 類似於所需油量,Gas Price 類似於每升油的價格,交易費用則為實際消耗油量與價格的總和。
總結,以太坊網路中的 Gas、Gas Price、Gas Limit 及交易手續費概念,旨在確保交易安全、有效執行。用戶可通過調整 Gas Price、Gas Limit 來優化交易速度與費用,實現靈活、高效的網路交易體驗。
㈢ 礦工須知:Gas費為何越來越低,科學數據告訴您
對於以太坊用戶而言,高昂的Gas費一直是進入這個賽道的一大門檻。在Defi火熱時期,Gas費高至讓人望而卻步。然而,近期這一狀況已明顯改善。
數據顯示,6月6日,以太坊Gas平均價格下降至16.4Gwei,創下年內新低,與年內431.97的高點相比,下降比例高達96%。
Gas是什麼?為何重要?如何衡量?又是什麼導致了Gas費下降?帶著這些問題,我們開始歐科觀察。
Gas費,礦工之「蜜糖」,用戶之「砒霜」。在以太坊區塊鏈上,用戶進行交易、執行智能合約或支付數據儲存費用時,需支付Gas費作為計算工作量的計數單位。Gas費以ETH為單位支付,直接關繫到礦工是否願意為你的交易打包。
Gas高低由鏈上操作復雜度決定,就像開車,路越多消耗越多。以太坊網路中的兩類賬戶——外部賬戶和合約賬戶,前者是普通賬戶,後者是具有應用邏輯的智能合約。普通的轉賬交易涉及外部賬戶,Gas數量固定;涉及合約賬戶的DeFi交易則根據操作復雜度,消耗Gas更多。
舉個例子,2021年3月22日,用戶發起一筆0.1ETH轉賬,需要支付約9.69美元的Gas費。Gas費由Gas價格、Gas限額和Gas消耗決定。用戶最終支付費用為Gas價格乘以Gas消耗,即0.003969ETH。Gas價格影響礦工優先打包交易,但系統預估費用。
Gas用盡將導致交易失敗,但用戶仍需支付費用。提升Gas Limit,增加單個區塊交易筆數,從經濟學角度看,需求不變,供給增加,Gas費自然下降。
加密市場全面調整,加密和DeFi日交易量下降77%以上,DeFi市場交易量大幅下滑。Gas費下降,交易量整體下降,不具備上漲動力。
NFT市場降溫明顯,日交易額和交易數下降90%以上。NFT活動大部分在以太坊公鏈上,NFT遇冷影響Gas費貢獻。
技術層面,提升Gas Limit、落地以太坊Layer2相關解決方案,大幅提升TPS,有效降低Gas費。近期火熱的Polygon(以太坊側鏈擴容方案)就是代表。
Gas費下降對用戶有利,可低成本體驗DeFi創新;對礦工而言,持續下降可能引起不滿。市場調節最終達到用戶和礦工利益平衡。
㈣ 以太坊區塊鏈大小多少(以太坊區塊高度是多少)
以太坊公鏈區塊高度根據之前的消息,以太坊區塊高度現在調整高度到4730660!以太坊是一個全新開放的區塊鏈平台,它允許任何人在平台中建立和使用通過區塊鏈技術運行的去中心化應用。
就像比特幣一樣,以太坊不受任何人控制,也不歸任何人所有——它是一個開放源代碼項目,由全球范圍內的很多人共同創建。和比特幣協議有所不同的是,以太坊的設計十分靈活,極具適應性。在以太坊平台上創立新的應用十分簡便,隨著Homestead的發布,任何人都可以安全地使用該平台上的應用。
以太坊是可編程的區塊鏈。它並不是給用戶一系列預先設定好的操作,而是允許用戶按照自己的意願創建復雜的操作。這樣一來,它就可以作為多種類型去中心化區塊鏈應用的平台。
以太坊區塊鏈大小
與比特幣網路不同,以太坊不會明確地按內存限制每個區塊的大小,而是通過區塊GasLimit強制規定每個區塊的大小。
以太坊的區塊GasLimit設置有效的限制了一個區塊中可以打包的交易量。GasLimit參數由以太坊礦工集體決定,即通過投票的方式來動態地增加或降低GasLimit數值。
最近的一次投票是2019年下半年,礦工們群體投票同意將以太坊的區塊GasLimit由原來的800萬Gas單位提高至1000萬,使每個區塊相比之前區塊的大小增加了25%左右,這從理論上提高了以太坊網路的TPS。
什麼是區塊鏈擴容?普通用戶能夠運行節點對於區塊鏈的去中心化至關重要
想像一下凌晨兩點多,你接到了一個緊急呼叫,來自世界另一端幫你運行礦池(質押池)的人。從大約14分鍾前開始,你的池子和其他幾個人從鏈中分離了出來,而網路仍然維持著79%的算力。根據你的節點,多數鏈的區塊是無效的。這時出現了余額錯誤:區塊似乎錯誤地將450萬枚額外代幣分配給了一個未知地址。
一小時後,你和其他兩個同樣遭遇意外的小礦池參與者、一些區塊瀏覽器和交易所方在一個聊天室中,看見有人貼出了一條推特的鏈接,開頭寫著「宣布新的鏈上可持續協議開發基金」。
到了早上,相關討論廣泛散布在推特以及一個不審查內容的社區論壇上。但那時450萬枚代幣中的很大一部分已經在鏈上轉換為其他資產,並且進行了數十億美元的defi交易。79%的共識節點,以及所有主要的區塊鏈瀏覽器和輕錢包的端點都遵循了這條新鏈。也許新的開發者基金將為某些開發提供資金,或者也許所有這些都被領先的礦池、交易所及其裙帶所吞並。但是無論結果如何,該基金實際上都成為了既成事實,普通用戶無法反抗。
或許還有這么一部主題電影。或許會由MolochDAO或其他組織進行資助。
這種情形會發生在你的區塊鏈中嗎?你所在區塊鏈社區的精英,包括礦池、區塊瀏覽器和託管節點,可能協調得很好,他們很可能都在同一個telegram頻道和微信群中。如果他們真的想出於利益突然對協議規則進行修改,那麼他們可能具備這種能力。以太坊區塊鏈在十小時內完全解決了共識失敗,如果是只有一個客戶端實現的區塊鏈,並且只需要將代碼更改部署到幾十個節點,那麼可以更快地協調客戶端代碼的更改。能夠抵禦這種社會性協作攻擊的唯一可靠方式是「被動防禦」,而這種力量來自去一個中心化的群體:用戶。
想像一下,如果用戶運行區塊鏈的驗證節點(無論是直接驗證還是其他間接技術),並自動拒絕違反協議規則的區塊,即使超過90%的礦工或質押者支持這些區塊,故事會如何發展。
如果每個用戶都運行一個驗證節點,那麼攻擊很快就會失敗:有些礦池和交易所會進行分叉,並且在整個過程中看起來很愚蠢。但是即使只有一些用戶運行驗證節點,攻擊者也無法大獲全勝。相反,攻擊會導致混亂,不同用戶會看到不同的區塊鏈版本。最壞情況下,隨之而來的市場恐慌和可能持續的鏈分叉將大幅減少攻擊者的利潤。對如此曠日持久的沖突進行應對的想法本身就可以阻止大多數攻擊。
Hasu關於這一點的看法:
「我們要明確一件事,我們之所以能夠抵禦惡意的協議更改,是因為擁有用戶驗證區塊鏈的文化,而不是因為PoW或PoS。」
假設你的社區有37個節點運行者,以及80000名被動監聽者,對簽名和區塊頭進行檢查,那麼攻擊者就獲勝了。如果每個人都運行節點的話,攻擊者就會失敗。我們不清楚針對協同攻擊的啟動群體免疫的確切閾值是多少,但有一點是絕對清楚的:好的節點越多,惡意的節點就越少,而且我們所需的數量肯定不止於幾百幾千個。
那麼全節點工作的上限是什麼?
為了使得有盡可能多的用戶能夠運行全節點,我們會將注意力集中在普通消費級硬體上。即使能夠輕松購買到專用硬體,這能夠降低一些全節點的門檻,但事實上對可擴展性的提升並不如我們想像的那般。
全節點處理大量交易的能力主要受限於三個方面:
算力:在保證安全的前提下,我們能劃分多少CPU來運行節點?
帶寬:基於當前的網路連接,一個區塊能包含多少位元組?
存儲:我們能要求用戶使用多大的空間來進行存儲?此外,其讀取速度應該達到多少?(即,HDD足夠嗎?還是說我們需要SSD?)
許多使用「簡單」技術對區塊鏈進行大幅擴容的錯誤看法都源自於對這些數字過於樂觀的估計。我們可以依次來討論這三個因素:
算力
錯誤答案:100%的CPU應該用於區塊驗證
正確答案:約5-10%的CPU可以用於區塊驗證
限制之所以這么低的四個主要原因如下:
我們需要一個安全邊界來覆蓋DoS攻擊的可能性(攻擊者利用代碼弱點製造的交易需要比常規交易更長的處理時間)
節點需要在離線之後能夠與區塊鏈同步。如果我掉線一分鍾,那我應該要能夠在幾秒鍾之內完成同步
運行節點不應該很快地耗盡電池,也不應該拖慢其他應用的運行速度
節點也有其他非區塊生產的工作要進行,大多數是驗證以及對p2p網路中輸入的交易和請求做出響應
請注意,直到最近大多數針對「為什麼只需要5-10%?」這一點的解釋都側重於另一個不同的問題:因為PoW出塊時間不定,驗證區塊需要很長時間,會增加同時創建多個區塊的風險。這個問題有很多修復方法,例如BitcoinNG,或使用PoS權益證明。但這些並沒有解決其他四個問題,因此它們並沒有如許多人所料在可擴展性方面獲得巨大進展。
並行性也不是靈丹妙葯。通常,即使是看似單線程區塊鏈的客戶端也已經並行化了:簽名可以由一個線程驗證,而執行由其他線程完成,並且有一個單獨的線程在後台處理交易池邏輯。而且所有線程的使用率越接近100%,運行節點的能源消耗就越多,針對DoS的安全系數就越低。
帶寬
錯誤答案:如果沒2-3秒都產生10MB的區塊,那麼大多數用戶的網路都大於10MB/秒,他們當然都能處理這些區塊
正確答案:或許我們能在每12秒處理1-5MB的區塊,但這依然很難
如今,我們經常聽到關於互聯網連接可以提供多少帶寬的廣為傳播的統計數據:100Mbps甚至1Gbps的數字很常見。但是由於以下幾個原因,宣稱的帶寬與預期實際帶寬之間存在很大差異:
「Mbps」是指「每秒數百萬bits」;一個bit是一個位元組的1/8,因此我們需要將宣稱的bit數除以8以獲得位元組數。
網路運營商,就像其他公司一樣,經常編造謊言。
總是有多個應用使用同一個網路連接,所以節點無法獨占整個帶寬。
P2P網路不可避免地會引入開銷:節點通常最終會多次下載和重新上傳同一個塊(更不用說交易在被打包進區塊之前還要通過mempool進行廣播)。
當Starkware在2019年進行一項實驗時,他們在交易數據gas成本降低後首次發布了500kB的區塊,一些節點實際上無法處理這種大小的區塊。處理大區塊的能力已經並將持續得到改善。但是無論我們做什麼,我們仍然無法獲取以MB/秒為單位的平均帶寬,說服自己我們可以接受1秒的延遲,並且有能力處理那種大小的區塊。
存儲
錯誤答案:10TB
正確答案:512GB
正如大家可能猜到的,這里的主要論點與其他地方相同:理論與實踐之間的差異。理論上,我們可以在亞馬遜上購買8TB固態驅動(確實需要SSD或NVME;HDD對於區塊鏈狀態存儲來說太慢了)。實際上,我用來寫這篇博文的筆記本電腦有512GB,如果你讓人們去購買硬體,許多人就會變得懶惰(或者他們無法負擔800美元的8TBSSD)並使用中心化服務。即使可以將區塊鏈裝到某個存儲設備上,大量活動也可以快速地耗盡磁碟並迫使你購入新磁碟。
一群區塊鏈協議研究員對每個人的磁碟空間進行了調查。我知道樣本量很小,但仍然...
此外,存儲大小決定了新節點能夠上線並開始參與網路所需的時間。現有節點必須存儲的任何數據都是新節點必須下載的數據。這個初始同步時間(和帶寬)也是用戶能夠運行節點的主要障礙。在寫這篇博文時,同步一個新的geth節點花了我大約15個小時。如果以太坊的使用量增加10倍,那麼同步一個新的geth節點將至少需要一周時間,而且更有可能導致節點的互聯網連接受到限制。這在攻擊期間更為重要,當用戶之前未運行節點時對攻擊做出成功響應需要用戶啟用新節點。
交互效應
此外,這三類成本之間存在交互效應。由於資料庫在內部使用樹結構來存儲和檢索數據,因此從資料庫中獲取數據的成本隨著資料庫大小的對數而增加。事實上,因為頂級(或前幾級)可以緩存在RAM中,所以磁碟訪問成本與資料庫大小成正比,是RAM中緩存數據大小的倍數。
不要從字面上理解這個圖,不同的資料庫以不同的方式工作,通常內存中的部分只是一個單獨(但很大)的層(參見leveldb中使用的LSM樹)。但基本原理是一樣的。
例如,如果緩存為4GB,並且我們假設資料庫的每一層比上一層大4倍,那麼以太坊當前的~64GB狀態將需要~2次訪問。但是如果狀態大小增加4倍到~256GB,那麼這將增加到~3次訪問。因此,gas上限增加4倍實際上可以轉化為區塊驗證時間增加約6倍。這種影響可能會更大:硬碟在已滿狀態下比空閑時需要花更長時間來讀寫。
這對以太坊來說意味著什麼?
現在在以太坊區塊鏈中,運行一個節點對許多用戶來說已經是一項挑戰,盡管至少使用常規硬體仍然是可能的(我寫這篇文章時剛剛在我的筆記本電腦上同步了一個節點!)。因此,我們即將遭遇瓶頸。核心開發者最關心的問題是存儲大小。因此,目前在解決計算和數據瓶頸方面的巨大努力,甚至對共識演算法的改變,都不太可能帶來gaslimit的大幅提升。即使解決了以太坊最大的DoS弱點,也只能將gaslimit提高20%。
對於存儲大小的問題,唯一解決方案是無狀態和狀態逾期。無狀態使得節點群能夠在不維護永久存儲的情況下進行驗證。狀態逾期會使最近未訪問過的狀態失活,用戶需要手動提供證明來更新。這兩條路徑已經研究了很長時間,並且已經開始了關於無狀態的概念驗證實現。這兩項改進相結合可以大大緩解這些擔憂,並為顯著提升gaslimit開辟空間。但即使在實施無狀態和狀態逾期之後,gaslimit也可能只會安全地提升約3倍,直到其他限制開始發揮作用。
另一個可能的中期解決方案使使用ZK-SNARKs來驗證交易。ZK-SNARKs能夠保證普通用戶無需個人存儲狀態或是驗證區塊,即使他們仍然需要下載區塊中的所有數據來抵禦數據不可用攻擊。另外,即使攻擊者不能強行提交無效區塊,但是如果運行一個共識節點的難度過高,依然會有協調審查攻擊的風險。因此,ZK-SNARKs不能無限地提升節點能力,但是仍然能夠對其進行大幅提升(或許是1-2個數量級)。一些區塊鏈在layer1上探索該形式,以太坊則通過layer2協議(也叫ZKrollups)來獲益,例如zksync,Loopring和Starknet。
分片之後又會如何?
分片從根本上解決了上述限制,因為它將區塊鏈上包含的數據與單個節點需要處理和存儲的數據解耦了。節點驗證區塊不是通過親自下載和執行,而是使用先進的數學和密碼學技術來間接驗證區塊。
因此,分片區塊鏈可以安全地擁有非分片區塊鏈無法實現的非常高水平的吞吐量。這確實需要大量的密碼學技術來有效替代樸素完整驗證,以拒絕無效區塊,但這是可以做到的:該理論已經具備了基礎,並且基於草案規范的概念驗證已經在進行中。
以太坊計劃採用二次方分片(quadraticsharding),其中總可擴展性受到以下事實的限制:節點必須能夠同時處理單個分片和信標鏈,而信標鏈必須為每個分片執行一些固定的管理工作。如果分片太大,節點就不能再處理單個分片,如果分片太多,節點就不能再處理信標鏈。這兩個約束的乘積構成了上限。
可以想像,通過三次方分片甚至指數分片,我們可以走得更遠。在這樣的設計中,數據可用性采樣肯定會變得更加復雜,但這是可以實現的。但以太坊並沒有超越二次方,原因在於,從交易分片到交易分片的分片所獲得的額外可擴展性收益實際上無法在其他風險程度可接受的前提下實現。
那麼這些風險是什麼呢?
最低用戶數量
可以想像,只要有一個用戶願意參與,非分片區塊鏈就可以運行。但分片區塊鏈並非如此:單個節點無法處理整條鏈,因此需要足夠的節點以共同處理區塊鏈。如果每個節點可以處理50TPS,而鏈可以處理10000TPS,那麼鏈至少需要200個節點才能存續。如果鏈在任何時候都少於200個節點,那可能會出現節點無法再保持同步,或者節點停止檢測無效區塊,或者還可能會發生許多其他壞事,具體取決於節點軟體的設置。
在實踐中,由於需要冗餘(包括數據可用性采樣),安全的最低數量比簡單的「鏈TPS除以節點TPS」高幾倍,對於上面的例子,我們將其設置位1000個節點。
如果分片區塊鏈的容量增加10倍,則最低用戶數也增加10倍。現在大家可能會問:為什麼我們不從較低的容量開始,當用戶很多時再增加,因為這是我們的實際需要,用戶數量回落再降低容量?
這里有幾個問題:
區塊鏈本身無法可靠地檢測到其上有多少唯一用戶,因此需要某種治理來檢測和設置分片數量。對容量限制的治理很容易成為分裂和沖突的根源。
如果許多用戶突然同時意外掉線怎麼辦?
增加啟動分叉所需的最低用戶數量,使得防禦惡意控制更加艱難。
最低用戶數為1,000,這幾乎可以說是沒問題的。另一方面,最低用戶數設為100萬,這肯定是不行。即使最低用戶數為10,000也可以說開始變得有風險。因此,似乎很難證明超過幾百個分片的分片區塊鏈是合理的。
歷史可檢索性
用戶真正珍視的區塊鏈重要屬性是永久性。當公司破產或是維護該生態系統不再產生利益時,存儲在伺服器上的數字資產將在10年內不再存在。而以太坊上的NFT是永久的。
是的,到2372年人們仍能夠下載並查閱你的加密貓。
但是一旦區塊鏈的容量過高,存儲所有這些數據就會變得更加困難,直到某時出現巨大風險,某些歷史數據最終將……沒人存儲。
要量化這種風險很容易。以區塊鏈的數據容量(MB/sec)為單位,乘以~30得到每年存儲的數據量(TB)。當前的分片計劃的數據容量約為1.3MB/秒,因此約為40TB/年。如果增加10倍,則為400TB/年。如果我們不僅希望可以訪問數據,而且是以一種便捷的方式,我們還需要元數據(例如解壓縮匯總交易),因此每年達到4PB,或十年後達到40PB。InternetArchive(互聯網檔案館)使用50PB。所以這可以說是分片區塊鏈的安全大小上限。
因此,看起來在這兩個維度上,以太坊分片設計實際上已經非常接近合理的最大安全值。常數可以增加一點,但不能增加太多。
結語
嘗試擴容區塊鏈的方法有兩種:基礎的技術改進和簡單地提升參數。首先,提升參數聽起來很有吸引力:如果您是在餐紙上進行數學運算,這就很容易讓自己相信消費級筆記本電腦每秒可以處理數千筆交易,不需要ZK-SNARK、rollups或分片。不幸的是,有很多微妙的理由可以解釋為什麼這種方法是有根本缺陷的。
運行區塊鏈節點的計算機無法使用100%的CPU來驗證區塊鏈;他們需要很大的安全邊際來抵抗意外的DoS攻擊,他們需要備用容量來執行諸如在內存池中處理交易之類的任務,並且用戶不希望在計算機上運行節點的時候無法同時用於任何其他應用。帶寬也會受限:10MB/s的連接並不意味著每秒可以處理10MB的區塊!也許每12秒才能處理1-5MB的塊。存儲也是一樣,提高運行節點的硬體要求並且限制專門的節點運行者並不是解決方案。對於去中心化的區塊鏈而言,普通用戶能夠運行節點並形成一種文化,即運行節點是一種普遍行為,這一點至關重要。
區塊鏈網路擁堵怎麼辦1
什麼是網路擁堵
通常指的是一種網路故障現象:某辦公區域網計算機使用一個帶路由功能的ADSLModem+HUB共享上網。當同一時間上網人數較少的時候網路比較通暢,上網人數多了以後網路會時斷時通,並且HUB的Collision指示燈會閃爍不停。
而在區塊鏈的應用程序中,無論是數字貨幣、智能合約、去中心的交易系統等,它們的網路都是由一個個獨立的節點組成的,發生在節點中的各種操作,比如轉賬交易、合約狀態的變更等,都會以交易事務的數據形式廣播到網路中,通過礦工打包到新的區塊,作為主鏈的一部分而最終確認所有的這些操作。
當節點很多,使用量很多的時候,大量發生的交易就會來不及在正常期望的時間內被打包,因為它們都擁堵在網路中,這些等待的被確認的交易數據通常會維持在節點的內存池中。這個就是區塊鏈的擁堵。
2
網路擁堵是怎麼發生的
目前比特幣區塊大小為1M,每秒大約只能處理7個交易。隨著交易量不斷增長,比特幣網路已經難以迅速地進行轉賬交易確認,區塊鏈網路時常出現擁堵。
區塊鏈網路上最高時有上萬筆交易積壓,某些轉賬交易手續費高達幾十美元,網路擁堵時,交易甚至需要花費好幾天才能被打包。
實際上對於每一類區塊鏈應用來說,這個問題都是存在的,造成不斷有用戶抱怨交易延遲的問題,但也側面證明了應用的廣泛,以及用戶體量的增加。
那麼發生這些問題,我們應該怎麼辦呢?
3
網路擁堵怎麼解決
解決的方法,無非有如下幾種。
第一種擴容,提高處理能力。
第二種截流,限制區塊鏈包的數量。
通過將上述兩種方法進行綜合。
悉尼大學研究者研發了一種新型的區塊鏈系統,在100台機器中能夠實現每秒44萬筆交易的吞吐量,而Visa每秒的交易處理器是5.6萬筆。相比之下,比特幣每秒的交易限制在7筆,以太坊區塊鏈則為20筆。
JadeChain公鏈系統上線後,將徹底解決JADE生態應用中的網路擁堵問題。
㈤ 什麼是Gas
了解以太坊轉賬中的"Gas",首先需明白其運行機制。發起交易後,交易會被放入交易池,礦工從中選擇進行確認。轉賬時需要支付給礦工手續費,這就是所謂的"Gas"。
簡言之,"Gas"即是手續費,就像汽車加油以行駛,轉賬交易也需要支付費用來完成。
深入探討,涉及"Gas Limit"與"Gas Price"的概念。一筆交易成本為"Gas Limit"與"Gas Price"的乘積。"Gas Limit"相當於加多少油,而"Gas Price"則是油價。
通常,"Gas Price"上限為50 GWEI,GWEI是以太坊計量單位,1個ETH等於10億GWEI。常規情況,交易不超過20000的"Gas Limit",設置"Gas Limit"為20000,"Gas Price"為50,這筆交易的手續費則為0.001個以太坊,費用合理。
㈥ gaslimit怎麼樣設
gaslimit怎麼設置
GasLimit(燃氣限制)是以太坊網路中的一個參數,它用於限制一次交易中最多可以消耗的燃氣量。在以太坊上,每個操作都需要消耗一定的燃氣,包括普通轉賬、智能合約的執行等。燃氣限制就是限制交易中這些操作所消耗的最大燃氣量,超過這個限制,交易就會失敗。
GasLimit可以在發送交易時手動設置。如果GasLimit設置得太小,那麼交易可能會因為燃氣不足而失敗;如果設置得太大,那麼交易費用就會過高。因此,需要根據具體情況來合理設置GasLimit。
在設置GasLimit時,需要考慮以下因素:
交易中包含的操作數量和類型,不同的操作會消耗不同數量的燃氣。
以太坊網路的當前擁堵情況,如果網路擁堵,GasLimit設置得太小容易導致交易失敗。
交易的目的和重要性,如果交易非常重要,可以設置較高的GasLimit來確保交易順利執行。
一般來說,GasLimit的設置建議在21000到500000之間。如果你不確定應該設置多少GasLimit,可以參考以太坊錢包中推薦的默認值。如果你需要進行復雜的智能合約交易,建議先在測試網路上測試GasLimit的合適值,再在主網上進行交易。
最後需要注意的是,GasLimit和GasPrice(燃氣價格)是兩個不同的概念,GasPrice是交易者願意支付的每單位燃氣的價格,而GasLimit是限制交易中最多可以消耗的燃氣量。
㈦ 以太坊中的 Gas:關於交易費用你需要知道的一切
要了解以太坊網路,首先需要理解「Gas」這個術語。以太坊網路上的計算單位類似於汽車需要汽油來運行,Gas 是以太坊網路上的汽油,用於支付計算和交易費用。Gas 與任何其他數量一樣,也有自己的單位,比如以太幣(Ether 或 ETH)。
在倫敦升級前的以太坊中,計算費用通過一個簡單的公式計算:Gas 費用 = Gas 花費 * Gas 價格。Gas 價格以 Gwei 計價,Gwei 是以太幣的計價單位,代表 Giga-Wei,等於 1,000,000,000 wei。智能合約在被編譯為 OPCODES 之前,每個 OPCODE 都有自己的 Gas 成本。合約中特定函數的 Gas 成本是所有 OPCODES 成本之和。因此,Gas 費用 = Gas 花費 * Gas 價格。
在倫敦升級後,以太坊網路對單個區塊允許的最大氣體量有限制,即區塊氣體限制。這是為了確保每個塊都保持在合理的計算成本范圍內。同時,引入了基本費用和小費的概念。基本費用是讓交易包含在區塊中所需的最低金額,它由網路根據對塊空間的需求量計算得出,並在每次區塊中銷毀,以抵消 ETH 的發行。小費用來補償礦工執行和傳播用戶交易,大多數錢包會自動設置此設置,但也可以手動更改。較高的小費交易通常被優先考慮。
此外,倫敦升級帶來了可變塊大小的功能,每個區塊的目標氣體限制為 1500 萬氣體,但大小可以根據網路需求變化,最高可達 3000 萬氣體。通過調整區塊大小和基本費用,網路通常在 1500 萬氣體時達到平衡。
Gas 成本對於以太坊網路的安全至關重要。通過強制為網路上的每個計算付費,防止不良行為者向網路發送垃圾郵件。交易的 Gas 限制限制了交易可能需要的處理,防止智能合約中的意外或惡意無限循環,導致所有以太坊節點無限期地卡住。
了解 Gas 是理解以太坊交易費用的關鍵。通過閱讀更多關於 Gas 及其代碼實現的信息,可以更深入地了解這個主題。以下是相關資源:以太坊氣體解釋、倫敦升級和智能合約中的氣體優化。