10分钟未必是最好的,但追求最好的是一种病——CSW《Money must first be stable》写了些什么
第0章 引言
比特现金社区月经帖,区块间隔时间要不要缩短,引来了澳本聪Craig Wright博士(下称CSW)的回帖,让我们一睹为快。
第1章 区块间隔时间被用来干什么了?
《M》一文开头花了大篇幅来讲比特币(BCH&BTC,为表述方便,本文不再区分BCH和BTC,统一称为比特币)系统在区块间隔时间内是如何工作的。
文章引用了SIRS传染病的感染模型来描述比特币区块在全网传播,SIRS将感染对象分为四类,易感染人群(susceptible),潜伏人群(exposed),感染人群(infectiouss),恢复健康人群(recovered)。比特币将节点类比为易感染人群,将广播区块类比成SIRS传染病,将验证区块类比成感染,将矿工计算工作量证明类比成恢复过程,将挖到一个新块类比成一个新的传染病源。
lol,有意思的类比,不过这不是重点,重点是SIRS传染病的传染模式确实是学术界广泛研究的论题,你去google搜索,会发现SIRS和小世界网络模型是大量的讨论,这是社交网络六度分割理论的基础知识。
从《M》文的论述中,比特币的区块间隔时间里,比特币系统主要在干这么几件事:1广播区块;2验证区块;3完成新区块的pow计算。为了方便描述,分别将这三个任务的时间计为t1、t2和t3。
在《M》文的第一部分结尾,CSW使用一张数据图表论证了t1+t2的时间是远小于10分钟的,10分钟的区块间隔时间主要花在了pow计算。从实际生产环节中收集数据,BCH&BTC的区块间隔时间10分钟里,t3的pow计算时间占据了超过90%以上的时间,而区块广播时间t1,和区块验证时间t2,加起来,在小世界网络模型中,是不超过1分钟的。
而比特币系统正常工作中,t1和t2是必须要保证的,即新生产出来的区块必须要有足够长的时间来广播到所有节点,所有节点也要有足够长的时间来验证区块,否则网络就会分叉。区块间隔时间绝对是要大于t1+t2的,这是讨论缩短区块间隔时间的必要前提,否则网络就不能正常工作。
t1又是孤块率产生的重要参数。如果两个矿池同时在t1时间内都生产出一个区块,那必然会有一个是孤块。
但t3是可以缩短的。pos就是大大缩短了t3的时间,因为pos不需要花时间去完成工作量证明的计算,而dpos则比pos的t3还要短,因为dpos的出块时间是有序的,轮到哪个节点出块就出。
如果要10分钟缩短,缩短的是Pow计算时间。
从《M》文开头看起来,CSW是可以支持缩短区块间隔时间的,这就奇怪了,Craig博士对10分钟的钟爱,就如同自己的命根子一样。
第2章 现在商业世界批量处理金钱交易的
《M》的第二部分话锋一转,讲了现实中的商业模型,Craig博士在第二部分开头就高调宣布自己是商业世界货币交易建模业中的佼佼者,在2006年和2007年参与过某某货币交易建模,对全球系统的货币交易时间分布了如指掌。
大意是在全球范围内,用户发起的交易量按时间分布不是线性的,有时多,有时少,分布在时间上呈某种指数分布。CSW贴了几张图片来证明这个分布。CSW认为比特币的交易也会按这种规律分布。
这种指数分布可以形象地认为是一种脉冲分布,即有高峰时有低谷期。如果区块按10分钟设定,大部分块都能在下一个块里被打包。按时间分布,高峰期会有比较大的块,在低谷期比较小的块,块大小分布呈现比较均匀,不会忽大忽小。
而如果将区块间隔时间缩短,比如1分钟,那区块大小分布按时间排开,就比较混乱,几个满块中间可能会插一系列空块,现的参差不齐,在高峰期发的交易,就可能无法被下一个区块打包,而是需要等若干个块。
但CSW没有详细论证这样的块大小分布有何不合理,为什么均匀分布就是好的,他没说。他应该默认认为均匀分布就很好,时满,时空,不好。他在2006年和2007年做的处理货币交易的项目应该就是按类似于10分钟来清算一次来设计的。
接下在第二部分,CSW就短暂地说明了区块间隔时间短会导致孤块率上升,这个我们在第一部分就说明了。CSW提供了一张图,说区块间隔时间在4到10分钟,孤块率大致相同,但小于4分钟,孤块率就大幅度上升。
但这张图应该不符合现在的网络情况了,现在的网络,在2分钟左右内的区块间隔时间,孤块率并不会比10分钟大多少。
第3章 货币更需要稳定
CSW接下来开了第三部分继续论述他的观点。一开头,CSW说10分钟不是最佳的,说是根本就不存在最佳的选择,并且要使比特币正常工作,需要5到20分钟(他又没有论证为什么必须是5到20分钟,但在接下来的论述CSW却又提供了1分钟区块间隔时间作为例子)。并且声明确切的最佳时间和时间、季节、用户使用量、电价等等因素有关。
然后CSW提出货币稳定最重要,所谓的稳定就是给人一个稳定的预期。对比特币来说,稳定的确认时间很重要,比如你知道当你发交易出去后,就一定会在一到两个出块后就一定可以得到确认,手续费也是稳定的,不需要额外的计算。
这里CSW提供了一张非常难懂的图,下面我只是猜测。因为用户发的交易量是脉冲式的,高峰时10分钟的区块间隔时间比1分钟更稳定的能获得下一个区块的确认,虽然获得确认的是时长都是相同的,但1分钟可能要在第1到10个块随机才能确认,而10分钟只需要在第1个块就得到了确认。而且1分钟的区块可能会在高峰期导致手续费竞价排名。
但我个人认为CSW,只是纯思辨式的推理,并没有提供充分的逻辑和证据。
接下来CSW又展开了矿工对不同区块间隔时间时打包交易和验证区块的区别,CSW认为在短时间的区块间隔时间里,对小算力的矿池更不利。但从文中找不到详细的证据。
第4章 不同的区块间隔时间的收益
CSW在第四部分否认了短区块间隔时间有利于提高商家采用率的判断。他认为对商家来说,需要3秒钟的时间来确认交易,而超过3秒种后,10分钟和1分钟是没差别的。不过同样的,CSW看来对此只是一个观点,并没有提供证据。
然后CSW提供了缩短区块时间的坏处。
最大的坏处就是改时间破坏比特现金的稳定性。每改一次,商家和构建在上面的软件都需要重新部署程序。CSW强调稳定性大于一切。
CSW甚至说10分钟是一个猜想,但是这是一个足够好的设定,可能5到15分钟都是可选项,但锁定协议稳定协议,更重要。
第5章 较长的区块时间会有更少的不确定性
在最后这一部分,CSW提供了一张我看不懂的图,说10分钟的设定让区块时间更接近正太分布,而更短的时间则只能使用幂律或指数分布等。然后就说,10分钟更稳定。但没有提供更多的论证。
然后CSW说说,没有完美的时间,比特币的块时间是一种折衷,但稳定性更重要。钱应该稳定。
第6章 结束语
我觉得,CSW这次的文章水平没有充分论证他为什么这么支持10分钟,基本上停留在思辨推理阶段,没有可靠的数学论证,也没有充分的证据。
略失望。
(欢迎加我微信号:HSL13116885 加入我的知识星球)
另请阅读:《比特现金是否应该缩短区块间隔时间?》