Menu

  • Home
  • Trending
  • Recommended
  • Latest

分類

  • #2021 新年特輯
  • 100天區塊鏈挑戰
  • 2019 台灣區塊鏈產業指南
  • 2020 台灣區塊鏈產業年鑑
  • 2022 台灣年度最影響力人物榜
  • 2023 台灣年度影響力人物榜
  • 2023 新春特輯
  • 2024 TON Hacker House
  • 2024新春特輯
  • ABS 2018 專題報導
  • AI
  • CBDC是什麼?為何全球都在積極研究、有什麼優點與隱憂
  • Cefi
  • dao
  • dApps
  • defi
  • DePIN 如何開啟去中心化物理網路革命?
  • Entertainment
  • EOS
  • EOS insights
  • Gaming
  • Howto & Style
  • ICO
  • JiaJia
  • Layer 2
  • Libra
  • Movie
  • Music
  • News
  • nft
  • Plurality 多元宇宙
  • Starknet 空投落地,後續帶來什麼影響?
  • TON的崛起之路》背靠 Telegram 如何實現 Web3 大規模應用?
  • Uncategorized
  • Web3.0
  • 中國
  • 亞太
  • 交易所
  • 人物專訪
  • 以太坊
  • 以太坊
  • 以太坊 Dencun 坎昆升級將臨,你需要知道的所有事
  • 以太坊再質押協議為何成為最熱門賽道?
  • 供應鏈
  • 保險
  • 債券
  • 元宇宙
  • 全台最大詐騙案!Ace交易所涉垃圾幣詐騙
  • 全球加密貨幣監管最新動態統整
  • 其他國家
  • 其他幣別
  • 分散式帳本技術
  • 創投
  • 加密貨幣「詐騙手法」整理,學習如何保護你的資產
  • 加密貨幣市場
  • 區塊鏈平台
  • 區塊鏈新手全攻略,你需要知道的加密貨幣基礎
  • 區塊鏈新手教學
  • 區塊鏈活動
  • 區鍵禧
  • 即時新聞
  • 台灣
  • 哈希派
  • 國際組織報告
  • 多元宇宙Plurality有多重要?未來20年人類躍進關鍵
  • 央行
  • 娛樂平台
  • 安全
  • 專欄作者
  • 巴拉區塊事
  • 市場分析
  • 幣安與美國司法部達成 43 億美元和解,CZ認罪
  • 影片測試的分類
  • 快訊
  • 技術
  • 抓住空投爆擊!值得埋伏的項目、互動教學總整理
  • 投資分析
  • 挖礦
  • 推薦閱讀
  • 搶先看
  • 支付
  • 政府報告
  • 數位產權
  • 數據報告
  • 概念
  • 歐洲
  • 比特幣
  • 比特幣現貨ETF上市,真帶來了增量資金?
  • 比特幣第四次減半將臨,行情怎麼走?
  • 比特幣銘文大爆發,Oridinal 如何改變 BTC 生態?
  • 比特彭
  • 汪彪
  • 法規
  • 測試網
  • 灰度
  • 物聯網
  • 犯罪
  • 獨立觀點
  • 瑞波
  • 環境永續
  • 社交
  • 私人機構報告
  • 稅務
  • 穩定幣
  • 管制
  • 美國
  • 肺炎
  • 能源
  • 訴訟
  • 評級報告
  • 財金哥 & 區塊妹
  • 身份驗證
  • 遊戲
  • 鄧庶杭
  • 金融市場
  • 銀行
  • 錢包

Subscriptions

  • 零壹財經 01 binary
    01 Binary
  • 0xdt
  • 0xJigglypuff
  • aaaaYYYY
  • ABCDELabs

Recent News

  • 圖解多元宇宙》V神、Glen力推的Plurality是什麼?為何協作技術是人類社會進步關鍵
  • 精選文章搶先看!動區登入Access質押訂閱服務,解鎖寶貴資訊快人一步
  • ABS獨家專訪》Gitcoin共同創辦人Scott:台灣是現實與Web3治理的重要交匯點
