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

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

时间:2025-11-08 01:22:10来源:525游

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

这是我在阅读人类大历史这本书中读到的一篇故事,原文讨论的内容是算法程序对于人类的威胁;那些不断产生出来并且持续的在优化、改进,声称用以改善人类生活的算法软件,既使一开始创作者本身是完全出于良好善意,或是学术研究而建立的系统,最终仍可能会完全失控的造成毁灭性的结果。这个故事让我想起了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环境啦。

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


问道手游敏金怎么加点最好(问道手游敏金后期有用吗) 无线路由器怎么连接安装和设置(无线路由器怎么连接安装和设置网络) 以太经典ETC上涨原因是什么? Hooray是什么交易所?Hooray交易所怎么样? 宝可梦传说阿尔宙斯六尾在哪能抓(宝可梦传说阿尔宙斯神兽) EOS柚子币靠谱吗?EOS柚子币未来前景分析 宝可梦阿尔宙斯传说亲密度怎么刷(阿尔宙斯怎么得) 在电脑上的截图快捷键是什么?电脑截屏的三种方法 宝可梦传说阿尔宙斯耿鬼在哪抓(宝可梦传说阿尔宙斯 pokemon legends arceus) 区块链入门:什么是公有链、联盟链和私有链? 消逝的光芒2怎么保存(消逝的光芒2怎么保存不了) 我的世界神奇宝贝快龙在哪里刷新(我的世界神奇宝贝快龙刷新时间) FTX交易所为什么会倒闭?FTX交易所重启运营最新消息分享 阴阳师妖怪屋阎魔喜欢什么(阴阳师妖怪阎魔喜欢吃什么) DeFi清算是什么意思?一文读懂DeFi清算及工作流程 创造与魔法猫咪妙妙窝有什么用(创造与魔法猫咪建筑设置图) 原神凝光该如何定位(原神凝光角色定位) 电脑打不开摄像头怎么办?摄像头没有禁用但打不开 策略版三国题材手游有哪些(策略类三国手游) 和平精英新手如何快速提升 新手提升方法(和平精英怎么快速提升自己的技术) 和平精英跳舞动作在哪里设置(和平精英舞蹈动作怎么设置) CGG币上线币安了吗?CGG币上线交易所大盘点 和平精英怎么隐藏王牌印记(和平精英隐藏王牌印记出生岛) 冰原守卫者怎么快速升级(冰原守卫者怎么快速升级工匠等级) 王者荣耀召唤师技能有哪些(王者荣耀里面的召唤师技能详解) 魔兽世界精金粉怎么获得(魔兽世界精金棒怎么做) 传奇手游热门排行榜(传奇手游非常好玩的手游) 莱特币挖矿app最新版本更新内容,莱特币挖矿软件下载安装手机版 派币2024年官方最新消息_派币2024年官方最新消息数字 数字货币怎么提现钱包?数字货币钱包转账注意点汇总 三国志战略版虎豹骑怎么配将(三国志战略版虎豹骑搭配) 和平精英军需十连抽有保底吗(和平精英军需十次单抽) 端游cf生化头上血条怎么弄的(cf生化显示血条的角色) 聚美优品有假货吗,为什么比专柜发货便宜那么多 冰原守卫者装备打造教程(冰原守卫者系列防具) 和平精英充值档位限制怎么解决() 什么是UTXO模型?一文读懂比特币的UTXO模型 英雄联盟S12灰烬骑士潘森怎么获得(圣骑士灰烬使者外观怎么解锁) 三国志幻想大陆国家哪个比较强(三国志幻想大陆各国阵容搭配) Ledger钱包BTG比特黄金收发教程 梦幻西游手游69升70怎么突破(梦幻手游69到70需要多少经验) 有哪些封神题材的手游(封神题材的游戏) STX币上架交易所有哪些?盘点STX币交易平台推荐 和平精英cdk怎么获得(和平精英cdk怎么获得最快) 区块链BEPRO是什么币种?BEPRO币未来前景及价值分析 币印矿池新手如何配置矿机?币印矿池配置矿机教程 奥拉星手游安彼德打法技巧分享 奥拉星手游安彼德怎么打 国内最好的区块链公司有哪些?国内区块链公司前十排名 思维导图软件哪个好?三款款思维导图软件对比评测 消逝的光芒启动游戏有两个选项怎么选(消逝的光芒进入游戏选哪个) 什么是空投?浅谈空投文化 问道手游体木带哪个变异好(问道手游体木做什么套) 第五人格牛仔天赋加点(第五人格牛仔人格天赋搭配怎么配) 波卡币今日最新价格是多少人民币?波卡币今日实时价格美元行情 波场币今日最新价格行情,TRX今日行情最新消息实时汇率 binance交易所官方网站,正规binance交易所官网入口 合成资产有哪些币?合成资产币盘点汇总 比特币泡沫是什么意思?科普比特币泡沫含义 有没有手游自带折扣充值(手游游戏充值折扣) 创造与魔法水晶哪里最丰富(创造与魔法水晶在哪里最多) 挖矿产业链(矿机,矿池,矿场,矿工)是什么?矿机,矿池,矿场,矿工概念 什么手游好玩人气高不费钱(十大良心网游手游) 蓝屏代码0x0000050怎么解决?蓝屏0x000050最简单解决 第五人格最简单的监管者有哪些(第五人格最容易上手的监管者) DNF怎么看黑钻还有多久(dnf如何查询黑钻剩余天数) Liquid交易所怎么注册?日本Liquid交易所注册教程 区块链DApp是什么意思及DApp的应用有哪些 王者荣耀碎片商店多久更新一次2022(王者荣耀碎片商店多久更新一次?) 哪些数字货币可以挖矿?支持挖矿币种推荐 王者荣耀公孙离怎么获得(怎么获得公孙离皮肤) 王者荣耀扁鹊S26怎么出装(王者扁鹊最强出装) Bitstamp交易平台新用户注册教程 手游诛仙法宝血炼有什么技巧(诛仙手游法宝血炼属性替换技巧) dnf退出公会多久能加入新的公会(dnf退出公会有什么影响) DeFi项目:手把手教你使用DODO教程 蜀门手游锻造加8技巧(蜀门手游锻造辅助 v1.0这个有人买了吗?) V神最新思考:两种途径解决PoS共识机制下的MEV问题 小狐狸钱包用法实操教程 BigONE安全吗正规吗?BigONE币格交易所官网地址入口 哪些是好玩不花钱的手游(好玩儿不花钱的手游) 2024年笔记本电脑CPU性能天梯图:你的处理器排第几? 有哪些仙侠手游送免费充值卡(仙侠手游每天送50000充值卡) CTO币发行价多少?CTO币发行价格及前景介绍 暗区突围机密文件在哪刷(暗区突围机密文件在哪刷新概率高) 以太坊智能合约是什么?以太坊的智能合约有什么用 消逝的光芒2帧数怎么调(消逝的光芒2怎么全屏) 宝可梦剑盾温和性格加什么(宝可梦剑盾温顺性格) 柚子币怎么获得?介绍柚子币挖矿方法 我的世界抢夺附魔最高等级多少(我的世界1.7.10抢夺附魔) BNB/币安币发行日期是哪天?2021年币安币前景分析 泰拉瑞亚叶绿矿怎么挖(泰拉瑞亚叶绿矿怎么挖视频) 普通人可以玩比特币的交易吗?普通人买比特币赚钱最简单方法 优质好玩的网游游戏有哪些(有哪些好玩儿的网游) 三国志幻想大陆女团养谁(三国志幻想大陆女团队) 适合解压玩的游戏有哪些(比较解压的游戏有哪些) csgo连接社区服测试失败怎么办(csgo社区服务器连不上) 有哪款游戏是女生爱玩的(女生爱玩的游戏排行) 魔兽世界萨塔里奥在哪个副本(萨塔里奥怎么打) 第五人格乞丐技能介绍(第五人格新监管者乞丐技能) 无聊猿游艇俱乐部是什么?无聊猿游艇俱乐部怎么样?

热门文章

推荐专题

更多>>

游戏推荐

更多>>