Cointime

扫码下载App
iOS & Android

详解新公链Sui密码学:密钥对、签名和哈希函数的灵活性

VC

Sui 在设计底层技术时考虑到了密码学的灵活性。该系统支持多种密码算法和cryptography primitives(密码原语),并可以在它们之间快速切换。开发人员不仅可以为系统选择同类最佳的best-of-breed cryptography(公开密钥密码体系),还可以实施最新的algorithms(可用算法)。

Sui 在一个统一的类型别名或整个存储库共享的枚举包装器下定义其cryptography primitives(密码学原语),例如公钥、签名、聚合签名和哈希函数。对这些原语进行更改会影响应用程序的所有组件。开发人员可以快速更新应用程序密码并确保统一的安全性。

目前Sui 通过执行交易端点支持以下用户交易签名方案:

1.Pure Ed25519

2.Secp256k1 ECDSA

用户账户密钥对的接口实现

下面是 Sui 中密钥对表示的Demo。扩展到新的签名方案非常简单:

1.把它添加到 enum(枚举类)

2.实现fastcrypto库中定义的 KeyPair trait

用户签名通过扩展一个额外的 1 字节标志来序列化,该标志标识关联的签名方案。尽管Sui团队考虑过使用Multiformats(用于自描述数据的协议),但其可变标志长度的性质使得序列化存在问题。相反,Sui采用了单字节零起始标志模型。签名方案及其对应的标志定义如下:

当用户提交签名交易时,交易执行指定以下参数:

  1. BSC(Binary Canonical Serialization)序列化transaction bytes 为Base64
  2. Signature scheme flag(签名方案标识),可以传参为“ed25519”或“secp256k1”
  3. 公钥的Base64格式
  4. 其scheme对应的签名的Base64

如下代码是执行已签名的交易,curl 如果成功则返回证书和交易结果。

如下代码展示了 Sui 的全节点如何将 API 请求字段组装成序列化签名flag || signature || pubkey并在执行前进行验证检查。

Sui支持不同的签名方案的缘由剖析

使用 secp256k1 椭圆曲线的 ECDSA 被比特币、以太坊和其他加密货币广泛采用。用户可能更喜欢这种签名方案,因为他们想利用现有的钱包和托管密钥管理工具,例如阈值签名(国内密码学中的 翻译为“门限密码体系的门限签名”)和多签。此外,它与云基础设施和硬件安全模块(常见的如密码机 uk 硬件钱包等)具有更好的兼容性,同时支持从消息和签名负载中恢复公钥。

同时,Ed25519 是一种更现代的签名方案,具有确定性快速签名和简化数学的特点。虽然 Typescript SDK 支持这两种签名方案。但是Sui还是选择 Ed25519 作为推荐的 Sui 钱包算法。

因为Sui 支持不同签名方案,在后面使用secp256r1曲线(也称为 NIST-P256)添加诸如 ECDSA 之类的方案将花费很少的精力,这条曲线目前是原生手机和未来密码学中都要支持的一条曲线,也是目前社区一个普遍要求的功能。

对这种灵活的签名方案支持还使 Sui 系统与不安全的空签名方案进行基准测试。对于像 Sui 这样的快速执行系统,并行设计签名和验证也发生在事务级别,而不仅仅是区块层,加密灵活性让Sui Check出加密操作给系统带来的开销。这些基准测试结果已经能够为Sui提供识别瓶颈和优化方向。

授权密钥对

Authority on Sui(验证者集合)持有三个不同的密钥对:

  • Protocol keypair 协议密钥对
  • Account keypair 帐户密钥对
  • Network keypair 网络密钥对

Protocol keypair 协议密钥对

如果用户签名的交易经过验证,协议密钥对会提供授权签名。当为用户交易提供签名的权力机构的占比超过所需的三分之二门槛时,Sui 将执行交易。目前选择 BLS12381 方案来快速验证给定数量的授权机构的聚合签名。特别是决定使用 minSig BLS 模式,根据该模式,每个单独的公钥为 96 字节,而签名为 48 字节。后者很重要,因为通常验证者在每个纪元开始时注册一次他们的密钥,然后他们不断地签署交易;因此Sui优化了最小签名大小。

