您当前的位置: > 知识百科 >

从计算机科学评看区块链的起源和发展-数字货币知识点

发布时间:2020-10-19 19:48

从计算机科学评看区块链的起源和发展,参与区块链运动的人群大致分三类,当然中间也有交集。一类是所谓币圈的, 包括炒币的,做交易所的,做钱包的,以及韭菜和割韭菜的等等;一类是找落地应用项目的,从跨境支付的到搠源有机猪肉的,五花八门,真真假假,虚虚实实;还有就是所谓链圈的,目的是研究区块链基本技术的发展,这其中包含实实在在懂点门道的,也有一大帮满口名词班门弄斧的程咬金。本文着重讨论区块链技术, 通过从计算机科学角度分析区块链的来龙去脉,纠正一些广为流传的误区,也指出目前很多日新月异的新一代链项目,其实多是在迷途上狂奔的野马,其最终结果无非是跑肥了野马,跑爽了骑马人,跑没了粮草,也跑坏了大家对区块链技术的信心。

       很多人把区块链称为自互联网以来最革命性的技术,其中常提到的一点就是 去中心化。区块链其实可以去中心也可以不去中心,两者之间没有必然联系。比特币是去中心的设计。乍看之下,它解决了分布式系统中的所谓 共识问题,就是说在分布式系统中多个节点在某件事情上保持看法一致。 分布式系统可以简单的想象为多台通过互联网连接着的电脑。互联网的连接不一定可靠(譬如可能掉线),信息传播需要时间,而且传播时间不固定甚至没有上限。加上多台电脑各自的钟表时间也是不能保证同步的(原因同 上),有的电脑可能还故意造假,因此分布式共识问题在通常情况下是无解的。这是学术研究的结论,是搞分布式系统的专家们的共识。

       

        比特币并没有解决传统意义上的共识问题,而是把问题转化了,一方面通过 区块链的序号作为虚拟时间,一方面通过挖矿的经济动力来促使比特币链的不断延伸。这就是为什么比特币在理论上永远可逆,永远可以分叉的原因,因为它达到的共识不是绝对的。用经济因素来(在实践上,不是从理论 上)解决分布式系统共识算法是中本聪的天才之举。   其实挖矿难度决定了结算速度,而这个难度是可调的,所以结算速度也是可 长可短的。假想如果结算时间缩称一秒,也就是说挖矿难度降为一秒钟,那会出现什么情况呢?就是常常千万个矿工同时挖到矿。那时候怎么决定哪位幸运矿工分到奖励呢?选出一个幸运矿工又是个共识问题,循环了!再设想若是结算时间变成一小时会怎样?因为挖矿难度的提升,极少可能多个矿工同时挖到矿,产生冲突或临时分链(temporary fork)的可能性很低。所以,结算时间没必要太慢,但绝不能太快。这样就看清楚了那些要给比特币链加速的想法是多么的外行。中本聪在有关比特币的文档中并没有详细阐述其系统设计的渊源,不知是歪打正着,还是有的放矢。

portant; text-align: left;'>       再延伸一下,只要是通过纯挖矿来做共识的公开链,结算速度都不可能太快。 以太坊不也计划要从 PoW 下车了吗?现在再出个以太坊类的东西来忽悠人, 估计就不容易了。我这里说清楚了,可能以后不再有喊着给比特币提速来做 ICO 的了。还想钻研这个题目的同学们,可以比照大家都用的局部网以太网(Ethernet) 的经验。在局部网上,如果多个节点同时说话(传输数据),就会造成冲突。冲突发生后,各节点知道数据没有传出去,再重新试一下。可是如果大家都紧接着重新试传,还会冲突,造成网络堵塞。如果大家都等待某个固定时间再试,一样会冲突。所以,以太网设计是各节点等待一个随机时间再试传,这样就大大降低了冲突率,实现了高速的数据传送。这个等待随机时间的办法适用于比特币吗?明显不行,因为会有不自觉的矿工基于经济利益争着再试,大家都争,又回到原点,没解决问题。