Transactions

區塊中包含的 EOA 交易是否保證成功?

  • July 4, 2019

無論交易的來源(外部擁有的地址/智能合約)和交易中包含的數據如何,如果目的地是 EOA 並且交易包含在一個區塊中,我是否可以確定資金在沒有驗證的情況下實際轉移交易收據?

如果我理解正確,交易內在有效性的標準(黃皮書,第 6 節“交易執行”)強制要求在沒有呼叫智能合約的情況下為交易提供足夠的氣體,但我可能誤解了 g0 和v0。

我包括了我擔心的黃皮書的摘錄:

交易的執行是乙太坊協議中最複雜的部分:它定義了狀態轉換函式 Υ。假設首先執行的任何交易都通過了內在有效性的初始測試。這些包括:

(1) 交易是格式良好的 RLP,沒有額外的尾隨字節;

(2) 交易簽名有效;

(3) 交易nonce有效(相當於發送方賬戶的目前nonce);

(4) gas limit 不小於交易使用的固有gas g0;和

(5) 發送方帳戶餘額至少包含預付款所需的成本 v0。

如果交易首先通過了內在驗證並包含在一個塊中,那麼 EOA 中沒有程式碼會導致它失敗。

即使交易似乎包含在一個區塊中,鏈頭的交易順序和合法性也存在一定程度的不確定性,因此等待多個確認以降低風險可能是明智的,就像所有 PoW 系統一樣。

可能對遇到此問題的其他人有所幫助,請指出我們僅談論 Eth 向 EOA 和EOA 的轉移。代幣轉移非正式地描述為“到使用者”實際上是“到代幣合約”,所以情況不同。合約中的 Eth 轉賬總是從 開始{from: EOA, to: contract}

希望能幫助到你。

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