文 | 浮生
来源 | 财链社
今天文章的开头我们先不聊区块链,先聊聊民间最受大众喜爱的娱乐项目——麻将。
麻将起源于中国,原属皇家和王公贵胄的游戏,其历史可以追溯到三四千年以前。在长期的历史演变过程中,麻将也逐步从宫廷流传到了民间。
关于麻将的起源说法不一,其中最有趣的莫过于“水浒麻将”。
传说万秉迢生于明朝,此人甚爱《水浒》,被梁山上的108位好汉深深折服,于是便想做一副娱乐工具来纪念他们。
经过几天精心设计,终于研制出了麻将牌。他把麻将牌设计为
108
张,暗喻《水浒》中的
108
位好汉。例如九索就是“九纹龙”史进,二索就是“双鞭”呼延灼
...
等等。
这108位好汉,因分别来自四面八方,于是牌中有东、南、西、北各四张。而梁山泊聚义的群雄有贫有富,出身各异,因此又设中、发、白。发者是发财之家,白者是白丁、贫民,中者是中产人家。麻将又分万、筒(北方称饼)、索(北方称条),即是发明万秉(饼)迢(条)的谐音。
从此,麻将也就诞生了!
之所以要从麻将的起源说起,是因为
麻将就是中国最早的区块链落地应用
!今天我们就来说说麻将关于区块链那些事
...
“麻将白皮书”
周末到了,张三准备约上几个好友出来打麻将,于是就打电话约了李四、王五、赵六组了个麻将局。
而张三想打麻将的想法就相当于创建一个区块,而他再以打电话点对点的形式通知了李四、王五、赵六这个动作就做到了
“去中心化”的点对点传输
。
于是张三、李四、王五、赵六就形成了共识,坐到了一起开始打麻将。四个人会分别摸
13
张随机分配的麻将,通过摸一张打一张的形式来将麻将规范化的排序来和牌。而这里面摸打的动作就可以理解为“挖矿”,四个人就是“矿工”,
108
张麻将就是哈希值。而
胡牌就是碰撞出了正确的哈希值
,就可以获得相应的筹码奖励,也就是所谓的比特币。
那么问题来了,为什么其他三个人都会主动给和牌的人奖励呢?那是因为这三个人都自动达成了共识,这人确实赢了,大家都记录了这笔账,想抵赖是不行的,不然以后传出去这人品不行,就没人再和他一起打麻将了,毕竟圈子很重要。
同时,在大家达成共识时,我们看不到任何中介或者第三方出来评判谁赢了,大家给赢得人的奖励也不需要通过第三方转交给他,都是直接点对点交易,这一过程就是去中心化。
四个人(矿工)各自记录了第一局的战绩,王五大胡自摸七小对,赵六杠了张三的幺鸡,记录完成后就生成了一个完整的区块,但要记住,这才只是第一局,在整个区块链上,这才仅仅是一个节点,如果那天一共打了
20
盘麻将,也就是
20
个节点(区块),
20
个区块连接在一起就形成了一个完整账本,这就是区块链
。
因为这个账本每人都有一个,所以就是
分布式账本
,目的就是为了防止有人篡改记录,打到最后,谁输谁赢一目了然。
整个过程,将区块链技术体现得淋漓尽致。
什么是哈希值?
上面我们说到了和牌就是凑出了正确的哈希值,那哈希值是什么呢?
会打麻将的人都知道,第一首摸起来的13张牌是随机分配的,杂乱无章,毫无规律,所以打麻将的人需要把这
13
张麻将凑成规律的牌就赢了,也就是俗称的“和牌”。
那么实际上在区块链里,比特币挖矿也是一个道理,比特币“矿机”就是运算特定的哈希值,谁先算出来,谁就赢得一个比特币的奖励。
也就是说
哈希值是文件的身份证
,不过比身份证还严格。他是根据文件大小,时间,类型,创作着,机器等计算出来的,很容易就会发生变化,谁也不能预料下一个号码是多少,也没有更改他的软件。
哈希算法将任意长度的二进制值映射为固定长度的较小二进制值,这个小的二进制值称为哈希值。
哈希值是一段数据唯一且极其紧凑的数值表示形式。如果散列一段明文而且哪怕只更改该段落的一个字母,随后的哈希都将产生不同的值。要找到散列为同一个值的两个不同的输入,在计算上是不可能的。
如果上述的概念太过于抽象,笔者就给大家举个简单的例子:
互联网上的每一张图片都具有其特定的哈希值,就是这张图片在互联网时间的编号。比如把下图进行映射,会获得一个全宇宙独一无二的哈希值。
这个值是:
5088698dc898f8e5c86ef0a8948b68e02c6c1c6e
这个哈希值,就是这张图片在互联网时间的编号。
那互联网中的信息接近无穷大,哈希值真的够用吗?答案是肯定的,而且过剩。哈希值的数量达到2的
80
次方个以上,这个数量超过宇宙中所有原子的总和。
那哈希值是如何得出来的呢?
哈希值其实上是数学里的一种散列函数,上中学时我们都学过函数知识,举个简单的例子(+1)就是一种简单的函数计算公式。
给到任意一个数字都可以算出最终结果,例如给出1,运行这个计算公式则是:1+1=2。如果给出
100
运行这个计算公式则是:
100+1=101
。
而在哈希算法里,拥有一个复杂的函数计算,每一个东西映射后都会产生一串独一无二的哈希值用于加密。
而哈希值除了加密性之外,还有两个特性:
1、
不可倒推。
也就是说,你可以把一个图片映射成哈希值,却没办法通过哈希值去倒推它之前是什么图片,甚至连之前是不是图片都无从得知。这就是区块链技术不可篡改的底层逻辑。