公链地址生成曲线和算法

article/2025/7/29 19:10:06

在这里插入图片描述

在区块链公链中,除了 ECDSA(基于 secp256k1 曲线)EdDSA(基于 Ed25519 曲线) 之外,还有其他一些加密算法和椭圆曲线被用于生成公私钥对、签名验证或地址生成。这些算法和曲线的选择通常基于安全性、性能、兼容性和特定区块链的设计目标。以下是目前在公链中使用的其他主要算法和曲线,以及它们的具体应用场景:

1. 其他加密算法和曲线

以下是除 ECDSA 和 EdDSA 外,区块链公链中常用的算法和曲线:

(1) Schnorr 签名算法
  • 曲线:通常基于 secp256k1(与 ECDSA 相同)。
  • 特点
    • Schnorr 签名是一种基于椭圆曲线的数字签名算法,相比 ECDSA 具有更小的签名大小(64 字节 vs ECDSA 的 70-72 字节)、线性数学特性(支持签名聚合)和更高的安全性(抗某些侧信道攻击)。
    • 支持多重签名(multisig)和批量验证,减少链上存储和计算开销。
  • 应用公链
    • 比特币(Bitcoin)
      • 通过 BIP-340(Schnorr Signatures)Taproot 升级(2021 年 11 月激活),比特币引入 Schnorr 签名,用于增强隐私性(隐藏复杂脚本)和降低多重签名交易的成本。
      • Schnorr 签名与 secp256k1 曲线结合,保持与 ECDSA 的兼容性。
    • 其他链:一些基于比特币代码的分叉链(如 Bitcoin Cash)或支持 Taproot 的链也可能使用 Schnorr 签名。
  • 原因
    • 签名聚合(例如,多个签名合并为一个)减少交易大小,降低费用。
    • 更高的隐私性和效率,适合复杂脚本(如多重签名、闪电网络)。
(2) BLS 签名(Boneh-Lynn-Shacham)
  • 曲线:通常基于 BLS12-381 或其他配对友好曲线(如 BN254)。
  • 特点
    • BLS 签名支持签名聚合(多个签名合并为一个固定大小的签名,通常 48 字节)和批量验证,极大地优化了区块链的存储和验证效率。
    • 基于配对密码学(pairing-based cryptography),适合零知识证明(ZKP)和跨链协议。
    • 签名大小小(48 字节),但验证速度较慢(相比 Ed25519 或 Schnorr)。
  • 应用公链
    • 以太坊 2.0(Ethereum Beacon Chain)
      • 使用 BLS 签名(基于 BLS12-381 曲线)进行验证者签名,特别是在 PoS(权益证明)共识中。
      • BLS 签名聚合允许多个验证者的签名合并为一个,减少链上数据量。
    • Filecoin
      • 使用 BLS 签名验证存储提供者的证明,优化存储和计算效率。
    • Dfinity(Internet Computer)
      • 使用 BLS 签名支持其共识机制和身份管理。
    • Zcash
      • 部分零知识证明(zk-SNARKs)场景使用 BLS 曲线(如 BN254)支持高效验证。
    • 其他链:如 Algorand、Chia 等也使用 BLS 签名优化共识和验证。
  • 原因
    • 签名聚合和短签名长度适合大规模验证者网络(如 PoS 共识)。
    • 与零知识证明的兼容性,适合隐私和扩展性应用。
(3) RSA(Rivest-Shamir-Adleman)
  • 曲线:不基于椭圆曲线,而是基于大整数分解问题。
  • 特点
    • RSA 是一种传统的公钥加密算法,密钥长度通常为 2048 位或 4096 位,签名和公钥大小较大(数百字节)。
    • 签名生成和验证速度较慢,计算开销高。
    • 在区块链中应用较少,主要用于早期或特定场景。
  • 应用公链
    • 少数早期公链:如某些实验性区块链或侧链可能使用 RSA,但主流公链(如比特币、以太坊)不使用。
    • Hyperledger Fabric(企业级区块链,非典型公链):
      • 支持 RSA 用于证书颁发和身份管理(与 ECDSA 可选搭配)。
  • 原因
    • RSA 在区块链中应用有限,因其签名和密钥大小大、性能低,不适合高吞吐量场景。
    • 主要用于传统密码学场景或与外部系统的互操作。
