本文详细介绍了区块链的基本概念、工作原理、账户、交易、区块、节点、共识机制以及密码学和哈希的应用,适合初学者理解区块链技术的核心原理。
区块链不仅仅是技术术语或加密货币背后的魔法,它还是一种改变游戏规则的技术,用于保持数据的去信任、安全和去中心化。
如果你是区块链新手,并希望更多地了解区块链技术以及人们为什么需要它,请查看这篇关于区块链基础知识的指南。
将区块链想象成一群朋友(参与者)决定一起维护的共享日记。每个朋友都有自己的日记副本。每当发生重要的事情时,比如一个朋友借钱给另一个朋友,他们就会将其作为新条目写在日记中。
在添加条目之前,所有朋友必须同意它是真实的。这就像大家一起检查并说:“是的,约翰确实在某个日期借给了简10美元。”一旦他们达成一致,每个人都会在自己的日记中写下新条目。这样,每个朋友的日记都保持一致,保持了交易的可靠和防篡改记录。
就像日记条目一旦被写下并达成一致后无法删除一样,区块链上的交易是永久的,并由所有参与者达成一致,使其成为一种安全且值得信赖的记录方式。
从字面上看,区块链是一个分布式计算机网络。这些计算机都存储了区块链的本地副本,可以将其视为分布式数据库或账本。
向区块链添加数据与我们的共享日记类比非常相似。当数据被添加时,更改会在整个网络中传播,每台计算机都会更新其副本。每次添加或修改都是一笔交易。在给定时间段内发生的所有交易被打包成一个区块。不同的区块链有自己确定该时间段长度的机制。
然后,这个区块被添加到预先存在的区块链中,一旦完成,每台计算机,就像维护日记的朋友一样,都会更新自己的区块链副本;这就是名称的由来。它实际上是一个区块链。
但这只是故事的开始。在幕后,一系列组件和机制正在努力保持区块链的安全,并在去信任的环境中运行。现在,让我们深入了解一些基本概念,以获得更清晰的画面。
在本节中,我们来了解账户、交易和区块。
账户,就像传统银行或任何安全场景中的账户一样,是唯一的,代表个人或实体。区块链上的账户就像唯一身份,可用于发送和接收交易或资产。在基于智能合约的区块链中,如以太坊,主要有两种类型的账户(然而,对于像比特币这样不支持智能合约的区块链,情况并非如此):
外部拥有账户(EOA):这些账户由私钥控制,没有与之关联的代码。这些账户拥有代币余额,可以发送和接收交易,这些交易可以是资产转移交易或智能合约交互交易。每个账户都有一个公钥和私钥对,其中私钥就像密码,公钥就像电子邮件,对所有人可见。在EVM链上的EOA示例为 0x226D82B335C6EE590ba4423f97022a3e71a8f44b
合约账户:这些账户由智能合约拥有,只有在EOA或另一个智能合约触发时才能执行操作或交易。这些类型的账户可以持有资产、发送交易,甚至在收到交易形式的指令时执行代码。在EVM链上的合约账户示例为 0xdAC17F958D2ee523a2206206994597C13D831ec7
了解更多关于以太坊账户的信息。
交易是账户发起的将资产从一个账户转移到另一个账户、与智能合约交互或部署智能合约的操作。账户在区块链上的每次数据添加/修改都以交易的形式进行。区块链中的交易通常包括以下信息:
Nonce:表示从账户发送的交易数量的计数器。在深入指南中了解Nonce。
To:接收账户地址(可以是EOA或合约地址)。
From:发送者的账户地址(可以是EOA或合约地址)。
Amount:这是正在转移的代币数量(通常是该区块链的原生代币)。
Signature:这是用发送者的私钥生成的加密签名。这证明交易未被篡改,确实是由发送者的账户地址发起的。
交易哈希:这是交易的唯一标识符,通过对交易的详细信息进行哈希处理生成。它就像交易的指纹,确保其完整性和唯一性。
区块就像一个隐喻的包裹,其中包含由矿工或验证者(取决于区块链的类型)验证的交易列表。这些交易在包含在区块中时会被永久记录在区块链上。区块信息的一些关键组件包括:
区块头:包含区块的元数据,如版本号、前一个区块的哈希(将其链接在链中)、Merkle树根哈希(区块中所有交易的加密表示)、时间戳、难度目标和Nonce。
交易列表:包含在区块中的所有交易的列表。
区块哈希:区块的唯一标识符,通过特定算法对区块头进行哈希处理生成。它必须满足网络的难度标准。
现在,让我们更深入地了解节点和共识机制。
节点是区块链的计算机,区块链网络运行在这些计算机上,共识机制是管理这些节点操作的规则。
共识机制就像一套规则或协议,允许区块链中的所有节点就交易的有效性和区块链的当前状态达成一致。这确保了分布式账本的所有副本都是同步和有效的。该机制对于维护区块链的去中心化、去信任性质至关重要,所有节点可以在不相互信任的情况下就特定事物达成一致。已经开发了几种类型的共识机制以适应不同的用例,但最常见的几种是:
工作量证明(PoW):工作量证明是支持比特币网络的共识机制。它通过要求矿工解决复杂的加密难题来确保网络安全和完整性。这个过程称为挖矿,需要大量的计算资源,使得恶意行为者难以篡改区块链。第一个解决难题的矿工验证交易并添加新区块,获得代币作为奖励。PoW的优势在于其简单性和在保护区块链网络方面的良好记录。
权益证明(PoS):权益证明代表了从PoW的计算强度转向,转而专注于算法选择验证者(取决于区块链的类型)。这些验证者质押一些代币,并被选中验证交易并在某些区块链中创建区块。选择验证者的算法因区块链而异。该机制通过消除挖矿需求,减少了区块链网络的整体能耗。PoS使验证过程民主化,并将验证者的激励与网络的长期成功保持一致,因为如果他们批准欺诈性交易,他们的质押将面临风险。
委托权益证明(DPoS):委托权益证明是PoS机制的演变,旨在进一步提高区块链网络的效率和可扩展性。在DPoS中,代币持有者投票选举一小群验证者,他们负责保护网络和验证交易。该系统允许更快速的共识,而不会影响去中心化,因为当选的验证者代表其选举者行事。DPoS还引入了一层治理,因为如果验证者未能有效履行职责,他们可以被投票罢免,确保一个自我调节的生态系统。
历史证明(PoH):PoH是Solana独有的高性能共识机制,可增强可扩展性和效率。它引入了历史记录,证明交易的时间顺序,允许在不影响安全性和去中心化的情况下提高吞吐量。通过在每笔交易中嵌入加密时间戳,PoH使验证者能够更快速、并行地处理和验证交易,显著提高了网络的容量。
查看这篇关于区块链共识机制的综合指南。
如果我们与前面章节中的示例联系起来,节点就像维护日记的人,他们跟踪日记中的交易。在区块链的背景下,节点是参与并连接到区块链网络的独立计算机。每个节点都拥有整个区块链账本的副本,其中包含该区块链网络上所有交易的信息。有不同类型的节点,每种节点都有特定的用途:
全节点:这些节点根据区块链的共识规则验证交易和区块。如果区块或交易不符合规则,它将被拒绝。全节点维护区块链账本的完整副本,有助于网络的安全性和弹性。
矿工节点:在使用工作量证明(PoW)共识机制的区块链网络中,矿工节点竞争解决复杂的数学问题并添加新的区块链区块。第一个解决问题的矿工可以添加新区块,并获得代币奖励。
验证者节点:在使用权益证明(PoS)共识机制的网络中,验证者节点验证交易并创建新区块。验证者根据他们持有并愿意“质押”或锁定作为抵押的代币数量被选中。
轻量级或轻节点:这些节点不持有区块链的完整副本。相反,它们只下载区块头以验证交易的真实性。它们依赖全节点获取更详细的交易数据。
了解更多关于以太坊节点的信息。现在让我们更深入地了解密码学和哈希。
密码学在区块链中作为确保网络内数据安全性和完整性的基石。区块链技术在其核心利用加密算法来实现各种目标,包括安全交易、身份验证和数据不可变性。
区块链上的一切都以哈希的形式存在:交易标识符、钱包、区块标识符等。用于哈希特定数据的算法因区块链而异,但需求和使用案例大多相同。每个区块都有前一个区块的哈希,以确保一个安全的区块链,防止篡改。哈希还通过将大量数据处理为固定字符长度的哈希字符串来提高链的效率。因此,在发生任何冲突时,只需比较哈希,而不是比较大量数据,这可能会很慢且耗费资源。
区块链使用非对称密码学来促进点对点交易。每个参与者都有一对加密密钥:一个可以与他人共享的公钥,和一个保密的私钥。我们之前看到的账户持有这两个密钥。公钥生成区块链地址,而私钥用于签署交易,证明所有权而不泄露私钥本身。这种机制确保只有私钥持有者才能从其地址授权交易。
数字签名是公钥密码学的一种应用。当进行交易时,它用发送者的私钥签名,任何人都可以使用发送者的公钥进行验证。这个过程确认了交易的真实性和完整性,确保发送者确实创建了它,并且没有被篡改。这也防止了重放攻击,即第三方可以尝试使用签名重新提交交易。然而,由于签名是使用私钥生成的,并且包含其他信息如Nonce,具有相同签名的交易无法重新提交。查看如何在以太坊上验证签名。
虽然加密在区块链中不用于保护数据(因为账本是公开的),但在网络对等点之间的数据传输过程中使用加密以确保隐私和安全。这确保敏感信息在网络中移动时保持机密。给定特定输入时生成特定输出;如果输入中的单个字符发生变化,输出也会发生变化。这确保了数据的完整性。如下图所示:
区块链中的密码学不仅保护了交易和数据,还支撑了网络的去信任性质。参与者不需要相互信任,因为加密系统确保所有交易都是安全、可验证且不可变的。区块链的这一基础性方面使其成为跨各种应用的安全和透明数字交易的强大工具。
如果你已经阅读到这一部分,你现在对区块链的内部运作和基础有了很多了解。如果你想了解更多关于不同类型的区块链,那么以太坊和Solana可以是一个很好的起点。
让我们知道你是否有任何反馈或新主题的请求。我们很乐意听取你的意见。
- 原文链接: quicknode.com/guides/web...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!