以太坊交易所 以太坊交易所
Ctrl+D 以太坊交易所
ads
首頁 > NEAR > Info

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

Author:

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

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

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

盡管這些操作對你來說很容易,但對銀行來說,既不容易,也不便宜。在幕后,有多個第三方參與你的銀行操作的結算、驗證和確認。如果這些還不夠,為了符合銀行業的規范條例,金融機構還必須執行繁瑣的措施來確定你(發起操作的人)就是那個有權操作你的賬戶的人。所有這些層面都會產生繁重的成本,這就是為什么 Visa 和萬事達這樣的網關在每次提供服務時都要收取費用的原因,通常是根據轉賬額來收取。而且,當然,任何時候你發起的任何操作,都可以被凍結,乃至被撤銷。

聲音 | 上海股交所總經理:區塊鏈想要大規模發展要做好社會科普工作:金色財經報道,上海股交所總經理張云峰表示,區塊鏈當前還處于一個“概念”的階段,距離成熟應用,影響到百姓的日常生活還有很長的路要走。對于“區塊鏈”和其會帶來的社會和經濟效果,沈陽應當持審慎的態度。區塊鏈想要大規模發展,一方面要做好這項復雜技術的社會科普工作,加快社會大眾對區塊鏈的了解。另一方面,要充分發揮市場的作用,讓企業用實實在在的技術創新,賦能實體經濟的發展。[2019/11/17]

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

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

因為公鏈的分布式和免許可特性,任何人都可以在網絡中簽名和廣播交易。基于區塊鏈的特點,你需要劃出一部分資金作為手續費,好讓你的交易能被 “挖出”(即, 被某個礦工打包到區塊鏈上),但手續費的高低則要看用戶對使用區塊鏈的需求,與轉移價值的多少無關。舉個例子,用一個以太坊賬戶給另一個賬戶轉賬 1 美元,和轉賬 100 萬美元,要交的手續費是一樣的。只要手續費一致,這兩筆交易在礦工那里是一視同仁的,都會被打包到有效的區塊中,向全網傳播。

動態 | 區塊鏈技術入選科普雜志《科學美國人》2019十大突破性技術榜單:據新浪網今日新聞報道,美國科普雜志《科學美國人》公布 2019 十大突破性技術榜單。區塊鏈技術因在保障食品安全中的作用而上榜。 入選榜單具體原因:區塊鏈技術的發展應用將顯著改善食品污染源數據追蹤的困境。利用區塊鏈云端系統,食品制造商可以依次在計算機儲存各類過程的信息。[2019/9/29]

區塊中包含了一系列的交易,而且區塊是一個接一個,只增不減的。因為新區塊的部分數據是來自上一區塊的,這些 “區塊” 就會形成一個接一個的有序鏈條,這就是 “區塊鏈” 這個名字的由來。區塊鏈還使用了一種易于處理和驗證的數據結構,叫做 “默克爾樹”,這也是為什么要偽造區塊鏈上的某一筆交易或者某一個區塊幾乎不可能的部分原因 —— 實在是太容易鑒別了。-

此外,區塊鏈交易不需要任何權威團體的驗證。要想發出一筆有效的交易,只需使用對應于所在區塊鏈系統的數字簽名算法(DSA)的私鑰,為交易生成一個簽名即可。以太坊和比特幣區塊鏈使用?ECDSA?算法,而 Cardano 和 Polkadot 則使用?EdDSA?算法。這兩張算法都依賴于橢圓曲線密碼學,但后者使用了扭結的 Edwards 曲線,是一個對通用數字簽名的提升。任何賬戶都能用私鑰簽名來發起交易,但只有余額足夠的地址所發起的交易才能被成功執行。

聲音 | CNBC主持人:加密貨幣最大的缺點之一就是難以向外行快速科普:CNBC主持人Ran NeuNer近期發推稱,加密貨幣最大的缺點之一就是很難向外行快速解釋。當人們要求我向他們解釋比特幣時,我知道他們至少需要一個小時才能真正理解。[2019/9/10]

橢圓曲線簽名算法基于 “離散對數問題”, 其經典形式是,給定一個整數 k,使得 a^k ≡ b (mod p),其中 p 是質數,求 k。不像其它公鑰密碼學算法比如?RSA,僅基于大指數的因式分解問題(這在最近已經成了格密碼學(lattice-based cryptography)的攻擊目標)。今天還沒有發現計算 k 的高效方法(可描述為橢圓曲線上的給定點 P 和 Q)。這也是雖然不同的區塊鏈使用的曲線和簽名算法有所不同,但都基于橢圓曲線的原因。-

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

