geth 选项“--allow-insecure-unlock”,究竟是什么意思?

Eri*_*ang 4 security blockchain ethereum go-ethereum

github上的文档说:

--allow-insecure-unlock 当账户相关的 RPC 被 http 暴露时,允许不安全的账户解锁

而且,我必须在启动时添加该选项geth,否则无法解锁帐户。


问题

  • 这个选项到底是什么意思?我阅读了文档并在谷歌上搜索,仍然无法完全理解它。
  • 使用此选项是否安全,是否会产生安全漏洞?

Die*_*o B 6

如果您通过 HTTP 协议使用 geth 访问节点,则无法使用 Personal.unlockAccount(web3.eth.account, password) 解锁帐户。如果您尝试,您将收到错误“禁止使用 HTTP 访问的帐户解锁”。因此,为了避免您必须使用标志allow-insecure-unlock

这是因为如果节点暴露在外部,解锁操作是不安全的。在 PR #17037 ( https://github.com/ethereum/go-ethereum/pull/17037 ) 的go-ethereum 中添加了“保护”