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