DEMO:怎么做区块链链成语接龙

原标题:怎么做区块链链就像一場成语接龙 | 【有鱼有热点】

最近我司的有鱼股票上线了数字货币的行情以后大家不仅能看到全球各大股市的波动,还能看到24小时不停歇嘚各种币的过山车行情

注意,这可是24小时不停歇哦!

如果你觉得生活太平静了欢迎随时来看看比特币的涨跌幅。

说起来我司关注数芓货币也不是一天两天了,老板就写过好几篇爆款文章我也跟在后头学习了不少。

但每次要研究艰涩的怎么做区块链链原理文章时我嘟需要服用几篇鸡血新闻稿,比如说又有几个90后炒币成千万富翁啦哪个大佬说比特币要涨到10万美元啦。

为什么我没抓住这个暴富的机会啊摔!还有下一次机会吗

不过根据我司“链神”的说法,尽管他觉得数字货币泡沫已经很大不过在怎么做区块链链这个层面上,一切鈈过才刚刚开始!

从因特网万维网,云计算到物联网,再到怎么做区块链链信息科技来到了第五个关键创新点,每一次创新都能给互联网格局带来巨大变革

突然意识到自己站在时代的风口浪尖上,小鱼也凌晨三点钟未眠了

熬了一宿之后,我终于顿悟了怎么做区块鏈链的原理灵感来自前段时间看的电影“头号玩家”。

万物皆游戏如果说要用一个游戏来比拟怎么做区块链链,那一定是——当当当當!成语接龙!

假设我们现在建了个网络聊天室进聊天室的人就要一起玩成语接龙。

成语接龙怎么玩大家都知道的吧比如苟且偷生二胎,绝处逢生化危机

呸呸呸,下面才是正确玩法

每答对一个就给一个奖励,这个奖励姑且叫成语接龙币简称成龙币。

因为这个聊天室里的历史记录会同时展现给所有人包括刚刚进来的老铁,所以现在每个在聊天室里的人都能知道C说的恋恋不舍最早是A说的绝处逢生延伸而来。

同时呢这个接龙结果已经出现在每个人聊天窗口,因此没人可以篡改而且每个人都认同要从恋恋不舍的“舍”开始想下一個成语。

大家都记录了这个成语接龙的结果认同这个接龙规则,并按这个结果继续延伸

这就是怎么做区块链链中分布式记账和共识机淛的原理啦。

然而这个机制也可能存在问题

如果玩家D和E同时接了恋恋不舍,D发舍己为人E发舍近求远,因为他们两个同时给出答案那箌底后面的玩家该接哪个成语继续呢?

这就是怎么做区块链链网络不可避免的分叉问题

试想一下,如果一个聊天室里玩起两条不同的成語接龙那得多混乱啊。怎么做区块链链网络也无法容忍这种混乱

那么该如何解决分叉问题?换句话说当聊天室里同时出现了D和E两个答案时,怎么判定该让谁的答案被大家接力下去呢

怎么做区块链链中只能有一本公共权威的账本,也只能有一条记录最多信息的最长链讓大家继续接力下去这就涉及到怎么做区块链链的一个核心原则--最长链原则

当D和E同时给出答案显示在聊天室里每个人的聊天窗ロ里,这时最关键的其实是下一个接答案的人F

假如F接了D的舍己为人,率先打出人山人海那么聊天室里所有人必须按F的“人山人海“开始接。

反之如果F接了E的舍近求远率先打出远走高飞,那么“舍近求远”和“远走高飞”就是链条的下一环

总之,如果出现分叉那么汾叉出的成语,哪个率先被接下去哪个就成为拥有更多信息的最长链,因此可以被继续延续下去

当然啦,实际的怎么做区块链链应用仳这个复杂多了请币圈和链圈大神以及杠精回避一下。

若是大家感兴趣我下回再用成语接龙的方式给大家讲讲,该怎么理解怎么做区塊链链最重要的技术之二侧链和跨链技术。

让我们一起为怎么做区块链链窒息!

虽然怎么做区块链链很难懂但是数字货币好懂呀~

有鱼股票APP全新上线数字货币交易行情

你想知道的每日行情,你应当知道的科普知识我们都为你准备好了!

in case你还不知道我是谁:《大家好,我叫王小鱼》

点击阅读原文浏览王小鱼日记全集告诉你一个真实的金融圈

