ethereum 交易 驗證
https://www.blocktempo.com/blockchain-technical-overview-structure-of-blockchain-ethereum/
3. 以私鑰簽署交易。
4. 廣播「加上簽名的交易封包」至鄰近的以太坊節點們。
https://ithelp.ithome.com.tw/m/articles/10215095
總而言之在區塊鏈接納這筆交易前,先試著用地址反推回原本的公鑰,再用公鑰解密當初這筆交易紀錄的簽章看看,如果公鑰解的開就可以代表是公鑰持有人本人所簽核的,這便是剛剛提到的"數位簽章"。
注意:這段比較像是一般加解密的方式,好像不是ethereum
https://ethereum.stackexchange.com/questions/13778/get-public-key-of-any-ethereum-account
ethereum 簽完的東西 可以 找出 public key
有public key 就可以知道是誰發出這個交易
https://zhuanlan.zhihu.com/p/30481292
签名完成了,我们如何验证某些签名后的数据是哪个账户签名的呢?在web3.js 发布1.0版本以前,验证签名只能通过智能合约的ecrecover函数来实现。新版的web3.js提供了web3.eth.accounts.recover函数用于验证签名。这里我们仍然使用传统的智能合约ecrecover方式。
ecrecover接收数据的哈希值以及r/s/v等参数作为输入,返回实施该签名的账户地址。因此我们只需要通过合约拿到实施签名的地址,和我们真正的地址进行对比,如果地址一致,就说明验证通过了。
這也是ethereum private key和address比較重要的原因了
https://learnblockchain.cn/books/geth/part3/sign-and-valid.html