Gas

為什麼挖礦難度大,gas 價格上漲,但仍有一些交易失敗?

  • January 19, 2022

鑑於我的假設,如果有人能夠澄清這一點,我將不勝感激:

  1. 挖礦難度取決於投資於驗證區塊鏈上的交易以保持其去中心化和“不可破解”所需的計算能力。
  2. 礦工根據 MH/s 和網路難度比投資他們的計算能力而獲得獎勵。更多的礦工意味著更高的難度,這意味著與電力成本相比更低的投資回報率和更長的時間來收支平衡硬體(通常是 GPU 或 ASIC)的投資。
  3. Gas 是人們執行智能合約交易所需的燃料。例如出售/購買 NFT。Gas 費用於以上述獎勵礦工的形式支付算力。

有了上述假設,我有以下問題:

  1. 如果你的gas用完了,為什麼交易可能會失敗?為什麼您沒有機會要求執行這樣的交易,或者您可以選擇等待 XX 小時或幾天才能執行?相反,您在嘗試執行可能無法通過的交易時會賠錢,這會導致對加密貨幣本身的極大挫敗感和懷疑。
  2. 當交易需求增加時,為什麼 Gas 費會攀升得如此之高?總體而言,為什麼它們一直如此之高?如果難度增加,這意味著礦工/計算能力的數量增加並且交易需求也增加,這一切是否應該是線性的並且比率保持或多或少相同,因此費用應該保持不變?
  3. 最近,在 ETH 區塊鏈上挖礦的獎勵已經下降到 3 個月前的近一半。他們說這是由於難度增加造成的。很公平,但為什麼汽油價格沒有下降?

潛在的答案?

我想了更多,我想我可能會有答案。如果我們有一個場景,交易需求不變,費用不變,礦工因此網路上的難度增加,礦工的獎勵就會下降。

問題 #1 仍然有效。此外,為什麼挖礦獎勵不會減少,以強制驗證交易所需的礦工數量/計算能力,從而降低汽油費?

基本上,唯一需要做的就是降低gas費用,其他一切都將自行發生,不是嗎?

通常很難回答為什麼會出現問題,但我會嘗試。

A1。挖礦難度取決於在區塊鏈上驗證交易所需的計算能力,以保持其去中心化和“不可破解”。

不,難度取決於旨在將塊生產保持在設計定義的頻率(比特幣約 10 分鐘,乙太坊約 15 秒等)的算法。它與旨在生成有效塊的共識算法作鬥爭。

假設社區分配了足夠的資源(雜湊算力)以在不到 15 秒的時間內為該塊找到有效的雜湊,並且它不斷地這樣做一段時間。在這種情況下,難度算法會調整區塊難度,直到區塊生產恢復到約 15 秒。在相反的情況下也會發生同樣的情況:如果網路在超過 15 秒內出塊,難度就會降低。

交易驗證是另一個主題。它不與難度或 PoW 共識相交(即,您可以擁有並且您擁有完全有效的區塊,而內部沒有任何交易)。

A2。礦工根據 MH/s 和網路難度比投資他們的計算能力而獲得獎勵。更多的礦工意味著更高的難度,這意味著與電力成本相比更低的投資回報率和更長的時間來收支平衡硬體(通常是 GPU 或 ASIC)的投資。

不,塊生產是固定的(或者,往往是),所以塊獎勵。你用法定貨幣(美元、歐元等)而不是乙太幣來支付電費和基礎設施,因此投資回報率受交易價格的影響更大。如果礦工更多,難度更高,這是因為使用乙太坊的人更多,所以通常價格會上漲。即使你產生更少的塊並獲得更少的獎勵,你仍然可以使用相同的基礎設施達到收支平衡。

當難度降低時,您會遇到更多問題,因為這可能意味著網路中的利息減少和交易減少,因此您的乙太幣價值降低,最終無法支付 FIAT 成本。

另請注意,價格、算力、交易、網路擁塞等,都通過力回饋相互影響;乙太坊是一個複雜的生態系統;這不是一條直線的因果關係。

A3。Gas 是人們執行智能合約交易所需的燃料。例如出售/購買 NFT。Gas 費用於以上述獎勵礦工的形式支付算力。

不。Gas 是每筆乙太坊交易的計算成本的衡量標準,無論它們涉及智能合約。你用乙太幣支付。多少?由您來決定,因為您可以設定您願意為執行交易支付的汽油價格。

因為區塊大小是有限的,如果其他人提供更高的費用,礦工更有可能選擇這些交易而不是你的交易。在這種情況下,您的交易將保留在記憶體池中,直到沒有其他更有吸引力的交易可供探勘。

在這個遊戲中,網路擁塞導致汽油價格上漲。

我經常用下面的比喻來解釋這個過程是如何工作的:

我的油箱是空的。我需要行駛 500 公里(您要執行的整個智能合約程式碼),我的汽車每 20 公里(單行程式碼)消耗 1 升(汽油),我至少需要約 25 升(汽油)。我去加油站說我想以每升最高 1.5 歐元的價格支付汽油(汽油價格)。現在多少錢?1,7 歐元,因為很多人都在加油(執行交易),而且還有很長的等待隊列(記憶體池)。好的,我在這裡等到價格下降,或者我厭倦了等待,然後提高價格(用相同的 nonce 但更高的 gas 價格覆蓋我的舊交易)。

Q1。如果你的gas用完了,為什麼交易可能會失敗?為什麼您沒有機會要求執行這樣的交易,或者您可以選擇等待 XX 小時或幾天才能執行?相反,您在嘗試執行可能無法通過的交易時會賠錢,這會導致對加密貨幣本身的極大挫敗感和懷疑。

您正在混合不同的概念。

乙太坊 - 與其他區塊鏈一樣 - 都是關於客戶的責任。99% 的交易失敗是因為客戶端,而不是網路。如果事務失敗,客戶端始終可以在本地進行測試。乙太坊客戶端會這樣做,甚至很多錢包(即 MetaMask)幾乎在所有情況下都可以預測您發送的東西是否會失敗。

在極少數情況下,交易取決於可能意外更改的鏈上狀態,從而導致不可預測的錯誤。用完 gas 表明你附加的 gas 太少(因為你自己計算錯誤)或交易導致異常(同樣,99% 你在創建交易時犯了錯誤,1% 的機會區塊鏈的狀態是被您無法預測的其他交易意外更改)。

加密貨幣具有可驗證性和可證明性,因此您不能相信加密貨幣,您必須驗證加密貨幣;

Q2。**當交易需求增加時,為什麼 Gas 費會攀升得如此之高?**總體而言,為什麼它們一直如此之高?如果難度增加,這意味著礦工/計算能力的數量增加並且交易需求也增加,這一切是否應該是線性的並且比率保持或多或少相同,因此費用應該保持不變?

現在你知道為什麼了:它與難度無關,而是與網路擁塞有關。一些嘗試使用更靈活的塊氣體限制(請參閱EIP-1559),但乙太坊如此使用和有用,結果可能不像預期的那樣明顯。

Q3。最近,在 ETH 區塊鏈上挖礦的獎勵已經下降到 3 個月前的近一半。他們說這是難度上升造成的。很公平,但為什麼汽油價格沒有下降?

他們錯了。區塊獎勵的最新減少是由於EIP-1559引入的燃氣燃燒機制。

基本上,唯一需要做的就是降低gas費用,其他一切都將自行發生,不是嗎?

不,因為汽油價格不是由中央機構或算法決定的,而是由使用者決定的,也就是交易的簽名者。

引用自:https://ethereum.stackexchange.com/questions/119340