2021-04-23 15:06 | 出处: 行走
本篇笔记来自一档有声播客类节目《晚风说》,还有另外一个名称也是微信公众号的名字:禅与宇宙维修艺术。
谢晗剑曾在币乎做过直播,今年的3月3日,当时的主题是“Nervos2021年路线图全解析”。行走当时没有输出那篇。这篇《比特币祛魅》会更科普,也会更好玩。
“祛魅”这个词是行走个人很喜欢的,带有哲学的多重意味。祛魅源于马克斯·韦伯所说的“世界的祛魅”。比特币基于区块链、密码学技术,高擎的是科学的旗帜,当然理应也可以祛除前科学时代的“魅”。但同时我们也能看到,在比特币社区、加密货币社区,对技术的不理解,对项目代币短期价格的执着,对财富的热忱追逐又产生了新的“魅”。祛魅和返魅一体两面,共生并存。
这场对话有两个多小时,行走会分四期输出笔记。今天是第二篇,从算力即权力的误导性开始,引出了分叉这个概念。阅读前,我们可以先自己试着回答一下:区块链为什么不仅是算法层面、技术层面的共识,更是社会层面的共识?
以下,Enjoy::
晚风说:这就是为什么在虚拟货币中要说算力即权力的原因吧?
谢晗剑:算力即权力这句话不能说完全错,但有很大的误导性。
这会让人们觉得比特币的网络里好像是矿工说了算,因为他们有最多的算力,想怎样就怎样。但事实上并不是这样的。
这里有很多角度。首先即使你有51%的算力,能做的最坏的事情是双花攻击。以刚才转账的例子。Alice是坏人,给Bob转一百块钱,创建了转账100块的交易发到全网,被打包到区块里挖出来。如果Alice有超过51%的算力,他可以在给Bob转账的同时,给Daive也转账。Alice总共只有100块钱,但同时给两个人转账。
这两笔交易一定有一笔要失败。但因为Alice有51%的算力,可以先让好人的链打包给Bob转账的100块钱交易,假如付了这100块是买了一个手机充值服务。Bob给Alice做了充值,成交了。Alice就可以开始使坏,开始把超过51%的算力挖一条分叉的链。分叉的点在Alice给Bob转账之前的区块。Alice会沿着老区块挖一个新的链,新的链包含Alice给Darvi转账100块的记录,不包含Alice给Bob转账100块钱的记录。
而因为Alice的算力超过51%,总有一天Alice的链会更长。总有一天全网的节点会认为Alice的链记录的账本是对的。实际就是把Alice给Bob的转账回滚了,就不存在了。但Bob已经给Alice充值了。
51%算力可以实施双花攻击。但不能做到的是把Bob在链上拥有的100块钱花掉。这是密码学保护的,而和共识没有关系。
第二是在比特币网络中会有不同类型的节点。打包交易出块的节点我们称之为“矿工”。这个网络中还有一些节点是不挖矿的,就同步区块。就相当于志愿者,愿意来保存副本,增加网络的冗余度。这些志愿者同时也是一道防火墙。如果矿工作恶,直接把比特币网络上别人的钱给花掉了。这样全节点会拒绝这个交易,会认为这个交易是不合法的。
比特币的网络中不可能花别人的钱是因为有全节点作为防火墙,会挡掉不合法的交易不去广播。所以即使矿工发邪恶的交易,也不会被网络所接受。
晚风说:假设如果作恶的人用51%的算力做了双花攻击,相当于比特币作为虚拟货币的信用就崩溃了?这是不是也是一种风险?算力即权力,但算力也是财富。如果比特币的信用和价值崩塌,有51%算力的人其实手里的币也就不值钱了。
谢晗剑:是的,信用的风险是一方面。更多是需要时间来教育的。在还没有发生这件事情(双花或其他51%算力攻击)值钱,大家肯定都认为比特币是特别安全的,怎样也不能被攻击。大家对比特币的信用预期会在很高的点位上。
但攻击是可能发生的。不是世界上一定没有人能够控制网络51%的算力。比如在文献中,大家经常讨论的一种攻击形式是国家攻击。当一个主权来攻击网络的时候,拥有巨量的资源可以来控制算力。这个时候确实是有可能做到51%攻击的。
发生的,首先就是信用崩塌。市场肯定要崩溃一次。但崩溃之后是不是就是归零,比特币就死了?我觉得可能不是。在发生了这样的攻击之后,大家要去思考下一步挽救的方法是什么。
区块链不仅仅是一个纯粹的技术系统,还是一个社会共识系统。当攻击发生时,虽然老的一条链在技术上暂时已经没法用了,已经被51%的算力攻击了。但我们依然可以去分叉它。因为比特币的代码都是开源的,并没有人阻止我们对代码进行改进,对共识规则进行修改。之后如果世界上所有人都承认这条新的链,这就成为了社会共识。
比如在比特币的生态系统中有非常多的服务商,钱包、交易所、在比特币链上做支付服务的。服务商会提供服务给几千万甚至上亿的用户。当攻击发生时,很重要的是生态参与者的态度。
首先,如果我们在技术上,做了共识规则上,甚至挖矿算法上的修改,使得可以用来攻击老的链的技术,或者是硬件、挖矿设备,不能用来攻击新的链。这就是在技术上做了防护。
第二,数据都是公开透明的。比特币上的用户并没有被任何人绑架,用户是可以自由迁移的。可以把用户副本转移到新的链上来。
第三,假设所有人都同意这条新的链才是比特币,老的链已经不是了,只是比特币的青春期。现在比特币长大了,它经受了一次51%攻击。所有人都在用新的链。
晚风说:有种散户大战华尔街的感觉。庶民的胜利。
谢晗剑:是会有这样的感觉。区别是,选择新链的过程是更加公开透明的。在散户大战华尔街的过程中其实并不是数据公开透明的,我们看不到其中的数据。但比特币上,链上数据每个人都看得很清楚,可以清楚的知道发生了什么。我要不要选择新的链。
这样的事情可以认为叫“硬分叉”。这就是为什么区块链的社区中总在讨论硬分叉还是软分叉,硬分叉之后我们要跟着谁走,是向左还是向右。
你会发现,比特币十年的历史中发生了大量(关于硬分叉)的讨论和实例。它确实是社会共识。每次硬分叉的时候,本质都是有人觉得要向左,有人觉得要向右。他们都在拼命的说服社区,让大家都同意确实要向左或者向右。他们也在拼命的说服生态中所有的角色,交易所、钱包跟着他们走。只有有人跟着你走的时候,你的生态才是有活力的,会继续维持下去的生态。
其实要Fork比特币非常简单,代码都是开源的,数据都是开源的。一个人也可以Furk。问题是没人会理你。
晚风说:好民主的感觉。你说的硬分叉的例子是不是在以太坊上真实发生过?
谢晗剑:以太坊上真实发生过。但以太坊上的哲学和比特币是不太一样的。
晚风说:当时以太坊上新的共识建立是因为什么事件?
谢晗剑:可以首先说下大的背景。以太坊是比特币之后一个新的区块链。是更加为去中心化的应用优化的区块链。以太坊因为要去承载不同的应用,设计中又没有办法前提设想未来会有什么样的应用,以及这些应用需要什么样的技术支持。所以在一开始时没有办法把所有的设计都想好。一定会出现一开始想象不到的东西。
所以以太坊要采取和比特币不同的思路。比特币是从一开始就想好了,就要做一个支付系统。所有的功能都在那,该怎么样就怎么样。比特币是一开始把所有的都想好,之后就不做任何改变。
以太坊是认为一开始想不好所有的东西,所以一定要一直改变,一直通过硬分叉的方式改变。所以以太坊的历史中有非常多的硬分叉。我们可以把硬分叉理解成以太坊的技术升级。大部分的硬分叉是技术升级。硬分叉是给以太坊的虚拟机增加了这样、那样的功能。这些功能只有通过硬分叉才能部署到整个以太坊网络里,部署到所有的节点。这些新增的功能确实是为了网络更好,为了更长远考虑的。所以大家就一起协调一下,一起硬分叉。所以这样的硬分叉会比较顺利。
但也有例外,以太坊历史上曾经发生过很严重的盗窃事件。当时在以太坊上有个应用THE DAO,这个应用类似大家来众筹一个风投基金。有个人在以太坊社区非常有名,他说大家可以把钱都交给我管理,我帮你们投各种新的项目,有可能获得更高的回报。大家觉得以前没有过,很牛就都来参与。
这个项目当时融了可能1.5亿美元。这是非常疯狂的想法。这个众筹项目就直接排到了当时历史上所有众筹项目的排行榜前三或前五的位置。大家发现在区块链上可以实现类似众筹网站做了好几年才能做成的效果。大家都非常兴奋,都往里投钱。但这个应用的合约出了问题。导致所有的钱都被偷走了。THE DAO丢了很多很多钱。
晚风说:好像也有人怀疑是团队自己做的。
谢晗剑:基本上不太可能是。但钱被偷走的事件基本影响到了当时以太坊社区中所有的人。不仅影响到所有人,还影响到以太坊长远的规划。以太坊的长远规划是在几年后从POW转移到POS。POW是刚才介绍的比特币用的共识方法,工作量证明。
但区块链世界中很多人热衷于新的共识方法,POS权益证明。你拥有区块链上多少代币,你就拥有多少出块的权利。
在POW中,是你拥有多少算力就有多大概率出下一个块。在POS中是拥有多少代币,就拥有多大概率出下一个块。
以太坊是很早就规划好要往POS转。但问题是当时很多人把代币都投到了THE DAO中,TEH DAO汇集了当时整个以太坊生态中10%的代币。这些代币又被一个人偷走了。很自然的后果是,如果未来以太坊从POW切换到POS,这个人会有很大的话语权。这是影响长远的大问题。
这就是当时社区争论非常久的,到底应不应该通过硬分叉的方式把这些被偷走的钱救回来,还是遵循“代码即法律”,偷了就偷了,那是THE DAO项目的程序员太烂了。争论了很久,最后觉得还是要硬分叉,还是要把这些钱拿回来,不能让他影响更长远。
所以当时做了一次硬分叉。但当时争论非常大。这和我刚才说的为了技术升级的硬分叉是不一样的。为了技术升级的硬分叉所有人都会同意升级节点,认可技术升级好。
但THE DAO的硬分叉有些人就不同意,认为亵渎了区块链的精神。这部分人就不接受新的链。刚才说了,硬分叉就是生造出一条新的链。这些人不同意新的链是正统,认为老的链才是正统,我们要去发展老的链,要继续开发它,继续在它上面挖矿、出块、继续打包交易。我们要把以太坊刚创立时候的精神继续发扬光大。那个项目就是ETC,就沿着老路走下去了。
晚风说:说回到比特币的工作量证明。最开始挖矿的设计是为了奖励共同维护账本的矿工,让他们有动力继续去维护账本并且记录真实的数据。也就是说最开始比特币这个币的作用并不是想让自己涨很多倍,想让大家为了挖币而挖币。
其实比特币最开始是想要做支付系统对吗?
谢晗剑:对,比特币的白皮书讲的就是要做支付系统。
晚风说:所以这是今天真实的比特币和最早的设计最不一样的一点。
谢晗剑:其实不一样的地方非常多。这也是很有意思的地方。
你会发现一个东西是会随着历史的进程改变自己。比特币最初只是想做一个匿名的支付系统,到现在比特币的叙事narrative已经不再是要做一个支付系统。基本比特币社区已经形成了共识,比特币做支付不靠谱。
首先价格波动大,其次现在这么贵的情况下,做一次转账手续费突破天际。太贵了,做支付根本用不起,和支付宝比差远了。
那比特币适合做什么呢?现在的新叙事是,比特币是黄金。它具有数字黄金的特征。比特币特别贵。它的价格有波动,黄金的价格也有波动。大家平时也不爱动它,这点和支付是截然相反的。支付是每天会有来往的流水,黄金则是放在那不会动,只是储值的资产。
包括比特币的代码也经过了很多次修改。比如中本聪刚发布版本的比特币代码,其实有不少BUG,很多功能是不完善的。在十年发展过程中,BUG慢慢被发现,有的是通过攻击被发现,有的是安全团队自己发现的。BUG被一一修复了。
二是在功能上也得到了拓展。比如重要的变化是隔离见证。有了隔离见证就能做更多的事情。比如闪电网络等一系列的事情。现在比特币还在不停的进化。但总的来说,比特币在技术上是非常非常非常非常保守的。
比特币是已经承载了太多价值的系统,大家都不太愿意去改动它。所以比特币进化的速度就会很慢很慢。
晚风说:那你个人认同现在比特币的叙事吗?
谢晗剑:我挺认同的。
以上是笔记的全部内容,阅读愉块。