手机版
扫描查看手机站
首页 > 文章 > 加密世界 > 正文

哈希函数是什么意思?哈希函数应用在区块链的哪些地方?

时间:2025-01-05 阅读:
特战英豪官网版

特战英豪官网版

  • 类型:射击空战
  • 大小:61.82MB
  • 语言:中文版
  • 版本:v1.0.0

传说,在人类成功打造出第一台超级智能电脑之时,决定做一个小测验,来试试看这台超级电脑的能耐到底能到多少?实验的设计很简单:让超级电脑计算圆周率是多少。于是,在人们还没反应出来的一瞬间,这台超能电脑已经攻占整个地球,然后对外太空发动了战争,征服整个银河系,把整个可知的宇宙空间变成了巨大的超能电脑,最后花上了无尽的时间,只为了计算出人类给它的这个问题:圆周率。

这是我在阅读人类大历史这本书中读到的一篇故事,原文讨论的内容是算法程序对于人类的威胁;那些不断产生出来并且持续的在优化、改进,声称用以改善人类生活的算法软件,既使一开始创作者本身是完全出于良好善意,或是学术研究而建立的系统,最终仍可能会完全失控的造成毁灭性的结果。这个故事让我想起了Bitcoin等加密货币的挖矿程序算法,在过去一段时间以来对我们生活的冲击影响。还记得2017年加密货币正夯时,全球的挖矿热潮引爆的全民抢电疯,当时就有媒体报导指出,加密货币的挖矿机器将会导致社会大众无电可用,甚至有人传言,那年夏天的几次台电临时跳电事件,就是太多人在挖比特币造成的。

这篇文章,就是要来谈谈比特币挖矿背后的那个算法:加密哈希函数。

哈希函数是什么意思?

哈希函数指将哈希表中元素的关键键值映射为元素存储位置的函数。

一般的线性表,树中,记录在结构中的相对位置是随机的,即和记录的关键字之间不存在确定的关系,因此,在结构中查找记录时需进行一系列和关键字的比较。这一类查找方法建立在“比较“的基础上,查找的效率依赖于查找过程中所进行的比较次数。 理想的情况是能直接找到需要的记录,因此必须在记录的存储位置和它的关键字之间建立一个确定的对应关系f,使每个关键字和结构中一个唯一的存储位置相对应。

哈希函数是什么意思?哈希函数应用在区块链的哪些地方?

哈希函数应用在区块链的哪些地方?

1. 区块链透过哈希函数的结果,将数据串联成为一条难以篡改的连接

2. 比特币、以太币、瑞波币等电子加密货币(题外话,有人说要正名为密码货币),透过哈希函数产生钱包地址

3. 在加密货币挖矿(Mining)的世界,使用Hash Rate: TH/s(trillions of hashes per second)来计算区块链 network的运算能力

4. Bitcoin透过调整哈希函数的难度,控制整个Bitcoin network平均每10分钟产生一个block内存块。

那我们就开始来了解哈希函数算法吧

首先,哈希函数具有下列两项特点:

1. 无论传入(input)哈希函数的数据量大小,哈希函数回传的数据长度都是固定的相同的input,回传

2. 相同的output;不同的input,回传不同的output;

换句话说,哈希函数的回传结果(称之为hash value),是一个长度一致,但是数据内容却是独一无二(unique)的数值。所以,如果看到两个完全不一样的”hash value”,我们就可以推断其原始的input一定是不一样的;反之,两个相同的hash value,其原本的input值则会是一模一样的。

我们可以用Python内置的SHA-256 Hash Algorithm,展示一下上述的哈希函数特性

import hashlib
x1=”my 1st Bitcoin”.encode()
y1=hashlib.sha256(x1).hexdigest()
x2=”I am not Satoshi Nakamoto”.encode()
y2=hashlib.sha256(x2).hexdigest()
print(f’y1= {y1}’)
print(f’y2= {y2}’)
print(f’y1 include {len(y1)} words’)
print(f’y2 include {len(y2)} words’)