動區動趨-最具影響力的區塊鏈新聞媒體
  • Home
    • Home Layout 1
    • Home Layout 2
    • Home Layout 3
  • Browse
    • News
    • Movie
    • Music
    • Technology
    • Howto & Style
    • Entertainment
    • Gaming
  • Features
    • Youtube Video
    • Vimeo Video
    • Dailymotion Video
    • Self-hosted Video
    • User Profile
    • Playlists
    • User-created Playlist
    • Favorite Playlist (Private)
    • Watch Later Playlist (Private)
    • All JNews Features
No Result
View All Result
  • Login
  • Register
UPLOAD
動區動趨-最具影響力的區塊鏈新聞媒體
No Result
View All Result
Home 區塊鏈新手教學

文組也該知道的區塊鏈技術知識《5》交易送不出去怎麼辦?以太坊的交易打包規則

Lai Jack 賴彥廷 by Lai Jack 賴彥廷
2020-12-29
in 區塊鏈新手教學
1.2k 11
0
文組也該知道的區塊鏈技術知識《1》 從一筆交易來看 ETH 與 BTC 之異同
1.6k
SHARES
7.3k
VIEWS
Share on FacebookShare on Twitter

本文作者為賴彥廷,於區塊鏈解決方案服務商 Pelith 沛理科技擔任專案經理,本系列文章並不會談到太深的技術鑽研,而是以深入淺出的方式,讓每一個想要了解區塊鏈技術的讀者,都可以在讀完後說出:原來如此!

本文目錄

  • RelatedPosts
  • 以太坊現貨ETF是什麼?與期貨差異、如何投資、優缺點、發行方式..完整分析
  • 以太坊聚合 L3 zkEVM 網路「zkLink Nova」 TVL 突破10億美元
  • 比特幣符文(Runes)是什麼?與銘文、BRC-20差異、蝕刻原理、生態系…全整理
  • 以太坊交易的本質
  • 以太坊交易送出至出塊的流程
  • 以太坊上一筆交易送出後經歷的流程:
  • 如何挑選要撈出哪些交易?
  • Gas Limit
  • GWEI
  • 加速交易
  • 取消交易
  • 再發送一個同樣 nonce 的交易
  • 加速交易
  • 取消交易
  • 結論
    • 2019 年以太坊網路(Ethereum Network)現況統整
    • 【動區專題|輕鬆好讀】什麼是原子交換(Atomic Swap)?
    • 活動特派員|以太坊年度大會 Devcon 於大阪開幕,動區帶你看今年全球最重要的幾個議題

 

RelatedPosts

以太坊現貨ETF是什麼?與期貨差異、如何投資、優缺點、發行方式..完整分析

以太坊聚合 L3 zkEVM 網路「zkLink Nova」 TVL 突破10億美元

比特幣符文(Runes)是什麼?與銘文、BRC-20差異、蝕刻原理、生態系…全整理

奇怪,我的交易怎麼一直送不出去?

相信大家或多或少都曾遇到或被問過這樣的問題。在 第 3 篇 與 第 4 篇 文章中我們藉由區塊鏈代幣的演進史來解析 Token 背後的技術運作原理,大家對於智慧合約應該有更深一層的認識與了解。本篇我們要來帶大家細看以太坊交易背後的知識與原理:

*究竟在我們送出交易後到出塊上鏈之間發生了哪些事?
*為什麼以太坊會塞車?
*交易塞車在技術上到底是發生了什麼事?
*交易送不出去要怎麼辦?

以上這些常見的問題應該都能在本篇文章中得到解答。

以太坊交易的本質

首先,大家應該都還記得在 第一篇 中談到了以太坊交易的本質,我給你 10 Ether 不是我真的把什麼東西給了你,而是我向以太坊網絡提出了更改餘額狀態的請求,讓各個節點上紀錄的 你與我的 Ether Balance 進行更新。

Ethereum 交易之狀態更新示意圖

然而,送出交易在技術上並不困難,區塊鏈的重點是在於打包交易並出塊的過程。如何驗證、確認交易是否有效,讓這筆交易順利發生,並讓各個節點即時更新以擁有相同的帳本,這樣打包交易並出塊的機制即「挖礦」。

