重新创造比特币18:工作量证明(上)

作者:何岩,由 recreating.org发行。

0.前言 #

上一篇,Bitcoin的点对点网络演进成了一个可以自治的群系统。

这一篇,我们将解决最后一个遗留的难题,那就是分配记账权的单点:Timestamp Server

1.最后的单点Timestamp Server #

一大早,中本聪和Gilfoyle就来到了咖啡馆,Bitcoin的记账网络演进成了真正意义上的群系统,这让他俩很兴奋,他俩想乘胜追击,一口气拿下最有一个难题,系统中最后的单点:负责分配记账权的Timestamp Server

中本聪说:“最后这个方案太重要了,如果设计不好,我们之前的努力都会前功尽弃。”

Gilfoyl说:“是呀,记账就等于得到区块奖励,记账权就是利益,分配记账权就是分配利益,这关系到Bitcoin系统的生存还是死亡!”

尽管中本聪预感到了,这次的问题很难,但是没想到会如此困难,简直是进入了绝望之地。

老板Bob看着这哥俩早上来,讨论一天,喝了一桌子咖啡杯,晚上垂头丧气的离开。第二天再来,又是一桌子咖啡杯,又是一无所获。如此反复持续了整整一周。

这一天,中本聪实在脑子不转了,趴在桌子上睡着了。

2.梦中的网络世界 #

在梦中,中本聪看到了自己创造的Bitcoin世界。

在这个世界中,整个网络像星系一样,缓慢转动着。

中本聪感到一种和谐之美,而自己正是这个世界的造物主。

忽然,中本聪发现了那个叫小男孩的节点。

中本聪拉近了视角,听到小男孩正在和邻居节点牛头人抱怨。

小男孩一脸愤懑:“牛头人,我发现了一个叫黄鼠狼的骗子节点,他获得了记账权之后,不守规矩,偷偷的把区块奖励由50Bitcoin给改成500Bitcoin了,这样他就多得了450个Bitcoin。还好我仔细检查了他广播出来的区块数据,才发现了他的骗子行为,这个黄鼠狼太坏了!”

牛头人说:“啊?是吗?稍等我也看看我这里的账本。”

牛头人翻看着之前同步过的区块数据。

牛头人也愤怒了:“真的啊!黄鼠狼记账的那个区块里,的确给自己的区块奖励写成了500个Bitcoin。这个坏蛋太贪了,我们要告发他!”

小男孩说:“可是,我们应该告诉谁呢?告诉我们的邻居们吗?他们即便知道了,也和我们一样改变不了什么,毕竟区块已经产生,没有办法改变。那个记账的时间段只有黄鼠狼一个区块被广播,大家也没得选择。”

牛头人说:“那我们就告诉宇宙的中心,拥有至高权利的timestamp server,让他知道黄鼠狼的罪行,以后不再给黄鼠狼分配记账权。”

小男孩说:“这个方案听上去不错,但也只能秋后算账,无法修复眼前正在发生的作恶行为。”

牛头人说:“那咋办?你还有啥办法?”

小男孩说:“我觉得,如果想从根本上解决,只有改革记账权的分配制度。也就是说,问题的根源不在黄鼠狼,而在我们至高无上的权力中心单点:timestamp server。”

牛头人问:“你要革timestamp server的命啊,你可得小心 ,万一timestamp server翻脸了,把你加入黑名单,以后你再也得不到记账权了!”

小男孩说:“不怕,大不了我重启一下,换个IP,他就又不认识我了。”
“其实我早就看Timestamp Server不爽了,我一直怀疑他以权谋私,嘴上说的是随机分配,确总是把记账权分配给那几个老节点,例如我们的三爷(节点3)就总是得到记账权。”

“另外,一个10分钟的时间段里,只会有一个节点有权利来进行记账,如果这个节点作恶,我们都没有其它区块可以选择。”

3.竞争 #

牛头人问:“你的意思是,要把记账的权利,从单点(timestamp server)手中夺走,由我们所有节点来共同决定分配权?”

小男孩说:“对,只要权利在某一个单点手中,公正就无法得到保障,即便这个单点不作恶,也会给像黄鼠狼这样的节点以可乘之机。”

小男孩接着说:“如果记账权由所有节点们来决定,无非有两条路。”

“第一条路是少数服从多数,即每十分钟大家投票一次,谁得票多,谁获得记账权。

“第二条路是自由竞争,即所有节点都可以自愿参与解答一道题目,谁得出答案谁就获得记账权。”

记账权的单点分配,对应的是集体主义。为了达到社会整体的更幸福,资源由少数精英来集中控制,即计划经济。

记账权的少数服从多数,对应的是自由至上主义。这种模式下很容易演变成为自由放任的无政府主义。更诡异的是,无政府主义很可能最后会演变成集体主义。

记账权的自由竞争,对应的是法治自由主义。个体的自由是有边界的,每个人只需要关注自身利益,在法治规则内进行公平竞争,社会的整体就会朝着更加美好的方向演进,即资本主义。

集体主义和自由主义的本质区别在于,对世界的底层运作机制的理解不同。
集体主义将世界看作是一个确定性的精确系统,系统的未来可以被计算。所以集体主义重视精英,轻视普通个体,因为精英比普通个体更懂得如何计算。

