什么是基于质押权重的服务质量(QoS)?
基于质押权重的QoS(服务质量)是一项实现功能,启用后可让领导者(区块生产者)识别并优先处理通过已质押validator代理的交易,作为额外的女巫攻击抵抗机制。鉴于Solana是一个权益证明网络,将质押权重的效用延伸至交易服务质量是自然而然的选择。在此模型下,拥有0.5%质押的validator有权向领导者传输最多0.5%的数据包,并能够抵御来自网络其余部分的女巫攻击。
启用此功能的运营商将通过降低低质押或无质押(低质量)validator能够"淹没"来自高质量(高质押)validator交易的可能性,从而提升网络的安全性和性能(即增强女巫攻击抵抗能力)。
实施基于质押权重的QoS的一个潜在好处,可在Validator与RPC节点之间达成某些协议后得以实现。RPC节点可通过与Validator建立对等关系来在区块中落地更多交易,而Validator则可向RPC节点出售更多容量。这些协议必须由RPC运营商与Validator直接协商达成,并包括执行本文档中以下步骤以完成对等连接。
基于质押权重的QoS对谁有益?
商业RPC基础设施运营商和交易所可能是基于质押权重QoS的主要受益者。RPC运营商将处于理想位置,可与已质押的validator达成协议或谈判,从而实现更高比例的交易在区块中成功落地。自行在同一基础设施上托管validator节点和RPC节点的交易所(或其他实体),将能够在内部启用该功能,确信运行在其自有基础设施上的RPC节点是可信赖的。
为什么基于质押权重的QoS很重要?
启用基于质押权重的QoS后,持有1%质押的validator将有权向领导者传输最多1%的数据包。通过这种方式,质押更高的validator将被保证获得更高的服务质量,从而防止低质量validator(质押较少)恶意淹没这些交易,进而提升整体的女巫攻击抵抗能力。
换一种说法,想象一下,如果只有一名乘客的汽车可以畅通无阻地行驶在拼车专用道上,世界会变成什么样。很快,这条旨在利用同一段高速公路运送更多人的拼车专用道将形同虚设。高速公路的整体通行效率将受到影响,能够到达目的地的通勤者也会减少。这与允许低质押validator以与高质押validator相同的优先级向领导者提交交易时所产生的影响类似。
谁应该启用基于质押权重的QoS?
基于质押权重的QoS应由与高度可信的RPC节点配对的Validator节点启用。这在将RPC和Validator运行于同一基础设施、信任级别本已较高的情况下尤为有用。基于质押权重的QoS在高信任度配置下效果最佳,且需要Validator与RPC在启用该功能前提前达成协议。强烈建议Validator不要尝试与不受信任的RPC启用基于质押权重的QoS。
质押应应用于出块validator。向RPC服务器委托质押既无必要,也不推荐,更不会产生实际效果。
基于质押权重的QoS如何运作?
启用基于质押权重的QoS后,与validator配对的RPC节点将在领导者处理来自该RPC节点的入站TPU(交易处理单元)流量时获得"虚拟"质押权重,而这在通常情况下是不可能实现的。从定义上看,RPC节点是"未质押"且"非投票"(即"非共识")的,无法像共识节点那样通过质押方式获得优先交易处理的好处。如何使用基于质押权重的QoS来落地交易?启用基于质押权重的QoS需要将validator节点和RPC节点配置为建立受信任的对等关系。这涉及下文所列的validator节点和RPC节点各自独立的配置步骤。希望启用基于质押权重QoS的运营商在开始之前需要具备以下条件:
一个在网络上运行的已质押validator,以及一个与该validator对等的RPC
除非双方均已正确配置,否则基于质押权重的QoS将无法正常工作。
配置Validator节点
在validator上,您需要启用--staked-nodes-overrides /path/to/overrides.yml。--staked-nodes-overrides标志帮助validator优先处理从已知来源发送的交易,以便对其交易应用质押权重。这可以帮助validator在已知主机中优先处理某些交易,从而支持与RPC一起使用基于质押权重的QoS。RPC不应以任何方式进行质押。
目前,基于质押权重的QoS为领导者TPU容量的80%提供质押权重优先级。但也存在一些配置选项,可用于为TPU对等节点虚拟分配不同的质押权重,包括为未质押的对等节点分配虚拟质押。
--staked-nodes-overrides的覆盖配置文件如下所示:
staked_map_id:pubkey1: 1000000000000000pubkey2: 4000000000000000
staked_map_id包含一个从身份公钥(pubkey)到质押金额(以lamport为单位)的映射,用于应用于每个RPC。设置后,validator将优先处理与该身份公钥对应的RPC的QUIC连接,并为其交易分配相应的质押量。领导者TPU容量的80%将根据staked-nodes-overrides文件中指定的lamport金额以及现有集群质押按比例分配。
配置RPC节点
在RPC上,您需要使用--rpc-send-transaction-tpu-peer将交易转发至特定领导者。具体用法为--rpc-send-transaction-tpu-peer HOST:PORT。其中Host是已启用staked-nodes-overrides的领导者IP地址,Port是该主机的QUIC TPU端口。领导者的QUIC TPU端口可通过向getClusterNodes发起RPC调用来获取。
对等连接示意如下:
RPC与Validator进行基于质押权重QoS对等连接的示意图
总结
基于质押权重的QoS是一项可选功能,随Solana客户端v1.14版本引入,该客户端现已更名为Agave。Agave是Solana Labs客户端的一个分叉版本,已成为Anza团队(由前Solana Labs工程团队组建的独立机构)使用的活跃分支。
基于质押权重的QoS功能最有可能对RPC基础设施运营商产生价值,他们处于有利位置,能够与已质押节点运营商建立可信关系。对于同时运营RPC节点和validator节点、并能够在内部建立高信任度连接的交易所,该功能同样具有重要意义。
Is this page helpful?