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

2022-03-01 00:00:00 10318 0
管理员

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


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


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


哈希有几个重要的属性:
1、给定相同的数据,它们将始终相同。
2、如果数据的任何部分发生变化,即使是最轻微的变化,它们也会完全改变。
3、很容易再次检查给定的散列是否来自给定的数据,但很难判断仅从散列中给出了什么数据。
举一个简单的例子。假设当我们通过哈希算法运行“区块链”这个词时,我们得到了“ef7797”(实际上,哈希要长得多)。如果我们运行“区块链”,只有一个字母不同,我们会得到“8e809e”。


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


链中的每个区块都包含前一个区块的哈希值,这正是哈希算法在给定区块数据时所吐出的内容。如果有关该块的任何内容发生更改(例如,其中的交易,甚至整个块本身),则该块的哈希值都会更改,从而破坏链,包含前一个区块的哈希值的下一个区块会说“我已改变,有事!”
所有这些加起来构成了一个系统,在该系统中,任何查看提交给链的新块的人都可以知道在任何时候都没有任何更改。如果有,则更改后每个块的哈希值必须与当时的分类账不同。

免责声明:以上内容(如有图片或视频亦包括在内)均为平台用户上传并发布,本平台仅提供信息存储服务,对本页面内容所引致的错误、不确或遗漏,概不负任何法律责任,相关信息仅供参考。

本站尊重他人的知识产权、名誉权等法律法规所规定的合法权益!如网页中刊载的文章或图片涉及侵权,请提供相关的权利证明和身份证明发送邮件到qklwk88@163.com,本站相关工作人员将会进行核查处理回复

分享
海报
10318
上一篇:什么是燃烧证明算法?燃烧证明是如何工作的? 下一篇:闪电网络和雷电网络是什么?有什么关系?
请文明发言哦~

忘记密码?

图形验证码