注意!使用 BLS 方案,可以聚合独立签名,从而产生单个 BLS 签名有效负载。Sui还将聚合签名与bitmap(位图)一起表示签名的验证器。这有效地将当局的签名大小从(2f + 1) × BLS_sig大小减少到只有一个BLS_sig有效负载,这反过来具有网络开销优势,可以独立于验证器集大小的压缩交易证书。

密钥材料类型别名集中在整个存储库使用的单个位置。事实上,仅通过changing the alias(更改别名)(对聚合签名代码中对的alias参数序列化传参时候修改)就将协议密钥的 Sui 从 Ed25519 切换到了 BLS12381。

为了解决 BLS12381 聚合签名的潜在恶意密钥攻击,在权限注册期间使用密钥知识证明 (KOSK )。当授权机构请求添加到验证器集时,将提交并验证所有权证明。校验协议密钥 kosk || protocol public key || sui address。与大多数标准不同,Sui的知识证明方案也提交到地址,这提供了额外的保护,防止来自另一个恶意验证器的验证器的BLS密钥被恶意重用。

聚合签名在两种情况下很有用:

  • 当仲裁驱动程序从多个授权机构返回的SignedTransaction形成CertifiedTransaction时
  • 当权限形成SignedCheckpointSummary时,每个权限都会对检查点内容进行签名

Account keypair 帐户密钥对

监管机构用来接收质押奖励付款的账户由账户密钥对保护,使用 Ed25519 作为签名方案。

Network keypair 网络密钥对

私钥用于执行QUIC对Narwhal primary 及其 worker 网络接口所需的TLS握手。公钥用于验证节点 ID,Ed25519 用作签名方案。

哈希和编码灵活性

目前,Sui 的默认哈希函数是 sha3256,正在运行基准测试以与 sha256 和 blake2/blake3 系列进行比较。为了支持编码灵活性,Base64和Hex在fastcrypto中定义了一个编码特性,作为一个包装器base64ct::Base64和 hex 及其定制的序列化和验证。值得注意的是,选择了base64ctcrate 而不是最流行的 base64 Rust crate,因为 a) 它是恒定时间 b) 明确拒绝损坏的编码以防止解码时的延展性攻击。Sui的研究团队成员最近报告了大多数 base64 解码器库中令人惊讶的延展性问题,获得了AsiaCCS 2022 最佳Poster奖,这是密码学和安全领域的重要会议之一。

下面的代码片段显示了如何在fastcrypto中实现包装器结构:

加密灵活性顺应密码学趋势

凭借在密钥对、签名和哈希函数方面的加密的灵活性,Sui 在库选择、基础签名方案、编码和哈希函数方面非常便捷。这不仅允许 Sui 在库有发现漏洞或某种方案有bug的情况下快速升级,还允许根据选择的cryptography primitives(密码学原语)作为参数对整个系统进行基准测试。

评论

所有评论

