全新

通过即将推出的 IQ.wiki API,将专家精选的加密货币和区块链知识集成到您的应用中。

0% read

Block

Block

区块 (Block) 中的一个数据单元,它包含交易列表以及其他信息,包括标记其创建时间的时间戳。这些交易经过加密,并且在区块被添加到区块链之前,必须由网络参与者(通常称为矿工)进行验证。一旦区块被添加到区块链,它就成为永久记录,由于加密安全措施,实际上是不可更改的。随后的交易将记录在新的区块中,从而开启新的循环。[4][9]

概述

在任何 中,每天都会发生大量的交易。这些交易以被称为“区块”的单位进行记录。一个区块包含近期的数据,每当一个区块完成时,它就会为 上的新区块腾出空间。完成的区块是先前交易的永久记录,而新的交易则记录在当前的区块中。因此,整个系统进入一个永久保存所有数据的循环。

为了保存交易历史,区块是严格排序的,每个新创建的区块都包含对其父区块的引用,区块内的交易也是严格排序的。[7]

除了极少数情况外,网络参与者对区块的确切数量和历史有着共识。参与者共同协作,将实时的交易请求分组到即将生成的区块中。这种协作方式通过一种机制实现:每个区块在其区块头中携带前一个区块的哈希值,从而将区块“链接”在一起。这种方法保留了区块顺序,并确保了其中所含数据的不可篡改性。[2]

组成部分

当矿工或区块 成功验证区块头中的加密信息时,就会创建区块,从而促使新区块的生成[5]。一个区块由以下两个主要部分组成:区块头 (Header) 和区块体 (Body)。

区块头 (Header)

区块头包含有关区块和矿工的信息。它进一步分为以下部分:

前一区块哈希值 (Previous Block's Hash)

这是前一个区块的哈希值。它将区块链接在一起,并使前一个区块中的数据不可篡改。如果前一个区块中的数据被更改,那么该区块的哈希值也会随之改变,从而导致 断裂。

其他区块头字段

这些字段可能根据不同 的不同要求而有所变化。一些常见的字段如下:

  • Nonce(随机数):这是一个整数,矿工通过更改它来改变区块的哈希值,以达到网络的难度要求。它是一个随机字符串。
  • :这是区块被 的时间。通常采用 Unix 时间格式。
  • 难度 (Difficulty):这是网络当前的难度级别。在每个区块链中以不同的格式存储。
  • 默克尔根哈希 (Merkle root hash):交易成对进行哈希处理,直到只剩下一个哈希值,称为根哈希或默克尔根哈希。
  • 区块高度 (Block height):从创世区块到当前区块之间 的区块数量。
  • 区块大小 (Block Size):这是一个 4 字节或 32 位的字段,包含区块的大小。它以字节为单位添加大小。例如,区块大小:216 字节。
  • :此字段包含奖励给矿工添加交易区块的金额。
  • 交易计数 (Tx Count):交易计数器显示区块中包含的交易数量。该字段的最大大小为 9 字节。[6]
  • 出块时间 (Block Time):出块时间是衡量网络内的矿工或验证者验证一个区块内的交易并在该 中产生一个新区块所需时间的指标。 可以使用不同的 ,除其他因素外,这会影响验证交易和创建新区块所需的时间。每种加密货币的出块时间都不同。例如, 大约需要 10 分钟,而 大约需要 14 秒。[10]

区块体 (Body)

区块体的大部分由在特定时间段内发生的单个交易列表组成。[3] 每笔交易记录了价值的转移(例如,加密货币转账、智能合约操作),并包含各种细节,包括:

  • 交易 ID:每笔交易的唯一标识符。
  • 输入 (Inputs):交易的输入,包括来自先前交易的详细信息。
  • 输出 (Outputs):交易的输出,通常包括接收者地址和交易金额。[3]

类型

创世区块 (Genesis Block)

是区块链的第一个区块。第一个创世区块由 在创建 时开采,并于 2009 年向公众发布了这一构想。

这个基础区块使新形成的区块能够链接到之前的状态。区块链可以通过这种连接确保其不可篡改性。这是因为使用了默克尔树 (Merkle tree)。这使得区块历史能够与这些区块相关的唯一哈希值关联起来。任何更改,无论多么微小,都会导致无法验证默克尔根的准确性,从而根据情况使部分或全部区块链历史失效。创世区块始终是基础区块,因此也被称为“区块 0”。

创世区块允许网络节点进行同步。只有当两个节点的数据库具有相同的创世区块时,同步才是可行的。这保证了 上的分布式账本 (DLT) 对每个人来说都是相同的,从而确保了安全性。

有效区块 (Valid Blocks)

有效区块是指所有已被 并添加到区块链中的区块。为了获得一个有效区块,每个开采出的区块必须获得网络许可,并报告为已解决给定加密难题的区块。当网络达成 时,该区块就会被添加到 并分发到所有节点。因此,网络中的每个 都有一个新区块,并作为其验证点。在任何 中发生的所有操作和交易都是由这些区块允许的。

每个有效区块都包含一系列与该区块一起验证的交易。例如,在 中,每个合法区块平均包含 2100 笔交易。因此,有效区块中的每笔交易都成为已确认交易。此后添加到区块链的每个有效区块都会继续确认早期的交易。这确保了网络上的每笔交易和每个区块都是完全安全的。

每个有效区块都带有一个允许确认这一事实的数据结构。区块的哈希值、默克尔根、、随机数 (nonce)、区块交易数据和 都包含在该结构中。所有这些设置都是为了使每条信息都能被公开确认。

孤块 (Orphan Blocks)

孤块是指不属于 的区块。这些通常是由两个矿工几乎在同一时间混合区块生成的,但也可能是由拥有足够计算能力的攻击者为了撤销任何交易而造成的。这些产生的独立区块会创建一个临时的 。此时会调用网络共识程序来确定哪些区块将被验证,哪些将被孤立。通常,包含最多交易和信息的最长区块链将被选中,这使得安全过程变得非常简单。

在扫描时, 将检测原始区块和重复区块中哪一个包含更多信息,并选择原始区块,从而破坏黑客的计划。因此,未被选中的区块就是孤块。网络的 保护系统网络免受此类黑客攻击。区块浏览器可以追踪孤块。[8][11]

发现错误了吗?

参考文献 (11 来源)

首页分类维基MC事件词汇表