当前位置:首页 > 知识学习 > 详情

区块链基础:散列法(Hashing)

2025-06-22 14:01:02 阅读(32) 娱乐资讯网

区块链基础:散列法(Hashing)-娱乐资讯网

你尚力(li)财经小编2022可能知道,计算(suan)机中所有的数据都是由0或1组成的(de),最小的数据单位是比(bi)特,也是0或1。假设(she)一台电脑有很多灯泡,这个灯泡有两种状(zhuang)态,亮(1)或灭(0)。并且灯泡显示的图案对于不同(tong)的数据是不同的。大数据(ju),比如视频,用了相当多的灯(deng)泡,而一封简短的邮件需要的灯泡就比(bi)较少。一个灯泡代(dai)表一点。另外,你可能听说过一个词(ci)叫字节,一个字节相当于八个灯(deng)泡的组合。而1MB的数据(ju)大约是100万字(zi)节,相当于800万个灯泡。

现在的家用电脑都(dou)有几十亿甚至上(shang)万亿的灯泡。但我们发现,即使是(shi)256个灯泡的集合,也(ye)足以代表宇宙中任何可以观察到(dao)的粒子。想象一下256个灯泡组(zu)可以产生的所有图(tu)案。这将是一个天文数字:也(ye)就是说,2 256种可能性。

区块链基础:散列法(Hashing)-娱乐资(zi)讯网

哈希函数,即(ji)取任意一个输入,都可(ke)以产生一个特定大小(xiao)的输出。这个使用散列函数然后产(chan)生一些数据的过(guo)程被称为散列或散列的音译。哈希函数的输出称为哈希。特定哈希函数的基本特征是其输出的(de)大小。以本文中的例子为例。我们(men)使用输出为256位(32字节)的(de)散列函数。当然,也有哈希函数可以产生更(geng)小的输出或更大的输出,也有其(qi)他哈希函数可以产(chan)生256位,但在这个(ge)例子中,我们并不(bu)关心使用的具体哈希函数(shu)。

区块链基(ji)础:散列法(Hashing)-娱乐资讯网尚力财经小编2022

使用这(zhe)个例子的hash函数,当一个N兆字节(MB)的视频被hash后,那么它的输出结果是:256个灯泡中的一(yi)部分被点亮。当一封简(jian)短的电子邮件被散列时,这256个灯泡的输出显示出另一(yi)种模式。在某些方面,哈希(xi)看起来像压缩。简(jian)单解释一下两者(zhe)的区别。哈希方法总是(shi)产生相同数量的灯泡,而压缩N兆位(MB)视频的结果(guo)仍然产生数百万个灯泡的输出。压缩视频可以解压缩以获得原始(shi)视频。当一个视频被散(san)列到只有256个灯泡时,从这个散列中重建原始(shi)视频的可能性非常小。这听(ting)起来可能不太理(li)想,但实际上这是hash函(han)数的一个强大功能。

区块链基础:散列法(Hashing)-娱乐资讯网

安全加密哈希函数的一个关键(jian)特征是它是单向的。这意味着从数(shu)学和计算机科学的角度来看(kan),几乎不可能从输(shu)出中推导出输入。也就(jiu)是说,给定一个散列,知道或查找提(ti)供给这个散列函数的输入数据应(ying)该是不可行的。技术上(shang),我们称之为前像阻力。

因此,无论哈希方法操作更大(da)还是更小的输入,哈希函数都(dou)应该消耗大约相同的时间(jian)。另一个理想的(de)结果是,这个哈希,也就(jiu)是哈希函数生成的灯泡图(tu)案,看起来是随机(ji)的。通过散列数据“密码1”生(sheng)成的灯泡图案与通过散列数据“密码(ma)2”生成的灯泡(pao)图案非常不同。否则,如果模式(shi)相似,对方就可以推断输入相似,如(ru)果找到相关的词(如“pass”和“word”),就可以很(hen)容易地找到密码。安全散列函数(shu),即使输入仅相差一位,也会产生明(ming)显不同的输出。

安全的理想行为是(shi)给出一个散列,而找到输入数据的唯(wei)一方法是散列所有输(shu)入的组合,直到正确的输入被散列(lie)。如果输入是随机的,找到它的时(shi)间是不确定的。

虽然查找(zhao)一个hash的输入应该很困(kun)难,而且需要很(hen)长时间,但是计算一个(ge)hash可以很(hen)快完成。具有大(da)量输入的散列函数可能在不到一秒的时(shi)间内得到输出。考虑到现在的智(zhi)能手机每秒可以进行数十亿(yi)次计算,一秒钟相当于计算很长时间。

