《区块链启示录:中本聪文集》29 中本聪回答的几个问题

29 中本聪回答的几个问题

中本聪在本章中回答了各种各样的问题,例如比特币的匿名性、备份要求、 比特币丢失等问题。另外,开源是否会给比特币带来安全问题,例如一位矿工修改了代码。中本聪回答说其他矿工不会接受它,因为它违背了比特币的协议。

回复:关于比特币的问题

中本聪,2009年12月10日,下午08:49:02

SmokeTooMuch写道:

您好!昨天我偶尔发现了这个伟大的支付方式。

虽然查阅了很多网站,但是我仍然还有一些问题没有弄清楚。

1. 比特币真的匿名吗?我指的是完全彻底的匿名,ISP能检测到比特币的收入或支出活动吗?甚至可能看到我现在正在运行比特币系统吧?

2. 如果理解正确的话,支付伙伴们无法看到我是谁。这是否意味着他只能看到比特币地址,而看不到真实的IP地址呢?即使他在监视网络连接等?

3. 如果ISP能探查到我在使用比特币系统,或者支付伙伴们有办法查到我的IP 地址,那么使用VPN会不会更加安全呢(以预付费卡Paysafecard支付为例)?这是不是也很危险,因为VPN的提供商可以获得我的支付信息?

4. 为了确保比特币的安全,我们需要备份哪些文件呢? wallet.dat还是比特币的整个AppData目录?

5. 是否可以把钱包复制到不同的机器上使用呢?这样什么都不做比特币就可以翻一倍。对这样的案例有防范措施吗?

6. 当有人丢了钱包,是否有办法在系统内重铸丢失的币?要不然2100万的比特币上限就不对了(我的意思并不是要为某人恢复丢失的币,如果2100万比特币全都造出来了,但有人丢了含有100万比特币的钱包,其他人又不能重造这100万比特币,难道说这些比特币钱就在网络上完全消失了?)。

7. 我忘了曾经在哪里读过,目前现存约13万个区块。但在我的电脑上只能看到2.4万个,这是正常现象还是哪里出了问题?

8. 我对比特币产生的事了解有限。一台机器平均每天创造多少枚比特币?

9. 我知道8333端口上的请求应该被转发至比特币系统。我的问题是这里用的是TCP还是UDP协议?该端口是铸币所必需的,还是仅用于支付交易?

10. 我看到比特币源代码向所有人开放。这是否有风险?如果代码被人操作,有些人能比其他人创造更多的比特币吗?这可能是个巨大的安全漏洞。

11. 我看到过一个计算一段时间内创造比特币数量的公式。这与CPU的最大速度以及可用量有关。但我现在找不到了,所以请您解释比特币产生机制。速度慢的机器和高端机器产生一样多的币吗?

12. 除了新的自由标准外,是否还有其他的兑换系统或潜在的支付伙伴?

13. 如果我的系统崩溃了,会发生什么事?钱包会自动保存吗?还是只有手动关闭比特币系统才能保存?(或许只在比特币产生或支付时才需要实时保存?)

14. 有没有办法看到迄今已经产生了多少枚比特币?比特币几岁了?

我知道自己问了一堆问题,但我是真的对您的服务很感兴趣,想要了解所有的事情后才更加频繁地使用。

(请原谅我蹩脚的英语……)

1〜3:您提到的那种级别的匿名性需要通过TOR连接,使用几个礼拜后发布的比特币软件0.2版就可以了。到时我会发布TOR的使用说明。

4:对0.1.5版,备份整个%appdata%\Bitcoin目录。对0.2版:只备份wallet.dat 。

5:不行。整个系统都是针对防止这种情况发生设计的。

6:那些比特币无法再恢复,总的流通量因此会减少。由于有效流通量减少 ,剩下的币的价值会稍微提高一些。这与政府印钞导致现存货币价值降低正好相反。

7:现在有29296个区块。流通量是区块数量乘以50,所以当前的流通量是146 4800枚比特币。如果只有2.4万个区块,一定是没完成初始区块的下载。退出比特币系统再重新启动。0.2版的初始区块下载会更好和更快。

8:通常会有几百个吧。现在很容易,但随着网络的发展会变得越来越难。

9:好问题,是TCP。应该更新网站说明TCP端口8333。

端口转发是为了其他节点可以连接,所以会帮助你保持连接,因为这可以使你能连接更多的节点。另外也需要通过IP地址和端口接收付款。

10:不是,其他的节点不会接受。

开源意味着任何人都可以独立审查代码。如果是源代码封闭,无人可以验证其安全性。我认为这种性质的程序必须开源。

11:较慢的机器生产较少的币。与CPU速度成正比。

12:还会有更多的比特币生产出来。

13:比特币使用了事务型数据库Berkeley DB。系统崩溃时不会丟失数据。系统收到交易时会立即写入数据库。

14:可以将总区块数乘以50。比特币网络已经运行快一年了。设计和编码始于2007年。

回复:关于比特币的问题

SmokeTooMuch写道:

哇,非常感谢您给出的详细回答。

但是今天我又想到了另一个问题。

假定我们知道邻居在用比特币,我们也知道他将会收到付款(也许因为他有一家网上商店,并接受以比特币作为支付方式)。

此外,我们知道他使用无线局域网(WLAN),他的网络不安全或是弱保护。路由器的配置也是如此。

现在我们可以登录到他的路由器找到配置,把8333端口转发的IP地址改为我们系统的IP。现在每笔付款都将会被我们的比特币客户端接收。

这样实际上能成功吗?

我知道这么做属于高度犯罪而且这种场景也极其可耻,这种场景也不寻常,但在理论上应该行得通吧?(不是我喜欢害人,但我知道犯罪分子会尝试很多方法来抢钱。)

顺便说一句,当局域网路由器配置处于无保护状态时,该方法同样行得通。

编辑:这些场景或许根本不可能,因为不管那个端口用的是哪个IP,付款只会转到付款人定义的比特币地址或IP地址?

的确如此,用send-to-IP选项就会发给任何响应那个IP的人。发送到比特币地址就不存在这个问题。

计划是实现IP+比特币地址选项,这就会同时拥有两边的好处。在这种情况下每笔交易仍然会用不同的地址,但是收款方会用给定的比特币地址进行一次性地址签名,以证明它属于预定收款人。

相关文章:

发表评论

您的电子邮箱地址不会被公开。