什么是元交易?智能合約開發(fā)實戰(zhàn):元交易(Metatransaction)系列一
引言
DApp(Decentralized Application)是通往去中心化世界的應用程序,讓人們真正能夠感受到去中心化魅力的工具。但令人沮喪的是,使用它意味著你需要有一定的對區(qū)塊鏈(以太坊)基礎知識的掌握,包括但不限于錢包地址、哈希函數(散列、Hash)、公私鑰、交易、智能合約等。
這對一個對區(qū)塊鏈陌生的用戶來說,太可怕了!他需要學大量的知識,只為了使用 DApp。這阻撓了 DApp 的發(fā)展,而元交易可以減輕普通用戶的學習壓力,只需要他基本掌握使用一個區(qū)塊鏈錢包,例如 MetaMask、TrustWallet、ImToken 等等。
什么是元交易?
元交易(Metatransaction),是一種讓用戶不需要支付 gas 費就能夠使用 DApp、發(fā)起交易、調用智能合約的手段。
這意味著用戶將不再需要深入了解什么是交易、什么是智能合約,只需要確保自己的錢包是安全的,知道什么是錢包地址就可以了。這大大的簡化了 DApp 的使用流程。
為什么元交易能夠讓用戶不需要支付 gas 費?
聊元交易之前,首先了解一下什么是交易(Transaction)。一筆以太坊交易由以下內容構成:
- from – 發(fā)送者地址
- recipient – 接收地址(如果為一個外部持有的帳戶,交易將傳輸值。 如果為合約帳戶,交易將執(zhí)行合約代碼)
- signature – 發(fā)送者的簽名。 當通過發(fā)送者的私鑰簽名交易來確保發(fā)送者已授權此交易時,生成此簽名。
- value – 從發(fā)送者向接收者轉移 ETH 的金額 (以 WEI 為單位,ETH 的一種面值單位)
- data – 可包括任意數據的可選字段
- gasLimit – 交易可以消耗的 Gas 的最大數量。 Gas 單位代表了計算步驟
- gasPrice – 發(fā)送者按單位 gas 支付的費用
- nonce – 區(qū)塊鏈嚴格根據 nonce 值從小到大的順序執(zhí)行交易
注意其中的 signature 字段,通過它任何人都能夠驗證這筆交易就是發(fā)送者地址簽署的。交易會被發(fā)送給區(qū)塊鏈節(jié)點,發(fā)送者會支付 gas 費,通過驗證的交易才會被節(jié)點包含進自己的區(qū)塊鏈中,并進行廣播。而如果說,這樣一筆交易發(fā)給某個中間人/節(jié)點,讓他幫忙來付 gas 費并執(zhí)行該交易,我們的目的就實現了。
但問題是,簡單的將這樣一筆交易發(fā)給中間人,中間人也并不能幫你支付 gas 費,因為它是一個普通的交易,它會被驗證通過,并認為是發(fā)送者來支付 gas 費。
那我們如何繞過這個限制呢?答案是智能合約。
如果這筆交易發(fā)生在智能合約內部,也就是說,在普通的交易內部嵌入一個交易(這個交易就被稱作元交易),交易被你的中間人/節(jié)點簽署,并指定接收者地址為元交易智能合約的地址,因此 gas 費由中間人/節(jié)點支付;而元交易智能合約在收到一筆元交易后,會驗證元交易的簽名信息,確認無誤后,你的元交易在元交易智能合約中被執(zhí)行。
舉個例子
Alice 想向 Bob 轉賬 0 ETH,而由于 Alice 賬戶上沒有任何 ETH,即便是轉賬 0 ETH,但她仍然需要支付一定數額的 gas 費,因此 Alice 無法直接執(zhí)行這樣一筆交易。
而 Alice 知道 Carol 恰好賬號上有足夠多的 ETH 去支付 gas 費,于是請求他的幫助。
Carol 讓 Alice 簽署這筆元交易,并將所有內容發(fā)送給他;Carol 收到 Alice 的元交易后,構造出一個發(fā)送給元交易智能合約地址的交易,廣播給區(qū)塊鏈的節(jié)點。
區(qū)塊鏈節(jié)點將驗證 Carol 的交易合法性;元交易智能合約 扣除 Carol 的 gas 費作為執(zhí)行智能合約的費用,并驗證該交易中的元交易是否合法(驗證是否為 Alice 的簽名,nonce 值是否合法等)。
驗證合法后,元交易智能合約執(zhí)行該元交易,從而 Alice 在沒有花任何 gas 費的情況下,通過中間人 Carol 執(zhí)行了交易。
總結
元交易是讓 DApp 迅速發(fā)展的關鍵性技術之一,它減小了普通用戶理解區(qū)塊鏈運作機制的成本,讓用戶不需要支付 gas 費即可發(fā)起交易。
以上就是什么是元交易?智能合約開發(fā)實戰(zhàn):元交易(Metatransaction)系列一的詳細內容,更多關于什么是元交易的資料請關注腳本之家其它相關文章!
你可能感興趣的文章
-
元宇宙Metaverse是什么?為什么這么火爆?
這篇文章主要介紹了元宇宙Metaverse是什么?為什么這么火爆的相關資料,希望這篇關于什么是元宇宙的文章,能夠幫助到各位朋友對元宇宙有個更加深入地了解?!?/p> 2021-12-06
-
元宇宙究竟是什么?如何抓住機遇?
這篇文章主要介紹了元宇宙究竟是什么?如何抓住機遇?的相關資料,希望這篇關于元宇宙究竟是什么的文章,能夠幫助到各位新人投資者對元宇宙有一個深入的了解。…
2021-12-01 -
一文讀懂元宇宙的驅動力是什么?
這篇文章主要介紹了元宇宙的驅動力是什么的相關資料,希望這篇關于元宇宙的驅動力是什么的文章,能夠使大家對元宇宙有個更加深入的了解?!?/p> 2021-11-24
-
十個問題告訴你什么是元宇宙 元宇宙詳細介紹
這篇文章主要介紹了十個問題告訴你什么是元宇宙的相關資料,希望這篇關于什么是元宇宙的文章,能讓大家對于元宇宙有個深入的了解。…
2021-11-15 -
通俗解釋元宇宙與Web3時代的重要基礎設施:Rollup/波卡/Cosmos
這篇文章主要介紹了通俗解釋元宇宙與Web3時代的重要基礎設施:Rollup/波卡/Cosmos的相關資料,希望這篇關于元宇宙與Web3時代的重要基礎設施的文章,能夠讓大家深入的了解Cos…
2021-11-15 -
CE 加密貨幣元宇宙的地位
這篇文章主要介紹了CE 加密貨幣元宇宙的地位的相關資料,作為流行語,元宇宙指的是在在線一切轉變期間獲得動力的各種虛擬體驗、環(huán)境和資產?!?/p> 2021-11-04
-
元宇宙概念是什么意思?元宇宙要具備哪些屬性?
這篇文章主要介紹了元宇宙概念是什么意思?元宇宙要具備哪些屬性?的相關資料,希望這篇通俗解釋元宇宙概念的文章,能夠幫助各位投資者對元宇宙這一概念有一個更加全面深入的…
2021-09-18 -
區(qū)塊鏈解析:什么是Metaverse(元宇宙)?下一個時代風口
這篇文章主要介紹了什么是Metaverse(元宇宙)?下一個時代風口的相關資料,通過對元宇宙的源起,元宇宙創(chuàng)世而生,給大家分析什么是元宇宙及特點是什么,怎么通過區(qū)塊鏈技術創(chuàng)…
2021-08-10 -
什么是元宇宙?元宇宙數字貨幣有哪些?
這篇文章主要介紹了什么是元宇宙?元宇宙數字貨幣有哪些?的相關資料,很多從業(yè)者和專家都從不同的角度界定了元宇宙,那么元宇宙數字貨幣有哪些?現在就讓小編為大家?guī)碓睢?/p> 2021-08-10