推荐阅读

  • 8月3日晚间重要动态一览

    12:00-21:00关键词:特朗普、中本聪雕像、英国 1.特朗普怒斥民主党政治勒索; 2.Michael Saylor发文“冬天不会再回来”; 3.位于瑞士卢加诺的中本聪雕像今日被盗; 4.英国散户投资者10月将可以购买加密货币交易所交易票据; 5.Metaplanet CEO:将提供多种工具来筹集资金购买比特币; 6.以太坊第二大持币机构SharpLink Gaming持仓浮盈超2亿美元。

  • 8月3日午间重要动态一览

    7:00-12:00关键词:LuBian、pump.fun、Michael Saylor 1.比特币矿工近两周减持超3000枚比特币; 2.pump.fun近24小时Solana发币平台市场份额升至32.4%; 3.加密恐慌与贪婪指数跌至53,等级近一个月首次回归“中性”; 4.Michael Saylor:比特币短期是交易资产,长期将是财库资产; 5.“麻吉大哥”黄立成近期做多仓位导致其回吐此前超两千万美元盈利; 6.财新:消息人士称京东、蚂蚁或许很难出现在首批稳定币牌照名单上; 7.LuBian矿池曾于2020年被盗损失12.7万枚BTC,黑客仍掌控资产并成为全球第13大BTC持有者。

  • 8月3日隔夜重要动态一览

    21:00-7:00关键词:cbBTC、Bitmax、巴菲特

  • 库格勒意外辞职或加速特朗普选定下任美联储主席人选

    美联储理事库格勒周五突然宣布辞职,这给美国总统特朗普提供了比预期更早填补美联储空缺的机会,也可能迫使他提前数月敲定下任主席人选。货币政策分析公司LH Meyer经济学家Derek Tang表示,“现在球踢到了特朗普脚下,特朗普一直在向美联储施压,声称要安插自己人。如今机会来了。”由于鲍威尔的主席任期虽于明年5月结束,但其理事任期持续至2028年。若鲍威尔不主动辞去理事职务,特朗普在2028年前将再无机会填补空缺。这种情况下,特朗普可能被迫用拟提拔的主席人选填补库格勒空缺。沃尔夫研究公司美国政策与政治策略主管Tobin Marcus指出:“关键在于这是特朗普唯一可操作的职位空缺。若他想从美联储外部物色下任主席,提名或将提前揭晓。”

  • 8月2日午间重要动态一览

    7:00-12:00关键词:爱泼斯坦案、降息、鲍威尔 1.特朗普称希望公布所有爱泼斯坦案相关文件; 2.最高检聚焦虚拟货币司法处置,六项研究课题同时立项; 3.特朗普扬言“会秒换鲍威尔”,后称其很可能继续留任;; 4.美联储威廉姆斯谈劳动力市场降温 谨慎对待9月降息预期; 5.特朗普媒体科技集团发布Q2财报:金融资产规模达31亿美元; 6.美CFTC宣布启动加密冲刺计划以配合SEC的“Project Crypto”; 7.DeFi教育基金敦促参议院在法案草案中加强对加密货币开发者的保护。

  • DeFi 教育基金敦促参议院在法案草案中加强对加密货币开发者的保护

    加密货币游说团体 DeFi 教育基金在审查了美国参议院银行委员会最近发布的关于一项重要加密货币市场结构法案的讨论稿后,呼吁该委员会重新考虑其监管去中心化金融行业的计划。 该回应由 a16z Crypto、Uniswap Labs 和 Paradigm 等 DeFi 教育基金 (DEF) 成员代表签署,表示《2025 年负责任金融创新法案》 (RFA) 应以更加技术中立的方式制定,加密货币开发者应受到保护,免受“针对中介机构的不适当监管”,并且所有美国人的自我托管权都“至关重要”。

  • 特朗普称希望公布所有爱泼斯坦案相关文件

    美国总统特朗普在接受美国媒体采访时表示,他“希望公布所有与爱泼斯坦案相关的文件”。特朗普称,自己希望公开全部信息,但不希望有人因此受到伤害,或让相关人士受到牵连。特朗普还表示,如果掌握文件的人手中真有什么和他相关的信息,早该在总统选举之前就公布出来。

  • 美联储威廉姆斯谈劳动力市场降温 谨慎对待9月降息预期

    美联储官员、鲍威尔盟友威廉姆斯表示,“过去一年,我所观察到的劳动力市场状况,可以用‘温和而渐进的降温’来形容,但整体仍处于稳健状态。”尽管7月份失业率仅小幅上升至4.2%(6月为4.1%),但相对疲软的非农数据为鲍威尔推动降息共识提供了空间。威廉姆斯指出,5月和6月就业增长数据被大幅向下修正,才是本次报告真正的焦点。 他表示:“这些信息至关重要,有助于我们理解劳动力供需的走向,以及劳动力市场动能的降温趋势。”对于9月是否可能降息,威廉姆斯态度谨慎,未对市场一度高达80%的降息预期予以背书。他表示:“市场参与者面对的挑战,与我们作为政策制定者所面临的是一样的。市场对信号的反应方向,我认为是可以理解的。”威廉姆斯预计,今年美国经济增速将放缓至约1%,但他认为,2026年经济有望回升。

  • | 8月2日隔夜重要动态一览

    21:00-7:00关键词:特朗普、鲍威尔、非农就业数据

  • 印度暂停发布加密货币政策文件,因其他事项优先考虑

    印度尚未发布有关加密货币的讨论文件,原计划于9月份发布。重要事项,如本月的世界银行会议,已经成为制定印度加密货币政策立场的关键利益相关者咨询的优先事项。据两位知情人士透露,印度尚未发布有关加密货币的政策立场的讨论文件,因为官员们正在集中精力处理其他事务。最初预计将在与中央银行和市场监管机构等利益相关者的磋商后于9月份发布该文件。这些人士表示,出版意图仍然存在,但没有时间表,因为延迟尚未公开宣布。