区块是区块链中的一种数据单元,它包含一个交易列表以及其他信息,包括标记其创建时间的时间戳。这些交易经过加密,必须由网络参与者(通常称为矿工)验证,然后才能将区块添加到区块链中。一旦将区块添加到区块链中,它就会成为永久记录,由于加密安全措施,实际上是不可更改的。后续交易记录在一个新区块中,重新启动该循环。[4][9]
在任何加密货币中,每天都会发生大量的交易。这些交易记录在称为“区块”的单元中。一个区块包含最近的数据,并且每次区块完成时,它都会为区块链上的新区块腾出空间。已完成的区块是先前交易的永久记录,新交易记录在当前区块中。因此,整个系统进入一个永久保存所有数据的循环。
为了保存交易历史,区块被严格排序,每个新创建的区块都包含对其父区块的引用,并且区块内的交易也被严格排序。[7]
除了极少数情况外,网络参与者对区块的确切数量和历史记录达成共识。参与者共同努力将实时交易请求分组到即将到来的区块中。这种协作方法通过一种机制来实现,其中每个区块在其头部携带其前一个区块的哈希值,从而将区块“链接”在一起。这种方法保留了区块顺序,并确保了其中包含的数据的不可变性。[2]
当矿工或区块验证者成功验证区块头中的加密信息时,就会创建区块,这会促使新区块的创建[5]。一个区块由以下两个主要部分组成:头部和主体。
区块的头部包含有关区块和矿工的信息。它进一步分为以下几部分:
这是前一个区块的哈希值。它将区块链接在一起,并使前一个区块中的数据不可变。如果前一个区块中的数据发生更改,则该区块的哈希值将发生更改,从而导致区块链的解除链接。
这些字段可能因不同区块链的不同要求而异。一些常见的字段如下:
区块主体的大部分由在特定时间范围内发生的单个交易列表组成。[3] 每笔交易记录价值转移(例如,加密货币转移、智能合约操作),并包含各种详细信息,包括:
创世区块是区块链的第一个区块。第一个创世区块由中本聪在创建比特币时挖掘,并在 2009 年公开发布了这个想法。
这个基本区块使新形成的区块能够链接到先前的状态。区块链可以通过这种连接确保其不可变性。这是因为使用了 Merkle 树。这使得区块历史可以与与这些区块关联的唯一哈希相关联。任何更改,无论多么微小,都会阻止验证 Merkle 根是否准确,从而使区块链的部分或全部历史记录无效,具体取决于具体情况。创世区块始终是基础区块,因此也称为“区块 0”。
创世区块允许网络节点同步。只有当两个节点的数据库具有相同的创世区块时,同步才是可行的。这保证了区块链上的分布式交易账本 (DLT) 对于每个人都是相同的,从而确保了安全性。
有效区块是所有已被挖掘并添加到区块链的区块。为了获得有效区块,每个挖掘的区块必须获得网络许可,并报告为已解决给定的加密难题的区块。当网络达成共识时,该区块将被添加到区块链并分发到所有节点。因此,网络中的每个节点都有一个新区块,并充当其验证点。任何加密货币中发生的所有操作和交易都由这些区块允许。
每个有效区块都包含一系列与该区块一起验证的交易。例如,在比特币中,每个合法区块平均包含 2100 笔交易。因此,有效区块中的每笔交易都成为已确认的交易。之后添加到区块链的每个有效区块都会继续确认较早的交易。这确保了网络上的每笔交易和区块都是完全安全的。
每个有效区块都带有一个数据结构,允许确认这一事实。区块的哈希值、Merkle 根、时间戳、nuncio、区块交易数据和 Coinbase 都包含在该结构中。所有这些都已设置好,以便可以公开确认每条信息。
孤块是不属于区块链网络的区块。这些区块通常由两个矿工几乎同时混合区块生成,但也可能是由具有足够计算能力的攻击者造成的,目的是撤销任何交易。这些单独生成的区块会创建一个临时的分叉。此时会调用网络共识程序来确定哪些区块将被验证,哪些区块将被孤立。通常,包含最多交易和信息的区块链最长,通常会被确定,从而使安全过程非常简单。
在扫描时,区块链网络将检测原始区块和重复区块之间哪个区块包含更多信息,并选择原始区块,从而破坏黑客的游戏。因此,未被选择的区块是孤块。网络的共识机制使系统网络免受此类黑客攻击。区块浏览器可以跟踪孤块。 [8][11]