加密散列函数还应该是抗冲突的。冲(chong)突过程意味着当(dang)散列函数对多个输入进行操作时,它会产生相同的输出。如果使用(yong)哈希方法计算数(shu)据1(可能是电子表格),而使用哈希方法计算数据2(可能是图片),两者产生的输出相同,那么(me)就会发生这种冲(chong)突。

当我们描述区块(kuai)链和散列部分时,加密散(san)列函数的安全性的重要性将(jiang)变得更加清楚。

散列法在区块(kuai)链被广泛使用。这里有一些例子(zi)。

区块链上(shang)的地址是通过散列(lie)公钥获得的。以太坊的账户(hu)地址是用KECC CAK-256(开发者应该读懂它和(he)SHA3-256的密钥区别)哈希法计算公钥得到的(de)。比特币地址是通过使用SHA 2256和RIPEMD160散列公钥获得的。

哈希函数的防冲突属性很(hen)重要,因为如果两个人产生(sheng)了同一个地址(有冲突),那么任何一方都可以把钱花在这个(ge)地址上。

签名也是区块链的基本组成部(bu)分。与签署支票类似,加密签(qian)名决定了哪些交(jiao)易是有效的。签名是通过散列私(si)钥和要签名的数(shu)据生成的。

事(shi)务哈希在区块链非常明显。例如,描述一个交易:“Alice在D日T寄给Bob X单位(wei)的货币”,那么该交易将作为它(ta)们的散列提交。例如,5c 504 e 432 CB 51138 BCF 09 a5 E8 a 410 DD 4 a 1 e 204 e 84 bfe 16 dfba 1 b 22060是区块链以太坊的交(jiao)易。Hash也更直接可(ke)用,比如“1337个块中的第(di)1024个事务”的描(miao)述。你只需要复制这个散(san)列并将其粘贴到区块链(lian)浏览器中,然后你就可以查(cha)看这个交易的细节。

形而上地说,区块链中的(de)块是由它们的散列决(jue)定的,散列起着识别和完全验证的双重(zhong)作用。标识字符串还提(ti)供其自身的完整(zheng)性,这被称为自认证标识(shi)符。

对于使用挖掘机(ji)制的区块链,工作证明是一个(ge)数字,我们称之为nonce。当它与其他散列数据组(zu)合时,它将产生一个小于指定目(mu)标值的值。挖掘(jue)使散列成为一种快速、单向和不可逆的算(suan)法。找到一个有效的随机数需要(yao)时间,因为(矿(kuang)工)没有可用的(de)线索来帮助他们找到一个足够小的哈(ha)希,而找到一个比目标值更小的哈希的(de)唯一方法是计算大量的哈(ha)希:在比特币中,目前有超过10 ^ 25(10的九(jiu)次方)个哈希。当发现一个nonce随机数时,需要1秒钟来验证它,然(ran)后这个新的块将在网络中广播,以形(xing)成最新的共识和区块链。

在区块链(lian)上存储数据是永久性(xing)的,但在区块链上存储大量数据是(shi)不明智的。实用的区块链存储方法(fa)是在区块链上存储固定大小(通(tong)常很小)的数据,我们称之为(wei)“数据哈希”。区块链的一个应用是作为时间戳(chuo)服务。假设你想证明一张现在的图,并(bing)且确定它不是未来(lai)编造的。您可以(yi)将图像的哈希存储在区块链上。一(yi)年后,当法官询问这张图片是否(fou)真的存在于一年前时,你可以(yi)提供这张图片,然后法(fa)官可以对这张图片进行哈(ha)希处理,并与你存储在区块链(lian)上的哈希进行比较。

Hash方法还涉及(ji)更高级的例子,比如区(qu)块链的基本面—— Merkle树,可扩展性和轻钱包创新(xin)。用于安全识别的

安全加密散列函(han)数是单向的、快(kuai)速的和抗冲突的。将这些特性结合起(qi)来后,它们会处(chu)理任何类型的输入,然后产生一个固(gu)定大小的输出,这个输出被称为hash。作为任何数据的标识,哈希(xi)都是非常有用的。长度为(wei)256位的哈希表(biao)示天文数字的组合(he)。将它们作为全球物(wu)联网的唯一标识符就足够了。即使在(zai)纳米技术的规模上,这些哈希也可以(yi)写成64个字符(十六进制),这使(shi)得它们足以用作标识符。在区块链,散列被用作块、交易和地址(zhi)的标识符。

