Sui Lutris:Sui核心的分布式系统协议

news/2024/11/30 10:40:58/

经过数个月的测试,Mysten Labs于 8月18日更新了Sui Lutris白皮书,确定了以下内容:

  1. 使用PTBs和5K TPS,Sui每秒可以处理140k至150k次操作,这表明Sui在主网峰值(约700 TPS)下的基准测试远低于其实际性能。
  2. Sui最终确定的延迟仍然能保持在0.5秒以下,即使在一定数量的验证节点停止运行的情况下。

在Sui Lutris白皮书中,包含了外部测试者如何能在其自身的验证测试中获得相关数字的指示、安全性证明以及Sui是如何运作的详细描述。

Sui主网发布后不久,看到了令人兴奋的应用上链,如游戏和NFT等。近日,Mysten Labs发布了一个支持Sui的分布系统 — — Sui Lutris的技术报告。Sui Lutris允许Sui在高吞吐量和长期稳定性的条件下保持低延迟。

自从Bitcoin在十年前出现,截至目前区块链科技已经有了长足的发展,有如游戏和NFT等新用例的出现。区块链社区也持续的探索以提高区块链科技的效率,尤其在处理高负载和提供实时延迟方面更是如此。

我们相信L1区块链现今面对两个主要挑战:在保持低延迟的前提下达到高吞吐量,并且确保共识协议能够长期保持稳定。这些挑战能够通过验证节点的动态参与及配置挑战来实现。

实现高吞吐量的一种有效方法是使用基于DAG的共识协议,如Sui所使用的Narwhal/Bullshark。这些共识协议使区块链能够同时执行大量交易,使其成为游戏和NFT等用例的理想选择。然而,基于DAG的协议会导致几秒钟的延迟,这对于常见的传输或游戏操作来说影响非常大。

另一方面,无共识协议在减少延迟和扩展方面表现出了巨大的潜力,如我们过去研究的原型FastPay。这些协议消除了共识,允许快速处理交易,而不需要对平行处理的独立交易进行处理。然而,这仅限于有限类别的区块链简单操作。这限制了智能合约的表达,并且重新配置动态变化的验证节点集具有一定的挑战性。

尽管以上两种协议都具有潜力,但他们目前都没有在产品级区块链中使用。它们目前仅在学术会议上提出,也没有被区块链社区广泛使用。Sui Lutris是支撑Sui网络的协议,它将基于DAG的共识与无共识方法相结合,以实现两者的优势:亚秒级延迟(低于1秒)和每秒数千笔交易的持续吞吐量。Sui实现了这两个目标,并保持在共享对象上表达复杂合约、生成checkpoints以及跨epoch重新配置验证节点集的能力。

结合基于共识和无共识的方法

Sui Lutris采用了结合上述两种方法的独特方法。为了确保单个所有者拥有的资产(独有对象)的操作安全,系统在验证节点之间采用一致的广播协议,使延迟低于共识。 Sui Lutris仅依靠共识来处理在共享对象上运行的复杂智能合约,也就是任何用户都可以改变的对象。Sui Lutris还支持网络维护操作,例如定义checkpoints和重新配置验证节点。在复制的拜占庭环境中处理交易时,这种新颖的策略提供了两全其美的办法。

图中表示在Sui Lutris中的高水平描述和交易生命周期

➊ 拥有私钥的用户创建并签署交易以改变他们拥有的对象,或者更改他们的独享对象和共享对象的混合体。➋ 交易通常通过全节点被发送到每个Sui Lutris验证节点,验证节点负责执行一系列有效性和安全性检查,对其进行签名,并将签名的交易返回给客户端。➌ 客户端收集绝大多数验证节点的响应以形成交易证书。此时交易可以被确认为不可逆转的,也就是达到其最终性。➍ 证书集成完毕后,将被发送回所有验证节点,验证节点检查其有效性并向客户端确认收到。如果交易涉及独享对象,交易证书可以立即处理并执行,无需等待共识引擎(直接快速路径)。所有证书都会转发到基于DAG的共识协议(由Sui验证节点运行)。➎ 共识最终输出证书的编号,而验证节点检查并执行包含共享对象。➏ 客户可以收集绝大多数验证节点的响应,将它们组装成有效证书,并将其用作交易结算的证明。➐ 随后,为每个共识提交形成checkpoints,这些checkpoints也可以用于驱动重新配置协议。