(4) Dilithium(后量子签名算法)
  • 基础:基于格密码学(Lattice-based cryptography),不使用椭圆曲线。
  • 特点
    • Dilithium 是一种抗量子攻击的签名算法,设计用于抵御量子计算机的威胁(如 Shor 算法破解椭圆曲线)。
    • 签名大小较大(2-4 KB),公钥约 1-2 KB,验证速度较快,但签名生成较慢。
  • 应用公链
    • 实验性公链:目前主流公链(如比特币、以太坊)尚未广泛采用 Dilithium,但一些新兴公链或侧链开始探索后量子密码学。
    • 以太坊(未来可能):以太坊社区在研究后量子密码学(如 Dilithium、Falcon)以应对量子计算威胁,可能在未来升级中引入。
    • QANplatform:一个专注于抗量子安全的公链,计划支持 Dilithium 或类似算法。
  • 原因
    • 抗量子安全,适合未来量子计算时代。
    • 目前应用有限,因签名和密钥大小较大,性能不如椭圆曲线算法。
(5) Falcon(后量子签名算法)
  • 基础:基于格密码学(NTRU 或环学习同态问题)。
  • 特点
    • 类似 Dilithium,Falcon 是抗量子签名算法,签名大小较小(约 600-1200 字节),但公钥和签名生成复杂。
    • 适合需要高安全性和紧凑签名的场景。
  • 应用公链
    • 实验性公链:与 Dilithium 类似,Falcon 主要在抗量子区块链项目中测试,如 QANplatform 或某些研究性链。
    • 以太坊(潜在):以太坊社区也在研究 Falcon 作为后量子备选方案。
  • 原因
    • 抗量子安全,签名大小比 Dilithium 小,适合未来区块链升级。
    • 目前应用较少,因生态尚未成熟。
(6) XMSS(扩展 Merkle 签名方案)
  • 基础:基于哈希的密码学(Hash-based cryptography),抗量子。
  • 特点
    • XMSS 是一种状态哈希签名方案,抗量子攻击,签名大小适中(约 2-3 KB)。
    • 限制:密钥对只能用于有限次数的签名(状态管理复杂)。
  • 应用公链
    • 少数实验性公链:如某些专注于后量子安全的链(未广泛普及)。
    • IOTA(早期):IOTA 早期版本使用了基于哈希的签名(如 Winternitz OTS),与 XMSS 类似,但后来转向其他方案。
  • 原因
    • 抗量子安全,适合高度安全需求的场景。
    • 状态管理和签名次数限制使其在公链中应用较少。

2. 常用曲线的总结

以下是区块链公链中常见的椭圆曲线和其他密码学基础:

  • secp256k1(ECDSA、Schnorr):
    • 公链:比特币、以太坊、EOS、部分 Cosmos 链。
    • 特点:256 位安全性,压缩公钥 33 字节,签名 70-72 字节(ECDSA)或 64 字节(Schnorr)。
  • Ed25519(EdDSA):
    • 公链:Solana、TON、Polkadot、Near、Cardano、Stellar、Monero。
    • 特点:256 位安全性,压缩公钥 32 字节,签名 64 字节,高效且抗侧信道攻击。
  • BLS12-381(BLS):
    • 公链:以太坊 2.0、Filecoin、Dfinity、Algorand、Chia。
    • 特点:支持签名聚合,签名 48 字节,适合 PoS 和零知识证明。
  • BN254(BLS 或 ZKP):
    • 公链:Zcash(zk-SNARKs)、某些以太坊 Layer 2。
    • 特点:配对友好,适合零知识证明,安全性稍低于 BLS12-381。
  • 格密码学(Dilithium、Falcon)
    • 公链:QANplatform、实验性链。
    • 特点:抗量子,签名和公钥较大,尚未广泛普及。
  • 哈希签名(XMSS)
    • 公链:IOTA(早期)、实验性链。
    • 特点:抗量子,状态管理复杂,应用有限。

