BNB / BSC 节点中的 BLS 密钥:原理、作用与架构升级解析

2025-11-28 10:41:04

随着 BNB Chain(包含 BNB Beacon Chain 与 BNB Smart Chain,简称 BSC)持续演进,其共识层经历了重要升级:从早期基于 ECDSA 的签名机制,过渡到采用 BLS(Boneh–Lynn–Shacham)聚合签名的高性能 PoSA 共识架构。

在新的节点体系中,每个验证者除了传统的 ECDSA 私钥之外,还必须生成并配置一套 BLS 密钥。本文将系统性介绍:

  • BLS 是什么
  • 为什么 BNB/BSC 要使用 BLS
  • BLS 密钥在共识中的具体作用
  • 与 ECDSA 的对比
  • 架构升级带来的性能与安全变化

一、为什么 BNB/BSC 需要 BLS?

BSC 早期使用的是 PoSA(Proof of Staked Authority)+ ECDSA 签名。
这种方式在功能上可用,但存在两个核心问题:

  1. 签名无法聚合,每个区块需要存储和验证大量签名
  2. 验证者数量和区块大小难以进一步扩展

随着 BNB Chain 融合 Beacon Chain 架构、提升 TPS 的需求,BNB 引入了基于 BLS 的聚合签名技术,使共识开销更低、性能更高。


二、BLS 的核心能力

BLS(Boneh–Lynn–Shacham)最重要的特点包括以下三点。

1. 支持签名聚合(Aggregate Signature)

多个验证者的签名可以数学地合并为一个签名:

  • 100 个签名
    最终只需要 1 个聚合签名

区块头体积极大缩小,使出块更快、网络传输更轻。

2. 原生支持阈值签名(Threshold Signature)

可以实现多数验证者共同生成一个有效签名:

  • 超过 2/3 的验证者签名
    自动生成一个可验证的单一签名

无需额外的多重签名协议。

3. 验证速度快、可扩展性强

在验证区块时:

  • 节点只需验证一个聚合签名
  • 而不需要验证每个验证者的单独签名

这使得共识的可扩展性显著提升。


三、BLS 私钥在 BNB/BSC 中的作用

在新的 BNB Chain 共识架构中,BLS 密钥承担的是“共识身份”和“投票签名”的职责,而不是交易签名。

它主要有以下三个作用。


1. 作为验证者的共识层身份密钥

在共识过程(prevote、precommit、aggregate)中,验证者使用 BLS 私钥对投票进行签名。
链上保存的是验证者的 BLS 公钥,用于:

  • 验证投票来源
  • 验证者轮换
  • 共识身份验证

可以理解为验证者的“共识身份证”。


2. 生成区块的 BLS 聚合签名

每个区块高度都需要验证者投票确认。
使用 BLS 后:

  • 所有验证者的投票可以聚合为一个签名
  • 区块头中只写入一个 BLS 聚合签名
  • 节点验证速度更快,区块体积更小

这是 BNB Chain 性能提升的关键机制。


3. 支持安全的阈值共识机制

PoSA 要求超过三分之二的验证者同意区块才能最终确认。
BLS 天生支持阈值验证,并提供:

  • 更简单的投票验证逻辑
  • 更强的防伪造能力
  • 更安全的验证者切换

让整个共识层更安全可靠。


四、为什么不是使用 ECDSA?(对比)

能力ECDSABLS
签名聚合不支持支持
阈值签名不支持,需要外部协议原生支持
多验证者共识性能一般高效
区块头大小
扩展性显著受限
用途交易签名共识投票签名

结论:
交易层仍然使用 ECDSA(钱包、合约交互等)。
共识层使用 BLS 才能获得高性能和更佳的扩展性。


五、BNB/BSC 架构升级后的变化

随着 BLS 的引入,BNB Chain 获得了以下提升。

1. 共识性能显著提升

减少共识消息体积、减少签名验证次数,使:

  • 区块时间更稳定
  • TPS 上限提升
  • 网络带宽消耗更低

2. 验证者数量可扩展

BSC 早期固定 21 个验证者,使用 BLS 后可以支持更多验证者参与,而不用担心过高的签名成本。


3. 更安全的验证者管理

BLS 将验证者的共识身份抽象为统一的公钥,使身份管理更彻底、更可控。


六、BNB/BSC 节点中的两套密钥

BNB/BSC 节点实际上使用两套密钥体系,用途完全不同。

1. ECDSA Key(交易密钥)

  • 用于链上交易签名
  • secp256k1 曲线
  • 与以太坊、MetaMask 完全一致

2. BLS Key(共识密钥)

  • 仅验证者节点使用
  • 只用于共识投票
  • 不用于交易
  • 不出现在任何钱包中

这两套密钥互不影响,各司其职。


七、总结

BLS 密钥在 BNB/BSC 中主要用于验证者共识层的投票与聚合签名,通过支持多签名聚合、阈值验证和快速校验,显著增强了区块确认速度、网络扩展性与整体安全性。它不用于交易,只用于共识层,是 BNB Chain 迈向高性能架构的重要基础组件。

当前页面是本站的「Baidu MIP」版。发表评论请点击:完整版 »