当前位置: 首页 > news >正文

Sui的Fastcrypto加密库刷新速度记录

Sui使用的加密库Fastcrypto打破了许多速度记录,Mysten Labs在基准测试和安全分析中的工作修复了许多安全漏洞,同时通过识别新的优化技巧为创新开辟了道路。

最近在伦敦帝国理工学院举行的国际性能工程会议(ICPE)基准测试研讨会上,Mysten Labs发表了一篇名为《Fastcrypto:通过持续基准测试开创加密新纪元》的论文,描述了其对Fastcrypto库中加密函数的持续和系统的基准测试。

该演讲是“性能测试创新:策略与技术”主题下的软件系统负载测试和基准测试研讨会的一部分。会议吸引了来自学术界和工业界的嘉宾,包括MongoDB和亚马逊的代表,他们也在同一研讨会上发表了讲话。

Mysten Labs重点介绍了Fastcrypto库的系统和持续的基准测试,该库是数字签名、哈希函数和零知识证明等加密函数的集合。在Fastcrypto中,所有函数在发布和按需时都会进行基准测试,结果在线发布。类似的函数可以轻松比较,Mysten Labs保留了历史数据以便随时跟踪性能。

演讲强调了这些基准测试如何在Fastcrypto和Sui的开发中促进更明智的决策,影响依赖项和使用的选择,以及优化开发人员资源的关注重点。

基于基准测试的决策

论文中的一个案例研究解决了为Sui中的验证节点选择签名方案的挑战。用户要提交交易到Sui,交易必须由验证节点法定人数签名,并合并成交易证书。Sui约有100个验证节点,并且权益分布均匀,法定人数包括67 个验证节点,这意味着每个验证节点必须验证每笔交易的67个签名。

BLS签名方案允许多个签名像单个签名一样进行验证,但它比EdDSA等替代方案慢得多。详细的基准测试显示,这两种方案的盈亏平衡点在40到45个签名之间。因此,对于Sui来说,使用BLS更为高效,这也是目前所采用的方法。

对EdDSA和BLS签名方案的基准测试揭示了40–45个批处理签名的盈亏平衡点,表明对于Sui的验证节点池,BLS是一个高性能的选择。

“如果软件突然变快了,你也应该担心”

演讲还展示了基准测试如何揭示意外的软件行为。一个例子涉及实现EdDSA签名方案的库,这些库假设公钥应该被缓存并作为输入提供给签名函数。如果提供了错误的公钥,可能导致私钥被提取(详见我们的 ed25519-unsafe-libs GitHub)。

一些库表现出异常快的性能而被检测到,因为它们绕过了公钥的派生过程,而使用了作为参数提供的可能错误的公钥。虽然基准测试通常旨在加速软件,但正如一位研讨会的观众所指出的,“如果软件突然变快了,你也应该担心。”


关于Sui Network

Sui是基于第一原理重新设计和构建而成的L1公有链,旨在为创作者和开发者提供能够承载Web3中下一个十亿用户的开发平台。Sui上的应用基于Move智能合约语言,并具有水平可扩展性,让开发者能够快速且低成本支持广泛的应用开发。获取更多信息:https://linktr.ee/sui_apac

官网|英文Twitter|中文Twitter|Discord|英文电报群|中文电报群

相关文章:

  • 【单片机】三极管的电路符号及图片识别
  • 机动车检测站授权签字人精选试题(附答案)
  • elasticsearch的入门与实践
  • 入侵检测系统(IDS)
  • 【文末附gpt升级秘笈】关于“登月游戏”的详细内容介绍
  • java程序什么时候需要在运行的时候动态修改字节码对象
  • minSdkVersion、targetSdkVersion、compileSdkVersion三者的作用解析
  • [Qt] Qt Creator中配置 Vs-Code 编码风格
  • 算法第八天:leetcode 35.搜索插入位置
  • TVBOX 最新版下载+视频源教程
  • 深入理解Java中的并发编程
  • 【LeetCode215】数组中的第K个最大元素
  • 爆赞!GitHub首本Python开发实战背记手册,标星果然百万名不虚传
  • Ant-Design-Vue动态表头并填充数据
  • vue3写一个定时器
  • IE9 : DOM Exception: INVALID_CHARACTER_ERR (5)
  • 《网管员必读——网络组建》(第2版)电子课件下载
  • 78. Subsets
  • ES6之路之模块详解
  • Git的一些常用操作
  • Javascript编码规范
  • Python_OOP
  • SegmentFault 技术周刊 Vol.27 - Git 学习宝典:程序员走江湖必备
  • UEditor初始化失败(实例已存在,但视图未渲染出来,单页化)
  • web标准化(下)
  • Yii源码解读-服务定位器(Service Locator)
  • 第2章 网络文档
  • 动态规划入门(以爬楼梯为例)
  • 技术胖1-4季视频复习— (看视频笔记)
  • 三分钟教你同步 Visual Studio Code 设置
  • 使用API自动生成工具优化前端工作流
  • postgresql行列转换函数
  • 分布式关系型数据库服务 DRDS 支持显示的 Prepare 及逻辑库锁功能等多项能力 ...
  • ​LeetCode解法汇总1410. HTML 实体解析器
  • ​Linux·i2c驱动架构​
  • ###51单片机学习(1)-----单片机烧录软件的使用,以及如何建立一个工程项目
  • (11)iptables-仅开放指定ip访问指定端口
  • (14)目标检测_SSD训练代码基于pytorch搭建代码
  • (6) 深入探索Python-Pandas库的核心数据结构:DataFrame全面解析
  • (9)STL算法之逆转旋转
  • (day 2)JavaScript学习笔记(基础之变量、常量和注释)
  • (Java入门)学生管理系统
  • (安卓)跳转应用市场APP详情页的方式
  • (博弈 sg入门)kiki's game -- hdu -- 2147
  • (分享)自己整理的一些简单awk实用语句
  • .bat批处理(二):%0 %1——给批处理脚本传递参数
  • .net 4.0 A potentially dangerous Request.Form value was detected from the client 的解决方案
  • .NET Core、DNX、DNU、DNVM、MVC6学习资料
  • .net framework profiles /.net framework 配置
  • .Net mvc总结
  • .NET 反射的使用
  • .NET 同步与异步 之 原子操作和自旋锁(Interlocked、SpinLock)(九)
  • .net 逐行读取大文本文件_如何使用 Java 灵活读取 Excel 内容 ?
  • .Net的DataSet直接与SQL2005交互
  • .net专家(张羿专栏)