除了以上描述的主要交易流程,Sui Lutris提供一系列的设施支持产品级的区块链:

  1. 在达到最终性后实施checkpoint协议,该协议会生成系统中所有交易的历史记录。这适用于完整的审计,以及以有效的方式保持全节点和滞后验证节点的同步。
  2. Sui Lutris支持在每个epoch结束时进行重新配置,此时验证节点集及其投票权可能会发生变化。为了确保所有最终交易都包含在一个Epoch中,每个Epoch都需要仔细关闭并确认最终是安全的。
  3. 在以前的无共识协议中,当有客户端资产发生双花攻击时,资产将被永远锁定。Sui Lutris会在epoch结束时将被误锁定的资产安全“解锁”,最大限度地减少错误的损失。

Sui是一个为其用户管理大量价值的区块链,而Sui Lutri是Sui的基础。完整的技术报告提供了有关安全性和活跃性协议如何运行的更多详细信息,以及在标准分布式系统模型中与拜占庭参与者部分同步的安全性证明。

在完整的Sui Lutris报告中查看更多细节:

https://github.com/MystenLabs/sui/blob/main/doc/paper/sui-lutris.pdf


关于 Sui Network

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

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


http://www.ppmy.cn/news/1102147.html

相关文章

「程序员必须掌握的算法」动态规划「上篇」

动态规划详解 动态规划 (Dynamic Programming) 是一种算法思想,用于解决一些复杂的问题。本文将介绍动态规划的分类、概念和经典例题讲解。 动态规划的分类 动态规划可以分为以下两种类型: 0/1背包问题:该问题是动态规划的一种基本类型。…

聊一下酱香拿铁,瑞幸与茅台强强联手

(点击即可收听) 这两天,酱香拿铁火爆朋友圈了的 为什么唯独酱香拿铁会火成这样,不知道有人思考过背后逻辑? 难道只是因为一个新出的拿铁咖啡吗? 奇葩咖啡那么多为什么都没有这个一出来就爆火。 联名本身就是…

第6章_瑞萨MCU零基础入门系列教程之串行通信接口(SCI)

本教程基于韦东山百问网出的 DShanMCU-RA6M5开发板 进行编写,需要的同学可以在这里获取: https://item.taobao.com/item.htm?id728461040949 配套资料获取:https://renesas-docs.100ask.net 瑞萨MCU零基础入门系列教程汇总: ht…

单片机C语言实例:13、看门狗

一、看门狗溢出测试 程序实例1&#xff1a; #include<reg52.h>sfr WDTRST 0xA6; sbit key P3^1; /*------------------------------------------------喂狗 ------------------------------------------------*/ void Rst_Watchdog( void ) {WDTRST 0x1E…

day55 补

392.判断子序列 力扣题目链接(opens new window) 给定字符串 s 和 t &#xff0c;判断 s 是否为 t 的子序列。 字符串的一个子序列是原始字符串删除一些&#xff08;也可以不删除&#xff09;字符而不改变剩余字符相对位置形成的新字符串。&#xff08;例如&#xff0c;&quo…

docker 跨平台构建镜像

我们在开发环境构建的镜像在生产环境大多不可用&#xff0c;我们在开发中一般使用 Windows 或者 MAC 系统&#xff0c;部署多半是 linux 环境。那么这篇文章能帮到你。 文章目录 首先构建环境进阶 首先 首先你需要有一个 Dockerfile 文件。 举例&#xff1a;这里以一个 pytho…

flutter 网络地址URL转file

方法1 import dart:io; import package:http/http.dart as http; import package:path/path.dart; import package:path_provider/path_provider.dart;Future<File> _fileFromImageUrl() async {final response await http.get(Uri.parse(https://example.com/xyz.jpg)…

【Python】conda虚拟环境下使用pyinstaller打包程序为exe

文章目录 一、为什么要用conda虚拟环境二、pyinstaller用法2.1 安装 PyInstaller2.2 基本用法打包一个 Python 脚本2.21 打包一个 Python 项目2.22 打包选项 2.3 打包依赖项2.31 导出依赖项列表2.32 配置依赖项 2.4 自定义打包选项2.5 打包完成后的文件2.6 注意事项 三、打包示…