什么是 BLS 签名?它在加密货币中有何用途?
加密货币和区块链技术已发展为创新活跃的领域,为去中心化金融世界开辟道路。
New to Nervos? Start here.
Explore the guide
支撑这一领域的基石之一是密码学签名,它为交易验证和部分共识机制提供基础。
在众多密码学签名中,BLS 签名是一项重要成果,具有独特优势,尤其受到现代区块链平台的重视。本文将揭开 BLS 签名的面纱,探讨其核心原理、加密货币应用、技术实现和未来发展方向。
什么是 BLS 签名?
BLS 签名以其发明者 Boneh、Lynn、Shacham 的姓氏命名,是一种密码学签名,为验证网络中交易的真实性提供紧凑、高效的方式。与传统数字签名不同,BLS 签名利用双线性配对(bilinear pairings)这种数学运算,实现验证和签名聚合。
BLS 签名源于密码学家丹·博内(Dan Boneh)、本·林恩(Ben Lynn)和霍瓦夫·沙查姆(Hovav Shacham)的探索。他们提出了一种能够在保持较高安全性的同时缩短签名的方案。多年来,这一签名方案不断发展,在当代密码学问题中找到了适用场景。
BLS 签名的内部结构
BLS 签名的基础是双线性配对这一数学结构。这个数学概念使两个不同群的元素之间能够以独特方式交互,为 BLS 签名的基本操作提供支持。进一步来看,BLS 签名方案通过代数运算的配合,支撑生成、签名和验证过程。
BLS 签名具有一组区别于传统签名方案的独特性质。其唯一性和确定性确保一个签名明确对应特定消息和签名者。此外,BLS 签名的安全性质能够抵御常见的密码学攻击,为底层区块链网络提供坚实防护。
BLS 签名的另一项标志性特征是可聚合性。多个签名可以合并为一个,大幅减少输出的数据占用。聚合后的签名保留各个签名的真实性,从而确保验证过程一致且安全。
BLS 签名在加密货币中的应用
在加密货币领域,交易验证至关重要。BLS 签名通过简化签名验证和聚合,为增强区块链网络提供了有力工具。它能够将多个签名聚合成一个签名,有望解决许多区块链网络面临的可扩展性问题。具体来说,BLS 签名在区块链中有以下用途:
真实性验证
在区块链网络中,确认签名者的真实性,对于确保交易正当以及维持参与者之间的信任至关重要。BLS 签名是一种密码学证明,表明特定消息或交易由某个实体创建,该实体持有与网络中其他人已知公钥相对应的私钥。
这种数字签名方案让网络参与者能够验证某条消息是否由特定公钥的所有者签署,从而确保消息的完整性和来源。BLS 签名方案的验证过程基于双线性配对系统,涉及对椭圆曲线中的群元素执行特定数学运算。
聚合技术
可聚合性是 BLS 签名的独特特征之一。它是指将不同用户的多个签名和/或公钥合并成一种紧凑表示,同时仍能验证各个签名的能力。
通常,在不使用聚合的情况下,每个签名都必须单独验证,因此验证大量签名可能需要密集计算。使用 BLS 签名聚合后,则可以在一次操作中验证多个签名,从而显著降低计算成本,提高验证效率。区块链网络需要及时验证大量交易及其相应签名,因此十分需要这一性质。
在以太坊中的实现
以太坊是领先的智能合约平台,最初只使用 ECDSA(椭圆曲线数字签名算法),配合特定椭圆曲线 secp256k1,对交易进行签名和验证。
但以太坊的信标链(beacon chain)协议采用了 BLS 签名,并配合使用另一条椭圆曲线 BLS12-381。选择 BLS 签名,是因为它具有签名聚合等有利性质,可以减少需要在链上存储和验证的数据,从而可能提高网络的可扩展性和效率。这一调整是 BLS 签名改进区块链协议的重要应用,也体现了它为加密货币领域带来的价值。
结语
BLS 签名的魅力在于其数学基础:双线性配对支撑着签名生成、签名和验证过程。凭借唯一性和确定性,这类签名确保签名、消息与签名者之间具有明确的对应关系。
BLS 签名的安全机制能够有效抵御常见密码学攻击,增强采用它的区块链网络的安全性。
More from CKB
区块链中的数字签名是什么?
数字签名对于保障交易安全、维持区块链网络中的信任至关重要。

Schnorr 签名及其在加密货币中的应用
在密码安全领域,数字签名是确保交易完整性和真实性的基石。

什么是 Secp256r1?
Secp256r1 又称为 "P-256",是数字签名和密钥转换常用的椭圆曲线,在区块链行业的应用日益广泛。