現在我們已經完全理解了區塊鏈交易的特性,我們已經準備好了,可以去創建一筆以太坊交易了。我們從一筆簡單的轉賬交易開始:轉賬 0.1 ETH 給地址?0x17A98d2b11Dfb784e63337d2170e21cf5DD04631。交易可以用 JavaScript Object Notation(JSON)格式來表達,在創建這筆交易時,我們可以在?MyEtherWallet?上看到這些信息(在登錄后使用?send offline):

動態 | 幣安科普MimbleWimble算法:幣安官方推特今日發布隱私算法Mimblewimble的科普貼,在下方留言區大量網友留言猜測是否是基于 Mimblewimble算法的隱私幣Grin或者Beam即將登陸幣安交易所,其中猜測Grin的呼聲更高。[2019/9/2]

(編者注:MyEtherWallet 網站最大的用途是幫你生成一個以太坊賬戶,但直接使用它來發送交易可能需要你暴露自己的私鑰或助記詞,是一種非常不安全的做法,極度不推薦。如果你想使用 MyEtherWallet,請配合使用他們的瀏覽器插件或手機錢包,而不是直接使用他們的網站。)

這里馬上會跳出幾個值:nonce、gasLimit、gasPrice、data?和?chainId。沒有一個跟交易的內容有關,但它們都跟交易的執行方式有關。這是因為,為了在以太坊上發送一筆交易,你要事先定義好一些額外的參數,來告訴礦工如何處理你的交易。交易的兩個參數都跟 “gas” 有關。Gas 本身是一個單位,用來衡量一筆交易的計算負擔,作為給以太坊礦工支付的依據。一個參數是?gasPrice,表示用戶愿意為每單位的 gas 支付的單價,以 Gwei 為單位(Gwei 是 ETH 的 1/10^9);另一個是?gasLimit,是用戶指定自己的交易可以耗用的最大 Gas 數量。這些參數可以用以太坊節點來估算出一個合理的數值,一般來說都由錢包服務商幫你填好了。

聲音 | ETC Labs主管:科普教育是未來幾年公鏈面臨的巨大挑戰:ETCLabs主管Darin Kotalik認為,科普教育是未來幾年公鏈面臨的巨大挑戰,人們必須要對區塊鏈有基本的認識,分清楚公鏈和私鏈的區別。[2019/8/25]

- 以太坊中的價值通常都以 wei 為單位。wei 是以太坊區塊鏈上最小的價值單位,是 ETH 的 1/10^18。Gas Price 則通常以 giga wei(縮寫為 Gwei)為單位。Gas Price 在以太坊網絡上是個復雜的問題,因為它經常會浮動。EIP-1559?是一個最近通過的網絡變更,可能會在今年底推出,可能會緩解 Gas Price 的劇烈波動。除了 wei 和 Gwei,還有其它用于表示價值的單位。要了解這些單位,請訪問?eth-converter.com?-

(編者注:作者本文出版于 2021 年 4 月。現已確定,以太坊核心開發者決定在 2021 年 8 月的 “倫敦” 升級中包含 1559。1559 對用戶體驗的改變體現在,用戶不再直接指定 Gas Price,相反,要指定兩個數值:MaxFeePerGas 和 MaxPriorityFeePerGas,前者表示你愿意為單位 Gas 支付的最大價格,而后者表示你愿意為單位 Gas 支付給礦工的最大價格;實際上你為 Gas 支付的單價是 min(MaxFeePerGas, MaxPriorityFeePerGas + BaseFee) (即兩者中取小的那一個)而 BaseFee 是一個隨網絡的上一個區塊的滿載率自動波動的一個數值。礦工得到的單價是你的 Gas 單價減去 BaseFee;而 BaseFee 部分則會被銷毀。值得注意的是,在可預見的未來,用戶仍然可以使用傳統的交易格式來發送交易,但這種格式可能最終會在協議層被廢棄,即,本文所講解的以太坊交易的格式,有一天可能會過時。)

除了 gas 參數,你還需要指定要在哪個網絡上執行這筆交易。以太坊網絡既包括 chainId 為 1 的主網,也包括其他測試網絡(testnet)。你也可以在測試網上發送交易,而且不會損失任何金錢,因為測試網的 ETH 可以用免費獲得。一般來說,如果你要部署一個 dApp,那么第一步應該是在本地網絡上調試它,然后是部署到測試網上,最后一步才是部署到主網上。

