大家好!我是星际仓库的本小哈。通过前面几章的学习,我们可能对区块链有一个基本的认知了解。今天,我们将略微提高知识深度,谈谈如何创建一个区块链。说到这个话题,你可能觉得是时候看看下面的代码了,但是今天我要说的是区块链的分类和简单的工作原理。内容比之前稍微难了一点,但是我会说的浅一点,让你能明白一个大概。
一、区块链的分类
首先,区块链主要分为三类:公有链、私有公司和联盟公司。公共链是指一个完全分散的区块链,没有正式的组织和管理。任何人都可以发送事务,任何人都可以访问数据。节点基于共识机制工作。公共区块链是最早的区块链,也是目前应用最广泛的区块链。顾名思义,私链有一定程度的集中控制,换句话说,对数据的访问和使用有严格的权限管理。它可以由个人所有,也可以建立在公司内部。操作规则由个人或企业制定,并设置相应的权限划分。联盟链介于公有链和私有链之间。它指的是由几个机构管理的区块链。此区块链的读写权限和其他权限只对联盟成员开放。联盟是一种需要注册和许可的区块链,这种区块链也称为许可区块链。
二、区块链系统运行原理
1.3354交易欺诈防范机制的时间戳
了解了区块链的分类后,区块链系统是如何工作的?对于一个去中心化的系统,如何在一个没有信任的世界里建立一个信任系统,我在这里用其中一个数字资产的运行机制来解释。为了防止欺诈,中本聪创新性地给每笔交易打上了时间戳。系统会保证每十分钟生成一个块,这十分钟内的全网交易都会被正确的打上戳,然后计入块中。那么谁来盖这个时间戳呢?在社会上,恐怕没有一个活雷锋愿意花时间免费盖章。
2.竞争簿记机制
为了解决这个问题,中本聪创造了一种竞争性记账机制。在系统中,每十分钟举行一次基于密码哈希算法的数学竞赛,优先解决问题的人将获得一次记账的权利和25个数字资产的奖励。其他参赛者在得知有人解决后,会立即开始解决下一个问题。题目难度由节点根据解题速度自动调整,整体保持十分钟一轮数学竞赛的频率。曾经有人拟人化的解释过这个问题,在这里可以借用一下,以便更好的理解:“单身王找女票,国民婆婆说我女儿多,我给你出几个问题,给其中一个姑娘出个微信号。单身者疯狂竞争,想破脑袋解决问题。只要一个王家的人解决了一个问题,他就会骄傲地向全世界宣布,证明他们都是单身王。这个女孩是我的,所以放弃吧。其他单身汪就算不收也没办法。心烦不是问题。让我们马上去解决下一个问题。幸运的小王,一个喜欢赢的女孩,经婆婆同意,可以得到25个货币单位的彩礼。她简直是人生赢家。婆婆会通过解题的速度来调整题目的难度。有时候,解出这道题太难了。很长一段时间,没有哪个小伙子有能力上门提亲。她想过,但这是做不到的。这个女儿打不到手,只好降低题的难度。有时候难度太简单了。不到10个时间单位就嫁一个,那就更惨了。利用难度快速提升自己的技能。”
这个过程其实就是传说中的挖矿,数学竞赛就是计算能力的竞赛。那么如何证明自己是解决问题最快的人呢?目前最常用的证明机制是工作量证明,缩写为POW。那么什么是工作负载证明呢?比如一个工厂一天组装100部手机,从早上开始各种元器件就准备好了。晚上工厂就能收到组装好的100部手机。厂长虽然没有亲自监督计算100台手机的工作时间,但也能确定当天工厂的工作量。简单来说,你可以通过一个人人都可以验证的结果来确认你做了一定的工作。监控的过程是低效的,但是对结果进行认证以证明相应的工作量已经完成,这是一种相对高效的方式。比如你的大学毕业证和相关的上岗证,就是通过对成绩的考察而获得的一种证明。其实挖矿的过程就是建立一个全网的总账,矿工相当于总账的记账员。全网矿工全部核实记账无误后,这笔交易花了六十分钟才被区块链认定为合法。
现在,你对区块链的工作原理有简单的了解了吗?听到什么记账,什么权力,就再也不会晕了。如果还晕,再来一次就好了。当然,这是个笑话。区块链的工作原理远比这复杂。我只是尽量简化一下,让你知道一些主要环节。想了解深层代码的童鞋可以做更深入的研究。这就是我想说的。