前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >hash哈希游戏竞猜玩法系统开发方案(游戏逻辑)

hash哈希游戏竞猜玩法系统开发方案(游戏逻辑)

原创
作者头像
用户V_StPv888
发布2022-07-05 09:49:57
3790
发布2022-07-05 09:49:57
举报
文章被收录于专栏:开发大于一切

1.什么是哈希算法

哈希算法是区块链中用得最多的一种算法,它被广泛地使用在构建区块和确认交易的完整性上。它是一类数学函数算法,又被称为散列算法,需具备三个基本特性:其输入可为任意大小的字符串、它产生固定大小的输出、能在合理的时间内就能算出输出值。

哈希算法有很多,区块链主要使用的哈希算法是 SHA-256 算法:将任意数据串作为输入值代入公式,可以得到一个独一无二的 64 位输出值,但是用输出值无法倒推出输入值。

对于同一个哈希算法来说,相同的输入必定会得到相同的输出,不同的输入必定会得到不同的输出。区块链就是利用哈希函数为区块生成签名的,将区块中的数据作为输入,得到的输出就是区块的签名。

2.如何找到合格的签名

在区块链中通过运算找到合格的签名,就我们常说的挖矿。

区块链协议会预先确定一些要求,比如,在比特币区块链上,只有以连续的零开头的数字签名相对应的区块才能上链。例如,只有在数字签名以不少于 连续 10 个零 开头的情况下,对应的区块才能上链。

每个数据串对应的哈希值都是唯一 的,为了获得符合条件的区块签名,需要反复改变输入的数据串,直到能生成以连续 10 个零开头的签名为止。但由于交易数据和元数据(区块编号、时间戳等等)需要保持原样,想把区块添加到链上,人们就需要不断在区块里面添加“一段特定长度的、全随机的数字”,直到找到一个合格的签名,然后确定下这段数据的具体值。

这种通过反复对区块数据进行哈希运算、寻找合格签名的过程就叫做 挖矿。矿工投入大量电力,转化成算力。矿工手中掌握的算力越多,哈希运算的速度就越快,抢先找到合格签名的可能性就越高。这是一种反复试错的过程。

3.恶意篡改了怎么办

通过以上简介,我们就能发现:一个矿工恶意篡改了某个区块内的交易,会导致它的签名改变,与后续区块记录的对不上,从而与后面的区块断开链接。如果他想让网络中的其他参与者都接受被篡改过的交易,那么这个矿工需要重新计算所有区块的签名,保证所有区块都链接在一起,包括不断被添加到链上的新区块。这是一个不可能完成的任务,除非这个矿工拥有的算力超过全网其他人的总算力,否则他永远赶超不了其他矿工。

换个说法,这就是比特币区块链共识机制中的“最长链原则”:所有矿工都在自己看到的最长区块链上挖矿,算力就会随时间自然汇聚到一条主链上,而恶意矿工只有制造出一条比当前主链更长的链,才能成功改变大家共同认可的交易记录。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
区块链
云链聚未来,协同无边界。腾讯云区块链作为中国领先的区块链服务平台和技术提供商,致力于构建技术、数据、价值、产业互联互通的区块链基础设施,引领区块链底层技术及行业应用创新,助力传统产业转型升级,推动实体经济与数字经济深度融合。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档