以太坊是一個基於區塊鏈的開源軟件平台,擁有數以千計的去中心化應用程序(DApps),為其原生加密貨幣Ether (以太坊),可以在全球範圍內發送和接收,而不受任何第三方乾擾。
以太坊於2013 年由俄羅斯裔加拿大程序員Vitalik Buterin 首次概念化,旨在作為自動執行、永久和不可變DApp 的平台,其用例從金融到遊戲和藝術各不相同。
DApps 通常被稱為智能合約,它是以太坊交易協議,可自動執行某些功能和操作,例如具有預定條件和協議的交易處理。發送交易、取消交易或解決未決的以太坊交易是與智能合約功能相關的操作。
什麼是以太坊交易?
交易是來自賬戶的加密簽名指令。
以太坊網絡支持兩種主要類型的交易:合約部署交易、無接收方的交易類型和常規交易,這是用於將ETH 從一個錢包轉移到另一個錢包的最簡單的交易類型。
提交的常規以太坊交易包括發件人的標識符或在發件人的私鑰簽署交易並確認發件人已授權特定以太坊交易時生成的簽名。接收地址、從發送者到接收者的ETH 數量、有關以太坊交易費用的信息以及包含任意數據的可選字段都是提交的常規以太坊交易的一部分。
以太坊交易必須被挖掘才能生效,並且需要發送方支付費用。
以太坊礦工驗證合法交易,以獲得他們在創建新ETH 方面的工作的獎勵。當礦工解決密碼(數學)難題時,交易被視為已驗證。以太坊,就像比特幣(比特幣), 有一個 工作量證明(PoW)系統 防止來自單個個人或團體的網絡攻擊。
用戶在使用區塊鏈時支付交易費的義務可以保護以太坊網絡免受草率或惡意計算任務的影響,例如用戶通過大量無目的交易向區塊鏈發送垃圾郵件。
以太坊交易生命週期
以太坊交易經歷一系列狀態,從未知狀態開始,直到在區塊中得到確認。
未知: 未知狀態是指網絡尚未看到或處理的交易。
待辦的: 當交易處於待處理狀態時,它正在等待礦工提取並處理它,這稱為池化交易,也稱為“內存池”。由於礦工優先考慮更高的天然氣價格,因此天然氣價值較低的交易可能會在較長時間內處於待定階段。 Gas 價格最低的交易可能永遠不會被接受,讓它們永遠“停留”在待處理狀態。
在塊中: 當礦工成功選擇交易並在區塊內進行挖掘時,它會進入區塊內狀態。塊內交易稱為挖掘交易。如果區塊被分叉,區塊中的交易可能會返回到掛起狀態。當挖掘的交易(即處於區塊狀態的交易)被網絡逆轉時,它被稱為分叉交易。
替換: 當發生以下任一情況時,事務可以從掛起狀態移動到替換狀態:
- 來自同一發送者的具有相同隨機數的新交易進入區塊狀態,或
- 另一筆具有相同nonce 且gas 價格高出12% 的交易進入待處理階段,這次來自同一發送者。
以太坊交易確認
以太坊交易確認是自包含此交易的第一個區塊以來創建的區塊數。
待處理的以太坊交易需要收到一定數量的確認。 Gas 費用越高,以太坊網絡處理和識別交易的確定性就越大。
可以重新組織最近的塊,給人的印像是事務處理失敗。即便如此,交易也可能包含在另一個區塊中並保持有效。重組的概率隨著隨後每個區塊的挖掘而降低,即確認越多,交易變得越不可變。
以太坊交易確認
交易費是用戶為阻止礦工而支付的獎勵。它用於在以太坊區塊鏈中發送特定交易。
以太坊區塊鏈交易費用也稱為gas費用,因為它們與gas有關,gas是以太坊網絡上使用的一種定價機制,指的是礦工處理交易所需的計算。交易的計算任務是根據gas 成本來衡量的。
另一方面,每一單位的gas都有一個以ETH給出的gas價格。儘管特定交易的複雜性決定了gas成本,但用戶可以設置自己的價格和gas限制,或者交易消耗的最大gas單位量。
什麼是隨機數?
nonce 是“number only used once”的縮寫,指的是從給定的以太坊地址發送的已確認交易的總數。
以太坊錢包可以從一個賬戶廣播多筆交易,彼此之間不會有太多延遲,這意味著nonce 計算被認為是確定首先處理哪筆交易的必要機制。通常,以太坊錢包應用程序負責用戶的nonce 管理。
如何取消以太坊交易?
取消待處理的以太坊交易有兩種主要方法:應用程序內取消和設置自定義隨機數。
通常,當用戶以較低的gas 價格提交時,以太坊交易會掛起數小時或卡住。因此,用戶經常發現有必要更改以太坊交易。
在解決這個問題時,用戶需要記住只有當交易仍在網絡上未決時才能嘗試取消。他們需要採取的第一步是在區塊瀏覽器中驗證交易是否仍在等待中。主要是粘貼交易哈希,也稱為以太坊交易ID,如果區塊瀏覽器顯示“待處理”,用戶仍然可以嘗試取消它。
取消卡住的以太坊交易的最簡單方法是應用程序內取消,這需要用戶退出以太坊錢包應用程序並關閉瀏覽器,重新打開並重新登錄應用程序。
如果這些步驟不能解決問題,第二種方法將派上用場。
通過設置自定義隨機數來取消一個待處理的以太坊交易意味著生成一個0 ETH 的高gas價格交易到用戶自己的地址,以防止之前的交易被卡住。在發送第二個交易之前,用戶需要注意原始待處理交易正在使用的隨機數,然後重用他們注意到的相同的隨機數。
如果用戶有多個待處理的以太坊交易,他們最好從最舊的交易或最低的nonce 值開始。
如何加快以太坊交易?
用戶可以通過向以太坊添加gas 來加速緩慢的以太坊交易。這一步可能會激勵以太坊礦工優先考慮它。
如果以太坊用戶將gas 價格設置得太低,其他用戶就有機會出價高於此初始出價,交易將保持待處理。當交易卡住時,網絡不會確認來自同一錢包地址的任何新交易,直到礦工確認第一筆交易。
在這種情況下,用戶可以選擇等到網絡願意以設定的價格處理交易或重新提交原始交易,但需要更高的gas費用。單擊Ethreum 錢包中的“加速”按鈕應該可以更快地處理交易。
如果上一步不起作用,用戶可以轉到高級選項卡手動設置gas 價格。
畢竟,建議用戶通過發布其哈希值來在區塊鏈瀏覽器上搜索交易,看看它是否被成功處理。如果交易沒有立即顯示,他們將需要等待幾分鐘並刷新頁面。
以太坊交易可以逆轉嗎?
以太坊錢包無法恢復已經完成的以太坊交易。
當以太坊用戶不小心將資金發送到錯誤的地址或發送錯誤數量的ETH 時,他們可能會在交易未決時取消交易。當交易被確認並顯示為“成功”時,這意味著它已被添加到下一個區塊中,它無法撤消。以太坊區塊鏈被設計為不可變的,因此輸入區塊的數據是不可逆的。知道這一點,在點擊發送按鈕之前確保交易細節是正確的至關重要。
最後,值得注意的是,許多區塊鏈初創公司已經開發出允許用戶逆轉以太坊交易的機制。