3. 为什么选择不同算法和曲线?

  • 安全性
    • secp256k1 和 Ed25519 提供约 128 位安全性,足以应对当前经典计算机攻击。
    • BLS12-381 和 BN254 适合配对密码学和零知识证明。
    • 后量子算法(如 Dilithium、Falcon)针对未来量子计算威胁。
  • 性能
    • Ed25519 提供最快的签名和验证速度,适合高吞吐量公链。
    • Schnorr 和 BLS 支持签名聚合,优化多签名和共识场景。
    • RSA 和后量子算法性能较低,应用受限。
  • 存储和传输
    • Ed25519(32 字节公钥,64 字节签名)和 BLS(48 字节签名)优于 ECDSA(33 字节公钥,70-72 字节签名)。
    • 后量子算法签名较大(1-4 KB),对链上存储要求高。
  • 兼容性
    • secp256k1 是比特币和以太坊生态的标准,兼容性强。
    • Ed25519 是新兴公链的标准,得到广泛支持。
    • BLS 和后量子算法在特定场景(如 PoS、ZKP)中应用。

4. 总结

除了 ECDSA(secp256k1)和 EdDSA(Ed25519),区块链公链中还使用以下算法和曲线:

  • Schnorr(secp256k1):比特币(Taproot)、分叉链。
  • BLS(BLS12-381、BN254):以太坊 2.0、Filecoin、Dfinity、Zcash、Algorand、Chia。
  • RSA:少数企业级链(如 Hyperledger)。
  • 后量子算法(Dilithium、Falcon、XMSS):QANplatform、实验性链,IOTA(早期)。
    这些算法和曲线的选择取决于公链的性能、隐私、安全性和量子抗性需求。

http://www.hkcw.cn/article/AjiYStugRr.shtml

相关文章

⭐ Unity AVProVideo插件自带播放器 脚本重构 实现视频激活重置功能

一、功能概述 本笔记记录直接修改插件自带的场景播放其中 原始的 MediaPlayerUI 脚本,实现激活时自动重置播放器的功能。 我用的插件版本是 AVPro Video - Ultra Edition 2.7.3 修改后的脚本将具备以下特性: 激活 GameObject 时自动重置播放位置到开头 可配置是否在重置后自…

C#命名类型前缀习惯改进

我这几天有一个疑惑,我之前用过一些变量命名,有些混乱,如string sql,string strSql,string sqlStr, string strName,string nameStr,bool boValid,stringbuilder sbFileN…

生成式AI如何重塑设计思维与品牌创新?从工具到认知革命的跃迁

当MidJourney生成的视觉方案出现在国际设计奖项的决赛名单,当Adobe Firefly成为设计师的标配工具,一个问题正从行业边缘走向中心:生成式人工智能(GAI)究竟在解构还是重构创意领域?作为深度参与AI与设计融合…

零知开源——STM32F407VET6驱动Flappy Bird游戏教程

简介 本教程使用STM32F407VET6零知增强板驱动3.5寸TFT触摸屏实现经典Flappy Bird游戏。通过触摸屏控制小鸟跳跃,躲避障碍物柱体,挑战最高分。项目涉及STM32底层驱动、图形库移植、触摸控制和游戏逻辑设计。 目录 简介 一、硬件准备 二、软件架构 三、…

超高频RFID读写器天线分类及应用场景

超高频RFID(Radio Frequency Identification,射频识别)技术作为一种先进的自动识别技术,已经在多个领域得到了广泛应用。作为RFID系统的重要组成部分,超高频RFID读写器天线不仅影响着系统的读取距离、读取速度和准确性,还决定了RFID系统的适应性和灵活性。本文将详细介绍…

第J2周:ResNet50V2算法实战与解析

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 batch_size32:每次训练取32张图像组成一个 batch img_size(224, 224):图像输入大小匹配 ResNet50 的输入要求 epochs10:训练…

界面控件DevExpress WinForms中文教程:Banded Grid View - 如何固定Bands?

DevExpress WinForms拥有180组件和UI库,能为Windows Forms平台创建具有影响力的业务解决方案。DevExpress WinForms能完美构建流畅、美观且易于使用的应用程序,无论是Office风格的界面,还是分析处理大批量的业务数据,它都能轻松胜…

安全帽检测

通过百度网盘分享的文件:工地项目 链接:https://pan.baidu.com/s/1pVxriAKKodwrcf_4Ou-OZg?pwdn2rv 提取码:n2rv --来自百度网盘超级会员V2的分享 YOLOv5训练自定义模型 YOLOv5需要安装pytorch、cuda、cudnn,可以参考我的环…

晨控CK-UR08与欧姆龙PLC配置Ethernet/IP通讯连接操作手册