以太坊交易送出至出塊的流程

以太坊交易送出至出塊流程 (https://web3j.readthedocs.io/en/latest/transactions.html)

透過上圖我們可以一覽

以太坊上一筆交易送出後經歷的流程:

  1. 發送交易
  2. 私鑰簽名
  3. 交易發送至節點
  4. 節點間廣播新接收交易
  5. 礦工打包交易並出塊

上圖可能有些細節交代不夠清楚,我們再用下面這張圖來補充說明:

MyEtherWallet 交易送出後經歷的流程示意圖 (https://kb.myetherwallet.com/)

交易送出之後,會被丟進一個「交易池」裡,等待被礦工打包。
礦工從「交易池」中撈出未出塊的交易來進行打包與出塊。

因為每個區塊有大小限制,比特幣一個區塊是 1MB 的容量限制;以太坊的區塊則是以 Gas 來計算,有 800 M Gas 的限制。若以一筆基礎交易 21,000 Gas 來計算,一個以太坊區塊可以容納 380 筆交易。因此當「交易池」裡的交易量大時,會有許多交易沒辦法即時被打包而滯留在池子中等待。

如何挑選要撈出哪些交易?

礦工節點可以自行設置參數,不過大多數礦工都是按造手續費的多寡排序,手續費高的會優先被打包出塊;手續費低的則可能要等到天荒地老。

回顧 第一節 我們介紹過的以太坊手續費計算公式:

以太坊交易手續費公式:
Tx Fee(手續費)= Gas Used(燃料用量) * Gas Price(單位燃料價格)

由於 Gas Used 是由系統決定的,我們在發送交易時決定手續費多寡的決定性變因就是 Gas Price 了。下方我們以 Metamask 介面來做介紹:

Metamask 發送交易的頁面流程圖

在上圖左方我們可以看到系統預設有三個速度可以供選擇,不過要更近一步設定,可以點「進階選項」,便會進到上圖右方的畫面。

我們可以自行設定 Gas Price 及 調整交易的 Gas Limit。WEI 是以太坊上最小的單位(10^-18 Ether);GWEI 則是 1G 的 WEI(10^-9 Ether)。
圖中的 Gas Price 設定為 10 GWEI;Gas Limit 為 21,000。因此:

10 GWEI(單位燃料價格)* 21,000(燃料用量)= 0.00021 Ether(手續費)

Gas Limit

若是要操作智慧合約等較繁複的功能,不太確定實際的 Gas Used,也可以把 Gas Limit 調高一些,被打包時只會收取實際 Gas Used 作為手續費,多給的 Gas 會退返回來。

不過由於以太坊區塊有 800M 的大小限制,若把 Gas Limit 設太高,也可能產生塞不進區塊中而滯留在「交易池」裡的情況。

GWEI

至於要設多少 GWEI,我們可以到 ETH gas station 上查看即時的「交易池」狀況:

ETH GAS STATION 上的 Gas Price 建議

可以看到如果希望交易能盡快被確認,GWEI 可能要設到 20 以上,大約在 2 分鐘內可以被確認完成(不過通常設到 FAST,應該 15~30 秒就會被確認了)。截圖當下其實是偏塞車的情形,通常 10 GWEI 左右就可以達到 FAST(<2 mins),現在卻要 20 GWEI。

這邊顯示的 Gas Price 建議,其實就是「交易池」裡的狀況:池裡有多少筆 pending 的交易、這些池裡的交易給的手續費是多少。根據這些資訊依據來呈現設的 Gas Price 估計要多少個區塊(時間)後才會被打包上鏈。

然而,許多人常遇到關於交易的問題:

我的交易怎麼一直送不出去怎麼辦?

也許是 Gas Price 設太低,或是突然有大量交易湧入等各樣的情況。這時其實有補救的方法:

加速交易

當交易由 Metamask 送出後,可以看到下方會有個「加速」的按鈕,點進去後便可以再次設定 Gas Price,設定並重新送出交易後,就可以在底下的活動紀錄看到手續費被提高了。

加速交易的流程圖

取消交易

除了能加速交易,其實也可以取消交易。方法便是點擊等待處理的交易,展開後可以看到「取消」的按鈕,點擊並確認後 Metamask 會向節點發送取消交易的請求,並在確認取消後收取手續費。

若發現取消交易的請求 pending 有點久,其實在下方可以看到有「加速取消」的按鈕,可以再進行進一步設定。

取消交易的流程圖

那麼,以上這些過程其實是發生了什麼事,技術上如何做到的呢?
答案跟我們在 第一節 談到的 nonce 有關,做法是:

再發送一個同樣 nonce 的交易

由於以太坊 nonce 的設計,會追蹤每個地址所有交易的「序次」,也就是說每個 nonce 只會有一筆交易。

加速交易

因此加速交易便是我再發送一筆同個 nonce、同樣內容的交易。因為提高了交易手續費,所以當同樣 nonce 的兩個交易都位於「交易池」中,後發的手續費較高的交易原則上會被優先打包出塊。

因為每個 nonce 只能有一筆交易,先發的那筆手續費較低的交易永遠不會被打包,於是便會被系統給丟棄,因而交易失敗。

取消交易

取消交易其實也是類似的邏輯,做法是:
我再發送一筆給自己 0 Ether 的同 nonce 交易。
由於這筆交易手續費較高,會優先被打包出塊,讓原交易被系統丟棄而交易失敗,如此來達到取消交易的目的。

結論

  1. 交易送出後會被丟到一個「交易池」中等待被礦工打包,決定先後順序的主要因子為「單位 Gas Price(GWEI)」給的多寡。
  2. 發送交易時可以到 ETH gas station 參考即時的「交易池」狀況再來決定要設多少 GWEI 以能在預期的時間內被打包上鏈。
  3. 若發現交易持續滯留在「交易池」中等待被處理,可以「加速交易」或「取消交易」。

介紹至此,大家應該都對以太坊交易的背後邏輯與打包規則有更深一層的認識了。下一篇我們將更深入介紹以太坊網路是如何做到在 15 秒內(下個區塊出來前)可以全節點同步更新「交易池」內的資訊,避免產生重複打包、孤兒塊或硬分叉等問題。

?相關報導?

2019 年以太坊網路(Ethereum Network)現況統整

【動區專題|輕鬆好讀】什麼是原子交換(Atomic Swap)?

活動特派員|以太坊年度大會 Devcon 於大阪開幕,動區帶你看今年全球最重要的幾個議題


《BlockTempo動區動趨》LINE官方號開通囉~立即加入獲得第一手區塊鏈、加密貨幣新聞報導!

加入好友

Recommended videos

23:25

Get Ready for Apple’s New 8K VR/AR Headset in 2020

2.5k Views
2024-07-24
    2:49

    These Are the Spookiest Halloween Movies on Netflix

    2.5k Views
    2024-06-19
      3:48

      Fintech Summit and Expo to Begin on September 23

      2.5k Views
      2024-06-25
        3:02

        Dua Lipa teases new album as “new era” begins

        2.5k Views
        2024-07-09
          Show More
          Copyright (c) 2019 by Jegtheme.
          • About
          • Buy JNews
          • Request A Demo
          • Contact
          No Result
          View All Result
          • Account
          • BlockTempo Beginner – 動區新手村
          • Change Password
          • Forgot Password?
          • Home 1
          • Home 2
          • Home 3
          • Jin-homepage
          • Latest
          • Login
          • Profile
          • Register
          • Reset Password
          • Trending
          • Users
          • Users List Item
          • 不只加密貨幣,談談那些你不知道的區塊鏈應用|動區新手村
          • 所有文章
          • 關於 BlockTempo

          © 2025 JNews - Premium WordPress news & magazine theme by Jegtheme.

          Welcome Back!

          Login to your account below

          Forgotten Password? Sign Up

          Create New Account!

          Fill the forms below to register

          All fields are required. Log In

          Retrieve your password

          Please enter your username or email address to reset your password.

          Log In

          Add New Playlist