区块链是如何防止被篡改的?

来源:网络 时间:2022-11-04 17:00 阅读量:12604   会员投稿
分享:

区块链有一些功能可以防止篡改——散列法(Hashing)或哈希法。自1950年代和60年代以来,散列是一种加密技术,对各种计算都必不可少,区块链使用它来防止篡改。在区块链中,散列基本上充当唯一标签,防止某人更改块中的数据,甚至交换假块。散列...

区块链有一些功能可以防止篡改——散列法(Hashing)或哈希法。

自 1950 年代和 60 年代以来,散列是一种加密技术,对各种计算都必不可少,区块链使用它来防止篡改。在区块链中,散列基本上充当唯一标签,防止某人更改块中的数据,甚至交换假块。

散列可让你从任何数据中创建一串字符,你将一堆数据放入(整个区块)中,然后得到一个更小、唯一的数据。为了确认没有被篡改,每个块都存储了它之前的块的哈希值。这样,如果哈希存储的两个位置之间存在差异,您就会知道出了什么问题。

哈希有几个重要的属性:

1、给定相同的数据,它们将始终相同。

2、如果数据的任何部分发生变化,即使是最轻微的变化,它们也会完全改变。

3、很容易再次检查给定的散列是否来自给定的数据,但很难判断仅从散列中给出了什么数据。

举一个简单的例子。假设当我们通过哈希算法运行“区块链”这个词时,我们得到了“ef7797”(实际上,哈希要长得多)。如果我们运行“区块链”,只有一个字母不同,我们会得到“8e809e”。

如果我们想确保我们正在查看最初经过哈希处理的相同数据,只要我们使用相同的程序来创建我们的哈希值就很容易了,通过散列程序运行“区块链”,无论是谁在做总是会产生“8e809e”。但是反过来需要很长时间:如果我想知道有人为了得到“9ed142”而在散列程序中放入了什么,我只需要猜测,直到找到产生那个的特定单词哈希。

链中的每个区块都包含前一个区块的哈希值,这正是哈希算法在给定区块数据时所吐出的内容。如果有关该块的任何内容发生更改(例如,其中的交易,甚至整个块本身),则该块的哈希值都会更改,从而破坏链,包含前一个区块的哈希值的下一个区块会说“我已改变,有事!”

所有这些加起来构成了一个系统,在该系统中,任何查看提交给链的新块的人都可以知道在任何时候都没有任何更改。如果有,则更改后每个块的哈希值必须与当时的分类账不同。

免责声明:该文章系本站转载,旨在为读者提供更多信息资讯。所涉内容不构成投资、消费建议,仅供读者参考。

热文推荐
头条推荐
最新资讯