简介有向无环图DAG

Sui创纪录的每秒交易量部分归功于数学构造,即有向无环图(Directed Acyclic Graph,DAG),该构造通过以最高效的方式处理交易来加速网络交易,而不是按照先来先服务的线性进展。

区块链是设计用于确保数据完整性的分布式账本,将有向无环图的非线性特性与区块链相结合,是将两种技术的优点结合在一起。作为一个区块链网络,Sui保留了数据对象的历史性和监护性,而其基于DAG的共识系统使对这些数据对象的操作变得灵活。

什么是DAG?

DAG是一种不同于传统区块链线性链结构的数据结构。与区块链不同,区块链由以线性方式链接在一起的区块组成,DAG更像是一个互相连接的节点网络。要理解DAG,让我们首先反向分解首字母缩写。

在分布式分类帐本技术的背景下,图形数据库使用类似于关系网的互连结构组织数据。每个个体数据条目(或交易)与其他数据条目的关系被用来形成基于因果关系的信息网络。通过这种方法,复杂的交易关系和依赖关系被捕获在网络中。

在定义中添加无环意味着无法在分类帐本或数据库中创建循环或循环。换句话说,不可能在数据库中创建一条导致早期交易依赖于后期交易的路径。这种特性确保了信息以单向流动,将我们带到缩写的最后一部分,即有向。作为有向图,每个关系都有一个定义的方向,指示数据库内信息的流动。有向性允许清晰且明确的数据流动,这对于维护完整性和促进交易的高效处理至关重要。

DAG中的交易与其他交易具有明确的关系,形成了类似网的结构。请注意,最终每个交易都会被所有节点观察到,并且为简单起见,此图像仅显示了一个交易仅被单个节点观察到的情况。

总之,DAG是一种以信息或交易的相互依赖为基础互连的网络结构数据库,形成一个随着每笔新交易而扩展的图形。

区块链和DAG

区块链通常将一组交易打包成一个区块,然后将其作为单个实体通过共识过程。区块以线性方式相互链接,这要求网络的状态在逐个区块的基础上以逐步方式发生变化。另一方面,DAG中的交易能够独立达成共识,绕过将许多交易分组到一个区块进行共识的过程。

在区块链中,所有网络验证节点都有一个共同的网络状态,他们都从中工作。验证节点同时评估一组交易,并且在超过半数的情况下达成一致意见之前不能继续进行。要使区块被视为有效并被固定到区块链中,该区块中的所有交易都必须有效。如果区块中的单个交易无效,那么整个区块将被丢弃,并且必须在不包括无效交易的情况下重新创建。在区块链中达成共识要求验证节点一起操作,逐个区块地批准交易。

与区块链中如何实现共识类似,DAG中的交易在被网络验证节点的超过半数签署后达成共识。一个关键区别在于DAG中的每个验证节点都有网络状态的不同子集。换句话说,整个网络状态不是存储在每个验证节点中的,而是只能通过累积各个验证节点对网络的理解来观察。

没有一个交易区块是一次由所有验证节点验证的,而是单个交易通过网络传播,获取具有网络状态知识的各个验证节点的签名以验证交易。一旦交易获得了网络验证节点超过半数的签名,它就达成了共识并被视为已最终确定。

由于这种结构,利用DAG进行交易传播和共识使得交易能够以异步和并发的方式进行确认,相比区块链提供了一种更加灵活和可扩展的方法。

从DAG到Sui区块链

Sui利用DAG进行交易传播和共识,然后在一个单独的过程中将交易排序为检查点,这类似于区块。检查点以线性方式相互链接和排序,类似于典型区块链的结构。Sui区块链结构的主要区别在于,分组到检查点中的交易已经最终确定,与典型的区块链结构不同,典型的区块链结构将尚未最终确定的交易分组到区块中。

Sui区块链结构的主要区别在于,分组到检查点中的交易已经最终确定,与典型的区块链结构不同,典型的区块链结构将尚未最终确定的交易分组到区块中。

