Skip to content

回复:移除 IP 交易的理由 ​

原始发布页

打开来源页面
查看 1 个交叉存档

除非你明确打算使用通过 IP 接收,否则最好将它禁用。这是一大片没人使用的攻击面,没必要默认开放。

在店面场景中,你通常只会希望客户通过你的自动化系统发送付款,该系统只会发放与特定订单和账户相关联的比特币地址。主动发送到服务器 IP 地址的随机、身份不明的付款不会有帮助。

一般来说,通过 IP 发送的实用场景有限。如果不使用代理而直接连接,中间人风险或许可以容忍,但毫无隐私可言。如果使用隐私代理,中间人风险则高得无法接受。即便我们费尽心力实现 SSL,通常也只有大型店面才会费事获取 CA 证书,但其中大多数场景仍然更适合使用比特币地址。

我已将这项更改上传到 SVN rev 156。用于启用它的开关是“-allowreceivebyip”。

使用此版本的发送方会收到错误“接收方不接受通过 IP 地址发送的交易”。使用旧版本的发送方会收到“转账未被接受”。

我为这个开关使用了不同的名称,因为“-allowiptransactions”听起来像是也包括发送。如果有更好的开关名称,我们可以再次修改。

英文原文 ​

展开英文原文

Probably best to disable receiving by IP unless you specifically intend to use it. This is a lot of surface area that nobody uses that doesn't need to be open by default.

In storefront cases, you would typically only want customers to send payments through your automated system that only hands out bitcoin addresses associated with particular orders and accounts. Random unidentified payments volunteered to the server's IP address would be unhelpful.

In general, sending by IP has limited useful cases. If connecting directly without a proxy, the man-in-the-middle risk may be tolerable, but no privacy. If you use a privacy proxy, man-in-the-middle risk is unacceptably high. If we went to all the work of implementing SSL, only large storefronts usually go to the trouble of getting a CA cert, but most of those cases would still be better off to use bitcoin addresses.

I uploaded this change to SVN rev 156. The switch to enable is "-allowreceivebyip".

Senders with this version will get the error "Recipient is not accepting transactions sent by IP address". Older version senders will get "Transfer was not accepted".

I used a different name for the switch because "-allowiptransactions" sounds like it includes sending. If there's a better name for the switch, we can change it again.

为历史保存,为中文读者整理。每篇档案均附来源与英文原文。