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

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

时间:2025-03-12 12:45:24来源: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环境啦。

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


bitpay是什么钱包?bitpay钱包怎么样? 求职app软件哪个好(哪个招聘平台好找工作) 创造与魔法普通的云鹰的坐标(创造与魔法云鹰怎么得) 宝可梦阿尔宙斯传说亲密度怎么刷(阿尔宙斯怎么得) 有什么三国变态公益服手游(三国手游变态版上线送v20) Bitex.la是什么交易所?Bitex交易所手续费多少? 火币app注册教程:用非小号app注册火币操作教程 王者荣耀哎呦脚滑在哪里领(王者荣耀中的脚) 艾尔登法环女巫在哪(艾尔登法环讲的是什么) 比特币害我家破人亡是真的吗?比特币害死了多少人 时空猎人永生石怎么得(时空猎人永生之主怎么过) 海妖交易所大陆用户能注册吗?中国用户可以用的币交易所排行 cf手游戒指属性哪个好(cf手游戒指所有属性) 重返帝国怎么迁城(重返帝国怎么迁城 重返帝国迁城方法详解) kishu币什么时候上交易所?kishu币怎么买? 如何选择以太坊2.0质押服务?一文了解Eth2各类质押方案优劣 第五人格千面成就标签怎么获得(第五人格成就标签千金之阶) 问道手游娃娃怎么获得(问道手游娃娃怎么获得道法残卷) 冰原守卫者新手玩法必备指南(冰原守卫者手游攻略) 一文详解加密艺术画廊交易机制 王者荣耀怎么选择打哪个小兵(王者荣耀如何选择小兵) 如何将钱包中的BTM迁移到Bytom链全节点钱包 DEX聚合器是什么意思?通俗解释DEX聚合器详细介绍 问道金套要什么材料(问道金套怎么做) 荒野大镖客2背包满了怎么办(荒野大镖客2 背包满了) Binance在中国还可以用吗?Binance US支持哪些国家用户与Binance区别分析 有哪些无需实名认证的mmo游戏(无需实名认证的moba游戏) MDEX交易所怎么交易?MDEX交易所购买交易操作步骤教程 数据互通的角色扮演手游有哪些(多端数据互通游戏) 维卡币2025年涨到多少钱?维卡币的未来前景价格预测 宝可梦阿尔宙斯传说奋斗沙怎么获得(阿尔宙斯gf) OKEX怎么卖币换钱?OKEX交易所卖币教程 币安/欧易/火币等交易所支持以太坊分叉币ETHW情况盘点 三国志幻想大陆哪个神兵好(三国志幻想大陆哪个神兵厉害) gta5佩岛抢完12次会怎样(gta5佩岛最大收益) 伦敦硬分叉是什么意思?科普以太坊伦敦硬分叉 有哪些无广告高人气网游游戏(无广告的经典游戏) 我的世界海带怎么种植(我的世界海带在哪里长) 比特现金BCH多少钱一个?BCH/USD今日美元价格实时汇率走势图 中币法币怎么提现?中币网法币提现图文详细教程 和平精英怎么用电脑玩(和平精英怎么用电脑玩云游戏) AQT币在哪买?AQT币上线交易所盘点 问道手游白果儿怎么获得(问道手游白果儿如何获得) WING是什么币种?WING币未来前景如何? LOKA币发行量多少?LOKA币发行总量详细介绍 PancakeSwap交易所下载与官方介绍,PancakeSwap交易所官网地址入口 比特币etf指什么? 比特币etf怎么购买 MetaMask钱包安全吗?小狐狸钱包好用吗? BTC100是什么意思?BTC100交易平台介绍 DeFi项目教程:手把手教你Synthetix使用教程 如何查看王者荣耀在哪个区有角色(王者怎么查看在哪个区有角色) cf怎么用cf点改名字(cf点能改名吗) 泰拉瑞亚钻石长袍怎么做(泰拉瑞亚钻石合成表) dnf辅助职业专属属性怎么激活(dnf辅助职业专属属性是什么意思) 比特币指数是什么意思?比特币指数交易投资靠谱吗? CoinEx交易所怎么充值?CoinEx充值、提现、充币、提币图文教程 csgo怎么设置最流畅(csgo怎么设置最流畅最舒服) 火币网app怎么提现人民币教程(支付宝/微信/银行卡) 比特币储备金是什么意思?科普比特币储备金及现状分析 比特派钱包使用教程:如何一键创建多地址撸空投至币安智能链BSC 地下城堡3虚空印记干嘛的(地下城堡3地底空洞) 有苹果能玩的无限金币游戏吗(苹果怎么玩无限金币游戏) 新出的火爆手游哪些值得玩(火爆手游推荐) 消逝的光芒2等级怎么提升(消逝的光芒2有什么变化) 和平精英极限追猎卫星楼的门怎么开(和平精英极限追猎探测仪怎么用) iPayYou是什么钱包?iPayYou钱包怎么样? 2024有哪些区块链app有哪些?区块链支付平台排行榜 稳定币是什么意思?稳定币在哪里可以购买? 十个在线玩游戏的网站推荐(有哪些在线玩游戏的网站) 宝可梦传说阿尔宙斯时空扭曲怎么触发(阿尔宙斯出现) HTDF是什么币种?华特东方/HTDF币前景和价值分析 虚拟币自动交易机器人能盈利吗?虚拟币量化机器人交易平台分享 抹茶交易所怎么买猪猪币PIG币?MXC抹茶交易所买猪猪币教程 王者荣耀真我杯是什么赛事(真我是什么游戏) 宝可梦阿尔宙斯传说头目有什么区别(宝可梦 阿尔宙斯传说) 有什么高画质的仙侠手游(画质很好的仙侠手游) 魔兽世界怀旧服真银矿石在哪里(魔兽世界真银矿石哪里最多) 如何做自媒体才能赚钱?自媒体赚钱月入8000方法大揭秘 搬砖手游真的能赚钱吗?2023年搬砖手游排行前十名 创造与魔法奇遇果实进化使用方法(创造与魔法,奇遇进化果实怎么对,坐骑使用) 炒币短线稳赚方法有哪些?2000块炒币赚了8千万方法解析 ZHENBI是什么交易所?ZHENBI交易所怎么样? The Rock Trading交易所怎么样?The Rock Trading交易所全面介绍 冰原守卫者龙骨之地外围在哪里(冰原守卫者黑龙) fil币怎么获得?fil币未来5年能涨到多少钱一枚? DEFX币发行量多少?DEFX币发行总量介绍 龙之国物语龙蛋怎么获得(龙之国度mod) 区块链云算力是什么意思?一文了解区块链云算力意思和发展 火币网提现手续费多少钱?火币网提现详细教程 OKFLY是什么币种?OKFLY币前景和价值介绍 比特币为什么值钱?原理是什么? chia(奇亚)项目到底是骗局还是机遇? dnf奶妈守护珠怎么选(dnf奶妈守护珠选择2023) TITAN是什么币种?TITAN币怎么样? 三国志战略版如何发送阵容(三国志战略版怎么给好友发阵容) Mask币会成为百倍币吗?Mask币会涨到多少2025-2030价格预测 泰拉瑞亚妖灵瓶怎么获得(泰拉瑞亚妖精铃铛怎么做) DOTC去中心化交易平台使用教程:添加收付款方式 i9-13900K和R9-7950X决战紫禁之巅(i9 9900k 与r7 3800x对比) 欧意KYC区咋认证?欧意交易所身份验证kyc认证最新教程

热门文章

推荐专题

更多>>

游戏推荐

更多>>