融会贯通

Sui的创新方法结合了DAG和区块链的最佳特性,创造了一个速度和灵活性无与伦比的网络。通过利用DAG进行交易传播和共识,Sui确保交易可以以异步和并发的方式进行确认,相比传统的区块链系统,这使得系统更具可扩展性和效率。然而,为了维护历史信息的完整性和顺序,Sui采用了一个单独的过程将交易组织成检查点,类似于区块链中的区块。

然后,这些检查点被链接在一起,并以线性方式排序,为存储和访问历史数据提供了熟悉的结构。与传统的区块链不同,在Sui中,包含在检查点中的交易已经最终确定,提供了一种简化和高效的交易验证和存储方法。

这种混合架构使得Sui能够充分利用DAG和区块链的优势,为去中心化应用和智能合约创造了一个强大而灵活的平台。

注意:此内容仅供一般教育和信息目的使用,并不构成买卖或持有任何资产、投资或金融产品的认可或推荐,并且不构成财务、法律或税务建议。


关于 Sui Network

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/527210.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【简单讲解下Lisp的学习历程】

🎥博主:程序员不想YY啊 💫CSDN优质创作者,CSDN实力新星,CSDN博客专家 🤗点赞🎈收藏⭐再看💫养成习惯 ✨希望本文对您有所裨益,如有不足之处,欢迎在评论区提出…

模型融合的方法

集成学习:通过构建并结合多个学习器来完成学习任务,有时也被称为多分类器系统、基于委员会的学习等。(集成学习不是只有同质学习器的集成,还有异质学习器的集成) 模型融合:通过多个模型共同决策提升任务的…

代码随想录学习Day 25

491.递增子序列 题目链接 讲解链接 本题的是求自增子序列,所以不能对原数组进行排序,排完序的数组都是自增子序列了,所以不能使用之前的去重逻辑!如果仍旧使用之前的逻辑,那么当遇到数组为{4,7&#xff…

思迈特软件与上海德拓签署战略合作协议,携手赋能企业数字化转型

3月27日,广州思迈特软件有限公司(简称“思迈特软件”)与上海德拓信息技术有限公司(简称“德拓信息”)正式签约建立战略合作伙伴关系。双方将在数字化转型、数据服务、数据应用以及市场资源等多个领域展开深度合作&…

2024年贵州省职业院校技能大赛云计算应用赛项赛题第2套

#需要资源(软件包及镜像)或有问题的,可私聊博主!!! #需要资源(软件包及镜像)或有问题的,可私聊博主!!! #需要资源(软件包…

xilinx AXI CAN驱动开发

CAN收发方案有很多,常见的解决方案通过是采用CAN收发芯片,例如最常用的SJA1000,xilinx直接将CAN协议栈用纯逻辑实现,AXI CAN是其中一种; 通过这种方式硬件上只需外接一个PHY芯片即可 上图加了一个电平转换芯片 软件设计方面&…

【Labview】虚拟仪器技术

一、背景知识 1.1 虚拟仪器的定义、组成和应用 虚拟仪器的特点 虚拟仪器的突出特征为“硬件功能软件化”,虚拟仪器是在计算机上显示仪器面板,将硬件电路完成信号调理和处理功能由计算机程序完成。 虚拟仪器的组成 硬件软件 硬件是基础,负责将…

提取COCO数据集中特定的类—vehicle 4类

提取COCO数据集中特定的类—vehicle 4类 1 安装pycocotools2 下载COCO数据集3 提取特定的类别4 多类标签合并 1 安装pycocotools pycocotools github地址 pip install githttps://github.com/philferriere/cocoapi.git#subdirectoryPythonAPI2 下载COCO数据集 COCO官网下载2…

Java中的Stream流常用接口和方法

​TOC 第一章:Stream流是什么 1.1)简单介绍 学习Stream流就绕不开Lambda表达式, 需要了解Lambda表达式可以看一下这篇–>:Lambda表达式学习 1.其实“流”是个抽象概念,我们把现实世界中与Stream流有相同特性的…

