【本文由赞我(zaneds.com)独家冠名】
01
“老铁,你最近在忙什么啊?”
“呦,什么风把你给吹来了?我的大忙人。”
“唉,别提了,这不最近熊市有点让人上火,找你来喝两杯。”
“这敢情好,对了,是不是还有什么牛市?”
“你还知道牛市,不错,我看你脑袋挺灵光的,可别整天尽想着赌钱。”
“这你都知道,真神了。我这点糗事,你就别提了。来,咱哥俩喝酒。”
“好好好,喝,干杯!”
三小时后,两人喝得趴在桌上人事不知。
02
迷迷糊糊中,我醒过来。一看,不远处有张老旧长桌,桌上放着一把算盘,一个穿着灰色长衫之人手指不停地拨着算盘。我走进仔细一看,咦,这不是老铁吗。
老铁回头淡定地看我一眼,说道:“醒了,还不快干活去,一会儿要是让大当家的知道你在我这边偷懒,非得把我也骂一顿。”
“干活?干什么活?”
“你小子是不是脑子睡糊涂了,你这个做杂役的,还不赶紧打扫卫生去。”
“我杂役?我......那你是什么?”
“我是账房啊,我和你一起来到这儿,我都当账房三年了,可惜你啊如今还是一小小杂役。唉。”
我晕、我吐。我面如潘安,一代学霸,竟沦落至此,老天爷,你怎么搞的?不行,我不甘心。
03
接下来,我一有时间就盯着老铁。经过长期观察,我发现了老铁有一个秘密。他每周总有一天要出去,去赌场玩两把。凭他的这个烂水平,输多赢少,但他每次回来,都很淡定,有时还带着笑容。我就奇怪了,哪有输钱了还笑得出来的,一定有哪里不对。
果然,有一回我打扫账房间,老铁不在,我就随手翻了翻桌上的账本。不翻不知道,一翻吓一跳。原来老铁竟然做假账,唉,这点小伎俩如何能逃得过我一个学霸的火眼金睛呢。他本性不改,竟偷偷挪用银子,怪不得输多少他都不担心呢。
怎么办?说还是不说?我内心挣扎半天,最后还是觉得这是我翻身的机会来了,千万不能轻易放过。我把事情如实汇报给了大当家,大当家听了后火冒三丈,恨不得拿把刀把老铁给砍了。可是他心软,毕竟老铁也做了这么多年,账目都是他经手的,不能一下子把他架空啊。
于是,大当家跟我说,叫我以后也记账,他还不放心,又叫来两个人,说四个人轮着来记账,这个月老铁,下个月我,账本被大家轮流保管着,如果接手的人发现上一个人的账本记得有问题,马上汇报。
04
大家说,这样是不是挺好的,没有漏洞了吧。但是,江山易改,本性难移。老铁赌瘾又犯了,他想了个法子,轮到他记账时,他说一不小心碰倒了蜡烛,账本被烧掉了好多页。其实,他又中饱私囊了,然后继续跑去赌场送银子。
这种恶习不能开头,一旦开了头,就一发不可收拾了。其他两个人,也开始效仿老铁的做法,结果问题越来越严重,这账本相当于失真了啊。怎么办?一定要想办法制止。
快动脑,咦,有办法了。四个人,每个人都有一本账本,一模一样的,每笔进出大家都要做记录。如果其中的一个人改动了账本,必须要通知其他三人,这三人在自己的账本上同样记上一笔。如果发现新改动的账目不对,可以拒绝接受,到最后,以大多数人都一致的账目表示为准。
当我把这个新方案报给大当家,大当家当即拍案叫好,还表扬了我。新方案立即实施,果然,再没发生过账本问题。如果真有人不小心损坏了自己的账本,只要找到其他人去重新复制一份就行了。只是苦了老铁啊,看他整天愁眉苦脸的样子,我也爱莫能助。
05
老铁的积极性越来越差,时间一长,他开始偷懒了。他跟我说,反正账本都是一样的,那么你记好后,拿来我抄一下不就行了。这家伙,我真想揍他一顿。小时候上学就老抄我作业,现在又来这一套。我辛辛苦苦付出,你直接享受成果,这哪成?不公平。
最终大家开会决定,每天早上掷骰子,根据点数决定谁来记当天的账,其他人只要核对一下,没问题就复制过来。这下公平了,谁来记账老天爷决定。
过了段风平浪静的日子,这天,大当家来账房查帐,他对于我们记账方式的改革深表赞赏。他说,为了鼓励大家的积极性,每天被掷到要记账的人,可以发一些奖励,从当天的记账总额中划出一定的比例奖励。
一听有奖励,这下老铁来劲了,本来他就会赌,掷骰子想掷几就掷几,这段时间老轮不到他。这下好了,他频频中标,每天乐呵呵的记着账,再无苦瓜脸了。
06
第二天醒来,我头痛欲裂,老铁在旁边,我们竟然都在沙发上将就了一夜,只是昨天是怎么回来的呢?记不得了。
老铁眼一睁,马上起来就问我:“风哥,昨晚怎么回事?我怎么穿越了。”
“估计是你平时看穿越剧看多了吧,老天让你亲自感受一回。哈哈。”“好了,不跟你开玩笑了,你搬个小板凳坐好,哥给你讲正经的。”
上面我们最后的记账方法,其实就是区块链中记账方法的雏形了。接下来要跟你讲几个专业术语啦。
1、节点。——区域链并不是通过人来记账的,而是通过一种软件,我们称为区块链客户端。上面的故事中,我们四人就相当于一个个的区块链客户端软件,它们运行在不同的设备上,彼此之章间独立工作。而运行中的客户端软件则被称为“节点”。
2、网络路由。——节点运行后,彼此之间会认识一下。通过互相的转介绍,大家形成了一张网,有什么事只要招呼一声,立即消息就会传遍整个网络节点。在区块链软件的结构中,这种互相通信的功能称为“网络路由”。
3、共识算法。——怎么理解呢,跟上面的“掷骰子”差不多,设定一个规则,通过这个规则选出一个记账的节点。之后,这一段时间内的账务数据都以这个节点记录的为准,这个节点记录后会把数据广播出去,告诉其他的节点,其他节点需要通过网络来接收新的数据,验证一下,如果都符合要求,就存储到自己的账本中。
4、挖矿。——系统设计一种激励机制,负责打包数据的那个节点可以获得奖励。有些区块链系统在这个环节会设计出一种带有竞争的机制,让各个节点去抢,谁能抢到这个机会谁就能获得打包数据的权力并同时获得奖励。我们将这个竞争的过程称为“挖矿”。
5、密钥。——系统中如何标记不同的使用者?是通过一种密码算法来实现的,叫公共密钥算法。它拥有两个密钥,一个叫私钥,一个叫公钥,公钥是用来用户身份识别的,可以公开,私钥要自己保管好。它们跟虎符一样,是彼此配合使用的,可以互相用来加解密。用公钥加密的数据必须用对应的私钥来解密,而用私钥加密的数据必须用对应的公钥来解密。
6、脚本系统。——举个例子:如果今天都不是我们俩记账,但我要发送给你一张支票,怎么传送呢?如果直接发,可能会被那个记账的人拿到,风险太大。正解是:我在支票上用你的公钥加个密,然后再用自己的私钥签名。这时其他任何人拿到支票都没用,因为只有你才有自己的私钥,才能解开这张支票来使用。这种功能设计在区块链系统中称为“脚本系统”。
最后总结一下,我们今天讲的是区块链的技术理念。就是大家共同来参与记账,通过一种规则不断地选出账务打包者,其他节点接收验证,并且每个用户都有一对密钥表示自己,通过脚本系统的功能实现在公共网络中定向发送有价值的数据。
好了,老铁,今天就跟你讲到这儿吧,估计再讲下去你头又要大了。咱们下回再聊。