“教主,你说我家的电脑,平常不玩魔兽世界的时候,就跑一个比特币全节点怎么样啊?”战士问。“哎?你为何会有如此想法啊?这可不太像你一惯的风格。”“就觉得这是件挺酷的事儿,顺便还可以学习下啊。你想,现在这么多币,都是比特币的徒子徒孙。自己机器上保留一份老祖宗比特币的全账本,是不是很酷?”“没有区块奖励也行?”“嗯,反正也杠不过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大区块的账本都够用了,这还是按照BCH32M区块全部塞满了算。那么,问题来了。BTC上的个人用户,在不能出块的前提下,会有人愿意拿自己5-6千的PC来跑一个全节点。那么BCH/BSV上,会不会有人愿意拿2-3万攒一台服务器来跑呢?难道说,小区块和大区块之争,到最后的核心点,只在于5-6千与2-3万成本的差距上?这似乎……有点说不过去?3、网络安全与未来共识有三个因素,不得不考虑。一是在当前BTC拥有一万台个人全节点的保护下,无论是有人花钱买一万台个人电脑,还是黑客控制一万台僵尸主机,都可以在这种“非挖矿个人全节点”的数量上轻易超过诚实的全节点,届时,诚实全节点的作用将被大大削弱。二是在“矿工合谋”的情况下,发生了之前所论述的分叉事件,如果绝大多数算力都去了新链,旧链几乎没有算力,同时矿场再分一点ASIC算力攻击旧链,保证旧链无法交易,那么这条旧链,或者说所谓的原链,该何去何从?貌似只能更改算法……而一旦更改算法,想要维持最高的价格和共识度,恐怕就没那么容易了。三是下一个十年,是关于BTC与区块链能干什么的10年,是关于BTC到底能不能安心做一个“电子黄金”,到底还好不好用的10年。在当前几乎所有链都没什么用、只能互相转账的情况下,原链BTC共识最容易维持,达到市场价格最高,的确没什么毛病。而这场小区块与大区块之辩,需要等到BTC足够不好用,区块奖励再经历2次减半,BCH或者BSV链上TX大量起飞的时候,再来讨论,或许才有意义。小结
最后想说,关于比特币,其实可以研究的东西很多,有时候你以为你了解,其实只是一知半解,当你以为自己是一知半解的时候,很有可能才刚入门。不信,问问自己,你也许知道“挖矿,出块奖励,公钥私钥,双花……”,也对BCH和BSV的扩容之争和分叉历史如数家珍,但是你能够给别人讲清楚:“从来没有什么比特币,只有UTXO”这句话么?比特币的区块结构,默克尔树,SPV节点,隔离见证是怎么回事?矿池是如何打包交易的,内存池是怎么回事,孤块是什么,前段时间BCH升级时一个多小时的宕机和回滚问题到底是怎么回事,BSV那次128M区块压力测试下区块重组又是怎么回事……甚至,比特币在脚本和双栈的架构下,真的是图灵不完备的么……
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。