而自由主义将世界看作是一个非确定性的复杂系统,系统的未来不可被计算。所以自由主义重视普通个体,怀疑精英的设计模式,因为随心而动的即兴随机才是完美可以产生的土壤。

小男孩说:“对比这两种自下而上的自由模式,我选择第二种,即,节点通过自由竞争获得记账权。”

牛头人问:“为什么呢?第一种少数服从多数,看上去更民主啊”

小男孩说:“不要迷信民主,少数服从多数的那条路存在这样几个问题:

第一,大多数人可能选错,因为乌合之众的理性决策并不可靠。

第二,谁来定义时间间隔,即谁来定义10分钟到了。

第三,参选的节点凭什么来获得投票,看脸吗?

在我看来,少数服从多数的机制,还不如记账权单点分配靠谱呢!”

牛头人说:“自由竞争就不存在这些问题吗?”

小男孩说:“你别说,自由竞争真的很完美。

第一,竞争可以增加存在的合理性。

竞争的本质就是付出了劳作,如果这个世界上真的存在一样东西,可以证明自己的存在是合理的,这样东西就只有劳作。

你想想,如果你面对一群陌生的追求者,你要选择一个人来结婚,你会考虑什么因素?

谁更有钱吗?有钱只能代表过去,不能证明他现在更有能力,也不能证明他的钱是来路干净。(POS机制)

别人的评价吗?评价也是过去时,另外,你怎么知道别人的评价不是被收买,或者被欺骗。(DPOS机制)

那么,只有看他们如何追求你,谁付出的努力最多,并且努力的方式最诚恳。

追求你所付出的劳作,就是一种证明,证明追求者的存在是合理的。
我们将其称为:工作量证明,英文Proof of Work,简称:POW。

工作量证明不能保障他一定是个好人,但确是唯一理性的评判方式。
如果不付出劳作,人如何安心存在?

第二,竞争可以定义时间。

我们可以将题目的解答难度设计成接近10分钟,这样就不需要一个中心化的单点来定义时间。

谁有资格定义时间呢?你如何证明你的手表的时间是客观的,你的手表如果不能,那你的参考谁定义的时间呢?你会说,参考电脑中的时间,电脑的时间又是参考谁,一层层追溯下去,就会发现我们的世界,时间的定义最终还是依赖一个单点。

“我国的北京时间由「国家授时中心」发布。国家授时中心的前身是陕西天文台,位于我国中部腹地的陕西临潼。
所以说,北京时间以「国家授时中心」的原子钟为准。”——WIKI

第三,竞争导致可选择。

因为竞争是自由参加,所以可以同时存在多个节点解答出题目,并同时广播。

如果有人作恶,我们就可以抛弃错误区块,而选择自己认为正确的。

选择自己认为最快且最正确的区块同步到自己的账本,本质上就是在进行投票。

这样就可以让黄鼠狼这种偷偷改变区块奖励的区块作废。

所以说,即便你付出了工作量,只能证明你有权利参与记账,但是因为这是竞争,所以大家可以选择你的竞争对手。”

中本聪心想:“我明白了!所以,问题的关键点就是,如何设计出这样一个皇冠级别的题目,来表达工作量的证明。”

4.后记 #

本篇定位了要解决的问题:去掉单点。

又讨论出了解决的方向:通过自由竞争来代替中心控制。

最后聚焦到了具体的点:设计出一个可以用于节点竞争的题目。

工作量证明的题目如何设计?请见下篇。

下一篇:重新创造比特币19:工作量证明(下)

相关链接 #

重新创造比特币:前言

Part One : 交易
重新创造比特币1:从一个简单的web交易系统开始
重新创造比特币2:第一个版本上线啦
重新创造比特币3:舍弃账户模型
重新创造比特币4:数字签名
重新创造比特币5:公钥和私钥
重新创造比特币6:第二个版本上线啦
重新创造比特币7:UTXO
重新创造比特币8:基于UTXO的系统重构
重新创造比特币9:万物皆交易
重新创造比特币10:交易脚本

Part Two : 群系统
重新创造比特币11:群系统(上)
重新创造比特币12:群系统(下)
重新创造比特币13:P2P网络
重新创造比特币14:交易的同步
重新创造比特币15:账本的同步
重新创造比特币16:Block Chain
重新创造比特币17:网络的弹性
重新创造比特币18:工作量证明(上)
重新创造比特币19:工作量证明(下)
重新创造比特币20:分叉之重组与分裂

书面设计矢量图_36.png

英文版Amazon.com在售 : Recreating Bitcoin

BSV打赏:
1Djc4TdVBi8urzmSXKHwg8cpEAYKcRQxgY

©2019 - Recreating.org all rights reserved

 
3
Kudos
 
3
Kudos

Now read this

Recreating Bitcoin 19:Proof of Work (Part II)

Epilogue # Now let’s design a problem that requires Proof of Work to solve (POW). Looking for the Random Number Many times, in sleep you get the answer you would not get while awake. Satoshi was lucky to have experienced that. But it was... Continue →