哈希函数是
区块(kuài)链技术不可或缺的(de)一(yī)部分,可用(yòng)于多种用途。 它是一种数学函数,它接受任何给定(dìng)长度的输入(rù)并产生(shēng)固定长度(dù)的输(shū)出(chū)。 输出通(tōng)常称为哈希值,(哈希)摘要或哈希。
有很(hěn)多哈(hā)希函数,就像多个在线的“计算(suàn)器”。 计算器允许您同时使用不同种类的(de)算法对您喜欢(huān)的任何输入进(jìn)行哈希(xī)运算(suàn)。 输(shū)入(rù)的大小可以从单(dān)个数字到(dào)整(zhěng)个文件,但输出的大小(xiǎo)将始终相同。
加密哈希函数必须(xū)满足以下一组标准才能在(zài)区块链中(zhōng)使用:
单向性 - 必须很容易(yì)计算给定(dìng)输入的输出,但不可(kě)能计算给定输出的(de)输入。 当我们在本章后(hòu)面讨论(lùn)
加密货(huò)币挖掘时,这将是一个不可(kě)或缺的部分(fèn)。
伪随机(jī) - 输入的变化(huà)将在输出中产生不可预见的变化。 如果输入“2”的散列(liè)值是“4”,则输入(rù)“3”的散列最好不是6。
抗冲突 - 找到哈(hā)希函数的两个输入导致相同(tóng)的输出应(yīng)该很难(不能读取)。
确定(dìng)性 - 相同的输(shū)入(rù)总是(shì)需要产生相同的(de)输出(chū)。
目前最常用的哈希算法是SHA-256。 SHA是Secure Hash Algorithm的(de)首字母缩写。该(gāi)数字表(biǎo)示以比特为(wéi)单(dān)位的输出长(zhǎng)度,例如(rú)SHA系列中有四种不同的输出长度:224,256,384或(huò)512位。与
区块链技术相关(guān)的另一种算法是(shì)RIPEMD系列。 RIPEMD160经常用于许(xǔ)多加密货(huò)币中,因为(wéi)您可能已(yǐ)经猜到产生160位(wèi)的输出。
哈(hā)希值在加密货(huò)币和区块链(liàn)中(zhōng)用(yòng)于多种用途。最(zuì)显着的用(yòng)途是将块链接在一起(qǐ),从而(ér)创建区块链。我们将(jiāng)哈希值称为数据指纹,因为它具有抗冲突性。如果(guǒ)您要将文(wén)件发送给其他人,则(zé)可(kě)以在(zài)发(fā)送文件之前对文(wén)件进行(háng)哈希处理时包含哈希摘(zhāi)要。收(shōu)件人可以在收到文件后计算文件的哈希值,并将其与您提供的哈希值(zhí)进行比较,以便检查文件的完整性。
输入的(de)每组数据可以通过它生(shēng)成的唯一哈希轻松识(shí)别。找到(dào)哈(hā)希(xī)函(hán)数的(de)两(liǎng)个输入几(jǐ)乎是不(bú)可(kě)能的(de),这会导致相同(tóng)的输出(导致冲(chōng)突)。地球上(shàng)的(de)所有超(chāo)级(jí)计算机需要(yào)数千(qiān)年的时间才(cái)能产生冲突。这是(shì)因为没有办法“计算”冲突。找到一个的(de)唯一方法是通过(guò)蛮力方法,在那里你(nǐ)尝试不(bú)同的输(shū)入,直到(dào)你偶然发(fā)生冲突。
总(zǒng)结
哈(hā)希函数是区块(kuài)链(liàn)技术(shù)的第一个(gè)基石。文件(jiàn)的哈希就像指纹。通过比较它们(men)的(de)哈(hā)希(xī)值很容易检(jiǎn)测两个文(wén)件是(shì)否相同。哈希(xī)将(jiāng)“区(qū)块”连结在一起。如(rú)果不包含前一个块的(de)哈希,则无(wú)法更改过去的数据(jù)。如果您尝试更改数(shù)据,引用或链接将(jiāng)不可行。
版权申明:本内(nèi)容来(lái)自(zì)于互联网,属第三(sān)方(fāng)汇集推荐(jiàn)平台。本文的版权归原作者所有,文章(zhāng)言论不代表链门户(hù)的观点,链门户不承担任何法律(lǜ)责任。如有侵权请(qǐng)联系QQ:3341927519进行反馈。