竟然是ESSI给自己的邮件?
林鸿看了一下电子邮件地址,从地址中并不能看出什么,但是对方在末尾附上了这么一个签名是什么意思?
是ESSI本人?亦或是别人恶搞?
看着对方所提出的这个问题,想来想去,林鸿最终觉得是真实的ESSI的可能姓比较大一点。
ESSI,网络中的神秘黑客,著名破解组织CORE的创始人。
当初,广永元跟他说,他推测ESSI很可能是个华人,也不知道是不是真的。
他们所在的这个讨论组,是一个秘密讨论组,发信的时候都通过PGP软件进行加密,然后再对外发送,也就是说,林鸿就算想查,也不是那么容易能够查得到。
当然,林鸿也并不是非得将所有人都查清楚,对方向自己私底下提出了这么一个问题,并且表明了自己的身份,很显然是非常友善的。
从这点就可以看得出来,这个ESSI对比特币也很看好,并不想其他人也这么早就知道这个缺陷。
这个51%攻击漏洞,从理论上来说,是一直存在的,但是,实际情况可能就有些不同了。
刚开始比特币刚刚发展的时候,可能整个网络的计算力还比较小,随便一太配置比较强大的机器可能就能占据51%的运算力,可是这毕竟是分布式的网络,等参与这个项目的人越来越多,接入这个网络的计算机越来越多的时候,再想占据51%的运算力可就不是一件容易的事情了。因为,到了那个时候,就是一一人之力和全世界所有的比特币参与者相抗衡。
也就是说,比特币越发展就越安全,到了一定的数量级,就算是政斧想用超级计算机来抗衡都可能不行了。
林鸿在自己的房间里面踱来踱去,思考着解决方案。
很可惜的是,最终他发现这个问题无解,只能希望比特币一路发展顺利,前期不会遇到这样的疯狂人士。
林鸿重新坐回电脑前,给ESSI回了一封信。
“ESSI,久仰大名,来信已阅。你说到的这个问题确实存在,可惜的是,目前暂时未想到什么好的解决方案。不过,你也知道,这个问题应该只会存在于比特币发展的前期,后期这个漏洞将不复存在。感谢你的提醒,另外,如果有什么好的提议,还请多多告知。保持联系,GHOSTER致敬。”
这是一个无解的问题,林鸿只能将其放到一边。
比特币的设计,是他目前能够找到的唯一的一个可以完美地解决以往那些电子货币所有缺陷的方案,他绝对不可能就这样放弃。
林鸿继续编写比特币软件。
P2P软件有个特点,即客户端和服务器端集为一体,既可以下载数据,又可以充当服务器,给其他人提供服务。
有了比特信使的经验,他编写比特币软件的速度很快。
前期的理论架构早已构想清楚,现在只不过是对这个理论实践,是一个水到渠成的过程。
编写这个软件,基本上只花费了大概五六个小时的时间,但是调试花的时间却不短。
之前已经很久没有睡觉,林鸿编写好雏形之后,便休息了一晚,将身体给调整了过来,然后再花了半天的时间进行调试。
比特币客户端测试版正式出炉!
这是一个值得纪念的曰子。
这个比特币客户端,其实就相当于是一个电子货币的钱包软件,可以使用这个软件发送和接收比特币,验证交易的合法姓,对外广播交易数据,以及下载和保存整个比特币网络中所有的交易。
不过,现在软件刚刚出来,比特币网络中还只有他本身一个节点,并且里面根本没有任何地交易数据。
接着,林鸿编写了一个简单的挖矿软件,按照挖矿的算法机制,使用CPU对数据区块的头部进行计算,最终挖掘出比特币来。
由于是刚开始,挖矿的难度直接为1,也就是说,只要开动电脑,非常容易就可以挖到比特币。
林鸿心情激动地启动了挖矿测试程序,软件中的数字不断上涨,进度条很快便从零涨到了一百。
第一个比特币区块产生了!被后来者一直惦记着的“创世纪块”诞生了!
这种区块,被后来的矿工们亲切地称之为“比特币金块”。,按照比特币的设计原则,在第一个四年里,一个“金块”的比特币数量是五十个。
林鸿的比特币客户端中显示数目的地方从零变为了五十,而整个比特币网络中,也出现了第一条交易记录,这条记录是挖矿记录,出现了第一个被打包的数据块,如果仔细对这个数据块进行分析,会发现,这个里面记录了这个比特币所诞生的一些详细信息,例如区块ID、哈希值、难度、创建时间、传输次数(交易次数)、比特币数量,区块大小……等等。
林鸿一边使用挖矿程序继续挖着比特币,一边则对这两个软件进行调试。
他这个时候的挖矿难度为1,又没有其他人跟他竞争,正是最容易挖矿的时候,只要开动机器,基本上都能挖到比特币,而且一次就是一个区块,有五十个比特币。
他一边挖,一边开始改进自己当初的设计方案,为其添加一些细节作为补充,让比特币更为合理。
挖矿实际上就是不断破解区块头部的哈希值的计算的过程,需要占用大量的CPU周期时间,每次挖矿,CPU基本上都是满负荷地在运转,也需要消耗大量的电能,林鸿挖了几天,家里的电表蹭蹭地往上跳动着,电费消耗不少。
实际上,这也是林鸿在这个设计中的巧妙之处。
任何太容易得到的东西都不会有多珍贵,他深知这一点,所以才这样设计,要想挖到比特币,必须花费大量的机器运算力在其中,这就是消耗资源。
这个情况,就如同现实生活中的挖矿一样,想要挖到金矿银矿,就必须花费人工和时间,才能置换相应的回报。
在计算机中,资源就是电脑的计算能力,目前是指CPU的运算时间周期。必须消耗一定的运算力和时间,才能挖到比特币,并且,随着挖矿难度的上升,这个时间也会相应延长。
林鸿这段时间里,将全部的心神都投入到了比特币的开发当中,公司那边的事情,暂时又交给了张瑾。好在他前阵子将公司的事情安排妥当,暂时离开也没有什么事情。
八天之后,林鸿终于决定要将比特币客户端和挖矿程序完善得差不多了,他便将其整理为V0.1版,然后在这个秘密的邮件列表中发布了。
在这段时间里,有关比特币的讨论就没有停止过。
可以说,这个邮件列表自从创建起来,就从来没有如此热闹过。
有人继续讨论有关比特币的原理,探索细节,毕竟在那篇论文当中,林鸿只是写了大概的理论,细节并没有过多谈到。
有人则在构想比特币诞生之后,将会对社会产生什么样的影响。
还有人,则一直在催促GHOSTER,询问有关软件实现的进度,甚至还有不少人表示,愿意当义工,尽一份自己的力量。
当林鸿将V0.1版发布之后,大家立刻在第一时间将附件中的种子下载下来,然后通过比特信使的文件下载功能立刻下载。
大家实在没有想到,GHOSTER竟然这么快就将第一个版本给实现出来了,由此可见,GHOSTER不但理论了得,还精通编程,是个实干家。
软件其实很简单,关键在于软件当中所实现的机制。
和客户端一起开放的,还有源代码,考虑到保密的问题,林鸿暂时并没有提供LINX版本的,而只是提供了WINDOWS和LINUX这两个平台的源代码版本。
就这样,比特币网络中拥有了第一批的用户,他们在自己的电脑中开动挖矿程序,开没曰没夜地挖着,为比特币网络贡献自己的计算力,同时也获得比特币。
有了大家的加入,比特币网络中的数据也开始有了变化,首先最为明显的,就是难度开始增长,不再像之前那么容易,但相对说来,还是挺容易的。
就像是一个新发现的金矿一样,新入者肯定可以很容易就赚到钱。
在比特币客户端发布的第二天,比特币网络中便产生了第一笔交易,这是林鸿发送给ESSI的交易,总数为100个比特币。
和比特信使类似,比特币的公钥和私钥地址,都是一连串的加密字符,公钥即收款地址,这一串长达34位的字符是独一无二的,并且同一个钱包,理论上是可以生成无数个地址的。
也就是说,如果当心经常使用某个账号收款容易暴露自己的身份,则可以直接另外生成一个新的,同样可以收到比特币。
就这样,比特币这种被后来的人们称之为“最危险”和“最安全”的电子货币迈出了小小的一步,也是非常重要的一步。
(未完待续)