晨控CK-UR08与欧姆龙PLC配置Ethernet/IP通讯连接操作手册 晨控CK-UR08系列作为晨控智能工业级别RFID读写器,支持大部分工业协议如RS232、RS485、以太网。支持工业协议Modbus RTU、Modbus TCP、Profinet、EtherNet/lP、EtherCat以及自由协议TCP/IP等。 本期主题:围绕…

windows无法安装到这个磁盘,选中的磁盘采用gpt分区仪式

解决办法: 我才用的是一个网友分享的微软官方解决办法,成功了,但是不知道会不会i有什么影响。将所有分区删掉,这时磁盘变成为分配的空间。我个人是两块固态,一块m.2,一块sata;所以我直接将500g…

JVM内存模型

JVM内存模型 说明: 1、JVM由装载子系统、运行时数据区(jvm内存模型)、字节码执行引擎; 2、运行时数据区包含堆、元空间、栈、本地方法栈和程序计数器; 3、堆、元空间是线程共享;方法栈、程序计数器是线程…

【Python】第一弹:对 Python 的认知

目录 一、Python 的背景 1.1. Python 的由来 1.2 Python 的作用 1.3 Python 的优缺点 1.4 Python 的开发工具 一、Python 的背景 1.1. Python 的由来 Python 由荷兰数学和计算机科学研究学会的吉多・范罗苏姆 (Guido van Rossum)在 20 世纪 80 年代…

动态规划基础

动态规划是一种算法思想,关键是理解思想和什么时候用。 算法思想 动态规划用于解决多阶段决策最优化问题,这类问题类似递推。 1.阶段 将问题分为多个阶段,每个阶段之间有联系,即可递推。一般可按问题求解次序或问题的递归性质划…

WEB3——什么是ABI

怎么获得ABI? 在编译完合约后,可以在左边下面点击复制ABI ABI(Application Binary Interface,应用二进制接口)是用来让前端或服务端 JavaScript 代码与智能合约进行交互的桥梁,它描述了合约的函数、事件和…

本地部署Ollama DeepSeek-R1:8B,接入Cherry Studio

本地部署Ollama DeepSeek-R1:8B,接入Cherry Studio 本教程为本地部署ollama 环境,运行deepseek-r1:8B 模型,并完成cherry studio接入调用。 实现无网环境也可提问模型 一、ollama 环境安装 通过网盘分享的文件:OllamaSetup.ex…

彻底解决Win11文件资源管理器预览窗格无法预览问题

国内某几个流氓软件(W*S、*狗PDF...),耗子尾之!!! (转载)Windows中PDF TXT Excel Word PPT等Office文件在预览窗格无法预览的终级解决方法大全 https://zhuanlan.zhihu.com/p/4542…

竞争加剧,美团的战略升维:反内卷、科技与全球化

5月26日,美团发布2025年第一季度业绩报告,交出了一份兼具韧性与创新性的成绩单。 报告显示,公司一季度总营收866亿元,同比增长18%;核心本地商业收入643亿元,同比增长18%;季度研发投入58亿元&a…

【unity游戏开发——编辑器扩展】AssetPostprocessor和AssetImporter对导入的资源进行统一的预处理

注意:考虑到编辑器扩展的内容比较多,我将编辑器扩展的内容分开,并全部整合放在【unity游戏开发——编辑器扩展】专栏里,感兴趣的小伙伴可以前往逐一查看学习。 文章目录 前言一、AssetPostprocessor1、主要特点2、常用回调方法3、…

代码随想录算法训练营 Day61 图论ⅩⅠ Floyd A※ 最短路径算法

图论 题目 97. 小明逛公园 本题是经典的多源最短路问题。 在这之前我们讲解过,dijkstra朴素版、dijkstra堆优化、Bellman算法、Bellman队列优化(SPFA) 都是单源最短路,即只能有一个起点。 而本题是多源最短路,即求多…

CATIA高效工作指南——测量分析篇(一)

一、精准重心分析与实时更新技术 1.1 材料属性与几何体重心关联 在复杂零件设计中,重心控制直接影响产品性能。通过CATIA的材料属性系统可实现动态重心跟踪: ​​密度赋值​​:应用材料 → 选择单个几何体 /依次选择多个几何体→ 指定材质…