本文快速解释 Solana 中发挥关键作用、有助于其高吞吐量的两个证明机制:DPoS 和 PoH。本文源自 Cookies Research 的文章 Solana: Delegated Proof-of-Stake (DPoS) and Proof-of-History (PoH)》,由 Block Unicorn 编译、整理、撰稿。
(前情提要:Solana创办人:Saga手机、BONK很棒,但你愿「加倍下注」SOL生态吗?)
(背景补充:Solana敢称以太坊杀手,真正优势是什麽?)
本文目录
区块链的共识机制负责验证交易的有效性,并将它们按准确的顺序新增到区块链中。根据选择的共识机制,验证和排序过程的效率不同,从而导致不同水平的吞吐量。在区块链领域,Solana 是一条高效能链,具有 400 毫秒的区块时间,每秒交易数(TPS)平均在 2,000 到 3,000 之间,理论上的峰值 TPS 为 65,000(供参考,以太坊的 TPS 大约为 12)。
本文旨在突出 Solana 中发挥关键作用、有助於其高吞吐量的两个架构,即其委托权益证明(DPoS)共识机制和历史证明(PoH)机制。
1. 传统共识机制
让我们从了解区块链的一个关键瓶颈开始:可拓展性。
分散式区块链网路中的每个节点都有自己的内部时钟,它按照这个本地系统时钟执行。当发生交易时,节点将根据这个本地系统时钟为交易新增时间戳。
下面图片是展示节点内部的时钟:
最终确认或拒绝交易的时间戳也将根据这个本地系统区块进行。在传统的共识机制(例如工作量证明 PoW 和权益证明 PoS)中,所有的节点需要相互沟通,以协调彼此的本地时钟,以确保它们在处理交易时对时间的理解是一致的。节点之间的通讯有助於建立一个共同的时间基准,以确保整个网路对时间的认知是一致的,从而协调交易的顺序和确认。
对於一个分散式区块链,有成千上万个节点分布在全球各地,节点之间的本地系统时钟存在差异是不可避免的,导致交易的时间戳在不同节点之间不一致。当节点需要就发生了哪些交易以及这些交易在区块中的顺序达成共识时,这就成为一个问题。这被称为时间戳同步问题,当网路通过增加节点数量来增强去中心化时,这个问题会变得更加严重和复杂。
最终,这为恶意攻击创造了一条可能的路径。时间上的差异使恶意行为者能够广播类似於真即时间戳的虚假交易,试图掌控网路。为防止对交易的操纵,需要花费大量的时间和处理能力来验证时间戳的准确性。这有可能导致区块确认的延迟,甚至区块被拒绝(因为节点可能投票认为区块无效,原因是具有不同的时间戳)。
2. 什麽是历史证明(PoH)
历史证明(PoH)在 Solana 中用於证明交易被正确地按顺序排列,而这可以由网路中的验证者轻松验证。
与第一节提到的节点各自拥有其独立时钟的情况相反,PoH 可以被视为一个全域性块,所有节点都使用它来验证两个事件之间时间的流逝。通过这个全域性时钟,节点检视相同的交易历史记录,摒弃了对交易顺序可能存在的任何分歧。这使得共识可以迅速达成,极大地缩短了交易被验证并新增到区块链的时间。
PoH 依赖於一种加密方法,以建立交易的连续、按时间顺序的记录。让我们深入了解一下。
3. 对 PoH 的技术深入探讨
每个交易都经过 SHA-256 处理,这是一种以其能够接受任何输入并生成唯一、不可预测输出而闻名的加密hash函式。当一个交易被hash时,其输出成为下一个交易hash的输入。这个过程在hash输出中建立了交易的内建顺序,形成了一个长而连续的链。
PoH(历史证明)利用了可验证延迟函式(VDF),它在区块链中验证时间流逝的重要性。VDF 是计算密集型的函式,不仅依赖於先前的hash,还包含经过的时间。这个机制允许 Solana 以加密的方式展示真即时间已经过去,生成连续的输出。因此,存在清晰、可验证的交易顺序,确保了一致的事件时间轴。验证者因此可以轻松验证经过的时间有多长,进一步增强了网路的可信度。
在 Solana 中使用 PoH(历史证明)添加了一个强大的安全和完整性层。篡改hash链的任何部分都会需要重新计算所有後续的hash,这是一项努力密集型的工作,可保护网路免受更改的影响。
PoH(历史证明)显着减少了验证者每个区块需要处理的资讯量。通过使用交易最新状态的hash版本,区块确认时间被大幅缩短。当验证者(或复制节点)收到一个区块时,PoH(历史证明)序列为它们提供了一个具有加密可靠的交易顺序,他们可以在无需重新验证的情况下信任。这种效率对於加快共识机制至关重要,因为网路可以迅速选择并转移到下一个验证者进行区块验证。
4. 委托权益证明(DPoS)
在更好地了解 PoH 的基础上,本节将解释 PoH 如何在 Solana 的共识机制中(DPoS)得到应用。
在 DPoS 中,每个抵押了 $SOL 的验证者都能够参与网路治理 —— 对区块的有效性进行投票,决定是否将其新增到区块链中。不愿直接参与权益证明过程的 $SOL 持有者(包括您和我)可以将其代币委托给其他验证者,从而有效地使它们成为委托人。这个委托过程将委托人的投票权(与他们拥有的 $SOL 数量成比例)分配给这些验证者。作为抵押 $SOL 的回报,委托人将获得区块奖励的一部分。
DPoS 系统的运作原则是,具有较大权益的节点更有可能被选择来验证交易并将其新增到区块链中,获得区块奖励的机会鼓励节点保持高水平的效能和完整性。
在了解了 DPoS 和 PoH 两者之後,让我们将这些知识结合起来,概述一下在 Solana 上典型的区块确认是什麽样的。
5. Solana 共识机制的高层概述
1. 领导节点的选择:领导节点负责生成 PoH 序列(历史证明排序交易)和建立区块。
这个选择过程是基於节点的权益权重的,这个权重通过代币持有人委托给它们而增加。领导角色将在验证者之间轮换。
2. 为交易新增时间戳:领导节点将接收交易,并使用 PoH 为它们新增时间戳,形成交易顺序。
3. 区块建立:通过来自 PoH 的序列,领导节点随後开始建立一个区块。
4. 区块传播:新建立的区块将被发送到复制节点(分散式网路中的其他验证者)。
5. 交易有效性验证,复制节点将验证以下两个组成部分:
a. 交易顺序:使用 PoH 序列验证交易是否按正确顺序排列。由於它是一个全域性时钟,这种验证不需要节点之间的往返通讯(与常见的共识机制如 PoW 和 PoS 不同)。
b. 交易有效性:检查交易是否符合网路规则并且有效。
6. 区块最终化:在验证了交易顺序和有效性之後,该区块将被新增到区块链中。然後将选择下一个领导节点,并且整个过程重新开始。
结论
Solana 一直不懈努力改进其区块链架构,最近的发展包括 QUIC、权益加权的 QoS 和本地化费用市场。此外,生态系统期待着通过 Firedancer 的推出显着提高其效率。值得关注的是,Solana 独特的架构 ——OPOS(仅限 Solana)可能会带来新的用例。
📍相关报导📍
Solana可当以太坊Layer2!创办人豪言:分片升级後可EVM兼容
BONK暴涨背後的做市商Gotbit,计画在Solana再掀风浪?
稳定币杀入Solana生态,Paxos发行的USDP将爆发?