从计算机科学角度看区块链
比特币(Bitcoin)像是在大洋中默默积累的气流,一举登陆后给各界带来了巨大的冲击。比特币在过去几年里火箭式增值,引发无限想象力,无穷的区块链项目,也引无数英雄竟折腰。
参与区块链运动的人群大致分三类,当然中间也有交集。一类是所谓“币圈”的, 包括炒币的,做交易所的,做钱包的,以及韭菜和割韭菜的等等;一类是找落地应用项目的,从跨境支付的到搠源有机猪肉的,五花八门,真真假假,虚虚实实;还有就是所谓“链圈”的,目的是研究区块链基本技术的发展,这其中包含实实在在懂点门道的,也有一大帮满口名词班门弄斧的程咬金。本文着重讨论区块链技术, 通过从计算机科学角度分析区块链的来龙去脉,纠正一些广为流传的误区,也指出目前很多日新月异的新一代链项目,其实多是在迷途上狂奔的野马,其最终结果无非是跑肥了野马,跑爽了骑马人,跑没了粮草,也跑坏了大家对区块链技术的信心。
比特币为什么 surprising,到底解决了计算机科学上的共识问题吗?
很多人把区块链称为自互联网以来最革命性的技术,其中常提到的一点就是 “去中心化”。区块链其实可以去中心也可以不去中心,两者之间没有必然联系。比特币是去中心的设计。乍看之下,它解决了分布式系统中的所谓 “共识”问题,就是说在分布式系统中多个节点在某件事情上保持看法一致。 分布式系统可以简单的想象为多台通过互联网连接着的电脑。互联网的连接不一定可靠(譬如可能掉线),信息传播需要时间,而且传播时间不固定甚至没有上限。加上多台电脑各自的钟表时间也是不能保证同步的(原因同 上),有的电脑可能还故意造假,因此分布式共识问题在通常情况下是无解的。这是学术研究的结论,是搞分布式系统的专家们的共识。
比特币并没有解决传统意义上的共识问题,而是把问题转化了,一方面通过 区块链的序号作为虚拟时间,一方面通过“挖矿”的经济动力来促使比特币链的不断延伸。这就是为什么比特币在理论上永远可逆,永远可以分叉的原因,因为它达到的共识不是绝对的。用经济因素来(在实践上,不是从理论 上)解决分布式系统共识算法是中本聪的天才之举。
比特币系统为什么慢?10 分钟结算其实是 feature,不是 bug!
自从比特币热络起来,不少人抱怨系统的结算速度(TPS)太慢。不少人花 精力试图给比特币提速,也有不少人提出新的区块链系统,试图解决速度问题。抱怨比特币速度慢的,都是没看出门道的。当然懂计算机科学的也未必 都懂得为什么比特币结算系统慢。殊不知那是设计的 feature,不是 bug。
其实挖矿难度决定了结算速度,而这个难度是可调的,所以结算速度也是可 长可短的。假想如果结算时间缩称一秒,也就是说挖矿难度降为一秒钟,那会出现什么情况呢?就是常常千万个矿工同时挖到矿。那时候怎么决定哪位幸运矿工分到奖励呢?选出一个幸运矿工又是个共识问题,循环了!再设想若是结算时间变成一小时会怎样?因为挖矿难度的提升,极少可能多个矿工同时挖到矿,产生冲突或临时分链(temporary fork)的可能性很低。所以,结算时间没必要太慢,但绝不能太快。这样就看清楚了那些要给比特币链加速的想法是多么的外行。中本聪在有关比特币的文档中并没有
从计算机科学角度看区块链 来自淘豆网m.daumloan.com转载请标明出处.