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

news2024/11/18 8:33:43

经过数个月的测试,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.coloradmin.cn/o/984042.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

函数式接口:Java 中的函数式编程利器

文章目录 1. 函数式接口概念2. 注解3. 自定义函数式接口4. 函数式编程4.1 Lambda的延迟执行效果4.2 使用Lambda作为参数和返回值作为参数使用作为返回值使用 5. 常用的函数接口5.1 Supplier:生产者5.2 Consumer:消费者5.3 Predicate:判断5.4 …

深度学习模型的泛化性

暂时无法在飞书文档外展示此内容 零、泛化性 泛化性指模型经过训练后,应用到新数据并做出准确预测的能力。一个模型在训练数据上经常被训练得太好即过拟合,以致无法泛化。 深度学习模型过拟合的原因,不仅仅是数据原因: 模型复…

云原生Kubernetes:CRI 容器运行时接口

目录 一、理论 1.​CRI 2.容器运行时层级 3.容器运行时比较 二、总结 一、理论 1.​CRI (1)概念 Kubernetes Node (kubelet) 的主要功能就是启动和停止容器的组件,我们 称之为容器运行时( Container Runtime) ,…

ChatGPT新增超强插件:文本直接生成视频、海报,支持自定义修改!

全球著名在线设计平台Canva,在ChatGPT Plus(GPT-4)上推出了插件功能,用户通过文本提示,几秒钟就能生成演示文稿、PPT插图、电子书封面、宴会邀请函等各种精美设计海报,同时支持生成视频。 该插件最强大的功…

虚函数、纯虚函数、多态

一.虚函数 在基类的函数前加上virtual关键字,在派生类中重写该函数,运行时将会根据所指对象的实际类型来调用相应的函数,如果对象类型是派生类,就调用派生类的函数,如果对象类型是基类,就调用基类的函数。 …

FPGA通信—千兆网(UDP)软件设计

一、PHY引脚功能描述 电路设计使用RTL8211EG, 硬件设计、焊接正常用网线链接电脑和电路板,看到本地链接的1Gbps,代表设备网卡正常工作。

从零开始,无需公网IP,搭建本地电脑上的个人博客网站并发布到公网

文章目录 前言1. 安装套件软件2. 创建网页运行环境 指定网页输出的端口号3. 让WordPress在所需环境中安装并运行 生成网页4. “装修”个人网站5. 将位于本地电脑上的网页发布到公共互联网上 前言 在现代社会,网络已经成为我们生活离不开的必需品,而纷繁…

phpstudy本地快速搭建网站,并外网访问【无公网IP】

文章目录 使用工具1. 本地搭建web网站1.1 下载phpstudy后解压并安装1.2 打开默认站点,测试1.3 下载静态演示站点1.4 打开站点根目录1.5 复制演示站点到站网根目录1.6 在浏览器中,查看演示效果。 2. 将本地web网站发布到公网2.1 安装cpolar内网穿透2.2 映…

网络编程套接字,Linux下实现echo服务器和客户端

目录 1、一些网络中的名词 1.1 IP地址 1.2 端口号port 1.3 "端口号" 和 "进程ID" 1.4 初始TCP协议 1.5 UDP协议 2、socket编程接口 2.1 socket 常见API 2.2 sockaddr结构 3、简单的网络程序 3.1 udp实现echo服务器和客户端 3.1.1 echo服务器实…

Python 如何使用 csv、openpyxl 库进行读写 Excel 文件详细教程(更新中)

csv 基本概述 首先介绍下 csv (comma separated values),即逗号分隔值(也称字符分隔值,因为分隔符可以不是逗号),是一种常用的文本格式,用以存储表格数据,包括数字或者字符。 程序在处理数据时…

《机器人学一(Robotics(1))》_台大林沛群 第 6 周 【轨迹规划_直线转折处抛物线平滑】Quiz 6

