EIP-712是一種更高級、更安全的交易簽名方法。我們可以在Uniswap V2的Periphery 合約中看到EIP-712的實現。
但對于EIP-712卻很難被我們普通人所理解,本文就是根據一個示例來具體體驗EIP-712,以達到對其的更好理解。
在GitHub中有許多文章和示例解釋和展示了如何使用EIP-712,但在理解它作為一個整體是如何工作的以及前端代碼和智能合約是如何關聯的方面有很多困難。這是EIP712的一個示例(不是解釋)。先決條件和使用的版本。
Solidity基礎知識
npm 7.19.1
節點 16.2.0
Metamask 9.8.4
truffle 5.4.0
EIP-712是一種更高級、更安全的交易簽名方法。使用該標準不僅可以簽署交易并且可以驗證簽名,而且可以將數據與簽名一起傳遞到智能合約中,并且可以根據該數據驗證簽名以了解簽名者是否是實際發送該簽名的人要在交易中調用的數據。
觀點:比特幣遠不是一個快速致富的計劃,它維護了財產權:在邁阿密Bitcoin2021大會上,由Robert Breedlove( Parallax Digital CEO )、Jimmy Song(開發者)和Guy Hirsch(eToro董事)組成的小組的圓桌會議的核心內容可以概括為:比特幣的成功是一種道德上的需要。
“比特幣遠不是一個快速致富的計劃,它維護了財產權。”
作為哲學上的證明,這個由開發者和首席執行官組成的小組引用了自由主義哲學的一個分支,強調 \"自我所有權\"。根據這一邏輯,你的身體是你的財產;從它延伸出來的一切,包括你的比特幣,都屬于這一產權。
比特幣開發者Jimmy Song表示,目前的貨幣系統是非常不道德的。它是盜竊、腐敗和裙帶關系的糞坑。 “美元是世界的儲備貨幣。每次美聯儲印制美元,他們都在從擁有美元的每個人那里偷竊,美國正在偷竊世界上最脆弱一群人。”
投資公司Parallax Digital的首席執行官Robert Breedlove同樣認為,世界上最重要的游戲,也就是金錢,是腐敗的。這個游戲的規則被扭曲,有利于少數人而不利于數百萬人。通貨膨脹的法定貨幣隨著時間的推移從其持有者身上減去價值,這是一種財產盜竊的形式。他認為,“比特幣作為我們有史以來第一個人造的廉潔的貨幣和社會機構,有可能是人類歷史上最重要的發明。”
eToro的美國董事Guy Hirsch則表示,“法幣和現行制度的核心是一種有罪推定,比特幣是金錢,但它也是一種意識形態運動。” (Decrypt)[2021/6/7 23:18:31]
EIP-712提出了數據的標準結構和從結構化消息生成散列的定義過程。然后使用此散列生成簽名。通過這種方式,為發送交易生成的簽名與為驗證身份或任何其他目的生成的簽名之間就有了明顯的區別。EIP-712草案將簽名方案背后的動機表述為:
Zilliqa主網上交易一個月內增長100萬筆:Zilliqa發推稱,在不到一個月的時間內,主網上的交易已從800萬筆增長至900萬筆。[2020/11/1 11:22:03]
提高鏈上使用的鏈下消息簽名的可用性。我們看到越來越多的人采用鏈下消息簽名,因為它節省了gas,減少了區塊鏈上的交易數量。
EIP-712是類型化結構化數據的哈希和簽名的標準,而不僅僅是字節字符串。它包括一個
編碼函數正確性的理論框架,
與solid結構相似并兼容的結構化數據規范,
安全哈希算法用于這些結構的實例,
在可簽名消息集中安全包含這些實例,
一個可擴展的域分離機制,
新的RPC調用eth_signTypedData,
數據:比特幣期權日交易量升至一個月高點,Deribit交易所交易量占85%以上:根據Skew提供的數據,周四,主要交易所(Deribit、LedgerX、Bakkt、OKEx和CME)的比特幣期權日交易量升至8640萬美元,為3月16日以來的最高水平。Deribit比特幣期權交易量占每日總交易量的85%以上,CME比特幣期權交易量則僅占1%。此外,未平倉期權合約總數量升至6.423億美元,3月份已觸底跌破4億美元。
Stack研究主管Lennard Neo表示,“下個月的減半應該會成為更樂觀的中長期價格走勢的催化劑。”然而,期權市場的活動表明,投資者正在下注(買入看跌期權),可能是為了對沖減半后的潛在價格下跌或者另一場類似3月份的宏觀驅動的崩盤。根據Skew數據,看跌期權需求的增加反映在看跌期權的看跌/看漲未平倉合約比率上升至0.63的七周高點。(CoinDesk)[2020/4/17]
EVM中哈希算法的優化實現。
聲音 | 分析師:恐慌與貪婪指數處于2018年12月的低點,BTC下一個關鍵水平低于10300-10325美元:經濟學家、加密分析師Alex Krüger剛剛發推表示,你害怕嗎?我沒有。恐慌與貪婪指數目前處于2018年12月的低點,比特幣下一個關鍵水平是低于10300-10325美元。 注:據Alternative.me數據顯示,今日恐慌與貪婪指數為11(昨日為45),等級從恐慌轉為極度恐慌。恐慌指數閾值為0-100,包含指標:波動性(25%)+市場交易量(25%)+社交媒體熱度(15%)+市場調查(15%)+比特幣在整個市場中的比例(10%)+谷歌熱詞分析(10%)[2019/8/14]
EIP-712的實現可以在Uniswap V2的Periphery 合約中看到,它通過許可移除流動性,最終調用Uniswap V2 Core中的方法來完成這一操作。
聲音 | 陳偉星:區塊鏈概念的操作系統OS和dapp 是一個偽概念:打車鏈創始人陳偉星表示,區塊鏈概念的操作系統OS和dapp,是一個偽概念,或者誤導性概念。超級節點和百萬tps,就不只是偽概念了,而是欺詐性概念,其不光技術上不合理,而且需求上沒必要,炒作者明知不可能,屬惡意欺詐散戶接盤俠。[2018/10/1]
前端的簽名被傳遞給Periphery 中的方法,簽名被用來代表Core中使用該方法的用戶批準Router合約。
我們的示例將使用EIP-721提案用數據(地址、storedData的值和截止日期)簽署交易,這些數據用于更改合約中變量的值。
如果簽名和散列給出了簽署人的地址,并且沒有超過截止日期,則更改storedData的值。
這是一個無用的例子,但理解了它將確保您可以在其他地方使用該標準。正確使用 EIP-712 是創建一個 ERC20 許可證,就像 Uniswap 團隊所做的那樣。
繼續克隆 truffle 的react box。
我們將根據需要簡單地調整和添加代碼,以使EIP-712正常工作。
數據是EIP-712中最關鍵的部分。這些要簽名的數據必須符合預定義的格式。它必須有一個EIP712Domain和要簽名的數據(在我們的示例中設置)。兩者的組合將被簽名并發送給智能合約進行驗證。
在EIP-712下簽名的每個數據必須有一個EIP712Domain和另一個數據。這兩者的結構可以是任何東西,但必須在JS代碼和SC代碼上相同。
當使用該提案時,EIP712Domain的結構是一個被廣泛接受的標準。
EIP-712 數據標準
EIP712Domain有一些參數,這些參數指定在哪個網絡和哪個特定合約上將用于驗證簽名。另一份具有相同代碼的合同將無法驗證該簽名。
讓我們添加一個按鈕,當單擊該按鈕時,將彈出元掩碼,使用eth_signTypedData_v3方法對數據進行簽名。
一旦簽署了上面定義的數據使用eth_signTypedData_v3方法我們得到了簽名和簽名分割成其r, s,和v組件并將其發送到智能合約將使用ercrecover這些參數和數據哈希恢復簽名者的公鑰。
拆分簽名
編寫智能合約。
就像我們定義了包含EIPdomain和要簽名的數據的JS代碼一樣,智能合約也需要兩個變量來表示每個EIPdomain的散列數據和我們的數據(在本例中是設置數據)。
使用 ercrecover
在UI端,我們對數據進行簽名,并將r、s和v發送給智能合約。
上面的代碼做了兩件事,首先它散列數據并生成它們的散列。接下來,它使用該數據的散列(在SC中稱為散列)和簽名,使用ercrecover方法生成簽名者的公鑰。
上面顯示的數據的兩個kecak哈希值應該類似于在out JS代碼中定義的數據結構。如果兩者不同,則無法恢復簽名者的地址。
簽名數據的結構
將infura中的助記符添加到truffle-config.js文件(第3行),并指定部署者的地址(第18行)。上面的例子使用了rinkeby testnet,但是任何測試都可以使用,并查看truffle文檔來部署到其他測試網。
然后部署合同。部署后復制simplestorage的地址,替換為verifyingContract下app.js第76行的地址。
部署代碼片段
進入client目錄,運行npm run start啟動react應用。
按下' Press to sign '按鈕,然后在元掩碼彈出的簽名請求上簽名。接下來,確認交易以設置智能合約上的值。
交易完成后,刷新webapp以查看所反映的變化。
用戶在以太坊區塊鏈中發現的主要用例是無需中介即可在加密資產之間進行交換的能力。去中心化交易所或DEX是用于此活動的平臺.
1900/1/1 0:00:00以太坊自2015年7月30日創世至今已滿6周年,恰逢8月5日晚正式完成了發展史上重要的倫敦升級,PAData回顧了以太坊這6年來的市場數據、鏈上數據和網絡數據中的多個重要維度的數據.
1900/1/1 0:00:00頭條 ▌特斯拉Q2財報:現持有比特幣價值為13億美元7月27日消息,美國當地時間本周一,特斯拉發布了二季度財報,其中顯示該公司沒有新增購買和拋售數字資產,當前持有比特幣的價值為13億美元.
1900/1/1 0:00:00近期,加密市場監管成為加密行業內外部最為關注的話題之一,以美國為代表的多個國家紛紛加大了對加密市場的監管力度。目前來看,各國監管將在加密行業扮演越來越重要的角色.
1900/1/1 0:00:00Celer cBridge 提供高速低成本跨鏈服務,不僅連通多個 Layer 1 區塊鏈,還支持所有兼容 EVM 的二層網絡和側鏈等。比特幣誕生十余載,區塊鏈行業獲得了長足的發展.
1900/1/1 0:00:002021年8月/9月刊《財富》雜志發表系列文章特別報道了加密貨幣,系列報道重點包括了NFT。秉承《財富》雜志發布榜單傳統,《財富》評出在美國NFT行業最具影響力的50人名單,如下:1、Beepl.
1900/1/1 0:00:00