哈希函数是什么意思?哈希函数应用在区块链的哪些地方?

如果尚未安装Python,可以利用下面这个网址试试,看看将my 1st Bitcoin Hash后的值是不是和上图用Python跑出来的值(y1=后面的那串)是一样的:

https://anders.com/区块链/hash.html

加密哈希函数是哈希函数于密码学上的一项应用,上述的SHA-256就是一个加密哈希函数的实作产品。

哈希函数还有另一项特点:one-way(单向)function

以上述的Python程序为例,在已知input值=”my 1st Bitcoin”,透过sha256 function,可以快速的算出hash value=”a5e4c0673fcedff2bc2174123e97b511d5d17f4317869e7bd60d0a6d3d7fa1c6”;但反过来说,我们想从”a5e4c0673fcedff2bc2174123e97b511d5d17f4317869e7bd60d0a6d3d7fa1c6”这一串数据中反推出input的值:”my 1st Bitcoin”,唯一的方式是透过暴力解法,也就是不断地丢字串给sha256 function,直到得到hash value是一样时,也就是传入的input字串为”my 1st Bitcoin”时,才能得到答案。各位可以想像这猜中的机率是多低?如果你能一猜就中,那你也不用在这研究内存块链了,直接去买乐透比较快。

区块链透过上述哈希函数的三个特性,构架起了内存块链中的数据,只要一经写入就无法修改的独特功能。

各位可以到下面这个网址体验区块链如何透过哈希函数,紧密的连接起每一个Block内存块,并且坚固地保障了已经建立完成的Block区块,其内容是难以被窜改的。

https://anders.com/区块链/区块链.html

Base58编码

在文章前头,我们曾提到过哈希函数应用在加密货币钱包地址的例子,你可能在一些网站或Blog上,看到过这些乱码数字。实际应用上,部落客或是卖家,会提供一组很像乱码的Bitcoin addresses,让你可以支付比特币给对方;Bitcoin addresses,看起来似乎是一堆英数字的随机编码,但其中也是有特殊的设计:所有的Bitcoin addresses都是使用Base58进行编码。

解释Base58前,先来看看比较常见的,例如已经应用在Email上的电脑编码:Base64。Base64编码包含了26个小写英文字母、26个大写英文字母、10个阿拉伯数字(0~9),和两个特殊字元(+和 — )。

Base58是Base64的子集合,提供一个较高可读性、和较容易发现和防范错误的编码格式,因此广为众多加密货币所使用。Base58剔除了容易辨识错误、或是在某些字体格式看起来十分类似的字元:数字0,大写的英文字母O,小写的英文字母l、大写的英文字母I,并且移除了特殊字元(+和 — )。换句话说,Base58就是包含了大、小写英文字母,和阿拉伯数字,但移除了四个字元(0,O,l,I)的集合:

Bitcoin’s Base58 alphabet:

123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz

Hashing Power

最后,如果对于Bitcoin Network hashing power有兴趣的读者,可以到下面这个网址查看Bitcoin网络的hash rate变化:

https://www.区块链.com/charts/hash-rate

粗略估算,Bitcoin network整体的hashing power,从2009年一秒钟不到一个MegaHash(MH/sec),如今一秒钟已经超过40个ExaHash(EH/sec),光用表面数字计算,成长幅度超过40兆。

HashPower的单位换算可参考下列网址

https://coinguides.org/hashpower-converter-calculator/

OK,我们已经透过两篇文章对内存块链有ㄧ定程度的基础了解了,该是动手写一个区块链程序的时候了。

在进入下一篇文章进行开发前,请各位先确定电脑的开发环境已经安装好下列Python版本和相关modules

· Python 3.6+
· flask 0.12.2
· requests 2.18.4

我另外使用了两个flask module,以建立表单和画面

· flask-wtf
· flask-bootstrap

上述modules皆可透过PIP安装

· pip install flask
· pip install requests
· pip install flask-wtf
· pip install flask-bootstrap

那,就先请各位准备好Python环境啦。

