BUMO 多链惊艳亮相 分层扩容突破“不可能三角”

2023-10-09 00:20

本文主要是介绍BUMO 多链惊艳亮相 分层扩容突破“不可能三角”,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 

近日,BUMO 发布Oribts多链技术MVP版本,该技术可大幅提高公链的扩展性和性能并突破“不可能三角”,所谓的区块链“不可能三角”,也称为“三元悖论”,就是指区块链网络无论采用哪种共识机制来决定新区块的生成方式,皆无法同时兼顾扩展性(Scability)、安全性(Security)、去中心(Decentralization)这三项要求,至多只能三者取其二。

(不可能三角示意图)

BUMO发布的Oribts对用户十分友好,用户只需要填写几个关键参数,即可便捷灵活的创建一条安全可靠的BUMO子链。实际测试中,BUMO创建3000条子链,TPS可突破百万,其性能和扩展性已经处于全球领先水平。

BUMO Orbits架构图)

BUMO Orbits在提升扩展性的同时,还可极大提升公链的性能。BUMO多链依据网络ID将主链扩展至多个子链,每一个子链只需要运行该子链的共识协议,网络上的交易可以分散到子链中来进行处理。因此子链越多,就有越多的交易同时被处理和验证。通过这种平行处理的方式,将大任务拆分成多个可并行处理小任务,BUMO多链有效提升整体网络性能。

BUMO多链除了实现性能和可扩展性的提升,也在其它很多方面取得了很多技术突破:a、共识方面采用多链隔离共识的方式,有效避免不同链共识相互影响。

b、P2P通信方面对Gossip协议进行了有效的改进,大幅度减少了不同链之间的消息冗余。

c、节点方面提出了观察者角色,观察能够准确的识别子链节点做恶,有效的提升了子链的安全。

d、激励机制,主链验证节点不仅可以去参与主链的的挖矿也能去子链挖矿,这样验证节点不仅可以获得主链的奖励也可以获得子链的收益。

目前主流的扩容技术方案按照层次分可以分成3层:

 

(扩容分层图)

Layer 0:该层也叫数据传输层可扩展方案,主要解决优化网络传输速度,减少网络延时。目前有BDN分发、组播锁定组、QUIC UDP 协议等。

Layer 1:这层主要是对链本身做改变,主要是通过网络层、数据层、共识层去改变链本身的特性,目前在这层的技术有隔离见证、分片、DAG等技术。

Layer 2:Layer2也叫链下扩展,构建在BUMO主链上。它们不要求对基层协议的更改,相反的,它们只是以BUMO智能合约的形式存在,与链下软件进行交互。目前的解决方案有状态通道、主子链技术、侧链等。

BUMO对以上三层扩容技术方案都经过深入的研究,最终采用Layer2主子链技术。原因在于:Layer0 可以很好的改善网络传输问题,但是对于公链的tps来说改变的只是微小甚微。Layer1 的分片和DAG的方式需要对公链底层做大修改,会带来很多潜在的问题,目前来看分片和DAG等技术虽然也有很多项目,到现在为止大部分还处于研究阶段,能够上poc测试的用例都还没有,还不太成熟。Layer2,BUMO为什么选择主子链技术不选状态通道呢?由于状态通道过于中心化,安全性还得不到太多保障。

经过上述的研究和考量,bumo多链有以下特性:

安全性高:子链的安全可以借助于主链安全得到保证,子链不要部署很多节点,这样不仅提升了安全也节约了资源。

扩展性高:理论上可以无限扩展子链,且每条子链都是一个独立的生态系统,通过BU关联,具有极强扩展性。

性能高:子链扩展后独立执行,且相互之间性能不会影响,性能成线性增长。

按照互联网正常带宽中位数13Mbps为例,子链构成每笔交易实际大小为0.5k,则一个区块打包一万笔交易大小为5MB,理论吞吐量极限最大值为31200TPS(10000TPS × 13Mbps / 5Mb × 10s),实际测量的情况可以由下图反应,当子链的条数挂载20条的时候tps达到了66532,挂载300条子链的时候达到了904256,一直到挂载3000条子链的时候达到了峰值9398623,达到3000后再增加链的条数tps反而有所下降。从下图测试数据可以说明我们的子链挂载条数在3000这个极值范围,TPS大概能够突破900万,超过3000条子链整个网络就不会太稳定。

 

隔离性:对于不同的业务场景可以构建不同子链,有效对不同数据进行了隔离。如果子链出现了问题也不会影响其它子链的运行。

 

三、如何搭建一条属于自己的子链

BUMO多链具备上述这么多优势,相信会有非常多开发者想尝试构建一条自己的子链,以下就为BUMO开发者提供构建子链的方式。

BUMO上搭建子链非常简单便捷,开发者需要在主链上进行注册,缴纳消费金(一定数量的BU,用于子链向主链提交区块头信息所消耗的手续费),并把自己的子链节点加入到主链,这样就构建了一条子链。

(开发者自主搭建子链示意图)

