Yellow-Paper

了解交易的正式描述及其相關退款

  • January 6, 2019

摘自黃皮書第 8 頁:

在此處輸入圖像描述

我完全理解合約可以自毀,當發生這種情況時,根據這個執行緒,所有餘額都會退還到作為參數指定的地址。

在等式 64 中,會發生這種情況嗎?在狀態轉換中銷毀的所有賬戶餘額是否加起來?對名為函式的唯一先前引用R是在交易收據的上下文中,我懷疑這就是這裡添加的內容。

如果是,下一個等式背後的基本原理是什麼,不是。65、對退款設限?

在此處輸入圖像描述

設想:

  1. Gas 限制為 60,000,Gas 價格為 5 gwei
  2. 交易僅使用20,000
  3. 持有1,000,000 gwei或㆔0,01的賬戶在此過程中被銷毀
  4. 就像Tg60,000 和g'40,000 一樣,((Tg - g') / 2)是 10,000,按照 5 gwei 的比率,意味著 50,000 gwei 或 ㆔0,00005

來電者是否只會被退款g' + ㆔0,00005而不是g' + ㆔0,01

定義 64

Rselfdestruct與塊收據無關。相反,它是黃皮書附錄 G 中定義的常數,值為 24,000(截至拜占庭版本 69351d5)。

總和 sigma 符號 Σ 表示As中的每個自毀賬戶i都有價值 24,000 gas 的退款。當然,全部金額都會添加到已經存在的退款餘額Ar中。

定義 65

我們必須對退還的 gas 設置一個上限,以確保所有交易從經濟角度來看都是有意義的。如果之前的*Ar’*計算產生的 gas 價值高於交易所有者支付的價格,礦工執行這些交易就沒有意義(他們必須為額外退還的 gas 支付費用)。

因此,乙太坊協議的設計方式避免了經濟上不可行的情況 - 即人們會刪除一堆賬戶只是為了賺錢,但這些交易不會被處理,他們會毫無目的地膨脹記憶體池.

您顯示的方程式專門針對gas退款。的執行selfdestruct(address)意味著將合約中的乙太幣發送到address,Aad 然後銷毀合約。銷毀返還gas的操作,這就是添加到櫃檯的內容。第一個等式 (63) 只是表明退款計數器在自毀後更新。

第二個等式表明,要返還的總gas是剩餘的gas,(未使用的gas)加上消耗的一半gas之間的最小值

$$ (Tg-g’)/2 $$和退款櫃檯的金額。這意味著如果您的交易消耗了 30000 天然氣,最多將退還 15000 天然氣。 所以呼叫者將被退還相應的氣體,0.01 乙太幣將進入address使用時selfdestruct(address)

希望這可以幫助

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