史上最强“客服”——中本聪当客服的那2年

501

在人类历史上,我们经历过多次神奇的技术革命。古腾堡印刷机把书带入了千家万户。电报的发明实现了原始但快速的远距离通信。更近一些,个人计算机极大地提高了人类生产力,引发了互联网和数字通信的飞速发展,当智能手机将热点事件的照片第一时间上传到社交网络时,自媒体出现了,而这些智能手机本身就是小型计算机。然而直到最近几年,货币体系仍然与重大突破无缘。

比特币改变了一切。它在货币和银行业的进化过程中发挥了举足轻重的作用。比特币是从现行陈旧的货币和银行系统中发生的一次彻底的“进化”。

对刚接触比特币的人来说,最大的问题就是它的神秘感。虽然中本聪的真实身份可能永远是个谜,且不管那些主流媒体将中本聪之流认定为中本聪妥当与否,但至少在丰富翔实的史料中能让我们获得自比特币创世以来的理论基础和设计思路。

当中本聪在网络上公布他的创造时,说出的第一句话简单而铿锵:“我一直在研究一种全新的完全点对点(peer-to-peer)的电子现金系统,抛弃第三方信用机构。”正是这句话即将改变整个世界。接着,他留下了一份白皮书链接。剩下的事情大家就都知道了。这些公开发生在bitcointalk.org论坛上的讨论一直持续到2010年12月12日。在此之后,中本聪就彻底地消失了。

而在那两年时间里,作为比特币创始人的中本聪在社区一边推销着项目,一边为社区的用户答疑解惑。一泡屎,一泡尿的把比特币这个婴孩拉扯长大,堪称史上最强客服。如果了解这项神奇新技术背后的神秘人物(特别是他的思维方式)肯定会非常有趣。今天我们就带大家来看看中本聪是如何开创币圈的“线上ama”和“史上最专业的客服”。

欢迎来到比特币社区

中本聪为期两年的“公开生活”处于比特币推出以及发展的时期,这一切始于他发表的《比特币:一种点对点的电子现金系统》,这篇论文于2008年11月1日在密码学邮件组公布。比特币软件项目于2008年11月9日注册在开源网站SourceForge. net上,2009年年初创世区块问世。

可以把创世区块理解为一本总账,每天新增几张账本页(区块),其中包含了所有发生过的比特币交易记录,这本账本的第一页就叫创世区块。下一章还会对创世区块进行更细节的讲解。中本聪在创世区块中引用了一条有意思的摘录,该摘录援引了当时发生的银行救助计划:

《泰晤士报》2009年1月3日英国财政大臣正欲对银行业实施第二轮救助。

实施银行业救助曾经是极度不受欢迎的事件。尤其是对自由主义者,他们用这样的一段话讽刺现有的政治和经济环境:“受益的私有化和亏损的社会化”。6天后,中本先生于2009年1月9日在SourceForge.net发布了比特币0.01版的源代码。

中本聪的最后一篇文章于2010年12月12日发表在bitcointalk. org论坛。最后一次已知的通信是他在几个月后发给加文·安德森的一封私人电子邮件,加文当时是比特币项目的首席开发者。

中本聪2009年11月22日,下午06:04:28在sourceforge.net上宣布成立一个比特币专门论坛,并发了如下文字:

欢迎来到比特币新论坛!

我会在此重发一些挑选过的帖子,并尽可能回答问题。

币圈AMA始祖

成立社区后,许多对比特币不了解的社区用户提出了各式各样的问题。

社区提问:比特币成熟了吗? 

中本聪回复:

从用户的角度来看,比特币的成熟过程可以分成8个阶段。

1.当第一次点击铸币(Generate Coins)时发生的初始网络交易。

2.从初始网络交易到比特币出现在所有交易列表。

3.比特币从所有交易的域外转移到域内。

4.从比特币出现在所有转账列表到描述预备变更为已生成(x区块后50.00比特币成熟)。

5.描述变更为已生成(x区块后50.00比特币成熟)。

6.从描述显示从已生成(x区块后50.00比特币成熟)到预备变更为已生成。

7.描述变更为已生成。

8.描述变更为已生成之后。

社区提问:哪些阶段需要网络连接、显著的本地CPU或远程CPU的使用率?能定义这些阶段吗?

中本聪回复:据我所知,在点击铸币时还没有网络交易,计算机刚开始计算下一个工作量证明。铸币时CPU的使用率是100%。

在本例中,将所创建的工作量证明块(送您新币的原因)的信息广播出去时要连接网络。成功地铸币需要保持网络连通性,这样当有人先得到当前区块时您可以马上着手下一个区块。

