iT邦幫忙

2024 iThome 鐵人賽

DAY 13
1
佛心分享-IT 人自學之術

合約開發特訓班系列 第 13

Life of a Transaction 理解以太坊交易是如何運作的

  • 分享至 

  • xImage
  •  

What is the life cycle of a transaction on the Ethereum blockchain?

理解以太坊交易生命週期

一般的以太坊 EOA transactions 交易的生命週期為何?以太坊區塊鏈上,一筆簡單的交易背後怎麼運作?文章標題「Life of a Transaction」題目擬寫,主要模仿曾經看到的「Life of a Navigation」,Oskov 先輩 2018 年的演講題目(https://youtu.be/mX7jQsGCF6E?si=MMRRu9GfqUWhskL4) 想的。不知道這樣的下標,是否會比較好理解嗎?

想像一個情境:你想送 0.1 顆以太幣給你的日本朋友,為了付他先幫你出的錢。如此一筆普通的類似銀行外幣轉帳匯款的交易,背後發生什麼事情?在以太坊上一筆交易怎麼進行?光是「以太坊交易生命週期是什麼?」這一件事的討論,就有一百種講法。這篇文章分享的是其中一種,可能算比較接近主流的理解。

EOA transactions 交易是如何運作?

首先,你在瀏覽器打開狐狸錢包 MetaMask,敲一敲,敲一敲。按下送出。這時候,你會有筆交易送到以太坊的 p2p 網路。Transaction 交易是實際上是指一筆資料。

而由你這位 EOA 外部擁有帳戶(an externally-owned account)同學所發起的這筆交易(EOAs initiate transactions.)。交易資料上面寫了什麼呢?交易資料上寫很多資料,像是會寫,發送人的地址、收款人的地址、要發送的金額是多少、手續費多少、簽章、nonce 計數器等等的資料。這筆交易資料會送到以太坊的 p2p 網路。最後他會出現在區塊鏈驗證者(validator)的 memory pool 裡面。

區塊鏈驗證者(validator)會從 memory pool 裡,拿好幾個交易打包成一個區塊。這包括你的交易。驗證者(validator)打包到區塊裡之後,會把區塊再發回(廣播 broadcast)以太坊 p2p 網路。其他節點會收下這個新的區塊,並且執行這筆交易讓他發揮效果,對以太坊 world state 做出變更。也就是會從你的 EOA 地址裡面做資料的更新。

假設你的 EOA 原本有 0.5 顆以太幣,現在減少 0.1 顆以太幣。再減掉手續費。接著在日本人朋友的 EOA 底下增加 0.1 顆以太幣的餘額。接下來日本人朋友他在他的錢包 app 裡面,看到他的餘額增加了 0.1 顆以太幣。

參考文章:


上一篇
EVM Playground 練習網站 ADD 操作
下一篇
理解以太坊 ERC20 交易運作
系列文
合約開發特訓班30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言