“教主,你说我家的电脑,平常不玩魔兽世界的时候,就跑一个比特币全节点怎么样啊?”战士问。
“哎?你为何会有如此想法啊?这可不太像你一惯的风格。”
“就觉得这是件挺酷的事儿,顺便还可以学习下啊。你想,现在这么多币,都是比特币的徒子徒孙。自己机器上保留一份老祖宗比特币的全账本,是不是很酷?”
“没有区块奖励也行?”
“嗯,反正也杠不过 ASIC,也不指望区块奖励,就单纯搭个节点玩一玩。”
“Hmm……你这个想法,有点意思……”
------分割线------
近期在某社群中,发现有人在没有奖励的情况下,会在家用电脑上运行 BTC 全节点。这一情况引发了热烈讨论。这种行为其实不罕见,但颇值得琢磨一番,今天本文将对此事的不同观点做个归纳总结。各位读者仁者见仁,智者见智,也欢迎在文后留言交流。
非挖矿个人全节点,或许有意义
1、不给钱的事儿,会有人去干么?
在大多数人,尤其是大区块拥护者的眼里,比特币是一个“自带经济激励的分布式账本”,竞争记账权的核心动机,是为了获得经济奖励(出块奖励 + 交易费)。
正如亚当斯密在《国富论》中的那句名言:“我们不能借着肉贩、啤酒商或面包师的善行而获得晚餐,而是源于他们对自身利益的看重。”中国也有句老话:“无利不起早”。于是乎,自然会得出一个结论 —— 在当前 ASIC 矿机算力远超普通电脑数万倍的情况下,普通家用机运行全节点,已然不可能赢得哪怕是一丝一毫的挖矿机会。挖不到“矿”,自然也就没有奖励,而没有经济利益驱使的事儿,谁会去做呢?
你还别说,还真有人用普通家用机运行全节点,人数还不少!
2019 年 6 月的数据显示,比特币的活跃地址在 100 万左右。
而全节点的数量呢?也有大概一万,差不多是活跃地址的 1%。
众所周知,当前的 BTC 算力被几家矿池所把持。也就是说,1 万出头的全节点,有一大半,只是单纯的、只同步账本的全节点。这些人浪费着自己的硬盘空间,耗着电,到底图的啥呢?
2、动机?持有账本本身,便是武器
一位"用普通家用机运行全节点"的实践者提出了一个理论:“比特币本质上是一个全球性的账本,BTC 持有者是这个账本的主人,矿工只是主人雇佣来记账的工人!怎么能把权力让渡给工人?账本要主人自己保存。自己保存了全账本,矿工就翻不了天。而正因为成本大,所以需要小区块。因为区块小,所以 BTC 现在可以在普通电脑,甚至是手机上都运行全节点,普通人运行全节点,是为自己保管账本,有一点成本难道会不舍得么?你们家黄金多了,还要修个金库呢,你说是不是这个理儿?”
当然,你或许会想到一个问题,那便是:这些跑全节点的普通用户,有话语权么?当矿工想要作恶,或是分叉的时候,这些“全节点”们该如何阻止?他们如何去表达同意与否呢,毕竟没有算力,就相当于没有投票权。
解决的方法也很简单,让“作恶的矿工们”自由分叉去新链玩耍即可,这些“全节点”继续运行原链。比特币从来都给予人们分叉的权利,BCH 当年不也是这么分叉出去的么?
3、最底层的核心理念:神仙打架,凡人不遭殃
比特币全节点运不运行,和能不能运行,是两码事。能运行,就会有人去运行,比如现在全网近万的全节点;而且一定不会每个人都运行,更不是都不会去运行,正如相对于活跃地址,全节点的数量只占其中的 1%。
在小区块理念下,去中心化的魅力正在于此。你要作恶,要攻击,就分叉一条链出去,但只要有足够多的诚实个人全节点,就可以大概率保证原链的共识与价格超过分叉链。当然,价格由市场决定,市场认为哪个好,就是哪个好。从目前来看,坚持小区快的 BTC,在 2017 年经历了如此多的分叉之后,在价格与共识方面还没有受到任何实质性的威胁。
反对大区块的另一个重要原因也正是基于此。小区块下,个人可以选择不同意矿霸的争斗,神仙打架,凡人不会遭殃。矿工或是开发组要斗或是作恶,可以自由分叉出一条链去。但在大区块下,普通用户没有这个权利,当个人用户无力跑全节点的时候,也就堵死了他们分叉的权利,而比特币的一个核心特性,便是“允许分叉”。
一个不出块的全节点,可能只是镜花水月
1、这个世界,要的不只是安全,也不只是效率,而是一个平衡的妥协点。
在很多人看来,自己保存了全账本,矿工就翻不了天,这是一种安全的做法。
然而,这就像每个人买一个保险柜,把钱自己保管好一样。除了个别富豪,普通人有几个人会去这么做呢?
所谓保护,本质就是安全,安全的本质是什么又是最容易谬误的。安全是个概率问题,而测算这个概率需要非常多的知识,不是靠直觉臆断,甚至也不是靠定性推理,往往需要数学推算和实验。放到这个问题上,大区块条件下丢失账本的概率,和小区块下我有账本却不被承认的概率,哪个大?与其相信感觉,倒不如相信逻辑推理与经济激励。
2、如果说个人非出块全节点理论成立,那么大区块的前途呢?
当前 BTC 账本大概 200G,十几年后才能达到一个 T。一个 10T 的服务器硬盘 2000 多元,按照当前价格 1-2 万元的服务器 + 1 万元的磁盘阵列,做个 30-40T 的个人服务器,未来 10-20 年就算是 BCH 大区块的账本都够用了,这还是按照 BCH 32M 区块全部塞满了算。
那么,问题来了。BTC 上的个人用户,在不能出块的前提下,会有人愿意拿自己 5-6 千 的 PC 来跑一个全节点。那么 BCH/BSV 上,会不会有人愿意拿 2-3 万攒一台服务器来跑呢?
难道说,小区块和大区块之争,到最后的核心点,只在于 5-6千 与 2-3万 成本的差距上?这似乎……有点说不过去?
3、网络安全与未来共识
有三个因素,不得不考虑。
一是在当前 BTC 拥有一万台个人全节点的保护下,无论是有人花钱买一万台个人电脑,还是黑客控制一万台僵尸主机(目前全网的僵尸主机数量超过百万台),都可以在这种“非挖矿个人全节点”的数量上轻易超过诚实的全节点,届时,诚实全节点的作用将被大大削弱。
二是在“矿工合谋”的情况下,发生了之前所论述的分叉事件,如果绝大多数算力都去了新链,旧链几乎没有算力(或者说有的只是个人全节点的 CPU 算力),同时矿场再分一点 ASIC 算力攻击旧链,保证旧链无法交易,那么这条旧链,或者说所谓的原链,该何去何从?貌似只能更改算法……而一旦更改算法,想要维持最高的价格和共识度,恐怕就没那么容易了。
三是下一个十年,是关于 BTC 与区块链能干什么的 10 年,是关于 BTC 到底能不能安心做一个“电子黄金”,到底还好不好用的 10 年。在当前几乎所有链都没什么用、只能互相转账的情况下,原链 BTC 共识最容易维持,达到市场价格最高,的确没什么毛病。而这场小区块与大区块之辩,需要等到 BTC 足够不好用,区块奖励再经历 2次 减半,BCH 或者 BSV 链上 TX(转账) 大量起飞的时候,再来讨论,或许才有意义。
小结
最后想说,关于比特币,其实可以研究的东西很多,有时候你以为你了解,其实只是一知半解,当你以为自己是一知半解的时候,很有可能才刚入门。
不信,问问自己,你也许知道“挖矿,出块奖励,公钥私钥,双花……”,也对 BCH 和 BSV 的扩容之争和分叉历史如数家珍,但是你能够给别人讲清楚:
- “从来没有什么比特币,只有UTXO”这句话么?
- 比特币的区块结构,默克尔树,SPV 节点,隔离见证是怎么回事?
- 矿池是如何打包交易的,内存池是怎么回事,孤块是什么,前段时间 BCH 升级时一个多小时的宕机和回滚问题到底是怎么回事,BSV 那次 128M 区块压力测试下区块重组又是怎么回事……
- 甚至,比特币在脚本和双栈的架构下,真的是图灵不完备的么……
——End——
原创: 五火球教主
来源:白话区块链
『声明:本文为作者独立观点,不代表白话区块链立场,亦不构成任何投资意见或建议。』