步骤: 1、 编程 将PPT 的例子 跑一遍, 确保代码无误 2、根据题目 修改 相关参数 文章目录 求解代码_Python 解决的问题: 线段间转折点 的 速度 不连续 解决方法: 将直线段 两端 修正为 二次方程式 二次项圆滑 求解代码_Python …

图床项目性能测试

文章目录 一、FastDFS文件性能测试1.1 上传文件测试1.2 下载测试1.3 删除文件测试1.4 如何提高 二、图床项目wrklua性能测试2.1 wrk2.2 MySQL索引优化2.2 注册测试2.2.1 无索引性能2.2.2 有索引性能 2.3 登录测试2.3.1 无索引性能2.3.2 有索引性能 2.4 读取文件测试2.4.1 无索引…

ctfshow-web-新年好?

0x00 前言 CTF 加解密合集CTF Web合集网络安全知识库 文中工具皆可关注 皓月当空w 公众号 发送关键字 工具 获取 0x01 题目 0x02 Write Up 尝试访问之后返回了源码。可以看到重点是在setTimeout 首先来看setTimeout,setTimeout的意思就是说在一段时间后执行指定…

H5页面,上下滑动翻页(整页翻书切换效果)

使用 H5页面&#xff0c;上下滑动翻页 修改 页面间的切换&#xff1a;整页翻书的切换效果 demo代码&#xff1a; <!DOCTYPE html> <html> <head> <meta charset"UTF-8"> <meta http-equiv"X-UA-Compatible" content"IEe…

突破传统显示技术,探索OLED透明屏的亮度革命

OLED透明屏作为未来显示技术的颠覆者&#xff0c;其亮度性能成为其引人注目的特点之一。 那么&#xff0c;今天尼伽便深入探讨OLED透明屏的亮度&#xff0c;通过引用数据、报告和行业动态&#xff0c;为读者提供高可读性和专业性强的SEO软文&#xff0c;增加可信度和说服力。 …

计算机丢失mfc140.dll怎么办,分享几种常见解决方案[dll修复工具下载】

一、mfc140.dll 的详细介绍 1.mfc140.dll 的作用 MFC140.dll 是 MFC 的一个组件&#xff0c;它提供了许多用于创建 Windows 应用程序的类和函数&#xff0c;如窗口管理、控件、对话框、菜单、消息处理等。这些类和函数可以帮助开发者更轻松地开发图形用户界面&#xff08;GUI&a…

【Linux】shell脚本和bat脚本:

文章目录 一、脚本对应环境&#xff1a;【1】shell&#xff1a;linux环境&#xff1b;后缀名为.sh【2】bat&#xff1a;windows环境&#xff1b;后缀名为.bat或者.cmd 二、脚本执行&#xff1a;【1】shell执行【2】bat脚本执行 三、脚本相关命令&#xff1a;1. shell命令【1】s…

【UE】材质描边、外发光、轮廓线

原教学视频链接&#xff1a; ue4 材质描边、外发光、轮廓线_哔哩哔哩_bilibili 步骤 1. 首先新建一个材质&#xff0c;这里命名为“Mat_outLine” 在此基础上创建一个材质实例 2. 在视口中添加一个后期处理体积 设置后期处理体积为无限范围 点击添加一个数组 选择“资产引用”…

如何将JACOCO应用到企业实战中~测试过招,只需6点

1、下载 jacoco 官网&#xff1a;https://www.jacoco.org/jacoco/index.html 如果你想学习自动化测试&#xff0c;我这边给你推荐一套视频&#xff0c;这个视频可以说是B站播放全网第一的自动化测试教程&#xff0c;同时在线人数到达1000人&#xff0c;并且还有笔记可以领取及…

Win10右键 nvidia rtx desktop manager 怎么删除(最新)

在更新了最新的 nvidia后原来的隐藏鼠标右键菜单后不行了&#xff0c;新方法如下&#xff1a; 步骤一&#xff1a;在键盘“WINR”键同时操作下&#xff0c;启动运行框&#xff0c;在框内输入“regedit”&#xff0c;打开深度系统win7 的注册表编辑器。 步骤二&#xff1a;为防…