【问题标题】:Is it secure to run public ethereum node?运行公共以太坊节点是否安全?
【发布时间】:2018-05-20 03:45:21
【问题描述】:

我正在用松露创建我的第一个以太坊合约。我希望 Web 应用程序可以在没有 MetaMask 的情况下使用,所以我想知道运行我自己的私有节点是否是个好主意 像这样从前端连接:

this.web3 = new Web3(new Web3.providers.HttpProvider('http://my-public-ip:8545'));

这种方法是否存在安全风险?

【问题讨论】:

    标签: security ethereum truffle web3 metamask


    【解决方案1】:

    我正在回答我自己的问题,因为似乎很多人都犯了和我一样的错误并失去了他们的以太!

    1. 我确实像这样设置了可公开访问的节点:

      geth --mine --nodiscover --maxpeers 0 --networkid 1 --rpc --rpccorsdomain "*" --rpcaddr "my-public-ip" --rpcapi="db,eth,net,web3,个人,web3"

    2. 我创建了新的以太坊账户,该账户将成为我的“合约所有者”账户

    3. 我在“合约所有者”账户中转移了少量以太币,这样我就有足够的 gas 来部署我的新合约
    4. 我确实设置了 truffle 以连接到我的以太坊节点
    5. 我使用 truffle 控制台解锁了我的帐户
    6. 我收到错误“错误:超出块气体限制”

    此时我很困惑,因为我在 etherscan 上看到我的账户中有大约 10 美元的以太币,足以部署我的合约

    我再次检查了 etherscan,我看到“传出”交易从以太坊地址耗尽了我所有的钱

    经过一番研究,钱是这样被盗的:

    1. 一个机器人发现了我的公共以太坊节点
    2. 已连接并请求账户列表+账户余额
    3. 它开始不停地发送“sendTransaction”请求
    4. 当我在公共节点上解锁我的账户以部署我的合约时 - 使用同一节点的机器人也可以访问我的账户并从我的账户转移资金

    我写这篇文章是为了防止其他开发者犯同样的错误。机器人地址是: https://etherscan.io/address/0x957cd4ff9b3894fc78b5134a8dc72b032ffbc464#comments

    有大量的 cmets 从他们身上偷走了他们的以太币。而且我不是在谈论我的 10 美元,到目前为止,机器人已经偷走了:

    ETH Balance:    37,070.060208365548676156 Ether
    ETH USD Value:  $16,642,974.23 (@ $448.96/ETH)
    

    这应该在 StackOverflow 上,因为我在遵循网络教程时遇到了这种情况,没有人解释风险和可能发生的情况

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-07-25
      • 2019-02-02
      • 2018-07-14
      • 2018-08-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多