比特幣行情 比特幣行情
Ctrl+D 比特幣行情
ads
首頁 > SHIB > Info

GAS:創建和簽名以太坊交易

Author:

Time:1900/1/1 0:00:00

本文作者為JoseAguinaga,由閔敏和阿劍翻譯及校對。

在我們之前的文章中,我們已經講解了創建私鑰的作用以及如何創建一個私鑰。具體來說,在第一部分,我們知道了密鑰就是一個很大的隨機數而已,沒有別的;而在第二部分,我們學習了如何用一個很大的隨機數來創建一個能夠持有資產的以太坊錢包。在這最后一部分里,我們要學習如何使用這樣的隨機數來簽名、操作你自己的虛擬資產。

一.交易——舊的出去,新的進來

區塊鏈的交易與銀行交易沒有特別大的區別。今時今日,大部分銀行都支持你用數字手段完成大部分操作:轉賬給別人、給自己的儲蓄賬戶存錢,乃至借貸,等等。互聯網技術讓我們可以完成大部分操作,而無需親自到場。

盡管這些操作對你來說很容易,但對銀行來說,既不容易,也不便宜。在幕后,有多個第三方參與你的銀行操作的結算、驗證和確認。如果這些還不夠,為了符合銀行業的規范條例,金融機構還必須執行繁瑣的措施來確定你就是那個有權操作你的賬戶的人。

所有這些層面都會產生繁重的成本,這就是為什么Visa和萬事達這樣的網關在每次提供服務時都要收取費用的原因,通常是根據轉賬額來收取。而且,當然,任何時候你發起的任何操作,都可以被凍結,乃至被撤銷。

在2017年,歐盟要求金融機構實現PaymentServicesDirective2(Directive2015/2366),也就是銀行必須實行包括SCA在內的安全條例。由于PSD2+SCA的成本,在2019年3月,也只有59%的歐洲銀行成功滿足了監管要求,讓最后通牒時間又推遲了一年。

SubDAO公布Middleware 2.0版本,將支持在Twitter上創建和管理多簽與DAO組織:據官方消息,SubDAO將發布2.0版本Twitter中間件,新版本將迭代DApp Solidity版本的最新功能,主要用于在Twitter上創建Multi-sig多簽和管理DAO組織,發起人可發行1155協議NFT作為DAO token進行DAO募集,并自定義DAO token的釋放與流通規則。

SubDAO 是一個 DAO 基礎設施協議,通過中間件、Multi-sig和其他去中心化功能幫助管理數字資產,已在Ethereum、BSC、Polygon、Moonbeam等多個主網上部署。據悉,SubDAO獲得Messari創始人Ryan Selkis及Hypersphere、CMS Holdings、OKX Ventures、Huobi Ventures等多家機構融資。[2022/12/2 21:18:06]

二.區塊鏈交易的規則有所不同

因為公鏈的分布式和免許可特性,任何人都可以在網絡中簽名和廣播交易。基于區塊鏈的特點,你需要劃出一部分資金作為手續費,好讓你的交易能被“挖出”,但手續費的高低則要看用戶對使用區塊鏈的需求,與轉移價值的多少無關。

舉個例子,用一個以太坊賬戶給另一個賬戶轉賬1美元,和轉賬100萬美元,要交的手續費是一樣的。只要手續費一致,這兩筆交易在礦工那里是一視同仁的,都會被打包到有效的區塊中,向全網傳播。

動態 | 區塊鏈技術的主要應用場景仍為加密貨幣的創建和交易:據ambcrypto消息,根據CBInsights關于2019年區塊鏈初創企業投資的最新報告,2019年第四季度的投資活動表明企業應用中采用區塊鏈技術的機會不多。報告指出,該領域的股權投資總額(衡量投資者熱情的指標)去年下降了30%以上,公開收入筆錄中提到的技術也有所下降。該報告還指出,盡管企業家們已經提出了無數的區塊鏈技術用例,從供應鏈跟蹤到金融資產結算,但唯一被大量采用的是加密貨幣的創建和交易。[2020/1/24]

區塊中包含了一系列的交易,而且區塊是一個接一個,只增不減的。因為新區塊的部分數據是來自上一區塊的,這些“區塊”就會形成一個接一個的有序鏈條,這就是“區塊鏈”這個名字的由來。

