十年前,作为一个分布式应用,
比特币悄无声息地降生。长大之后,大家被它的慢条斯理震惊了,连小卖部老板都看不起它,买包牛肉干这种小事都要等上一个小时。
比特币的慢是有道理的,道理就是CAP定理:为了在一个分布式系统内追求全网账本的严苛一致,可用性理所当然地被牺牲,所以只能闷等,直到交易信息被深深刻进链上,老板才敢把牛肉干交付客户。
速度方面,比特币的用户体验低落到极致,但以此为代价能坚守全网账本信息一致,最终保证系统安全,那这点慢就忍了吧。
先天的迟钝性毕竟不是先天性心脏病,但各路英雄为解决这一缺陷都曾脑浆沸腾,主要落实到两个方案上:
一是拓宽渠道:把原来双车道改成八车道,这样单位时间内能承载更多的信息流,这种方案的结晶分叉出了比特币现金BCH。
二是离线交易:矿工忙的时候不会例会压箱底的那堆小额交易,这是因为手续费激励不足导致的动力不够,那高频小额交易就由“小银行”帮你划转了吧,你就省钱省心吧,这种方案的结晶就是闪电网络。
比特币、BCH和闪电网络三者都没有违背CAP原理,后两者在比特币原有的严格一致性上给予用户更多可用性,但在更大交易量的冲击下,可用性和安全性是否会变形,还要让时间去考验它们。
保证比特币一致性的共识算法是POW,起点思路在于追求完美的一致性,于是只能牺牲很多的可用性。POW发动全网矿工边记账边猜数,猜到才能奖到,于是猜数字的算力逐渐演化为系统内的权力。
最终这种格局牢不可破,因为通过军训你也明白了同样的道理:面对强权只能服从。
后来发展出大家围坐一起客客气气的POS共识算法,系统挑出一些区块生产者,去掉POW的猜随机数环节,产生的区块交给符合条件的持币者验证上链。
这大大降低了达成一致所需的时间,可代价却藏在另外的角落里。一些POS算法会产生一个反直觉的结果:一个块可以在其后的块都最终确定后,依然处于未确认的状态,这样可能会折损系统层面的安全或稳定。
没有足够的时间验证,所以还没有定论。
POS之后,又降生了DPOS。所有持币者天然都有等比例的投票权,以此选出一定数量的区块生产者,不称职的生产者可被投出局,以此确保全系统的高效安全稳定。
从Steemit和Bitshares两个分布式应用顺利运行一到三年的结果来看,DPOS是当前扩展
区块链最出挑的共识算法。但它依然无法跳出CAP定理的五指山:再快的DPOS也无法在当下瞬间反馈全网其他节点的最新状态。
重回我们的军训场景,教官让你前后左右地转,不是让你晒得更均匀,而是让你更加习惯服从,让你不经思考、用神经反射回应他的口令。
你看,多军训的确可以让队伍更快排齐,但代价是你可能会逐渐失去深入思考的习惯,你会得意于教官嘴里那条廉价的表扬,但另外那一条条简单的口令,是我们这代人无处可逃、但要深深警惕的教导。
面对越来越复杂的世界,我们不能不保持深入思考。
结语
作为科学,CAP定理宣判了分布式系统天生的残缺,但工程学站出来说,我们可以在科学划出了白线上向外再凸两步。即使CAP定理将一直都在,用把力也许能让一般用户感觉不到这根天条的存在。
实际场景中需要思考的是:牺牲的一致性能获得多大的可用性,于是问题最终变成架在损益天平上的权衡。
权衡就是比大小,日常生活中,我们常常会用一点不那么要紧的代价,换得非常耀眼的好处。用做数学题的手法去做每个决策,看着很累,可一旦形成习惯就会给人生增色,因为你的决策系统会发生跃迁。
权衡是基于边际效用的决策思维,可以让你摆脱非黑即白的传统视野,帮你站到高处,理解原本思路的局促。
区块链的世界里,常常会看到认知的新边边界,这让我们不得不用类比这样的方法才能高效地溶解新知。我们专栏的风格也一贯如此:站在知识的精准性和可理解性两端左攀右比,让你能用最少的耗时溶解新知。
然而,类比本身并非最好,因为像的意思是不是。不带成见地观察、不失理性地校正,才是最好的学习方式。
——和菜头
我们不应该忘记和菜头的提醒,类比最终只是追求可用性的折衷,我们必须寻找更多方式和区块链世界的成长,保持一致。
版权申明:本内容来自于互联网,属第三方汇集推荐平台。本文的版权归原作者所有,文章言论不代表链门户的观点,链门户不承担任何法律责任。如有侵权请联系QQ:3341927519进行反馈。