本文介绍了区块链安全和去中心化的基本原理,包括哈希函数、区块结构、挖矿过程、区块链的不可篡改性以及去中心化的重要性。文章还提及了数据在区块链中的存储方式以及一个可视化区块链运作方式的资源。
学习区块链如何通过哈希、挖矿和分布式共识来确保安全性和去中心化的基本原理。
每个区块链的核心都蕴含着一个既简单又强大的概念:通过加密哈希链接在一起的区块链。
理解区块链的工作原理,始于计算机科学和密码学中最重要的组成部分之一——哈希函数。
哈希 是一个固定长度、唯一的字符串,用于表示任何输入数据。当你将任何数据片段——文本、图像、代码——通过一个 哈希函数 时,它会生成一个唯一的指纹,称为 哈希。
例如,如果我们把字符串 "aliyu hydar"
传递给一个哈希函数:
Ethereum 使用一种叫做 Keccak-256 的哈希版本,它属于 SHA 家族,但不同于比特币中广泛使用的 SHA-256。
令人着迷的是,无论输入有多大,输出的哈希总是具有相同的固定长度。即使是单个字符的改变也会产生一个 完全不同的哈希 ——这种特性被称为 雪崩效应。
一个区块不仅仅是随机数据——它有特定的结构。每个区块通常包含:
这些字段随后通过哈希算法生成 区块的哈希。
即使对区块内容的最小改变也会导致一个完全不同的哈希——使该区块无效并破坏链。
挖矿 是一个计算上的试错过程,目的是找到一个 nonce (随机数),使哈希与特定条件相匹配——例如,一个以四个零开头的哈希。
这被称为 工作量证明。这个问题的难度因区块链而异,这也使得挖矿既 计算密集 又 安全。
正确的 nonce 本质上是 “解决” 了区块。一旦解决,该区块就会被添加到区块链中,矿工也会得到奖励。
区块链中的第一个区块被称为 创世区块,它被硬编码到每个完整节点中。它通常有一个全零的前一个哈希。
因为每个区块都包含 前一个区块的哈希,篡改任何区块的数据会 破坏链 ——使其立即被检测到。
免费加入 Medium 以获取该作者的更新。
如果有人试图改变一个旧区块,他们将不得不:
简而言之:不可能,除非控制网络的大部分。
如果一个单一的实体控制了区块链,他们可以重写历史,改变余额,或使交易无效。
为了防止这种情况,区块链被设计成 去中心化 的:
这种去中心化的共识确保 没有任何一方可以控制或操纵 区块链。
这是无需信任的关键:你不需要信任任何一个实体,只需要信任数学和多数。
你可能认为只有文本或代码可以存储在区块的数据字段中——但实际上,任何东西 都可以被哈希和存储:
如果你更喜欢可视化学习,你可以在 andersbrownworth.com/blockchain 上进行交互式探索——这是一个哈希链接和区块无效化的绝佳可视化。
本文是我在 Cyfrin Updraft 中的旅程的一部分,在那里我通过公开构建来学习 Web3 开发和区块链安全。
在下一篇文章中,我将探讨签名交易是如何工作的。
如果你正在从根本上学习 Web3,请关注我。 🚀🔗
- 原文链接: blog.blockmagnates.com/b...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!