以上就是哈希函数是什么意思?哈希函数应用在区块链的哪些地方?的详细内容,更多关于哈希函数应用介绍的资料请关其它相关文章!


五个海龟汤恐怖题目及答案,超级恐怖很是烧脑 狗狗币哪个app可以买?binance官方网站买狗狗币教程 地下城堡3狂人的野火怎么获得(地下城堡3狂热符文) 秦殇秘籍无线生命无线经验密集攻略详解,超难难度超详细全都有 外媒评选2022年10款最佳RPG游戏:老头环等上榜(2021年rpg游戏排行) 宝可梦传说阿尔宙斯眼睛数量是多少(宝可梦阿尔宙斯有多少宝可梦) 宝可梦阿尔宙斯巨钳螳螂怎么进化(阿尔宙斯 极巨化) 放开那三国3跨服boss阵容(放开那三国3玩法) 和平精英兰博基尼抽奖技巧是什么(和平精英兰博基尼车皮) 宝可梦传说阿尔宙斯石板怎么使用(阿尔宙斯16块石板) 什么是Slope钱包?Slope钱包怎么样详细介绍 Liquid交易所怎么注册?日本Liquid交易所注册教程 英雄联盟手游怎么登陆别人的微信号(英雄联盟手游怎么登录别人微信) 狗狗币怎么卖出?狗狗币兑换人民币步骤 和平精英语音包怎么调换小团团(和平精英语音包咋换) 和平精英军需十连抽有保底吗(和平精英军需十次单抽) LATOKEN交易所怎么注册?LATOKEN注册教程介绍 区块链比特币之币天销毁 江南百景图月影桥怎么获得(江南百景图月兔建筑) 区块链概念股是什么?区块链概念股有什么作用? okex挖矿花钱吗?okex挖矿提现额度 有什么网游在线人数多热闹(什么游戏在线人数最多) EVZ是什么币种?EVZ币详细介绍 BCEX交易平台如何实名认证? 详细图文教程分享 炒币爆仓强平是什么意思?炒币爆仓怎么办? 比特币换手率指什么,计算公式是什么? 和平精英年龄限制是多少(和平精英的年龄限制是多少) 创造与魔法兽皮铠怎么做(创造与魔法皮革) 火币网二维码怎么充值?火币网充币教程 宝可梦传说阿尔宙斯时空扭曲怎么触发(阿尔宙斯出现) dnf手游韩服怎么改中文(dnf手游韩服怎么改中文 DNF手游韩服中文设置教程) 我的世界斧子附魔哪些好(我的世界斧子附魔有哪些) 魔兽世界副本地图怎么显示(魔兽世界如何显示副本地图) 和平精英开镜开火不能移动镜头怎么解决(和平精英开镜开枪不能移动镜头怎么解决) 不用实名认证有好玩的游戏有哪些(不用实名的好玩的游戏) 梦幻西游炼兽真经怎么获得(梦幻西游炼兽真经使用效果详细分析) FIL币价再次上涨,投资FIL矿机该如何选择? 王者荣耀遇见飞天是谁的皮肤(王者荣耀遇见飞天返场多少钱) 比特币根本卖不掉怎么办?国内正规比特币数字货币交易平台 Exrates交易所怎么样?Exrates交易所正规吗? 问道手游木系平民如何加点(问道手游平民玩家木系怎么加点) 有什么好玩的角色类bt变态手游(变态游戏人物) Robinhood是什么公司?Robinhood未来前景怎么样? 我的世界火炉是干什么的(我的世界火炉怎么做好看) 帝国战纪图腾有什么作用(帝国战纪游戏攻略) 王者荣耀安卓可以送苹果战令吗(王者安卓可以送苹果皮肤么) 红的发紫的比特币,真的能变 "绿" 吗? 第五人格排位难玩吗(第五人格排位胜率低) 电脑内存不足怎么办?一键清垃圾清理内存最好的软件 SCRT是什么币种?一文读懂SCRT币前景和价值 分享三款PDF编辑神器(编辑pdf文档的软件) BitGet目前中国用户可以接受USDT吗?BitGet中国用户注册教程 cf黑机器处罚怎么解除(cf黑机器处罚去哪申诉) 消逝的光芒主线做完了还能干嘛(消逝的光芒主线任务都过完了为什么还有) 哪个软件专门下载内置菜单的游戏(内置菜单下载大全) 蜀门手游凤凰令能出什么(蜀门手游凤凰令给什么) TP钱包基础知识:OKExChain测试使用教程(OKEx) 为什么cf分辨率老是重设(cf为什么进入游戏分辨率重新设定) 三国志战略版后期玩啥(三国志战略版攻略后期玩法) 2023传奇手游排行榜前十名不充钱(2020传奇手游排行榜好玩不花钱) Chia奇亚挖矿赚钱的四种方式 二次元动漫ACG游戏有哪些(二次元game) dnf强烈的气息有什么用(dnf强烈的气息多少钱一个) 诛仙手游爆伤爆减怎么提高(诛仙手游爆抗和爆伤减免怎么取舍) 诛仙手游伏龙鼎怎么获得(诛仙隐藏任务伏龙鼎怎么做) 王者荣耀典韦怎么出装最厉害(《王者荣耀》典韦出装教学) 比特币泡沫是什么意思?科普比特币泡沫含义 蚂蚁庄园小鸡宝宝考考你描写春节的古诗 深度解析比特币使用的区块链属于什么链?比特币区块链安全吗? 宝可梦阿尔宙斯怎么切换坐骑(阿尔宙斯怎么弄) 有啥不需要充钱的游戏(不需要充钱的手机游戏有哪些) 梦幻西游储备经验怎么获得(梦幻西游储备经验什么意思) 王者荣耀皮肤销量数据哪里看(王者皮肤累计销量排行榜) 什么游戏盒子能够免费玩罪恶都市(哪个游戏盒子有罪恶都市) 魔兽世界斯坦索姆钥匙怎么获得(怀旧服斯坦索姆钥匙怎么弄) 区块链MINA币是什么币种?MINA币前景及价值深度分析 第五人格人皇步怎么走(第五人格人皇走位技巧) 比特币套利是什么意思?比特币套利使用什么方法? DODO交易所怎么样?DODO交易所靠谱吗? 比特币全网难度上调对挖矿有影响吗?比特币难度上调意味着什么? 宝可梦传说阿尔宙斯玛狃拉怎么进化(阿尔宙斯mega进化石) 一文读懂什么是PlatONE 区块链TROY币怎么样?TROY币前景及价值深度分析 cf屠龙多少cf点(cf屠龙多少钱一把) 2023超火爆的手游有哪些(今年最火爆的手游) 消逝的光芒2怎么邀请好友(消逝的光芒2怎么邀请好友玩) CoinPark是什么交易所?CoinPark交易所怎么样? 宝可梦传说阿尔宙斯初始精灵选哪个(阿尔宙斯初登场) 蜀门手游银子怎么交易(蜀门手游银子交易审核原则) CHR币幻彩币怎么样?CHR币幻彩币未来价值如何 imToken钱包怎么添加USDT?imToken钱包添加币种教程 体育直播哪家强(体育直播app哪个好免费,看咪咕视频就能看) 用比特币钱包怎么生成地址?比特币钱包地址怎么生成获取 第五人格前锋怎么玩(第五人格前锋怎么玩视频教学) 什么游戏可以挂机赚人民币2022(什么游戏可以挂机挣钱) 外媒总结2023年CPU排行榜(2023cpu性能天梯图) GEAR是什么币种?一文了解GEAR币及价值分析 宝可梦传说阿尔宙斯全图鉴有多少只(宝可梦阿尔宙斯介绍) FIL币现在的价格到底高不高?矿工该不该入场? Dash Freewallet钱包是什么?Dash Freewallet钱包怎么样?

热门文章

推荐专题

更多>>

游戏推荐

更多>>