最后,也很重要的是,我們還有?data?和?nonce?。如果你想要在交易中添加額外的數據,你就需要用到?data?字段。在你跟智能合約交互時,data 字段可以包含你給合約的指令。而?nonce?(“僅使用一次的數字”)則是以太坊網絡用來跟蹤你的賬戶狀態、避免多重支付和重放攻擊的一個數值(可以理解成流水號)。當你的交易因為 gas fee 太低而暫時無法打包的時候,你可以使用同一個 nonce 但指定更高的 gas price 來 “替換” 你的那筆卡住的交易;一旦這筆 “更快” 的交易得以打包上鏈,你原來簽名的那筆交易(因為使用了同一個 nonce)就會被以太坊的節點拋棄掉了。

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

上面講的這個簽名過程可以稱為 “離線簽名”。因為我們是先創建好簽名,然后再找辦法把它廣播出去的。但許多在線的錢包都把簽名和廣播合并在一起(比如 Metamask 和 Portis),簽名之后立即廣播。不過,離線簽名對許多應用(比如狀態通道)來說都是非常實用的。所謂狀態通道,就是一個監控兩者賬戶的智能合約,根據這兩個賬戶提交的簽名交易,在雙方之間完成資金結算。離線簽名在去中心化交易所上也是一種常用的實踐:買單和賣單都是存儲在鏈下的,只在撮合成功時才把兩筆交易上鏈結算。在 Layer2 方案如 zkRollup 和 Optimistic Rollup 里面也扮演著重要角色。

使用 Portis,你可以使用簽名交易與?Gas Station Network (GSN)?互動。Portis 已在 GSN 中訂閱了一組中繼者,他們可以幫你的交易支付 gas 費。這些中繼者關聯著一個去中心化的合約(比如 Ropsten 測試網上的這個),Portis 可以請求他們中繼你的交易。你仍然需要簽名你的交易,但 Portis 會幫你完成其他的一切,這樣,即使你用的是一個全新的錢包、沒有余額來支付 gas 費,也依然能夠跟智能合約交互。在我們的?cryptopuppers?應用上嘗試一下吧!如果你想了解更多,這里有 GSN(EIP-1613)的規范。還有,你可以看到來自 TabooKey 團隊和 Portis 心愛的 cryptopuppers 應用的聯動演示。

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

Tags:GAS區塊鏈以太坊PRITOGASHI幣為什么現在不提區塊鏈了以太坊交易平臺PRIVI

NEAR
PayPal的加密野望:新建區塊鏈部門、移動端應用Venmo與收購步伐_PAL:palchain

今日(7月29日),在PayPal2021年第二季度投資者更新電話會議上,首席執行官Dan Schulman說,該公司的超級應用錢包的初始版本 "代碼完整".

1900/1/1 0:00:00
金色DeFi日報 | 印尼一家度假村通過NFT拍賣籌集365萬美元_DEFI:DEF

DeFi數據 1.DeFi總市值:1012.37億美元 市值前十幣種排名數據來源DeFiboxDeFi總市值數據來源:Coingecko2.過去24小時去中心化交易所的交易量:40.

1900/1/1 0:00:00
視頻 | 幣點訪談:區塊鏈助力大國崛起_ION:OIN

大哥:我為國家添磚加瓦-區塊鏈二哥:我為國家奔赴萬里-5G區塊鏈視頻網絡Theta Labs與AI平臺FedML達成合作:2月17日消息.

1900/1/1 0:00:00
黑客大揭秘|掃碼轉賬即可控制你的數字錢包_ANS:AUSDT價格

簡介 近期丟幣盜幣事件頻發,各種盜幣手法層出不窮,無所不用其極,不得不說這些攻擊者手段高明,零時科技安全團隊收到大量客戶的求助,稱其錢包資產被盜,這無疑給幣圈的朋友敲響了警鐘.

1900/1/1 0:00:00
DeFi大潮下 加密金融機構應如何穩健掘金?_DEFI:Pi Network DeFi

體量和種類不斷增長的 DeFi 項目,為對收益極為敏感且操作方式極為靈活的加密金融機構提供了非常好的生息資產.

1900/1/1 0:00:00
海外互聯網巨頭助攻 比特幣回暖_ORS:亞馬遜幣什么時候上交易所

7月26日,加密資產市場時隔2個月迎來大幅上漲。BTC由35380美元的開盤價最高觸及39799美元,日內最大漲幅12.49%。ETH、LTC、UNI等主流資產同步跟漲,市場一掃往日陰霾.

1900/1/1 0:00:00
ads