区块链基础:散(san)列法(Hashing)-娱乐资讯网

Hash还享有安(an)全性和隐私性的(de)优势。如果一首歌以数字格式录制(zhi),歌曲的哈希记录在区块链上,那(na)么没有人可以声称他们是第一个创作这(zhe)首歌并生成哈希的人,他们也(ye)不会知道这首歌本身:有人不(bu)能写一首歌或篡改哈希。类似地,除(chu)非指明了歌曲或其(qi)他数字财产或数据,否(fou)则在区块链上仅显示散列本身。所有(you)权记录也可以存储在区块链上。举个简单的例子,车辆注册办公室可(ke)以在区块链上存储汽车数据散(san)列(照片、VIN、牌照)。只有车(che)主、保险公司和政府才知道这辆(liang)车的实际细节。

来设计密码哈希函数需要艺术和(he)科学的结合。为了(le)证明它们的安全性,需(xu)要高等数学和计算机科学。区块链是(shi)第一个充满哈希的(de)用户界面,是为广大人民群众(zhong)提供的。良好的用户(hu)体验背后隐藏着许多哈希,但正如我(wo)们今天看到的各种id和序列号一样(yang),有时哈希是取代长篇(pian)大论的最佳标识符。随着加(jia)密技术和物联网技术越来越普及,希望(wang)以后能看到更多的64字符哈希!

原文:https://medium.com/@ CONSENSYS/区块(kuai)链-挖方-哈希-7F4746CBD 66b # 94m1n6n3b作者:Joseph Chow(ConsenSys)。图:波格丹一世伯恰翻译(yi):洒脱快乐投稿来源(yuan)(翻译):资讯(http://www.8btc.com/blockchain-und…宁宁-哈(ha)希)[X]

上一篇:苹果无(wu)线充电器伤电池吗(无线充电好处和坏处)

下一篇:最好的越(yue)野车排行榜前十名(最好的越野车排行榜前十名品牌)

推荐阅读:

  • 关于btc是什么(me)意思啊的信息

    关于btc是什么(me)意思啊的信息

    什么是BTC币比特币(Bitcoin)的概念最(zui)初由中本聪在2008年11月1日提出(chu),并于2009年1月3日正式(shi)诞生。根据中(zhong)本聪的思路设计发布的开源(yuan)软件以及建构其上的P2P网络。比特币是一种P2P形式的…
    2023-06-08 阅读(20)
  • 委托代理(li)出租合同范本最新6篇

    委托代理(li)出租合同范本最新6篇

    当(dang)企业的所有权与经营权分离时(shi),委托代理问题就(jiu)已经出现了。那么房屋委托租赁(lin)合同怎么写呢?下面是由小编(bian)为大家整理的房屋委托租(zu)赁合同范本,仅供参(can)考,欢迎大家阅读。委托代理…
    2023-06-08 阅读(29)
  • copay钱包(copay钱包下载(zai)手机版)

    copay钱包(copay钱包下载(zai)手机版)

    copay钱包被锁住怎么(me)办cgpay钱包(bao)提现银行卡被冻结怎么办?cgpay钱包是一款区(qu)块链加密货币平台,很多小伙伴都遇到(dao)了提现银行卡被冻结的情况,但是不知(zhi)道接下来该如何处理,今天就让小编来(la…
    2023-06-08 阅读(23)
  • 870和888差距(888和(he)8gen1差距)

    870和888差距(888和(he)8gen1差距)

    870和888差距是多(duo)少?骁龙870和888的差距主要是在性(xing)能、架构方面,具体如下:1、制作工艺差距。骁龙870搭载7nm制作工艺,是一(yi)款制作工艺十分(fen)成熟的芯片;骁龙888搭载5nm制作工艺,在晶体(ti)管…
    2023-06-08 阅读(22)
  • 2022GAL币发行量(liang)多少,有什么价值GAL币发行总量流通总量

    2022GAL币发行量(liang)多少,有什么价值GAL币发行总量流通总量

    【GALcoin的英(ying)文全称是GalatasarayFanToken,是Chiliz平台上的一(yi)种粉丝令牌。每个球(qiu)迷代币代表一个球队,持有这(zhe)个代币的人享有很多权益。目前,这种令牌没(mei)有通货膨胀和通货紧(jin)缩的计划…
    2023-06-08 阅读(22)