區塊鏈還使用了一種易于處理和驗證的數據結構,叫做“默克爾樹”,這也是為什么要偽造區塊鏈上的某一筆交易或者某一個區塊幾乎不可能的部分原因——實在是太容易鑒別了。

此外,區塊鏈交易不需要任何權威團體的驗證。要想發出一筆有效的交易,只需使用對應于所在區塊鏈系統的數字簽名算法的私鑰,為交易生成一個簽名即可。以太坊和比特幣區塊鏈使用?ECDSA?算法,而Cardano和Polkadot則使用?EdDSA?算法。

這兩張算法都依賴于橢圓曲線密碼學,但后者使用了扭結的Edwards曲線,是一個對通用數字簽名的提升。任何賬戶都能用私鑰簽名來發起交易,但只有余額足夠的地址所發起的交易才能被成功執行。

動態 | 日本金融廳:不能在日本創建和出售虛擬貨幣ETF:據Jp.cointelegraph報道,日本金融監管機構日本金融廳(FSA)在對公眾留言的回復中表示,不能在日本創建和出售虛擬貨幣ETF。據悉,FSA在9月30日宣布了“金融工具業務運營商全面監管指南”修正案,并征詢公眾的意見。[2019/12/27]

橢圓曲線簽名算法基于“離散對數問題”,其經典形式是,給定一個整數k,使得a^k≡b(modp),其中p是質數,求k。不像其它公鑰密碼學算法比如RSA,僅基于大指數的因式分解問題的攻擊目標)。

今天還沒有發現計算k的高效方法。這也是雖然不同的區塊鏈使用的曲線和簽名算法有所不同,但都基于橢圓曲線的原因。

一旦一筆交易有了簽名、隨簽名一起發到了網絡中、被打包到了一個成功挖出的區塊中,那這筆交易就不能再撤銷了。不像銀行操作,成功打包上鏈的交易無法撤銷,也無法恢復到還沒執行這筆交易的狀態。大部分公鏈都讓交易的內容完全可見,所以這些交易所使用的區塊鏈就是這些資產的終極真相來源。

三.以太坊交易的結構

現在我們已經完全理解了區塊鏈交易的特性,我們已經準備好了,可以去創建一筆以太坊交易了。我們從一筆簡單的轉賬交易開始:

轉賬0.1ETH給地址0x17A98d2b11Dfb784e63337d2170e21cf5DD04631。

聲音 | Blockchain Capital合伙人:企業創建和使用自己的加密貨幣是合理的:據CNBC報道,加密投資公司Blockchain Capital的合伙人Spencer Bogart最近表示,“在麥當勞等公司信用評級高于愛爾蘭等國家的時代,跨國公司發行自己的貨幣,并要求客戶購買這些貨幣的行為顯得并不那么古怪。如果他們信任這些公司的品牌和產品,他們也會相信公司所發行的貨幣。我們將真正看到貨幣的民主化。當然當太多公司開始發行自己的貨幣時,也有可能會出現一些混亂,就像圍繞主流貨幣的團體或聯盟一樣。”[2019/4/23]

交易可以用JavaScriptObjectNotation格式來表達,在創建這筆交易時,我們可以在?MyEtherWallet?上看到這些信息:

這里馬上會跳出幾個值:nonce、gasLimit、gasPrice、data?和?chainId。沒有一個跟交易的內容有關,但它們都跟交易的執行方式有關。這是因為,為了在以太坊上發送一筆交易,你要事先定義好一些額外的參數,來告訴礦工如何處理你的交易。

交易的兩個參數都跟“gas”有關。Gas本身是一個單位,用來衡量一筆交易的計算負擔,作為給以太坊礦工支付的依據。一個參數是?gasPrice,表示用戶愿意為每單位的gas支付的單價,以Gwei為單位;

另一個是?gasLimit,是用戶指定自己的交易可以耗用的最大Gas數量。這些參數可以用以太坊節點來估算出一個合理的數值,一般來說都由錢包服務商幫你填好了。

