主页 > imtoken官网下载1.0 > 600 多年前的区块链项目

600 多年前的区块链项目

imtoken官网下载1.0 2023-03-04 05:47:42

播放动图

文字 | 浮生

来源 | 彩莲社

今天文章的开头,先不说区块链,先说说民间最流行的娱乐项目——麻将。

麻将起源于中国。 它最初是皇室贵族玩的游戏。 它的历史可以追溯到三四千年前。 在长期的历史演进中,麻将逐渐从宫廷流传到民间。

关于麻将的起源众说纷纭,其中最有趣的是《水浒麻将》。

据说,万冰玉生于明代。 他非常喜欢《水浒传》。 他对梁山上的108位好汉印象深刻,于是想做一个娱乐工具来纪念他们。

经过几天的精心设计,麻将牌终于研制出来了。 他设计了108张麻将牌,暗喻《水浒传》中的108位英雄。 比如九索就是“九纹龙”石进,二索就是“双鞭”呼延灼……等等。

这108位好汉来自四面八方,所以东、南、西、北各有四张牌。 而聚集在梁山泊的英雄,有贫有富,出身不同,所以也分别设置为中、发、白。 有钱的就是富人家,白的就是白人穷人,中产的就是中产阶级。 麻将分为万、通(北方称饼)、索(北方称条),是创造万饼(饼)条(条)的谐音。

从此,麻将诞生了!

之所以从麻将的起源说起,是因为麻将是中国最早的区块链应用! 今天我们就来说说关于区块链的麻将……

01

《麻将白皮书》

周末到了,张三要约几个朋友去打麻将多年前买的比特币,便叫来了李四、王五、赵六三人,摆了个麻将局。

而张三打麻将的想法就相当于创造了一个区块,然后通过点对点的电话通知了李四、王五和赵六,这个动作实现了“去中心化”的点对点-点传输。

于是张三、李四、王五、赵六三人达成共识,一起坐下开始打麻将。 四人分别抽取13张随机分配的麻将牌,并以抽一打一的方式规范麻将的排序抽牌。 这里摸打的动作可以理解为“挖矿”,四个人就是“矿工”,108张麻将就是哈希值。 而中奖牌就是正确哈希值的碰撞,可以获得相应的筹码奖励,也就是所谓的比特币。

那么问题来了,为什么其他三人会主动奖励获胜者呢? 那是因为他们三人自动达成共识,这个人确实赢了,大家都记账了,不可能否认,不然以后会传开说这个人人品不好,没人玩了又和他打麻将了,毕竟圈子很重要。

同时,大家达成共识后,我们看不到有任何中介或第三方出来评判谁赢了,给赢家的奖励也不需要通过第三方转给他。 它们都是直接的点对点交易。 这个过程是去中心化的。

四个人(矿工)各自记录第一场比赛的结果。 王五大虎七小对,赵六猛击张三的瑶姬。 记录完成后,就生成了一个完整的区块,但要记住,这只是第一个游戏。 在整个区块链上,这只是一个节点。 如果那天一共打了20组麻将,也就是20个节点(区块),20个区块连在一起,形成一个完整的账本,这就是区块链。

因为每个人都有一个账本,就是分布式账本。 目的是防止有人篡改记录。 最终,谁胜谁负一目了然。

整个过程充分体现了区块链技术。

02

什么是哈希值?

上面我们说中奖牌就是得到正确的哈希值,那么哈希值是多少呢?

会打麻将的人都知道,摸到的前13张牌是随机分配的,杂乱无章。 俗称“和牌”。

所以其实在区块链中,比特币挖矿也是一样的道理。 比特币“矿机”就是计算一个特定的哈希值。 谁先计算出来,谁就可以获得比特币奖励。

也就是说hash值就是文件的身份证,但是比身份证更严格。 它是根据文件大小、时间、类型、作者、机器等来计算的,可以很容易地改变。 没有人能预测下一个数字是什么,他也没有改变他的软件。

哈希算法将一个任意长度的二进制值映射到一个较小的固定长度的二进制值,这个较小的二进制值称为哈希值。 哈希值是一段数据的唯一且极其紧凑的数字表示。 如果您对一段明文进行哈希处理,甚至更改其中的一个字母,则后续哈希将产生不同的值。 在计算上不可能找到散列为相同值的两个不同输入。

如果上面的概念太抽象,我给大家举个简单的例子:

互联网上的每张图片都有其特定的哈希值,也就是这张图片在互联网上的编号。 比如你映射下图,你会得到一个全宇宙唯一的哈希值。

这个值是:

5088698dc898f8e5c86ef0a8948b68e02c6c1c6e

这个哈希值就是这张图片在互联网时间的编号。

网上的信息接近无穷大,哈希值真的够用吗? 答案是肯定的,而且是过量的。 哈希值的数量达到了2的80次方以上,超过了宇宙中所有原子的总和。

hash值是怎么推导出来的?

哈希值其实就是数学中的哈希函数。 我们都在中学时学习过函数。 一个简单的例子(+1)是一个简单的函数计算公式。

给定任意一个数,就可以计算出最终的结果。 例如给定1,则计算公式为:1+1=2。 如果给100来跑这个计算公式就是:100+1=101。

在哈希算法中,有一个复杂的函数计算,每个事物映射后都会产生一个唯一的哈希值进行加密。

哈希值除了加密之外,还有两个特点:

1. 不要反推。 也就是说,你可以把一张图片映射成一个hash值,但是你无法通过hash值推断出它之前是什么图片,甚至不知道它是否是之前的图片。 这就是区块链技术不可篡改的底层逻辑。

2.速度极快。 对一部20G的高清电影进行哈希处理,仅需0.1秒即可得到结果。

两个功能的简单组合意味着您可以以极快的速度为您的文件编程一个不重复的数字,并且没有人可以使用这个数字来计算文件的原始外观。 你是什​​么意思?

刚才我们说了,如果你把(+1)的计算公式运行起来,任何一个数都会得到一个值。 比如给数字1,会得到结果:2。因为这个函数是最简单的函数,所以我们也可以通过结果2推导出给的初值为1。但是在hash算法中,因为函数过于复杂,通过计算得到hash值后,很难计算出原始数据给出的值。

比如1的平方=1,但是-1的平方也=1。所以不同的值可能通过相同的重新算法得到相同的结果。 就像1+4=5和2+3=5,你现在知道我的结果是5,你能知道我输入的是什么数字吗? 因此,结果不一定能推断出原始值。

另外,哈希值本身是一串复数,增加了逆向原值的难度。 例如,数字“2”的哈希值为“c81e728d9d4c2f636f067f89cc14862c”

不仅如此,数据的微小变化也会使哈希值发生很大的变化:

“22222”的哈希值为“3d2172418ce305c7d16d4b05597c6a59”

“22221”的哈希值是“5a518783270523848f247fb126ac22fa”

因此哈希算法具有很强的加密性,很难通过哈希值推断出原始数据的价值。 这就是区块链具有强加密性的原因。 比如A转给B一个比特币,全网都会知道这个比特币的交易信息,但是不知道这个比特币是谁和谁交易的。

但是有人说哈希算法可以用“暴力”的方式破解,一个一个的尝试,直到计算出正确的结果。

但在很大程度上,这种说法是行不通的,为什么呢?

例如多年前买的比特币,如果您知道某件物品在哪里,则视为丢失。

答案肯定是“不算”。

这意味着你没有丢失任何东西。

哈希算法也是如此。 比如一望无际的海底有着无数的沉船,但只要打捞的成本远高于货物的价值,这些沉船就会永远留在那里。