Connect with us

技術分析

代幣協議轉賬真係轉到人都傻?

到以太坊,我們腦海中出現的第一個關鍵詞也許就是「gas費」。如今各大區塊鏈項目主網上線,所用的宣傳方嚮往往也離不開gas這個單詞。
居高不下的gas費一直是區塊鏈交易,尤其是游走於幣圈各個領域的投資者的一個痛點。

發表於

日期:

近期,隨著市場的起起落落以及主網升級、Layer2 解決方案等因素,以以太坊為首的區塊鏈網絡gas費持續下降。那麼除了以上因素以外,是否可以從代碼或者智能合約設計角度去減少完成特定功能必須的交易數目,從而優化項目以及整個區塊鏈的交易成本和環境呢?

今天我們來對比可兼容最常見的代幣協議ERC20的幾種協議,包括ERC777以及ERC1363。希望能幫助大家發現其中的最優選擇!

ERC20

當前完成ERC20協議代幣的轉賬操作需要分兩步:approve()以及transfer()/tranferFrom()。因此必須分成兩個交易並支付兩份Gas: 即第一個交易完成授權,第二個交易完成轉賬。 為瞭解決「兩步走」的問題,當前主要提案有ERC777, ERC1363。

ERC20中主要的參與者為代幣發送者sender以及代幣接收者receiver。下文中將以Alice為代幣發送者sender,Bob為代幣接收者receiver為例,為大家直觀展示操作簡要流程圖。

ERC20代幣轉賬操作簡要流程圖

ERC777

ERC777嘗試引入 operator 的概念來規避掉「兩步走」的問題。operator在被sender授權之後,在該ERC777代幣合約中,sender可通過operator將代幣發送給receiver。在發送代幣的交易中,sender無需支付gas,發送代幣交易的gas會由operator支付。

ERC777代幣轉賬操作簡要流程圖

這幾類協議對比後,我們發現:隨著區塊鏈智能合約項目的增多,單個區塊的時間內產生的等待交易數目總數隨之增加。如果可以通過協議代碼層面減少完成功能需要被打包入區塊的等待交易總數,那麼對於區塊鏈上的平均的交易速度以及平均gas花費都會有極大的幫助。

交易成本及環境的優化,不僅會促進區塊鏈網絡的繁榮,區塊鏈生態及基礎設施也會更加完善。