当前位置:网站首页>J9数字科普:Sui网络的双共识是如何工作的?
J9数字科普:Sui网络的双共识是如何工作的?
2022-07-27 21:05:00 【J9说数字】
Sui是一条新的区块链,除了使用Rust编程开发和融合Move智能合约外,并行共识是Sui网络的核心,本文重点解释这个部分。
传统的区块链是众多验证器共同构建一个共享账本,每次验证者想要对区块链进行增量添加时,会做区块提案并对提案进行排序。最终状态达成一致。
而网络里大部分交易与区块链状态的其他任意部分没有相互依赖性,所以Sui网络利用了这个思路,实现并行。

大概的方式是,Sui锁定一笔交易相关数据,将验证独立。利用Move的所有权模型,可以进一步将这种方法扩展到更多交易。这样所有的交易都是一个通道,这种“多通道”方法可以作为事务验证的方式,互不影响,并行进行。
Sui需要两个共识协议:
1. 基于拜占庭一致广播的协议来处理简单的交易,即账本共识。
2. 因果关系的独立协议来处理独立的交易。
这样代表着,交易独立验证后进行账本共识的时候需要一些gas消耗。
官方指出这个过程大概需要200毫秒,总确认时间在2-3秒范围内。这种消耗需求,是安全地组合两种共识协议所必需的。其他区块链大都会直接将交易提交给共识协议单独完成。
为了找到这个思路的验证逻辑。
笔者去思考了交易出块的过程,对于传统区块链,一个交易被发出之后,会先同步到网络中,等待验证节点验证,这个过程是一个不确定过程,交易被打包之后,会继续广播,因为要有一个最长链的竞争过程,无论是pos还是pow,都会有这个过程,这也是个比较浮动的过程。
似乎,Sui是先利用因果关系快速将交易验证完,然后再让共识验证交易证明,两次的过程,都以快于传统共识来设计。

我们再去找到这两个共识的一些数据。
其一:每个客户端提交一批 100 笔交易(即,转移到 100 个不同的接收者),并带有一个签名。这种配置实现了高度可扩展区块链的预期使用模式。例如,大规模运行的托管钱包或游戏服务器可能需要每秒提交数百或数千个链上交易。批量大小为1时,在一台机器上运行的8核验证器可以处理20,000 TPS,并且随着添加更多核,吞吐量呈现相同的线性增长。
其二:截至 2022 年 3 月 19 日,在 8 核 M1 Macbook Pro 上运行的未优化单工 Sui 验证器每秒可以执行和提交 120,000 个token传输事务 (TPS)。吞吐量与内核数量呈线性关系,同一台机器在单核配置中处理 25,000 TPS。
以上可以看到,在未将网络完全分布式搭建时,其表现为20000tps-25000tps,而很明显的,当网络开始以分布式结构搭建起时,因为p2p网络通信的原因,网络中第二个共识,即确定账本一致性的共识就会受到影响,也就会影响其表现。
Sui网络的设计,目前看来基本得益于DAG的确认方式,交易并行,就能把压力分散,至少,在网络资源消耗上,就可以跳出以太坊等区块链的共识运作思路,去看到可能性,Sui网络很快将上线测试网,上线后官方会公布更多测试数据,届时可再次具体分析。
风险提示:
本文内容仅用于信息分享,不对任何经营与投资行为进行推广与背书,请读者严格遵守所在地区法律法规,不参与任何非法金融行为。
边栏推荐
- 为什么需要等待计时2MSL?
- Flutter pull_ to_ refresh-1.6.0/lib/src/internals/slivers. dart:164:13: Error: Method not found: ‘descr
- Software test function test full set of common interview questions [function test] interview summary 4-2
- 加速IGBT国产化!比亚迪半导体将独立上市,市值或达300亿元!
- urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: un
- 硬布线控制器的特点:
- ZCMU--1720: 死亡如风,我要装逼
- 如果我们是那晚负责修复 B 站崩了的开发人员
- Ideas, methods and steps of making folding fans with 3DMAX
- 一位软件投资者的独白:我为什么不追逐快速增长的公司
猜你喜欢

【12月海口】2022年第六届船舶,海洋与海事工程国际会议(NAOME 2022)

Calling dht11/22 temperature and humidity sensor in Proteus simulation Arduino

2022 summer vacation daily question (5)

Unity 实现简单画板画画功能(笔记)

技术认证 | 图扑软件携手华为云再创合作共赢新局面

Bank Marketing预测一个客户购买理财产品的成功率
编辑复制粘贴判定问题(bug?),所见即所得显示符号问题反馈。

Application of user portrait in precise push of wechat official account of scientific journals

C#委托用法--控制台项目,通过委托实现事件

远程调试 idea配置remote debug、在远程服务器的程序中,添加JVM启动参数-Xdebug
随机推荐
C#委托用法--控制台项目,通过委托实现事件
TCP的粘包拆包问题+解决方案
org.junit.runners.model.InvalidTestClassError: Invalid test class ‘com.zhj.esdemo.MysqlTests‘: 1.
面试官问线程安全的List,看完再也不怕了!
Unity 实现简单画板画画功能(笔记)
Flutter pull_to_refresh-1.6.0/lib/src/internals/slivers.dart:164:13: Error: Method not found: ‘descr
【C语言】通讯录(动态版本)
日产1500万只!比亚迪口罩拿下美国加州10亿美元订单
实现按照序号命名的txt文件由后往前递补重命名文件
2022/7/24-7/25
ELK日志分析系统安装和部署
基于原生js实现今日新闻网站
Is it really hard to understand? What level of cache is the recyclerview caching mechanism?
This is the most concise guide to tcpdump in history. It's enough to read this one
proteus仿真arduino中调用DHT11/22温湿度传感器
Calling dht11/22 temperature and humidity sensor in Proteus simulation Arduino
[signal denoising] signal denoising based on Kalman filter with matlab code
File&递归14.1
Spark 离线开发框架设计与实现
[C language] address book (dynamic version)