我很温柔,但是我很丑
 
 

如何跟老妈解释比特币(续2)

传统世界和互联网世界在某些方面的鸿沟可能让人难以想象。比如前文说的那具主宰着全世界财产的大账本。在传统世界里,这是痴人说梦。然而在互联网技术面前,这并不难。自2009年比特币问世以来,这本账本在不断变大,目前的大小也就不过才刚过10GB。这个数字对如今的计算机系统来说不算什么。

如果要延续前文的例子,在我们那个和谐小村里完成比特币的这套协议,我不得不要求读者略带点计算机的思维来理解。必须明白,有些在传统世界里的不可能,在互联网世界却变得显而易见。

比如我下面要解释的工作量证明(proof of work)。前文提到的那一系列问题将由它来解决。

为了可规模化,我们不再要求村里有个集中交易地点。取而代之的是若干个交易点。公证人甲在村东的交易点,看到张三要付一笔钱给李四。公证人乙在村西的交易点,看到王五要打钱给赵六。于是关于今日发生的交易,公证人甲和乙新建的账本就出现了分歧。

为了尽量避免这样的分歧,一个办法是人为地给创建新账本制造难度,让公证人建账本的速度在数量级上慢于村民传抄的速度。注意,是在“数量级”上慢于,也就是大大大大地慢于。什么概念呢?比如一个账本传抄至全村需要几个小时,但建账本需要几天。(建账本为什么会这么慢?比如让你加盖公章。。。开玩笑啦,后面再解释。)

假设公证人甲先建了新账本,收录了张三付给李四的那笔交易。该新账本迅速传播至全村,同时也传到了公证人乙那里。此时的乙正埋头帮王五赵六的交易添进账本,但由于看到了甲对账本的更新,按照协定,他不得不放弃手中正建的版本,而重新在这个新账本的基础上附加王五赵六的交易信息。在互联网世界里,信息的传递是以秒计的。所以其实传抄账本的速度远远快过你的想象。

这个方法听上去确实能解决一些问题。其中的核心是这个人为增加的难度,也就是所谓的“工作量证明”。前面的“公章”是个玩笑话,打个稍恰当点的比方:现在公证人建的账本都不能写在纸上了,必须刻在很薄的竹签上。竹签薄到非常容易刻坏,刻坏就得重来。我们可以人为控制这个难度,使得平均下来最快的那个公证人可以在1天左右完成这个竹签。在计算机领域里,“工作量证明”可以想象成让计算机暴力破解一些大型方程之类的谜题。

但在一个去中心化的系统里,要从头开始就避免分歧是不可能的。较真的你可能会举例,那假如甲乙同时完成了一个版本,在全村里传播怎么办。或者更坏一点,要是乙不守规矩,即便看到了甲对账本的更新,但还是接着完成了自己的那个版本,造成账本分歧,怎么办?

敬请期待下回分解。

----------------------

没想到会写这么长。续2了还没讲清楚。请不吝“赞”,那是我写下去的动力。另外不知道能读到这里的非理工科生还剩多少。。。


30 Nov 2013
 
评论(1)
 
热度(9)
© 蓝ka | Powered by LOFTER