破解极域电子教室控屏

以管理员身份运行cmd 输入代码

CentOS7安装Docker及禅道

https://blog.csdn.net/weixin_46453070/article/details/136183615?ops_request_misc%257B%2522request%255Fid%2522%253A%2522171246925816800222886233%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id171246925816800222886233&biz_i…

C++ //练习 11.22 给定一个map<string, vector<int>>,对此容器的插入一个元素的insert版本,写出其参数类型和返回类型。

C Primer&#xff08;第5版&#xff09; 练习 11.22 练习 11.22 给定一个map<string, vector<int>>&#xff0c;对此容器的插入一个元素的insert版本&#xff0c;写出其参数类型和返回类型。 环境&#xff1a;Linux Ubuntu&#xff08;云服务器&#xff09; 工具…

图形化界面使用MQ!!!

一、docker安装 1、拉去镜像 docker pull rabbitmq:3.10-management 2、Docker运行&#xff0c;并设置开机自启动&#xff08;第一个-p是MQ默认配置的端口&#xff0c;第二个-p是图形化界面配置的端口&#xff09; docker run -d --restartalways --name rabbitmq -p 5672:5672…

5毛钱的DS1302 N/Z串行实时时钟IC

推荐原因&#xff1a; 便宜&#xff0c;够用 该器件最早为DALLAS的产品&#xff0c;所以冠有DS&#xff0c;现国内有多个厂家生产&#xff0c;部分价格不到5毛钱的含税价格&#xff0c;有此自行车&#xff0c;还要什么宝马&#xff1f; 下述为简介&#xff0c;使用前请参阅相应…

汇编语言第一讲:计算机的组织架构和汇编语言介绍

第一讲&#xff1a;计算机的组织架构和汇编语言介绍 汇编语言计算机组织架构 数字电路术语回顾数制 数字电路 硬件电路数字电路的问题 汇编语言的开始 程序的节(sections)调用操作系统的系统调用列出文件(Listing files)汇编和链接调试汇编程序反汇编现有的程序 附录 课程资源 …

SpringBoot项目 jar包方式打包部署

SpringBoot项目 jar包方式打包部署 传统的Web应用进行打包部署&#xff0c;通常会打成war包形式&#xff0c;然后将War包部署到Tomcat等服务器中。 在Spring Boot项目在开发完成后&#xff0c;确实既支持打包成JAR文件也支持打包成WAR文件。然而&#xff0c;官方通常推荐将Sp…

LeetCode初级算法书Java题解日常更新

LeetCode初级算法高效题解&#xff08;含思路注释&#xff09; 文章目录 LeetCode初级算法高效题解&#xff08;含思路注释&#xff09;前言一、数组1.删除排序数组中的重复项2.买卖股票的最佳时机 II3.旋转数组4.存在重复元素 总结 前言 决定用四个月过一下算法 一、数组 1.…

下载python电子书

下面展示一些 内联代码片。 import requests from lxml import etree from urllib import parse from pprint import pprint from tqdm import tqdm class PythonBook: def init(self): self.url“https://m.jb51.net/books/list476_1.html” self.url_page“https://m.jb51.n…

二维码门楼牌管理应用平台:促进二手交易市场的透明化与规范化

文章目录 前言一、二维码门楼牌管理应用平台的建设背景二、二维码门楼牌管理应用平台的功能特点三、二维码门楼牌管理应用平台在二手交易市场中的应用四、二维码门楼牌管理应用平台的未来展望 前言 随着互联网的快速发展&#xff0c;二维码技术已广泛应用于各个领域。在二手交…

【操作系统】python实现银行家算法

银行家算法是最具有代表性的避免死锁的算法。 1、算法原理 银行家算法&#xff1a;当一个新进程进入系统时&#xff0c;该进程必须申明在运行过程中所需要的每种资源的最大数目&#xff0c;且该数目不能超过系统拥有的资源总量。当进程请求某组资源时&#xff0c;系统必须先确…