区块链中的全验证与简单支付验证

2025年6月7日 | 阅读 7 分钟

在本教程中,我们将更好地了解支付如何在“区块链”网络上得到验证。区块链上的支付验证可以通过三个简单步骤完成

  1. 记下交易 ID,这是您的交易所钱包会提供的。
  2. 输入区块链的交易 ID。可以通过网站访问区块链。
  3. 检查交易是否已验证并验证其信息。

为了保持网络完整性和比特币协议,工作量证明对于安全、防止欺诈和建立信任是必需的。由于其安全性,独立的数据处理者(矿工)无法提供关于交易的虚假信息。除了保护比特币的交易历史外,工作量证明还使得数据随着时间的推移更难被篡改。

在消耗了所有这些能量后,交易会被添加到区块链中,并且无法撤销。为了监控所有这一切并确保矿工正常运行,一个由数千个节点组成的去中心化网络会持续根据比特币规则集验证链,以确保没有可疑活动。只要您遵循我们商定的规则,您就可以将新区块添加到链中并将交易广播到网络。为了维持共识,比特币钱包和区块浏览器现在依赖于完整的验证过程并链接到完整节点。然而,这并非验证交易的唯一方法。

区块链支付验证类型

在区块链技术中,有两种支付验证类型

  1. 简易支付验证
  2. 全额支付验证

现在让我们简要解释这两种区块链支付验证类型,首先是“简易支付验证”。

SPV:它是什么?

轻量级客户端可以使用简易支付验证 (SPV) 来确定一笔交易是否在比特币区块链上,而无需下载整个区块链。SPV 客户端只需要下载比整个区块小得多的区块头,SPV 钱包就是从这里获取数据的。为了确认一笔交易是一个区块的一部分,SPV 客户端会请求一个 Merkle 分支作为包含证明。SPV 钱包的理念并不新,事实上,中本聪在他的比特币白皮书第 8 节中就曾讨论过。简而言之,SPV 使您能够验证您的交易,而无需担心查看其他所有交易的区块。

什么是轻客户端?

在低端平台上运行的钱包被称为轻客户端。根据定义,SPV 钱包与冷钱包或热钱包是相同的。它验证链上受保护数据的唯一区别在于验证数据的方式。除了确认(证明工作)链正在添加更多区块,它仍然确保您的交易在一个区块中。

SPV 的主要特点是什么?

  1. 无需成为矿工即可轻松找到最长的链。用户只需获取将交易链接到其时间戳区块的 Merkle 分支,并保存最长的工作量证明链的区块头副本。
  2. 通过将交易链接到链中的一个点,用户可以看到它已被网络节点接受并停止,但他们自己无法验证交易。
  3. 因此,只要网络由可信节点运行,验证就是可信的;然而,如果攻击者控制了网络,它就会变得脆弱。
  4. 即使网络节点可以独立检查交易,但攻击者也可以通过伪造交易来愚弄简化的方法,只要攻击者能够保持网络主导地位。
  5. 一种对此的防御措施是接受网络节点在检测到错误区块时发出的警告,要求用户的软件下载整个区块并提醒交易以验证差异。

SPV 证明为何如此重要?

由于我们大多数人都可以使用运行完整节点的普通笔记本电脑或树莓派来验证所有比特币交易,因此 SPV 证明在此时可能并不显得至关重要。为什么我们要费这么大劲才能达到相同的目标?

尽管如今运行完整节点并不需要很多资源,并且可以使网络对所有人开放,但随着区块链的扩展,它可能会使某些设备过时。对于那些无法访问这些设备或互联网连接有限的人来说,它也提高了入门门槛。如果比特币要在全球范围内扩展,它必须在最恶劣的情况下,在资源受限的情况下,以非托管的方式运行。

如果我们提供 SPV 证明,允许用户通过知道每个区块的 Merkle 根来验证交易,那么我们每区块只需要存储 80 字节,而不是完整节点所需的每区块的相当高的量。

通过这种减少超过 99.99% 的比例,可以在智能合约或低资源设备中运行验证,而如果下载每个区块,这将是不可能的。

