区块链的共识机制负责验证交易的有效性并按准确的顺序将它们添加到区块链中。根据选择的共识机制,验证和排序过程的效率有所不同,从而导致吞吐量的水平不同。在区块链领域,Solana 是一条高性能链,具有 400 毫秒的区块时间,每秒事务处理量 (TPS) 平均在 2,000 到 3,000 之间,理论峰值 TPS 为 65,000(作为参考,以太坊的 TPS 大约为 12)。
本文旨在突显 Solana 中发挥关键作用、有助于其高吞吐量的两个架构,即其委托权益证明 (DPoS) 共识机制和历史证明 (PoH) 机制。
让我们从了解区块链的一个关键瓶颈开始:可扩展性。
去中心化区块链网络中的每个节点都有自己的内部时钟。当发生交易时,节点将根据此本地系统时钟为交易添加时间戳。
节点的内部时钟
最终对交易的确认或拒绝也将根据此本地系统块为其添加时间戳。在诸如工作量证明 (PoW) 和权益证明 (PoS) 等传统共识机制中,所有节点都必须相互通信以建立时间已过去。
对于遍布全球的数千个节点的去中心化区块链,节点之间的本地系统时钟的差异必然会显现出来,导致节点之间交易的时间戳不同。当节点需要就已发生的交易及这些交易在区块中的顺序达成共识时,这就成为了时间戳同步问题,当网络通过增加节点数量增强其去中心化时,这个问题会变得更为严重和复杂。
最终,这为恶意攻击创造了可能的路径。时间上的差异使得恶意行为者能够广播与真实时间戳相似的虚假交易,以试图接管网络。为了防止这种对交易的操纵,需要花费大量的时间和处理能力来验证时间戳的准确性。这可能会导致区块确认延迟,甚至区块被拒绝(节点可能会因为时间戳不同而投票判定该区块无效)。
Solana 使用历史证明 (PoH) 来证明交易按正确的顺序放置,并且网络中的验证器可以轻松验证这一点。
与第 1 节中提到的节点有各自的时钟相反,PoH 可以被认为是一个全局块,所有节点都用它来验证两个事件之间的时间流逝。通过这个通用时钟,节点可以查看相同的交易历史记录,从而消除交易排序上的任何潜在分歧。这样可以快速达成共识,并显著减少验证交易并将其添加到区块链所需的时间。
PoH 依靠加密方法来创建连续的、按时间顺序排列的交易记录。让我们更深入地探讨这一点。
每个交易都经过 SHA-256 处理,这是一种以其能够接受任何输入并产生唯一、不可预测输出而闻名的密码哈希函数。当交易被哈希时,其输出成为下一个交易哈希的输入。这个过程导致在哈希输出中内建交易的顺序,创建一个长而连续的链。
PoH 利用了可验证延迟函数(VDFs),这在验证区块链内时间流逝方面是至关重要的。VDFs 是计算密集型的函数,不仅依赖于先前的哈希,还包括经过的时间。这个机制允许 Solana 通过密码学手段证明生成序列输出时经过了真实的时间。因此,存在一致的事件时间线的明确、可验证的顺序。验证者因此可以轻松地验证经过了多少时间,进一步增强了网络的可信度。
在 Solana 中使用 PoH 添加了一层强大的安全性和完整性。篡改哈希链的任何部分将需要重新计算所有后续的哈希,这是一项耗费精力的工作,可以保护网络免受更改的影响。
PoH 显著减少了验证者每个区块需要处理的信息量。通过使用交易最新状态的哈希版本,区块确认时间大大缩短。当验证者(或复制节点)收到一个区块时,PoH 序列为他们提供了一个具有密码学可靠性的交易顺序,他们可以在不重新验证的情况下信任。这种效率对于加快共识机制至关重要,因为网络可以迅速选择并转移到下一个验证者进行区块验证。
在更好地理解 PoH 之后,本节解释了 PoH 如何在 Solana 的共识机制 - DPoS 中使用。
在 DPoS 中,每个抵押 $SOL 的验证者都能够参与网络治理 - 对区块的有效性进行投票,以及是否应将其添加到区块链。不愿直接参与抵押过程的 $SOL 持有者(例如您和我)可以将他们的代币委托给其他验证者,有效地使它们成为委托者。这个委托过程将委托者的投票权(与他们拥有的 $SOL 数量成比例)分配给这些验证者。作为对抵押 $SOL 的回报,委托者将获得区块奖。
DPoS 系统的运行原理是,拥有较大权益的节点更有可能被选择来验证交易并将其添加到区块链中。这种获得区块奖励的机会激励节点保持高水平的性能和完整性。
了解了 DPoS 和 PoH 后,让我们将这些知识放在一起来概述 Solana 上典型的区块确认是如何进行的。
Solana 不断努力改进其区块链的架构,最近的发展包括 QUIC、抵押权重的 QoS 和本地化费用市场。此外,生态系统正在期待随着 Firedancer 的推出而提高其效率。值得关注的是,可以在 Solana 的独特架构上构建的新用例。与此同时,可以在此处查看在 Solana 上构建的协议并尝试与它们进行交互!
区块链的共识机制负责验证交易的有效性并按准确的顺序将它们添加到区块链中。根据选择的共识机制,验证和排序过程的效率有所不同,从而导致吞吐量的水平不同。在区块链领域,Solana 是一条高性能链,具有 400 毫秒的区块时间,每秒事务处理量 (TPS) 平均在 2,000 到 3,000 之间,理论峰值 TPS 为 65,000(作为参考,以太坊的 TPS 大约为 12)。
本文旨在突显 Solana 中发挥关键作用、有助于其高吞吐量的两个架构,即其委托权益证明 (DPoS) 共识机制和历史证明 (PoH) 机制。
让我们从了解区块链的一个关键瓶颈开始:可扩展性。
去中心化区块链网络中的每个节点都有自己的内部时钟。当发生交易时,节点将根据此本地系统时钟为交易添加时间戳。
节点的内部时钟
最终对交易的确认或拒绝也将根据此本地系统块为其添加时间戳。在诸如工作量证明 (PoW) 和权益证明 (PoS) 等传统共识机制中,所有节点都必须相互通信以建立时间已过去。
对于遍布全球的数千个节点的去中心化区块链,节点之间的本地系统时钟的差异必然会显现出来,导致节点之间交易的时间戳不同。当节点需要就已发生的交易及这些交易在区块中的顺序达成共识时,这就成为了时间戳同步问题,当网络通过增加节点数量增强其去中心化时,这个问题会变得更为严重和复杂。
最终,这为恶意攻击创造了可能的路径。时间上的差异使得恶意行为者能够广播与真实时间戳相似的虚假交易,以试图接管网络。为了防止这种对交易的操纵,需要花费大量的时间和处理能力来验证时间戳的准确性。这可能会导致区块确认延迟,甚至区块被拒绝(节点可能会因为时间戳不同而投票判定该区块无效)。
Solana 使用历史证明 (PoH) 来证明交易按正确的顺序放置,并且网络中的验证器可以轻松验证这一点。
与第 1 节中提到的节点有各自的时钟相反,PoH 可以被认为是一个全局块,所有节点都用它来验证两个事件之间的时间流逝。通过这个通用时钟,节点可以查看相同的交易历史记录,从而消除交易排序上的任何潜在分歧。这样可以快速达成共识,并显著减少验证交易并将其添加到区块链所需的时间。
PoH 依靠加密方法来创建连续的、按时间顺序排列的交易记录。让我们更深入地探讨这一点。
每个交易都经过 SHA-256 处理,这是一种以其能够接受任何输入并产生唯一、不可预测输出而闻名的密码哈希函数。当交易被哈希时,其输出成为下一个交易哈希的输入。这个过程导致在哈希输出中内建交易的顺序,创建一个长而连续的链。
PoH 利用了可验证延迟函数(VDFs),这在验证区块链内时间流逝方面是至关重要的。VDFs 是计算密集型的函数,不仅依赖于先前的哈希,还包括经过的时间。这个机制允许 Solana 通过密码学手段证明生成序列输出时经过了真实的时间。因此,存在一致的事件时间线的明确、可验证的顺序。验证者因此可以轻松地验证经过了多少时间,进一步增强了网络的可信度。
在 Solana 中使用 PoH 添加了一层强大的安全性和完整性。篡改哈希链的任何部分将需要重新计算所有后续的哈希,这是一项耗费精力的工作,可以保护网络免受更改的影响。
PoH 显著减少了验证者每个区块需要处理的信息量。通过使用交易最新状态的哈希版本,区块确认时间大大缩短。当验证者(或复制节点)收到一个区块时,PoH 序列为他们提供了一个具有密码学可靠性的交易顺序,他们可以在不重新验证的情况下信任。这种效率对于加快共识机制至关重要,因为网络可以迅速选择并转移到下一个验证者进行区块验证。
在更好地理解 PoH 之后,本节解释了 PoH 如何在 Solana 的共识机制 - DPoS 中使用。
在 DPoS 中,每个抵押 $SOL 的验证者都能够参与网络治理 - 对区块的有效性进行投票,以及是否应将其添加到区块链。不愿直接参与抵押过程的 $SOL 持有者(例如您和我)可以将他们的代币委托给其他验证者,有效地使它们成为委托者。这个委托过程将委托者的投票权(与他们拥有的 $SOL 数量成比例)分配给这些验证者。作为对抵押 $SOL 的回报,委托者将获得区块奖。
DPoS 系统的运行原理是,拥有较大权益的节点更有可能被选择来验证交易并将其添加到区块链中。这种获得区块奖励的机会激励节点保持高水平的性能和完整性。
了解了 DPoS 和 PoH 后,让我们将这些知识放在一起来概述 Solana 上典型的区块确认是如何进行的。
Solana 不断努力改进其区块链的架构,最近的发展包括 QUIC、抵押权重的 QoS 和本地化费用市场。此外,生态系统正在期待随着 Firedancer 的推出而提高其效率。值得关注的是,可以在 Solana 的独特架构上构建的新用例。与此同时,可以在此处查看在 Solana 上构建的协议并尝试与它们进行交互!