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

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

时间:2023-02-01 阅读:
特战英豪官网版

特战英豪官网版

  • 类型:射击空战
  • 大小: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环境啦。

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


外媒评年度十佳RPG游戏,世界十大rpg游戏排行榜 消逝的光芒2会加密吗(消逝的光芒2有dlc吗) 魔兽世界鲜血女王兰娜瑟尔怎么走(鲜血女王在哪) lol手游日女皮肤哪个好(英雄联盟手游日女出装天赋) 妄想山海卷鳞骨怎么获得(妄想山海鳞甲) 魔兽世界死亡熔炉钥匙怎么获得(死亡熔炉技师坐标) 和平精英赠送礼物需要什么条件(和平精英赠送东西要符合什么条件) 英雄联盟周免在哪看(怎么看lol周免) 币安Launchpad是什么意思?币安launchpad规则 问道手游怎么交易金钱(问道手游怎么交易金钱最划算) 黑色沙漠手游夏卡鲁商店在哪(黑色沙漠夏卡鲁9个图画碎片) 创造与魔法小鸟更新比刷点(创造与魔法小鸟更新必刷点图) 哪个手机跑分软件比较权威?2022手机评测软件排行榜 什么是质押池?通俗解释质押池 如何选择数字货币交易平台? IFO概念是什么意思?盘点IFO概念代币都有哪些 ETH在哪个平台交易?以太币ETH交易平台盘点 币安理财能提前赎回吗?提前赎回有费用吗? 内置作弊菜单的游戏手游有哪些(内置作弊菜单的单机游戏) 冰原守卫者空水壶哪能弄来(你知道的冰原守卫者相关要素) 数字货币合约短线技巧有哪些?数字货币合约短线技巧汇总 Gas是什么意思啊?区块链中的Gas有什么用 以太坊将超越比特币?以太坊的持续上涨逻辑? 消逝的光芒死亡后丢失的点数是什么(消逝的光芒突然死亡) 有哪些无需实名认证的mmo游戏(无需实名认证的moba游戏) 跨链桥是什么意思?一文读懂什么是跨链桥 比特币大跌会崩盘吗?比特币会清零吗? 王者荣耀到V10要多少钱(王者到v10需要多少) BitForex交易所提现不了?币夫交易所提现人民币详细教程 bitstamp交易所如何注册?bitstamp交易所哪个国家的 欧易不实名可以交易吗?欧易衍生工具介绍 MDX币是什么币种?MDX币减半是什么意思? 和平精英会员怎么没了(和平精英为什么没有vip等级) Uniswap交易所怎么交易?Uniswap交易所交易图文教程 非小号APP使用教程:BTC指标数据说明介绍 王者荣耀高渐离2022怎么出装(高渐离出装最新) 英雄联盟手游海克斯排位护盾有什么用(海克斯护盾已达上限) 比特派钱包安全吗?是去中心化的钱包吗? 我的世界狐狸驯服后会跟随吗(我的世界狐狸被驯服会跟你走吗) 和平精英吉普车哪个地图有(和平精英吉普车在哪些地图有) TUSD币哪个交易所能买?TUSD币买入和交易操作步骤教程 欧易华为手机下载无法安装怎么办?欧易APP华为不让安装解决方法 EVZ是什么币种?EVZ币详细介绍 2023年什么行业最有前景(2023年最挣钱的十个行业是什么) 消逝的光芒2生存者还是治安者好(消逝的光芒2刷幸存者等级) 宝可梦传说阿尔宙斯御三家在哪抓(宝可梦传说阿尔宙斯宝可梦) 新诛仙手游隐藏任务(新诛仙手游隐藏任务不负相思意) 怎么投资数字货币赚钱?币安交易所买币卖币教程 狗狗币交易平台盘点,2021年可以买狗狗币交易平台排行 时空猎人攻城战怎么进(时空猎人攻城战多长时间) 第五人格蜘蛛天赋怎么加点 蜘蛛天赋加点攻略(第五人格蜘蛛加强) OKEX怎么卖币换钱?OKEX交易所卖币教程 创造与魔法大船怎么收回(创造与魔法大船收回建筑还在吗) 有哪些bt公益服手游充值打折(bt公益手游盒子) 永续合约每天扣多少钱?永续合约手续费怎么算的? 硬件钱包Ledger Nano S介绍及安装使用教程 收益聚合器是什么意思?收益聚合器提供的收益从何而来? BSL币总量多少?BSL币发行总量和流通量介绍 国内的主流单机破解游戏论坛(单机游戏论坛破解区) 我的世界袭击有多少波(我的世界袭击玩法) 冰原守卫者暖冬壁炉作用(冰原守卫者手游攻略) QQ飞车手游飞行石有什么用(飞车所有飞饰) 蜀门手游里坐骑怎么得到(蜀门端游坐骑) 币安怎么样?币安币发行价多少一个?币安BNB发行总量多少? 苹果手机密码忘记了怎么办才能解开?五个步骤轻松解锁 币安Launchpad怎么玩?币安Launchpad玩法操作教程 ok卖币限额是什么意思?通俗解释在ok卖币限额 云顶之弈s7龙神有哪些(云顶之弈龙战神) 王者荣耀新皮肤体验卡怎么申请(如何获得王者荣耀新皮肤体验卡) bitFlyer交易所怎么样?bitFlyer交易所属于哪个国家的 冰原守卫者怎么做好装备(冰原守卫者武器大全) DNF100级神话怎么升级105(dnf100级版本神话能带几件) TUSD和USDT有什么区别?稳定币TUSD全面介绍 STRAX是什么币种?STRAX币前景和未来的价值分析 Bitop是什么交易所?Bitop交易所全面介绍 消逝的光芒2瞄准键怎么按(消逝的光芒2操作) DX币发行时间是哪天?DX币发行时间和发行价格介绍 我的世界哪个版本可玩性高(我的世界哪个版本最好玩儿) NKN币发行总量多少?NKN币发行量和流通量介绍 蜀门手游青城技能怎么循环(蜀门手游青城后期穿什么属性装备) 摩尔庄园手游八音树怎么获得(摩尔庄园8) 幻彩币(CHR)在哪里购买?CHR币怎么样? 幻塔艾达骑士怎么获得(幻塔a-03) 诛仙手游雷神刷新时间(诛仙手游雷神多久刷) 区块链科普:密码货币钱包全景概览介绍 和平精英怎么改快捷消息(和平精英怎么改快捷消息提示) 区块链中的哈希值是什么意思?如何在区块链中使用哈希值? 比特币和DeFi的区别,比特币和DeFi截然不同之处是如何体现的? 我的世界节肢杀手有什么用(我的世界节肢杀手最高等级) 消逝的光芒2在哪里买(消逝的光芒2白嫖) ARRR是什么币种?海盗链/ARRR币前景怎么样? 火币网怎么充值人民币买币?火币网人民币买币教程 金铲铲之战钻石0胜点输几把掉段(金铲铲之战钻石过了是什么) KISHIMOTO币发行量多少?KISHIMOTO币发行总量介绍 关于比特币ETF 您想要知道的都在这里 和平精英赛季手册总积分为什么不能用(和平精英赛季手册总积分为什么兑换不了) 蜀门手游城战荣誉官在哪里(蜀门城战奖励) okex挖矿怎么挖?okex挖矿具体操作步骤 如何在imToken钱包中体验Fantom公链? 有哪些武侠卡牌手机游戏好玩(好玩的武侠卡牌手游)

热门文章

推荐专题

更多>>

游戏推荐

更多>>