缺点

  1. 与比特币中的其他事物一样,SPV 具有缺点和优点,而您获得的效率优势也伴随着权衡;在某些情况下,SPV 可能会使用户面临风险。
  2. 如果比特币遭受 51% 攻击,依赖 SPV 证明的客户端可能会被欺骗接受任何类型的错误交易。
  3. 尽管比特币是世界上最安全的计算机网络,但一个强大的非经济行为者可能会积聚足够的资金来发起 51% 攻击。完整节点用户将能够快速响应,识别满足共识的链,并继续进行,但 SPV 客户端将暴露于风险,违反了基本的安全前提并危及整个系统。
  4. 即使 51% 攻击非常罕见,仍然必须将其视为真实威胁,并且正在对可能阻止它的技术进行一些研究。

全额支付验证:它是什么?

获取并保留区块链的完整副本以在其上验证交易的过程称为全额支付验证。全额支付验证中的节点会跟踪区块链的整个历史记录,包括所有曾经处理过的交易。全节点可以利用这些详尽的信息独立地将新交易和区块的有效性与完整的区块链历史进行比较。全节点通过参与共识过程来帮助维护区块链的完整性,这确保了所有参与者都对账本的当前状态达成一致。

主要特征

  1. 全节点由于能够访问完整的区块链,因此可以验证每笔交易和每个区块。
  2. 共识参与:全节点通过参与共识过程来帮助确保网络的安全性与可靠性。
  3. 为了确保有效性并阻止欺诈,它们会根据区块链的规定检查每笔交易。
  4. 全节点通过传输信息来协助轻量级客户端正常运行。

好处

  • 高安全性:通过独立验证交易并防止双重支付等欺诈,全额支付验证提供了最高级别的安全保障。
  • 无信任环境:由于验证过程基于完整的区块链历史,因此用户无需依赖其他来源即可信任数据。
  • 增强隐私:全节点可以通过不向其他方披露交易数据来增强用户隐私。

缺点

  • 资源密集:全额支付验证由于其高计算和存储需求,不太适合轻量级设备。
  • 同步缓慢:由于新节点必须下载完整的区块链,因此它们与网络同步可能需要一段时间。
  • 维护量更大:与轻量级客户端相比,运行完整节点需要更多的维护和运营成本。

简易支付验证与全额支付验证的区别

简易支付验证全额支付验证
a. 轻量级客户端可以在不下载整个区块链的情况下使用简易支付验证来验证交易。a. 使用全额支付验证的钱包需要完整的区块链副本。
b. 低端系统驱动钱包。b. 高端系统由钱包使用。
c. 为了确认交易是区块的一部分,SPV 客户端会请求一个 Merkle 分支作为包含证明。c. 通过逐个区块地向前搜索区块链,直到找到比特币的来源,他们可以确认交易中使用的比特币来自一个挖掘出的区块。
d. 在计算机和其他家用设备上运行简易支付验证钱包很方便。d. 资源限制使得在笔记本电脑和其他家用设备上运行全额支付验证钱包很困难。
e. 适用于对资源效率要求高的应用程序和移动钱包。e. 适合重视安全且有能力运行完整节点的用户。
f. 对网络的贡献很小,因为它依赖于全节点才能有效运行。f. 通过转发交易和参与共识过程来积极支持网络。

确认

运行比特币节点可以帮助您更深入地参与该技术的目标,并且类似于一个成人礼。一旦您的节点配置好,您正在确认链,并且您已将钱包链接到通过您的节点进行确认,您就会体验到成为自己的银行的感觉。

消除信任并进行自己的研究可以消除任何潜在的假设,因为您可以直接获取信息来源。如果比特币要保持去中心化,其体验必须扩展以容纳尽可能多的人。采用多种节点实现和验证技术可能是正确的做法。

总结

总而言之,简易支付验证 (SPV) 非常适合在线钱包和移动设备,因为它为轻量级客户端提供了一种无需下载整个区块链即可有效验证交易的方法。另一方面,全额支付验证虽然资源消耗大,但通过将交易与整个区块链进行比较,提供了最高级别的安全性和置信度。用户必须根据其个人需求权衡效率和安全性的取舍。