本文适合不懂技术的朋友,将尽量减少术语的堆砌,使用大量的比喻,还原最开始的比特币交易的幕后机制。
比特币于2009年于中本聪提出,是一种去中心化、匿名化的数字货币。几个月前其价格曾接近20k美元,那时候媒体铺天盖地报道其涨势,为什么这样一个货币会有如此疯狂的市场现象,为此我们需要理解比特币的运作机制以及它和其他货币的本质区别。
我们平常用的货币统称法币,是由国家宏观调控发布,并以国家信誉背书。每当有一笔非cash形式的交易发生,比如刷卡消费,国家甚至商家都会记录并且可以追踪交易,银行在其中起了非常关键的作用。交易发生后,银行从消费者账户扣一定数额,并在商家的账户增同等数额,所有的转账交易记录都储存在银行,这种形式便是我们熟知的中心化,线上的转账一定会经过银行。在此,银行就像一位会计员,不厌其烦地记录所有参与者之间的交易记录。而在比特币的世界,是不存在银行的,是去中心化的。如何实现呢?所有人都承担会计员的职责!由于交易都是线上的,参与者们都是通过电脑或者其他执行比特币相关软件,一般都有能力储存大量交易记录,所以让所有参与者都充当会计员,记录所有交易,这并不是没有可能的。当然,现实生活中,只有一部分人充当了会计,剩下的因为各种原因不进行记录的参与者将完全相信那些一直在记录的参与者的真实性。下面我们通过一个充满乡土气息的例子来描述中心化与去中心化的区别。
在山的那头,有个村庄。村民们之间的互动只有发生交易(大雾),大家关心的都是最后谁有多少钱。在中心化的运作方式下,有一个村长给大家记账。当张三要给李四5块钱时,张三得向村长汇报,接着村长就会在张三的余额上减去5块,并在李四账户里加5块,并注明是张三给的。而在去中心化的运作模式中,村长是不存在的,每位村民手中都有一个账本,记录着所有的交易。当张三给李四汇5块时,张三得对着邻里大吼一声“我张三要给李四5块”。当邻居们听到这声音的确是张三吼的,确认了交易的真实性,则把这条交易记录在自个儿的账本上,同时对着其他没听过这条消息的村民们口口相传,其他村民也同样确认这消息的确来自张三,记录,如此往复。在比特币世界中,各位参与者(节点)通过一些密码学的加密解密方式确认消息的真实性以及不被篡改,再深入写下去就比较复杂了。如此下来,张三有多少钱,李四有多少钱,各位村民都可以通过自己的账本看得清清楚楚,这种去中心化的记账方式使得一个人拥有多少比特币不是由他自己说了算,而是由大家说了算,即如果其他人账本里写着此人没钱,那他就是穷光蛋,倘若大多数人账本里表面此人有100块,那么他就有100块,一种非常民主的记账方式。
如果仅仅是这样,最终每个人的账本都可能不一样。由于各种状况,比如暂时无法把消息传递给某些村民,或者某些村民听到“张三给李四5块”时听成了“张三给李斯5块”,甚至很多交易同时发生到达每位村民的时间不一样,导致顺序不一样等一系列问题。这时候最好大家能统一一下,比如最近一小时接受到的所有传闻。这样大家时不时能同步一下,减少分歧,使得整个系统能协调运作。这就需要一位村民提出自从上一次“统一”之后自己收集到的所有交易,并推荐给大家采纳,那么谁来提出这样一个时段统一的记录呢?这就涉及到我们经常在新闻中看到的”挖矿“。挖矿本质就是做一个只能靠猜才解的出的数学题,所有村民(其实是所有参与挖矿的)都在尽力做这么一个数学题,谁先猜对答案谁就可以把自己收集到的零散的交易打包成一个包裹,附上答案,打印并分发给其他村民。其他村民在接收到这个包裹后可以迅速验证数学题答案是否正确,并验证文件夹里的交易都符合真实性,便把包裹放在一堆之前接收过的包裹堆最上方,倘若答案错误或者有些交易不合法(验证失败等),则把包裹扔掉。在此,包裹就是我们常看到的”区块“,而一堆包裹就是”区块链“。最老的文件夹垫在最下,最新的最上,这是一个按顺序一个接着一个的链式结构。而密码学的一些方法可以防止村民篡改里面的文件;接收包裹后,村民能做的,只有要么放在文件堆的最上面,要么扔掉。在比特币的世界中,成功挖出矿,即成功解出数学题的村民,可以得到一定数额的奖励,目前是12.5比特币,相当可观。那些接收了包裹的村民也会向其他村民传播这个包裹的复制品,如果包裹没问题,最终大家都会承认包裹中的交易,这样就统一思想了。注意,在整个过程中,解出数学题的村民并不向其他村民询问是否接受,整个过程悄无声息。你想想,你手握几十万,去问你的竞争者有没有答对,不是找打嘛。
细心的朋友可能发现即便村民遵循包裹的分发模式,也不一定能保证每位村民屋里的包裹堆都是一模一样的,因为张三和李四可能差不多同时做出数学题,并向不同方向的村民们开始分发包裹,王五可能先接受到张三的包裹,但赵六先拿到李四的。为了解决不同村民收到的包裹顺序不一致的问题,比特币的运行规则有如下解决方案。首先,每个包裹都有编号,按顺序递增。例如,张三已经有98个收到的包裹,那么当他解答出数学题(基于包裹No.98生成的数学题),他可以打包一个包裹编号No.99,发布出去。而李四也同时做出,他打包的也是编号No.99,这时候其他村民则只会接受第一个拿到的包裹而舍弃第二个,因为它们编号一致,只能先来后到。假设之前98个包裹都是一致的,我们会发现村民们在第99个包裹上发生了分歧,王五的包裹No.99来自张三,赵六的No.99来自李四,这样岂不是又不统一了。没关系,这只是暂时的不统一。这里需要说明一下数学题的产生机制,数学题是基于每个村民家中最新的包裹而自动生成的,比如王五的数学题是基于张三的No.99生成,而赵六则是另一道题,但不论谁解出最新数学题,都可以制作包裹获得奖励。假设这时候赵六在接受李四的包裹后做出了新的数学题,他成功打包发送给其他村民。由于包裹中不仅仅有交易历史和答案,还有上一个包裹的概况,因此赵六发给大家的包裹No.100里传递了“上一个包裹是李四的No.99",而收到这个包裹的其他村民验证包裹的真实性和答案后,则不仅会只是把包裹放在最上,还会检查No.99是否是李四,若否,则会想方设法把自家的No.99包裹替换成李四发布的那款,比如向别的村民索要。看到这里或许有些乱,请容许我总结一下包裹的属性以及包裹的接收规则:1. 包裹具有编号,刚制成的包裹编号为包裹堆最上的包裹号加一;2. 包裹包含制作者自从上一次收到包裹这段时间接受到的合法交易记录、数学题的答案以及上一个包裹的出处;3. 接收包裹时,先扔掉不合法与答案错误的,如果有多个,则挑选号码最大的,否则保留最先拿到的;4.接收以后,会保证之前的包裹与此包裹所述一致,并确保包裹堆中每个包裹N与“包裹(N+1)指定的之前包裹出处”相同。通过这些规则,虽然在每位村民的包裹堆最上方几个包裹可能略有不同,但随着新的包裹的到来,下面渐渐都会统一。这种方法虽然看起来复杂,不如有一位村长裁定来的简单快捷,但正是比特币的创造团队坚信去中心化的未来趋势才极力避免任何裁决力量放在少数人手中。
以上就是比特币去中心化的一个速写,若有不周还望海涵。 关于比特币去中心化的意义以及未来的走势,笔者也在摸索中。但不论未来比特币的兴亡,去中心化这一模式的提出与成功运用必将是个不可逆的发明,即我们再也回不去没有这种运作模式的时代了,“一个人的命运啊,当然要靠自我奋斗,但是也要考虑到历史的行程”👓。