SourceForge 遗留(转贴) · Repost: How anonymous are bitcoins?

中本聪,2009 年 11 月 25 日

SN-0026 已核对来源,附原文与上下文。

中文译文

> 网络上的节点能分辨硬币从哪个比特币 > 地址发出、发到哪个比特币地址吗?区块里是否保存着 > 比特币转来转去的历史?

比特币从一个比特币地址发往另一个比特币地址,而比特币地址,本质上便是不含任何身份信息的随机数。

按 IP 地址发送时,交易仍会写入一个比特币地址。IP 地址只是用来连接收款方的计算机,向其索取一个新的比特币地址、把交易直接交给对方并获得确认。

区块保存着硬币被转往哪些比特币地址的历史。倘若使用这些比特币地址的人身份不明、且每个地址只用一次,那么这些信息所能表明的,不过是:某个身份不明的人,给另一个人转了某个数额。

匿名或化名的可能性,取决于你并不把任何身份信息与你所用的比特币地址关联起来。倘若你在网上公布了自己的比特币地址,那么这个地址及其全部交易,便与你发帖所用的名字关联在了一起。倘若你用的是未曾关联真实身份的马甲,那仍然是化名。

若想获得更高的隐私,最好每个比特币地址只用一次。你随时可以在 Options->Change Your Address 里更换地址。按 IP 地址转账之时,每次都会自动使用新的比特币地址。

> 节点能判断哪些比特币地址属于哪些 IP 地址吗?

不能。

> bitcoin 首次启动时,有没有命令行选项 > 可以启用 sock 代理?

在下一个版本(0.2 版)中,从第一次运行就走代理的命令行是: bitcoin -proxy=127.0.0.1:9050

TOR 的问题在于,Bitcoin 用来初始发现其他节点的 IRC 服务器封禁 TOR 出口节点——所有 IRC 服务器都这么干。如果你之前已经连上过一次,那已经有了种子节点;但第一次运行时,你需要提供一个节点地址,像这样: bitcoin -proxy=127.0.0.1:9050 -addnode=

如果有谁运行着静态 IP、可接受入站连接的节点,愿意把自己的 IP 贴出来供 -addnode 使用,那就太好了。

> 如果向一个通过 NAT(网络地址转换)接入了 > 多个客户端的 IP 地址发送比特币,会发生什么?

你在 NAT 上把 8333 端口转发给哪台机器,哪台机器就会收到。如果你的路由器转发时能改端口号,你可以让不止一个客户端收到。比如把 8334 转发到某台计算机的 8333 端口,发送方就可以发到 "x.x.x.x:8334"

如果你的 NAT 不能转换端口号,目前没有修改 bitcoin 入站绑定端口的命令行选项,但我会研究一下。

ORIGINAL · 英文原文
> Can nodes on the network tell from which and or to which bitcoin
> address coins are being sent? Do blocks contain a history of where
> bitcoins have been transfered to and from?

Bitcoins are sent to and from bitcoin addresses, which are essentially random numbers with no identifying information.

When you send to an IP address, the transaction is still written to a bitcoin address.  The IP address is only used to connect to the recipient's computer to request a fresh bitcoin address, give the transaction directly to the recipient and get a confirmation.

Blocks contain a history of the bitcoin addresses that a coin has been transferred to.  If the identities of the people using the bitcoin addresses are not known and each address is used only once, then this information only reveals that some unknown person transferred some amount to someone else.

The possibility to be anonymous or pseudonymous relies on you not revealing any identifying information about yourself in connection with the bitcoin addresses you use.  If you post your bitcoin address on the web, then you're associating that address and any transactions with it with the name you posted under.  If you posted under a handle that you haven't associated with your real identity, then you're still pseudonymous.

For greater privacy, it's best to use bitcoin addresses only once.  You can change addresses as often as you want using Options->Change Your Address.  Transfers by IP address automatically use a new bitcoin address each time.

> Can nodes tell which bitcoin addresses belong to which IP addresses?

No.

> Is there a command line option to enable the sock proxy the first
> time that bitcoin starts?

In the next release (version 0.2), the command line to run it through a proxy from the first time is:
bitcoin -proxy=127.0.0.1:9050

The problem for TOR is that the IRC server which Bitcoin uses to initially discover other nodes bans the TOR exit nodes, as all IRC servers do.  If you've already connected once before then you're already seeded, but for the first time, you'd need to provide the address of a node as such:
bitcoin -proxy=127.0.0.1:9050 -addnode=<someipaddress>

If someone running a node with a static IP address that can accept incoming connections could post their IP to use for -addnode, that would be great.

> What happens if you send bitcoins to an IP address that has multiple
> clients connected through network address translation (NAT)?

Whichever one you've set your NAT to forward port 8333 to will receive it.  If your router can change the port number when it forwards, you could allow more than one client to receive.  For instance, if port 8334 forwards to a computer's port 8333, then senders could send to "x.x.x.x:8334"

If your NAT can't translate port numbers, there currently isn't a command line option to change the incoming port that bitcoin binds to, but I'll look into it.
上下文
← 上一条 SN-0026 · 当前 下一条 → 在档案中查看完整主题串 →
来源