上述是对BUMO多链技术的简单介绍,如果想要详细了解BUMO多链提供的功能,欢迎去Demo演示环境(地址:https://multichain.bumo.io/)体验。假如你是开发者,对区块链技术有非常深的理解,欢迎研究我们多链源码(地址:https://github.com/bumoproject/bumo/tree/feature/multichain)。

 

这篇关于BUMO 多链惊艳亮相 分层扩容突破“不可能三角”的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

HDFS—集群扩容及缩容

白名单:表示在白名单的主机IP地址可以,用来存储数据。 配置白名单步骤如下: 1)在NameNode节点的/opt/module/hadoop-3.1.4/etc/hadoop目录下分别创建whitelist 和blacklist文件 (1)创建白名单 [lytfly@hadoop102 hadoop]$ vim whitelist 在whitelist中添加如下主机名称,假如集群正常工作的节

黑神话,XSKY 星飞全闪单卷性能突破310万

当下,云计算仍然是企业主要的基础架构,随着关键业务的逐步虚拟化和云化,对于块存储的性能要求也日益提高。企业对于低延迟、高稳定性的存储解决方案的需求日益迫切。为了满足这些日益增长的 IO 密集型应用场景,众多云服务提供商正在不断推陈出新,推出具有更低时延和更高 IOPS 性能的云硬盘产品。 8 月 22 日 2024 DTCC 大会上(第十五届中国数据库技术大会),XSKY星辰天合正式公布了基于星

4B参数秒杀GPT-3.5:MiniCPM 3.0惊艳登场!

​ 面壁智能 在 AI 的世界里,总有那么几个时刻让人惊叹不已。面壁智能推出的 MiniCPM 3.0,这个仅有4B参数的"小钢炮",正在以惊人的实力挑战着 GPT-3.5 这个曾经的AI巨人。 MiniCPM 3.0 MiniCPM 3.0 MiniCPM 3.0 目前的主要功能有: 长上下文功能:原生支持 32k 上下文长度,性能完美。我们引入了

Java ArrayList扩容机制 (源码解读)

结论:初始长度为10,若所需长度小于1.5倍原长度,则按照1.5倍扩容。若不够用则按照所需长度扩容。 一. 明确类内部重要变量含义         1:数组默认长度         2:这是一个共享的空数组实例,用于明确创建长度为0时的ArrayList ,比如通过 new ArrayList<>(0),ArrayList 内部的数组 elementData 会指向这个 EMPTY_EL

2024网安周今日开幕,亚信安全亮相30城

2024年国家网络安全宣传周今天在广州拉开帷幕。今年网安周继续以“网络安全为人民,网络安全靠人民”为主题。2024年国家网络安全宣传周涵盖了1场开幕式、1场高峰论坛、5个重要活动、15场分论坛/座谈会/闭门会、6个主题日活动和网络安全“六进”活动。亚信安全出席2024年国家网络安全宣传周开幕式和主论坛,并将通过线下宣讲、创意科普、成果展示等多种形式,让广大民众看得懂、记得住安全知识,同时还

找出php中可能有问题的代码行

前言 当你发现一个平时占用cpu比较少的进程突然间占用cpu接近100%时,你如何找到导致cpu飙升的原因?我的思路是,首先找到进程正在执行的代码行,从而确定可能有问题的代码段。然后,再仔细分析有问题的代码段,从而找出原因。 如果你的程序使用的是c、c++编写,那么你可以很容易的找到正在执行的代码行。但是,程序是php编写的,如何找到可能有问题的代码行呢?这个问题就是本文要解决的问题。 背景

JavaEE应用的分层模型

不管是经典的JAVAEE架构,还是轻量级JavaEE架构,大致上都可以分为如下几层: 1、Domain Object(领域对象)层:此层由一系列的POJO(Plain Old Java Object)组成,这些对象是该系统的Domain Object,往往包含了各自所需实现的业务逻辑方法。 2、DAO(Data Access Object,数据访问对象)层:此层由一系列的DAO组件组成,这些D

可测试,可维护,可移植:上位机软件分层设计的重要性

互联网中,软件工程师岗位会分前端工程师,后端工程师。这是由于互联网软件规模庞大,从业人员众多。前后端分别根据各自需求发展不一样的技术栈。那么上位机软件呢?它规模小,通常一个人就能开发一个项目。它还有必要分前后端吗? 有必要。本文从三个方面论述。分别是可测试,可维护,可移植。 可测试 软件黑盒测试更普遍,但很难覆盖所有应用场景。于是有了接口测试、模块化测试以及单元测试。都是通过降低测试对象

颠覆你的开发模式:敏捷思维带来的无限可能

敏捷软件开发作为现代软件工程的重要方法论,强调快速响应变化和持续交付价值。通过灵活的开发模式和高效的团队协作,敏捷方法在应对动态变化和不确定性方面表现出色。本文将结合学习和分析,探讨系统变化对敏捷开发的影响、业务与技术的对齐以及敏捷方法如何在产品开发过程中处理持续变化和迭代。 系统变化对敏捷软件开发的影响 在敏捷软件开发中,系统变化的管理至关重要。系统变化可以是需求的改变、技术的升级、

mysql动态扩容调研

MySQL动态扩容方案 目前可用方案 MySQL的复制: 一个Master数据库,多个Salve,然后利用MySQL的异步复制能力实现读写分离,这个方案目前应用比较广泛,这种技术对于以读为主的应用很有效。数据切分(MySQL的Sharding策略): 垂直切分:一种是按照不同的表(或者Schema)来切分到不同的数据库(主机)之上,这种切可以称之为数据的垂直(纵向)切分;垂直切分的思路就是分析