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

2024-06-19 19:36

本文主要是介绍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|英文电报群|中文电报群

这篇关于Sui的Fastcrypto加密库刷新速度记录的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1075951

相关文章

docker编写java的jar完整步骤记录

《docker编写java的jar完整步骤记录》在平常的开发工作中,我们经常需要部署项目,开发测试完成后,最关键的一步就是部署,:本文主要介绍docker编写java的jar的相关资料,文中通过代... 目录all-docker/生成Docker打包部署文件配置服务A的Dockerfile (a/Docke

java 恺撒加密/解密实现原理(附带源码)

《java恺撒加密/解密实现原理(附带源码)》本文介绍Java实现恺撒加密与解密,通过固定位移量对字母进行循环替换,保留大小写及非字母字符,由于其实现简单、易于理解,恺撒加密常被用作学习加密算法的入... 目录Java 恺撒加密/解密实现1. 项目背景与介绍2. 相关知识2.1 恺撒加密算法原理2.2 Ja

MySQL使用EXISTS检查记录是否存在的详细过程

《MySQL使用EXISTS检查记录是否存在的详细过程》EXISTS是SQL中用于检查子查询是否返回至少一条记录的运算符,它通常用于测试是否存在满足特定条件的记录,从而在主查询中进行相应操作,本文给大... 目录基本语法示例数据库和表结构1. 使用 EXISTS 在 SELECT 语句中2. 使用 EXIS

基于Spring Boot 的小区人脸识别与出入记录管理系统功能

《基于SpringBoot的小区人脸识别与出入记录管理系统功能》文章介绍基于SpringBoot框架与百度AI人脸识别API的小区出入管理系统,实现自动识别、记录及查询功能,涵盖技术选型、数据模型... 目录系统功能概述技术栈选择核心依赖配置数据模型设计出入记录实体类出入记录查询表单出入记录 VO 类(用于

SpringBoot利用树形结构优化查询速度

《SpringBoot利用树形结构优化查询速度》这篇文章主要为大家详细介绍了SpringBoot利用树形结构优化查询速度,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一个真实的性能灾难传统方案为什么这么慢N+1查询灾难性能测试数据对比核心解决方案:一次查询 + O(n)算法解决

java中pdf模版填充表单踩坑实战记录(itextPdf、openPdf、pdfbox)

《java中pdf模版填充表单踩坑实战记录(itextPdf、openPdf、pdfbox)》:本文主要介绍java中pdf模版填充表单踩坑的相关资料,OpenPDF、iText、PDFBox是三... 目录准备Pdf模版方法1:itextpdf7填充表单(1)加入依赖(2)代码(3)遇到的问题方法2:pd

使用zip4j实现Java中的ZIP文件加密压缩的操作方法

《使用zip4j实现Java中的ZIP文件加密压缩的操作方法》本文介绍如何通过Maven集成zip4j1.3.2库创建带密码保护的ZIP文件,涵盖依赖配置、代码示例及加密原理,确保数据安全性,感兴趣的... 目录1. zip4j库介绍和版本1.1 zip4j库概述1.2 zip4j的版本演变1.3 zip4

RabbitMQ消息总线方式刷新配置服务全过程

《RabbitMQ消息总线方式刷新配置服务全过程》SpringCloudBus通过消息总线与MQ实现微服务配置统一刷新,结合GitWebhooks自动触发更新,避免手动重启,提升效率与可靠性,适用于配... 目录前言介绍环境准备代码示例测试验证总结前言介绍在微服务架构中,为了更方便的向微服务实例广播消息,

Zabbix在MySQL性能监控方面的运用及最佳实践记录

《Zabbix在MySQL性能监控方面的运用及最佳实践记录》Zabbix通过自定义脚本和内置模板监控MySQL核心指标(连接、查询、资源、复制),支持自动发现多实例及告警通知,结合可视化仪表盘,可有效... 目录一、核心监控指标及配置1. 关键监控指标示例2. 配置方法二、自动发现与多实例管理1. 实践步骤

SpringBoot中SM2公钥加密、私钥解密的实现示例详解

《SpringBoot中SM2公钥加密、私钥解密的实现示例详解》本文介绍了如何在SpringBoot项目中实现SM2公钥加密和私钥解密的功能,通过使用Hutool库和BouncyCastle依赖,简化... 目录一、前言1、加密信息(示例)2、加密结果(示例)二、实现代码1、yml文件配置2、创建SM2工具