![1620](https://ask.qcloudimg.com/http-save/yehe-1564362/suo74tbqqq.jpeg?imageView2/0/w/1620&x-oss-process=image/resize,w_1400/format,webp)
0
比特币和区块链系列0篇发出去之后,有些人表示了不满意,说我写的肤浅。非喜勿扰。尤其是那些从来没有对我的公众号贡献过什么。没赞赏过没提供建设性意见没转文章的伸手党,请你们起码说话礼貌一点,我不欠你们什么,你们爱看不看。
更多的人则请教了很多问题。之所以我没像很多装神弄鬼的文章那样上来大吹特吹区块链改变生命,又像很多人上来就说区块链是个大骗局,最主要的是因为我从来没看到一篇科普文章把区块链讲清楚。而飞总希望可以把这个概念以老少皆宜,不需要太多的计算机知识,也不需要装逼的方式让大家都能听明白。
但是做到这一点是非常难的。因为普通百姓的知识和区块链的核心知识之间有巨大的鸿沟。我必须通过几篇文章先把相关的背景知识的鸿沟都填上,才能比较有意义的去讨论比特币到底是什么,才能回答粉丝的问题:
- 区块链是用来造币的吗?
- 掌握区块链是不是阿猫阿狗都有了造币权?
- 10000美元一块的比特币怎么流通?
今天看到一个笑话,说读了区块链的科普文章之后,吃瓜群众就明白了区块链就是每个人都有一个账本。这个东西类似于某个小男孩某天跑去店里找售货员买卫生巾。售货员很吃惊的问小男孩为什么要买卫生巾。小男孩回答说看了电视广告,有了卫生巾之后什么下雨天下雪天,做各种运动的时候都不用怕了。我没办法回答粉丝们踊跃提问的问题的原因是,现在我来回答问题,只能够让听众变成那个小男孩,觉得买了卫生巾包治百病,却不明白背后的隐含的假设。
这个系列未来的两到三篇文章,我会集中在比特币上。为了说明白比特币是什么,我需要集中精力介绍一些背景知识,然后把这些背景知识都放在一起之后,大家自然而然就懂比特币是个什么玩意了。所以还请阅读的人有点耐心。
1
今天我们讲的问题是现实里的钱和网络上的电子货币,以及由这个钱诞生的比特币的主要技术问题。有些东西我们看起来很司空见惯。但是其实不是的。先说说现实里的货币。如果我们不考虑支付宝和微信支付,把时间倒退10年的话。现实里面的货币是很好理解的。
国家从造币厂印出很多防伪的货币,这些货币则通过银行发到了大家手里。所谓的钱是摸的着的东西。每个人手里有钱之后,又拿钱去换各种各样的东西和服务。所以钞票本身会从一个人手里到另外一个人手里。
在这里我们注意三点:
- 真钱是有实物的。实物上面有很多防伪标记。仿造出一份一模一样的真钱,从而一张钞票用两次只能存在科幻小说里了。虽然说有假币的制作,但是假的始终是假的。
- 钱这个实物在交易中进行了流通,从一个人流通到了另外一个人身上。
- 印钱撒出去花的国家,并不知道在某个特定的时候,具体某张钞票是在哪个人身上。
2
我们考虑一下用这样的方式来发行电子货币。国家造出了一堆的二进制代码的东西,作为货币。这些货币通过银行发给了大家。当然发的过程中,传输的是二进制的代码,每个人拿到手的也是二进制代码。
于是,张三可以拿着这些东西去买东西,而这些国家发行的二进制代码从张三转到李四手里。接下来李四又可以去王五的澡堂洗个澡,把电子钞票花出去,钱从李四转到了王五手里。
我想大家肯定要笑死了。现实生活里的电子货币不是这样的。这里有一个非常麻烦的问题。实物的钱,是一个非常难复制的东西。复制成本很高,被抓代价也很大。
但是二进制代码的复制是一件非常简单的事情。我们每个人把电脑上的文件复制一份,就是点几下鼠标的事情。这也同样适用于所谓的国家发行的二进制代码货币。所以此路不通。电子货币的发行方式,和实物货币的发行至少不可能是一样的。
3
那么我们看一下现实里我们实际上是怎么做网上支付的。今天的网上支付,在中国无论是微信还是支付宝。以支付宝为例吧,一般来说,首先是你得有个支付宝账户,然后得关联一张银行卡。然后,大家就可以把钱转到支付宝账户里了。
当消费发生的时候,首先要求收款方也同样有一个支付宝账户。其次是要双方都接入支付宝。这样,付多少钱实际上等同于支付宝账户上从你这边扣款,给对方账号里加钱。
这个过程听起来复杂,底层的实现更复杂一些。实际上是支付宝在各大银行都开了一个账号,都有大笔存款。每个用户从各个银行转钱进支付宝的时候,实际上进的是一个大账户。而接下来,每个用户在支付宝上到底存了多少钱,又是怎么样花钱的,是支付宝自己内部数据的转换问题。
在这个模式里,支付宝就扮演了这样一个角色,它知道所有的信息。它作为交易的中间方,它能够完成从一个账号到另外一个账号的转钱过程。
如果我们把这个上升到国家层面的话,相当于电子货币是存在国家有管理权限的你的账号里,然后每笔交易发生的时候,个人信任国家会做对的事情,从一个账号里减去相应的数字,再在另外一个账号里加上相应的数字。
4
我想这也不是特别难理解的问题。但是这个解决方案还是有一些问题,最大的问题是,在支付宝这个例子里,我们必须信任马爸爸。万一哪天马爸爸耍赖,说你的钱不是你的钱,你是这样花钱而不是那样花钱的,我们作为马爸爸的吃瓜群众,既没有足够的能力证明自己是被冤枉的,更无法阻止马爸爸耍我们。
绝对的权力总是有可能导致绝对的腐败的。作为电子货币来说,如果电子货币需要完全信任某个机构是永远不会做坏事的,无疑这是很危险的举动。所以用这种方式做做生意还行,站在国家层面发行电子货币,肯定是不好的。
但是这个问题其实也有一个解决的办法。这个办法的基本思想概括起来有两点:
- 把账本公布出来给大家随便看。张三李四王五阿猫阿狗都可以去查。所以每个人能够清楚的看到在什么时候谁给谁付了多少钱。这样一来,以后以后马爸爸想耍赖,也没办法耍赖了。
- 账本只能写入新的交易记录,任何已经写入的记录,一旦写入之后,永远也无法修改。如果有人试图去篡改,所有的人都可以发现。
5
这里最重要的问题是,我们怎么做到上面两条。账本公开,是相对容易的事情,但是一旦写入,谁也无法修改,就需要一些计算机的知识了。而通过计算机的知识,实现的这个账本,就是Block Chain,中文名叫区块链。
如果这个账本顺利实现的话,那么我们也不需要担心马爸爸以后耍赖了。一个集中管理,每个人一个户头,账本全透明公开,永远无法篡改的电子货币体系。我们有什么好担心的呢?
如果一定要担心,我们唯一感觉到不舒服的,就是那个唯一的负责所有发行货币和交易的中心了。既然是唯一的,总是有一些寡头的特权的。比特币显然不喜欢这种唯一性。
为了避免这种寡头的唯一性,在比特币这种去中心化的分布式体系里,我们可以引入多个寡头,让它们联合管理这个账本。但是联合管理账本这件事情就非常的复杂了。
这涉及到分布式系统里面一致性的问题。而图灵奖获得者Lamport说过,分布式系统的问题归根到底都是一致性问题。因此,所谓的区块链技术,在比特币这个环境下,我们最关心的是两个问题:
- 如何实现前文说的,公开透明,只读无法修改的账本?
- 如何在多寡头的分布式环境下达成一致,从而能够顺利记账?
这两个问题都会涉及到比较多的计算机知识。我会尽力在下面的文章里通俗易懂的回答这两个问题。所以所谓的区块链技术,涉及到的一个是账本问题,一个是共识问题。账本问题简单,共识问题更复杂。
有读者问本人对数字货币的态度到底是什么。简单一点说,我拿身价5%的钱投资数字货币。投资组合里以大币为主,小币则按照我自己对区块链技术的理解选择。本公众号的任何文章都只代表个人观点,不构成投资建议。
原文发布时间为:2018-01-19
本文作者:用户1564362
本文来源:腾讯云 云+社区,如需转载请联系原作者。