在铸币的过程中,特别是成功地生成区块的那一刻,网络的连通性很重要。1.生成期间(当状态栏显示“生成中”且正在使用CPU寻找工作量证明时),必须保持网络连接不间断以接收最新的区块。如果您的区块没有链接到最新的区块,它很可能不被接纳。2.成功生成区块的消息会立刻被广播至网络。其他节点必须接收并链接它,以把它接纳为最新区块。

把这理解为合作造链。添加链接时,必须先找到当前链的末端。如果找到最新链接后离线1小时,在此期间打造自己的链接,重新在线后想要再链接到1小时前那个链的末端上,其他人可能已经在那个链接的后面添加了好几条链接,不会再想用您半路分叉出来的那条链接了。

区块创建后,留出120个区块的成熟时间的目的是为了在用于支付前要完全确定该区块属于主链。您的节点在此期间不会对该区块做任何事情,只是等待别的区块添加到它后面。这段时间都不需要在线。

社区提问:比特币的匿名性如何?网络节点知道比特币的来龙去脉吗?区块是否包含进出账的历史?

中本聪回复:收发比特币的地址在本质上是没有任何识别信息的随机数。向IP地址发送的交易仍然写入了比特币地址。IP地址只是用于连接收款人的计算机以请求新的比特币地址、将交易直接交给收款人并得到确认。

区块包含转入的比特币地址历史。如果使用该比特币地址的人身份不明,且每个地址只用过一次,那么历史信息只会说明一些匿名人把钱转给了其他人。

匿名和使用笔名的可能性取决于是否透露与比特币地址相关的身份信息。如果在网上公布了自己的比特币地址,那么就可以把该地址、它所包含的交易以及公布时所用的名字关联起来了。

如果使用没有关联真实身份信息的马甲发布,那么就是匿名的。要想更好地保护隐私,比特币地址最好只用一次。这可以通过修改Options->Change来调整地址变更的频度。

社区提问:节点是否知道比特币地址属于哪个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,那可就太棒了。

社区提问:如果把比特币发送到某个IP地址,而该IP地址的后面有多个客户端通过网络地址转换(NAT)连接,那会怎么样?

中本聪回复:通过NAT端口8333转发到的那个客户端会收到交易。如果路由器能在转发时改变端口,就可以允许多个客户端接收比特币。例如,如果端口8334把交易转发到一台计算机的8333端口,那么付款者可以把比特币支付给“x.x.x.x:8334”。

如果NAT不能进行端口转换,那么目前还没有命令行的可选项来改变比特币所绑定的接收端口,但我会继续深入研究。

最强客服诞生

社区用户SmokeTooMuch罗列了一些问题写道:

您好!昨天我偶尔发现了这个伟大的支付方式。虽然查阅了很多网站,但是我仍然还有一些问题没有弄清楚。

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

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

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

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

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

中本聪回复:对0.1.5版,备份整个%appdata%\Bitcoin目录。对0.2版:只备份wallet.dat。

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

中本聪回复:不行。整个系统都是针对防止这种情况发生设计的。

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

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

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

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

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

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

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

中本聪回复:好问题,是TCP。应该更新网站说明TCP端口8333。端口转发是为了其他节点可以连接,所以会帮助你保持连接,因为这可以使你能连接更多的节点。另外也需要通过IP地址和端口接收付款。

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

中本聪回复:不是,其他的节点不会接受。开源意味着任何人都可以独立审查代码。如果是源代码封闭,无人可以验证其安全性。我认为这种性质的程序必须开源。

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

中本聪回复:较慢的机器生产较少的币。与CPU速度成正比。

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

中本聪回复:还会有更多的比特币生产出来。

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

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

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

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

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

当中本聪回复SmokeTooMuch后,他又问道:

哇,非常感谢您给出的详细回答。但是今天我又想到了另一个问题。假定我们知道邻居在用比特币,我们也知道他将会收到付款(也许因为他有一家网上商店,并接受以比特币作为支付方式)。此外,我们知道他使用无线局域网(WLAN),他的网络不安全或是弱保护。路由器的配置也是如此。

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

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

顺便说一句,当局域网路由器配置处于无保护状态时,该方法同样行得通。这些场景或许根本不可能,因为不管那个端口用的是哪个IP,付款只会转到付款人定义的比特币地址或IP地址?

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

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

在中本聪没消失的那两年,会详尽的回答关于比特币的问题和自己的一些。尽管中本聪消失了,但无论如何,比特币带来的影响已经确定。其最核心的概念已经改变了世界对合同、信用和交易的看法。平台上已经建立起数以千计的应用,而且这些应用已经扩展到金融交易领域之外。

几十年后,当人们回首看待这项创新时,会像现在的人们看待互联网或古腾堡印刷机一样,将比特币的出现看作是人类文明史上划时代的时刻。这些中本聪的文章和邮件,形成了一个合理的时间线,是了解比特币如何开始和发展的最简单的方式之一。