聲音 | 馬耳他總統:區塊鏈技術可成為改變未來慈善組織創建和監管方式的催化劑:據independent消息,馬耳他總統Marie-Louise Coleiro Preca 近期參會時對于在總統信托(The President's Trust)中采用區塊鏈技術表示滿意。她表示,總統信托和區塊鏈慈善基金會(Blockchain Charity Foundation)最近簽署的諒解備忘錄是區塊鏈技術潛力如何被釋放并用于與民間團體建立有效協同效用的完美范例。她認為區塊鏈技術可以成為改變未來慈善組織創建和監管方式的催化劑,同時這種轉變將保護各國的資金,資源和善意,私營部門和民間社會將會對大多數人產生深遠影響。[2018/9/25]

以太坊中的價值通常都以wei為單位。wei是以太坊區塊鏈上最小的價值單位,是ETH的1/10^18。GasPrice則通常以gigawei為單位。

GasPrice在以太坊網絡上是個復雜的問題,因為它經常會浮動。EIP-1559是一個最近通過的網絡變更,可能會在今年底推出,可能會緩解GasPrice的劇烈波動。除了wei和Gwei,還有其它用于表示價值的單位。要了解這些單位,請訪問eth-converter.com?

(編者注:作者本文出版于2021年4月。現已確定,以太坊核心開發者決定在2021年8月的“倫敦”升級中包含1559。1559對用戶體驗的改變體現在,用戶不再直接指定GasPrice,相反,要指定兩個數值:MaxFeePerGas和MaxPriorityFeePerGas,前者表示你愿意為單位Gas支付的最大價格,而后者表示你愿意為單位Gas支付給礦工的最大價格;

實際上你為Gas支付的單價是min(MaxFeePerGas,MaxPriorityFeePerGas+BaseFee)而BaseFee是一個隨網絡的上一個區塊的滿載率自動波動的一個數值。礦工得到的單價是你的Gas單價減去BaseFee;而BaseFee部分則會被銷毀。

值得注意的是,在可預見的未來,用戶仍然可以使用傳統的交易格式來發送交易,但這種格式可能最終會在協議層被廢棄,即,本文所講解的以太坊交易的格式,有一天可能會過時。)

除了gas參數,你還需要指定要在哪個網絡上執行這筆交易。以太坊網絡既包括chainId為1的主網,也包括其他測試網絡。你也可以在測試網上發送交易,而且不會損失任何金錢,因為測試網的ETH可以用免費獲得。

一般來說,如果你要部署一個dApp,那么第一步應該是在本地網絡上調試它,然后是部署到測試網上,最后一步才是部署到主網上。

最后,也很重要的是,我們還有?data?和?nonce?。如果你想要在交易中添加額外的數據,你就需要用到?data?字段。在你跟智能合約交互時,data字段可以包含你給合約的指令。

而?nonce?則是以太坊網絡用來跟蹤你的賬戶狀態、避免多重支付和重放攻擊的一個數值。

當你的交易因為gasfee太低而暫時無法打包的時候,你可以使用同一個nonce但指定更高的gasprice來“替換”你的那筆卡住的交易;一旦這筆“更快”的交易得以打包上鏈,你原來簽名的那筆交易就會被以太坊的節點拋棄掉了。

四.簽名一筆以太坊交易

形成了上面說的JSON編碼,我們就可以往下走,開始簽名的流程了。如我們所述,這個過程要用到ECDSA算法。這里我們要用到一個常用的庫?ethers.js,這個代碼庫里面已經封裝好了在secp256k1曲線上使用ECDSA算法生成簽名所需的橢圓曲線。

你可以使用?Runkit?在線測試一下這段代碼,把它跟?MyEtherWallet?上的結果比對一下。這里用的私鑰是:

0x616E6769652E6A6A706572657A616775696E6167612E6574682E6C696E6B0D0A

結果是:

0xf86b80843b9aca008252089417a98d2b11dfb784e63337d2170e21cf5dd0463188016345785d8a00008025a02e47aa4c37e7003af4d3b7d20265691b6c03baba509c0556d21acaca82876cb4a01b5711b8c801584c7875370ed2e9b60260b390cdb63cf57fa6d77899102279a0。

表示的是你已經簽過名的交易,可以發送到以太坊網絡中了。你可以直接使用MEW,或者Alchemy的在線工具Composer,把你的簽名交易傳遞到以太坊網絡中。具體的原理是使用?eth_sendRawTransaction?這種?RPC方法與一個以太坊節點交互。

五.現在簽名,晚點再發

上面講的這個簽名過程可以稱為“離線簽名”。因為我們是先創建好簽名,然后再找辦法把它廣播出去的。但許多在線的錢包都把簽名和廣播合并在一起,簽名之后立即廣播。不過,離線簽名對許多應用來說都是非常實用的。

所謂狀態通道,就是一個監控兩者賬戶的智能合約,根據這兩個賬戶提交的簽名交易,在雙方之間完成資金結算。離線簽名在去中心化交易所上也是一種常用的實踐:買單和賣單都是存儲在鏈下的,只在撮合成功時才把兩筆交易上鏈結算。在Layer2方案如zkRollup和OptimisticRollup里面也扮演著重要角色。

使用Portis,你可以使用簽名交易與?GasStationNetwork(GSN)?互動。Portis已在GSN中訂閱了一組中繼者,他們可以幫你的交易支付gas費。

這些中繼者關聯著一個去中心化的合約,Portis可以請求他們中繼你的交易。你仍然需要簽名你的交易,但Portis會幫你完成其他的一切,這樣,即使你用的是一個全新的錢包、沒有余額來支付gas費,也依然能夠跟智能合約交互。在我們的?cryptopuppers?應用上嘗試一下吧!

如果你想了解更多,這里有GSN的規范。還有,你可以看到來自TabooKey團隊和Portis心愛的cryptopuppers應用的聯動演示。

講完了簽名的過程,我們這個講解私鑰的系列就要跟大家說再見啦。如果你一期不落,應該能夠理解以太坊賬戶是怎么來的、以太坊的交易是怎么一回事了。

原文鏈接:https://medium.com/portis/part-three-creating-and-signing-ethereum-transactions-e9cca44d7e2d

Tags:GAS區塊鏈以太坊DAOUGAS-JUN21價格區塊鏈dapp開發費多少錢以太坊價格今日行情走勢分析facedao幣白皮書

SHIB
以太坊:慢霧分析Poly Network被攻擊根源:跨鏈合約Keeper可被黑客修改,隨意構造交易

鏈捕手消息,安全分析團隊慢霧發布PolyNetwork被攻擊事件的分析報告。慢霧認為,該攻擊瞄準的潛在漏洞是EthCrossChainData合約的keeper可以被EthCrossChainM.

1900/1/1 0:00:00
以太坊:給 EIP-1559 潑一點冷水:以太坊最大的危險是意識形態的墮落

原文標題:《EIP-1559上線之際,潑一點冷水》撰文:深潮TechFlow8月5日,以太坊倫敦硬分叉升級完成,EIP-1559正式上線.

1900/1/1 0:00:00
AXI:Delphi Digital 深度報告:熱門鏈游 Axie 基本面大幅改善,背后原因何在?

本文來源于鏈聞,作者為DelphiDigital分析師YanLiberman,并經由PerryWang翻譯。特別提示:該報告發布于2021年6月30日,報告中提及數據均截止2021年6月底.

1900/1/1 0:00:00
區塊鏈:一文讀懂治理代幣的價值來源

本文來源于IndexCoop,并經由Tudou研究與編輯。 文章看點: 1.治理代幣在商業組織價值交換中的作用2.“治理權”是現代商業組織中“生產者的重要權益3.治理代幣對生產者的激勵作用和對去.

1900/1/1 0:00:00
IFR:衍生品協議Antimatter提前解鎖所有投資者代幣份額,MATTER價格較年內高點下跌96%

鏈捕手消息,跨鏈永續衍生品協議Antimatter今日在推特宣布提前解鎖所有戰略投資者的代幣份額。Antimatter在公告中稱,這將有利于篩選出項目的長期支持者,益于協議的中長期發展.

1900/1/1 0:00:00
POL:Poly Network主網升級上線,資產跨鏈功能已恢復

鏈捕手消息,PolyNetwork宣布主網升級上線,目前PolyBridge資產跨鏈功能已恢復,但出于安全性考慮,目前已下架了所有支持的資產,需經項目方申請并測試后單獨開放.

1900/1/1 0:00:00
ads