区块链科普(一)——分布式账本

之前受益于前任一直想自己发虚拟货币割韭菜,也算是学习了一点点区块链的知识。@xingyingtong 一直要求我写个区块链的科普,绞尽脑汁思考了好久,发现这个东西真的是非常难写。以比特币为首的区块链应用,的确结构和数学模型,更深的是经济学模型都非常巧妙,更加上里面又包含了加密学,分布式算法等复杂的的数学、计算机科学,所以解释起来非常的复杂,当然更关键的是,这里面的玄机,有很多我自己也没有完全啃明白,所以非常怕会误人子弟。

后来想了想,与其被市场上这种忽悠人的科普给蒙蔽,还不如我自己写,虽然不一定 100% 准确,但是至少比骗人的科普要好一点。

之前在公司团队内部我尝试过给非计算机专业的人讲过数据库,其实当时效果还不错。但是即使有这个经验,后来在分享区块链的时候,也遇到了极大的困难,可以负责任的说,不仅非专业的人一脸懵逼,连专业的人也一脸懵逼,我也终于明白了,为什么区块链骗人经久不衰的原因,真的是……太难解释了!

好吧,铺垫了这么多,无非是想说,如果你们看了半天依然不懂,也不要打我,毕竟这还不是面对面,而是通过文字,难度又加了一层的,哈哈哈哈。

言归正传,我们开始来讲。

区块链究竟是什么,就是分布式账本。什么是分布式账本,那就是比如你平时会记个账,比如今天吃了个冰淇淋,然后这个记账信息存在手机里了,就好了。过两天,手机挂啦(啊呸,乌鸦嘴),忘记钱怎么花出去了,又找不到,很麻烦啦。所以你下次记账的时候,可能就会记得手机里存一份,电脑里也存一份,这个两份账本,原则上来说就是个分布式账本了。

但是真正的账本可能更复杂,因为你的账本之有你一个人的记录,但是像银行,支付宝这样,会记录成千上万人的资金进出信息,情况还是会复杂很多。现在大多数这些金融机构,用的还是非分布式,我们专业名词叫集中式的数据记录方式(哎呀,不要听好多互联网公司异地灾备啥的),其实撑死也就个位数的数据中心,厉害一点的就是 google,也是可以计算的数量级,因为都是自己建的嘛)。

区块链牛逼在哪里呢,那就是任何一台服务器或者个人电脑(目前个人电脑大概是带不动了),你可以随时加入到这个记账的行列里,也可以随时退出,从理论上来说,可以支持无数台设备的存储,也就是说地球上有成千上万个设备去共同记录一个账本数据,是不是很牛逼,所以这个结构天然的带出区块链的两个特性:

  • 永不消失,除非所有的设备同时都完蛋了,理论上来说不太可能(但其实也很容易发生,这个后面细说)
  • 安全,比如银行系统,有人黑进了数据库,改了自己账户上的资金,那是不是美滋滋?但是区块链就不行了,你能黑了一台,你能黑了所有的么?你以为你是谁!

怎么样,是不是很好,所以我一直说,区块链是个好东西,但是被滥用了。

然后你说这有什么难的,那就是多记几份呗。如果是你想的,在一处记录,再全部拷贝的话,那叫备份,不叫分布式记账,现在区块链会做的是,你用户到任何一个节点(比如你去任何一个银行存钱),然后瞬间所有的银行的数据都被更新了(现在的银行做不到,现在数据还是存在你存钱的银行里,只是其他银行要跨行使用的时候,再去问相关银行要数据而已,实质的数据只是存在一处),那是不是很厉害。

你说那也不是很厉害,好,接下来这点,就是跟非专业人很难解释的,为什么这个很厉害。我尽量说的通俗一点,我们来举例子,假如我们就叫上 100 个小伙伴来一起记账,你会怎么做呢?

  • 好,我今天花了 100,你们每个人都记一下哈,好像也很简单?然后有人没听到怎么办?有人听错了怎么办?大家记的是不是就不一样了?
  • 跟固定的人说,让他先记,然后别人都去他那里抄,就不会错了,似乎可以,那好,这个人作弊怎么办?怎么保证这个人的公正性。
  • 你说好,我们每次随机选啊,怎么个随机法,可以保证公平?
  • 哦,忘记说了,你记的可能是钱,这 100 个小伙伴也不是在同一个房间里,你们得通过电话或者微信通知,钱这个问题,想使坏的人就很多了,万一就有黑客黑了你中间的链路,故意把钱记在自己账上了怎么办
  • 哦,还忘记说了,搞区块链的人还很矫情,非要匿名,不愿意实名,好了,所以你说你花了 100 块钱,我还真他妈不知道是不是真的是你说的……

说到这里,我希望你能理解这里面的难处,你要不理解我也没办法了,我已经累死了。

好了,下一章节我们来说说区块链,或者说比特币怎么来解决这些问题。

下一篇: 区块链科普(二)——比特币挖矿究竟是什么