Signature

這種手工製作的原始交易有什麼問題?

  • January 29, 2021

這是同一交易的兩個簽名的兩個 RLP 編碼 — 用於 Goerli。請注意“簽名者”地址的不同之處。 這一定是在暗示我的簽名程序有問題? 我簽名的私鑰是6e08[...]28d8. 相對於這個私鑰的地址是3e21c651dfc21ee198bc2f735502eb82a2e8c4f0,所以我期待看到“ Signed by: 0x3e21c651dfc21ee198bc2f735502eb82a2e8c4f0”。

%helpeth parseTx 0xf86d018612309ce5400082a4109479e4e5c6309eab8df0299973ef29ce2b001704a5880de0b6b3a7640000802ea02db2dc28cf1c6d049d773bd78c5fad9cca19e4e4e191e9ec80f5765c1a5739b8a0747602789e0b20eeca045e49260fc7382d937125178ea2e4a712326b7c0b8eb8
Signed by: 0xd07b876c0b06b6fea8de3df326518abc5a862c45
Nonce: 0x01
To: 0x79e4e5c6309eab8df0299973ef29ce2b001704a5
Value: 1000000000000000000 (1 ETH)
Data: 0x
Gas limit: 42000
Gas price: 20000000000000 (20000 Gwei)
Potential total transaction cost: 0.84 ETH
Minimum required account balance: 1.84 ETH

%helpeth parseTx 0xf86d018612309ce5400082a4109479e4e5c6309eab8df0299973ef29ce2b001704a5880de0b6b3a7640000802ea033f0f6603ce617e2bc67048c63ac7ee407b82517fb490e694030d43893c26b12a0725bb38fc835acc70290164eba994bfc144ef9151a7de5ea57880576f7895a65
Signed by: 0xe31621a692881e27467be5b22e3b15720fe1aa55
Nonce: 0x01
To: 0x79e4e5c6309eab8df0299973ef29ce2b001704a5
Value: 1000000000000000000 (1 ETH)
Data: 0x
Gas limit: 42000
Gas price: 20000000000000 (20000 Gwei)
Potential total transaction cost: 0.84 ETH
Minimum required account balance: 1.84 ETH
%

問題出在v. 我無權訪問簽名過程中使用的臨時私鑰,因此我無法輕鬆獲取此私鑰的 y 座標,我需要計算v. 但是,由於我知道簽名者(即我自己)的公鑰,我可以驗證哪個v產生了正確的公鑰,這樣就可以推斷出v我必須用哪個來對交易進行編碼。

所以,基本上,在這種情況下,我需要蠻力v。我沒有其他解決方案。為了獲得更好的解決方案,我需要在簽名過程中修改我用來v為我計算的原始庫,因為簽名過程是具有v精確計算資訊的過程。

假設您具有正確的y座標,此答案將向您展示如何計算v.

引用自:https://ethereum.stackexchange.com/questions/92856