中本聪的天才在于解决了去中心化电子货币的双重支付问题。
比特币的运行方式:一个多叉树,每一个节点都是反复计算散列算法的工作证明。由于只有深度最大的节点有效,因此多叉树自动退化成链表——区块链,而深度最大的节点所在的链就是主链。然后再用ECC公钥算法将工作证明变得可以转移,到了这一步事情发生了质的飞跃:这种工作证明变得有价值了。有了价值也就很快有了价格,而价格被投机者给折腾得如此不稳定,那是投机者的问题,不是中本聪能预料到的。至于有人把比特币用于违法活动乃至号称要革法币的命,直至各国央行出手,那都是后话了。
比特币是开源的,把源码稍微改改就成了山寨币,现在市面上已经出现了无数种山寨币。但是,正如歌词所唱:“画着你,画不出你的骨骼”,山寨币也许有某方面的改进,但从未出现过比特币那么大的创新。
到现在为止,我们一直在吃中本聪的老本,比特币再未出现革命性的改进。有段时间不少人在研究利用多重签名地址实现无需第三方的买卖,我也参加了讨论,但是后来并未能做出突破性进展。我想中本聪可能也考虑过这个问题,不然为什么要在比特币里加上多重签名的地址呢?
俗话说,坐吃山空。如果没有新的突破的话,比特币将会面临隐忧。容易想到的问题就是:区块链的体积问题。
假设每天要发生N个交易,在经过了t天之后,就有了tN个交易沉积在区块链中。这时进行交易就要遍历前面的所有交易,其时间复杂度为O(tN)。
如果改用黄金的话,由于黄金不能通过网络发送、需要称重量、查成色等问题,交易过程的成本显然要比发送一串数字高得多。但是黄金交易的成本再高,毕竟是一个常数(至少接近常数),不会随着时间的推移而升高,同样不会随着交易的人数而升高,不妨假设交易的成本是O(10^10)。与O(tN)相比,高下立判。
中本聪在设计比特币的时候就想了对策:一个区块里的所有交易组成一个树,区块链体积增大时,已经没有用的枝叶可以被剪掉,以节约体积。但是现在的客户端都没有认真对待这个特性。
还有个更常见的对策是使用轻客户端,比如MultiBit,但这属于绕开了这个问题,并没有解决这个问题。
我曾设想过用“合并签名”或“重复签名”来节约区块体积的方案(http://tieba.baidu.com/p/2883414792 ),不过这个是以大幅提高CPU负担和带宽负担为代价的,理论上可以有一些效果,实际上是否可行还不清楚,就算的确可行,那恐怕也是治标不治本,因为这个方案并没有解决根本问题。
中本聪的老本还能吃多久呢?
你觉得比特币区块体积多大是你能够接受的上限?你觉得全世界的比特币用户多少是你接受的下限?你觉得比特币还能够存在多长时间是你接受的下限?然后你假设,每个比特币用户每天进行10次交易,然后算一下平均每个交易是占多少个字节才能接受。
如果你算出来的长度无法容纳一个交易的话,那就说明比特币必需想办法丢弃旧的交易。现在中本聪的老本已经被吃得差不多了,我们还需要下一个中本聪。
|