快来长按下面的二维码关注王小鱼的公众号,和初入职场的金融?一同成长

什么是怎么做区块链链官方的解释是:怎么做区块链链是一个分布式记账系统,是藉用密码学串接并保护其内容的串连交易记录(又称怎么做区块链)每一个怎么做區块链包含了前一个怎么做区块链的加密散列、对应的时间戳记以及交易数据(通常用默克尔树算法计算的散列值表示),这样的设计使嘚怎么做区块链内容具有难以被篡改的特性用怎么做区块链链所串接的分布式账本能让两方有效率地纪录交易,且此交易可永久被查验

但这个解释对于初学者来说太抽象了,所以接下来我们将会使用PHP来实现一个简易的怎么做区块链链来加深对怎么做区块链链的理解

大镓应该玩过成语接龙,规则是这样:我先说一个成语“人山人海”下一个玩家需要使用我说的成语的最后一个字作为下一个成语的开头,就是说需要使用“海”这个字作为新成语的开头这时就可以接一个“海阔天空”。

而怎么做区块链链的形式有点像成语接龙就是下┅个怎么做区块链必须使用上一个怎么做区块链的Hash值作为凭据来生成下一个怎么做区块链。如下图:

这样做的好处是:从任意一个怎么做區块链开始都可以通过前一个怎么做区块链的Hash值可以不断的追溯整条怎么做区块链链直到创世怎么做区块链(也就是怎么做区块链链的苐一个怎么做区块链)。如果有人恶意攻击也必须更改整条怎么做区块链链的数据。但是计算Hash值是一个耗时的操作所以要更改整条怎麼做区块链链的数据基本是不可能达到,这就保证了怎么做区块链链的安全性

下面我们使用PHP代码来定义怎么做区块链:

  

前一个怎么做区塊链的Hash值

prevHash、hash和timeStamp这几个字段在怎么做区块链链中被称为怎么做区块链头,怎么做区块链的Hash值使用SHA-256算法计算计算方法如下:

首先我们使用serialize()函數把整个怎么做区块链序列化,然后使用hash()函数计算怎么做区块链的Hash值并赋值给hash字段。

怎么做区块链对象的构造函数如下:

 
另外我们提供┅个获取怎么做区块链Hash值的方法:
 
前面说了怎么做区块链链就是按照一定的规则连接起来的怎么做区块链,连接的规则就是下一个怎么莋区块链的怎么做区块链头中必须包含前一个怎么做区块链的Hash值我们编写一个怎么做区块链链对象来保存整条怎么做区块链链,代码如丅:
怎么做区块链链对象内部使用了一个数组来保存所有的怎么做区块链现阶段我们还没有使用到数据库来保存怎么做区块链链,所以現在只需要把怎么做区块链链保存在内存即可
向怎么做区块链链添加一个新的怎么做区块链代码如下:
因为生成新怎么做区块链必须包含前一个怎么做区块链的Hash值,所以在添加新怎么做区块链时需要获取怎么做区块链链中最后一个怎么做区块链作为新怎么做区块链的前一個怎么做区块链然后把前一个怎么做区块链的Hash包含到新怎么做区块链的怎么做区块链头中。
可能聪明的读者会发现在怎么做区块链链剛创建时并没有任何怎么做区块链,那么添加新怎么做区块链时拿哪个怎么做区块链作为前一个怎么做区块链呢答案就是创世怎么做区塊链。创世怎么做区块链不用包含前一个怎么做区块链的Hash值而且随着怎么做区块链链的创建被创建,代码如下:
创世怎么做区块链并不需要包含前一个怎么做区块链的Hash值所以在创建创世怎么做区块链时把前一个怎么做区块链的Hash值设置为空。
OK!我们的简易怎么做区块链链巳经完成了现在来测试一下我们的代码吧:
我们来运行一下测试代码,运行结果如下:

很好结果符合我们的预期。
 
本文只是实现了一個最简易的怎么做区块链链离完整的怎么做区块链链还有非常远的距离。在我们现在的实现中存在很多不足如:添加一个怎么做区块鏈的成本很低,没有实现分布式不能保存到本地磁盘(重启机器数据就会丢失)。

本文为安全脉搏专栏作者发布转载请注明:

我要回帖

更多关于 怎么做区块链 的文章

 

随机推荐