Skip to content

回复:转发:比特币有多匿名? ​

原始发布页

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

> 网络上的节点能否知道比特币是从哪个和/或发送到哪个比特币 > 地址的?区块是否包含比特币转入和转出的历史?

比特币通过比特币地址发送和接收,这些地址本质上是没有身份信息的随机数字。

当你向 IP 地址发送时,交易仍然会写入比特币地址。IP 地址只用于连接到接收方的计算机,请求一个新的比特币地址,直接把交易交给接收方并获得确认。

区块包含比特币转移到过的比特币地址历史。如果不知道使用这些比特币地址的人的身份,并且每个地址只使用一次,那么这些信息只能说明某个未知的人向另一个人转移了某个数额。

能否保持匿名或假名身份,取决于你没有在与你所用比特币地址有关的地方透露任何可识别你身份的信息。如果你把自己的比特币地址发布在网上,就会把该地址及与它有关的所有交易,同你发帖所用的名字关联起来。如果你发帖所用的网名尚未与你的真实身份关联,那么你仍然保持着假名身份。

为了获得更好的隐私,最好只使用一次比特币地址。你可以通过 Options->Change Your Address 随意更换地址。通过 IP 地址进行的转账每次都会自动使用新的比特币地址。

> 节点能否知道哪些比特币地址属于哪些 IP 地址?

不能。

> 是否有命令行选项可以在比特币第一次启动时启用套接字代理?

下一版本(0.2)中,第一次启动时通过代理运行的命令行是: bitcoin -proxy=127.0.0.1:9050

TOR 的问题是,比特币用来最初发现其他节点的 IRC 服务器会封禁 TOR 出口节点,所有 IRC 服务器都是如此。如果你之前已经连接过一次,就已经完成了节点播种;但第一次连接时,你需要像下面这样提供一个节点地址: bitcoin -proxy=127.0.0.1:9050 -addnode=<someipaddress>

如果有运行静态 IP 地址节点、能够接受传入连接的人愿意公布其 IP,供 -addnode 使用,那就太好了。

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

无论你把 NAT 设置为将端口 8333 转发给哪个客户端,哪个客户端就会收到。如果你的路由器能在转发时更改端口号,就可以允许多个客户端接收。例如,如果端口 8334 转发到某台计算机的端口 8333,那么发送方可以发送到“x.x.x.x:8334”。

如果你的 NAT 不能转换端口号,目前还没有命令行选项可以更改比特币绑定的传入端口,但我会研究一下。

英文原文 ​

展开英文原文

> 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.

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