当前位置: 首页 > news >正文

chain33架构介绍

chain33架构介绍

Chain33构架主要分为五个层级:数据层、网络层、共识层、激励层及应用层。

应用层:兼容以太坊智能合约,支持发行代币、资产交易、钱包找回,hash锁定等原生能力,同时支持用户可扩展执行器(合约)。共识层:共识算法可插拔,支持POS及DPOS的公链共识、Tendermint及pbft联盟链共识、Raft私链共识、平行链共识等。数据层:数据存储方式支持可扩展,目前支持MPT、MAVL、KVDB、MVCCKVDB多种方式。

chain33平行链架构介绍

平行链是其公链架构中的一大特色。

为了解决区块链扩容以及TPS限制问题,目前市面上的主要方案包括“分片技术”、”侧链“以及“DAG”,其中分片技术为主流形式。但以上三种解决方案都存在一定问题,尚未有最完美的方案。而平行链概念的提出,提供了一种更好的选择方向,Chain33是行业内第一个提出平行链构架概念,并解决扩容和TPS低落两大问题的区块链系统。

平行链此后其被百度、阿里等机构认可并跟进研究,也证明了平行链方向具有前瞻性。但提升区块链网络性能只是平行链架构的基本属性之一,平行链的核心竞争力在于大大降低了部署公链的门槛,因此平行链也可理解为“平行公链”、“小公链”。

平行链架构概述与示意:

平行链由多条底层为Chain33的链组成,交易发送到主链上被共识打包,随后同步到平行链上被执行,最后执行结果写回主链进行共识,分离共识和交易执行,同时实现交易执行,提升TPS。

平行链面向所有群体开放,属于公链的一种,它不仅仅是一个dapp的应用,它也是在主链基础上搭建的区块链,拥有自己的区块链生态,平行链使用主链的共识,拥有独立的钱包和区块链浏览器,结合开放平台的API 和 SDK,就可以开发出自己所需的应用链。非常适合需要建立自己商业生态的中小企业。

chain33平行链拓扑示意图

chain33平行链示意图

平行链云服务组成

2.4 Chain33开发者平台的系统特点

简单、易上手:让开发者一学就会用,一用就能开发部署,是chain33的首要愿景。Chain33开发者平台部署快捷简单,一个可执行文件,数个配置参数,一行启动命令便可以快速部署一个区块链主链网络及平行链网络。

高效:联盟区块链中,交易在主链上共识并存储。多条平行链同时处理交易,使区块链网络效率大大提升。

稳定:平行链构架有助于提升稳定性。复杂的功能可放在平行链上开发,主链不受影响。联盟链主链只运行核心功能,简单稳定。

安全:平行链使用主链安全的共识,安全性主链来提供。即便平行链遭到攻击或损坏,数据可以快速从主链同步,保证数据安全。

高扩展性:平行链支持部署自己的微共识和生态,支持主链和平行链跨链,平行链之间跨链交易。

2.5 Chain33的技术创新及核心竞争力

A 高度模块化、遵循 KISS原则的设计:可插拔,易升级

Chain33的模块化设计,在对区块链的底层架构、应用开发的不同功能和需求进行分析的基础上,划分并设计出一系列功能模块,通过模块的选择和组合可以构成不同的产品,以满足市场的不同需求。

开发一个软件其实是一个不断迭代进化的过程,Chain33因此采用“从混沌走向秩序的开发模式”,方便开发者随时调整和扩充。此外,有些开发者可能会在开发过程中发现,有些比较特殊的业务逻辑,需要专门定制某些模块来配合这个业务逻辑。

从迭代和重构、以及系统的可拓展性等角度考虑,Chain33将区块链的底层架构、不同应用开发的功能和需求纳入考量,将系统进行了模块化设计。包括 mempool的排队方式,加密签名的方式,共识的模式,RPC的函数,命令行的命令,钱包的内在逻辑,数据库存储的方式等等,区块链核心的所有模块都可以定制。

采用模块化的设计,这就好比用积木搭建一个机器人,手脚等身体各部分都按照类别放置,可以根据自己的意愿选择组装。在Chain33中,为大家提供了共识、加密和储存等多种模块,开发者在Chain33提供的架构下,可自由组合应用,开发简易,因此仅需基础的编程能力,即可打造一条公链,无需耗费大量成本自己开发区块链底层。

目前Chain33已开源的插件:

共识部分:

? pbft(联盟链,beta)

? tendermint(联盟链)

? raft(私有链)

? ticket(公链)

? solo (测试链)

加密部分:

? sep256k1 (bitcoin, ethereum)

? ed25519 (tendermint,sc)

? sm2 (国密支持)

store:

? mavl (tendermint 提供的后端数据存储方式)

? mpt (以太坊提供的数据存储方式)

? kvmvcc(目前性能最高的区块链后端存储方法)

执行器部分:

? evm (以太坊虚拟机支持)

? wasm (目前没有开源)

? cert (联盟链权限管理)

? hashlock (hash锁定,和btc,eth 跨链使用)

? paracross (平行链,注意,平行链只是我们的一个插件,可见内核非常的小)

? privacy (类似门罗币的隐私保护实现,这个例子可以好好学习一下,它显示我们系统可扩展性的强大,门罗币是utxo模型,但是也可以在我们系统里面兼容账户模型)

? trade (内置一个币币交易所,可以支持链上所有资产的交易)
 

相关文章:

chain33架构介绍

chain33架构介绍 Chain33构架主要分为五个层级:数据层、网络层、共识层、激励层及应用层。 应用层:兼容以太坊智能合约,支持发行代币、资产交易、钱包找回,hash锁定等原生能力,同时支持用户可扩展执行器(…...

Lucene学习笔记

lucene结构 索引:概念上的一个表,现实体现就是一个文件目录,一个目录代表一个索引,也视作documents文档集合 文档:document,为索引中的一条数据,一个document可以拥有多个filed(域&a…...

动态规划【Day01】| 669 · 换硬币、114 · 不同的路径、116 · 跳跃游戏

秘诀:确定状态转移方程初始条件和边界情况计算顺序 669 换硬币 669 换硬币 题目描述: 给出不同面额的硬币以及一个总金额. 写一个方法来计算给出的总金额可以换取的最少的硬币数量. 如果已有硬币的任意组合均无法与总金额面额相等, 那么返回 -1。 样…...

1.Hello Python

Python ​ Python 在网络爬虫、数据分析、AI、机器学习、Web开发、金融、运维、测试等多个领域都有不俗的表现,从来没有哪一种语言可以同时在这么多领域扎根。 Python基本语法 python关键字 ​ 关键字即保留字,和其他语言一样,这些关键字…...

C语言实例|编写C程序在控制台打印余弦曲线

C语言文章更新目录 C语言学习资源汇总,史上最全面总结,没有之一 C/C学习资源(百度云盘链接) 计算机二级资料(过级专用) C语言学习路线(从入门到实战) 编写C语言程序的7个步骤和编程…...

《Hadoop篇》------大数据及Hadoop入门

目录 一、大数据及Hadoop入门 1.1 单节点、分布式、集群 1.1.1 大数据的概念 1.1.2 大数据的本质 二、HDFS Shell命令 2.1、常用相关命令 2.2、上传文件 2.2.1、上传文件介绍 2.2.2上传文件操作 2.3、下载文件 2.4、删除文件 2.5、创建目录 2.6、查看文件系统 2.…...

TCP核心机制详解(三)

目录 前言: 滑动窗口 滑动窗口处理丢包问题 流量控制 拥塞控制 延时应答 捎带应答 面向字节流 异常情况 小结: 前言: 前两篇文章讲述了,TCP十种核心机制的前三种。这篇文章详细介绍其他的一些核心机制,让我们…...

最易上手的爬虫请求库:Requests核心功能速览(下)

上一个章节我们讲了如何快速使用Requests发送网络请求、处理URL参数和提取响应内容,这些是最基本的操作。 然而还有很多场景下,我们的网络请求更加复杂。比如我们必须要定制请求头来假装成浏览器,不然可能会被网站识别为机器并且被屏蔽;又比如我们需要在发送请求时以表单形…...

生产故障|Kafka ISR频繁伸缩引发性能急剧下降

生产故障|Kafka ISR频繁伸缩引发性能急剧下降-阿里云开发者社区 本文是笔者双十一系列第二弹,源于一个双十一期间一个让笔者猝不及防的生产故障,本文将详细剖析Kafka的副本机制,以及ISR频繁变更(扩张与伸缩)为什么会导致集群不可…...

c++终极螺旋丸:₍˄·͈༝·͈˄*₎◞ ̑̑“类与对象的结束“是结束也是开始

文章目录 前言一.构造函数中的初始化列表 拷贝对象时的一些编译器优化二.static成员三.友元四.内部类总结前言 前两期我们将类和对象的重点讲的差不多了,这一篇文章主要进行收尾工作将类和对象其他的知识点拉出来梳理一遍,并且补充前两篇没有讲过的…...

【Python--torch.nn.functional】F.normalize用法 + 代码说明

【Python–torch.nn.functional】F.normalize介绍 代码说明 文章目录【Python--torch.nn.functional】F.normalize介绍 代码说明1. 介绍2. 代码说明2.1 一维Tensor2.2 二维Tensor2.3 三维Tensor3. 总结1. 介绍 import torch.nn.functional as F F.normalize(input: Tensor, …...

【算法题】1887. 使数组元素相等的减少操作次数

插: 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 坚持不懈,越努力越幸运,大家一起学习鸭~~~ 题目: 给你一个整数数组 nums &#xff0…...

GD库图片裁剪指定形状解决办法(PHP GD库 海报)

需求描述:需要把图片裁剪成一个指定的平行四边形,目的是使用GD库,把裁剪后的图片放在底图上面,使最终合成的图片看起来是一个底图平行四边形的样子提示:可以结合本作者的其他文章,来生成一个定制化的海报&a…...

redis的简介及应用场景

1、基本信息 Redis英文官网介绍: Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache and message broker. It supports data structures such as strings, hashes, lists, sets, sorted sets with range queri…...

2、HAL库利用滴答定时器systick(1ms中断)实现时间计数戳

文档说明:通过滴答定时器的1ms中断实现时间计数,标记需要的时间标志,在主函数中查询标志,避免延时函数消耗CPU 1、HAL库systick定时器说明 在CubeMx生成的代码main()函数首先执行的函数为HAL_Init();里面会进行滴答定时器初始化…...

Spring入门学习

Spring入门学习 文章目录Spring入门学习Spring概述Spring FrameworkIOCIOC容器DIIOC容器的实现类①FileSystemXmlApplicationContext②ClassPathXmlApplicationContext基于XML管理bean入门案例创建类创建xml在Spring配置文件中配置bean测试Spring概述 Spring 是最受欢迎的企业级…...

webpack(4版本)使用

webpack简介:webpack 是一种前端资源构建工具,一个静态模块打包器(module bundler)。在 webpack 看来, 前端的所有资源文件(js/json/css/img/less/...)都会作为模块处理。它将根据模块的依赖关系进行静态分析,打包生成对应的静态资源(bundle)…...

Linux安装ElasticSearch

下载地址:https://www.elastic.co/cn/downloads/past-releases#elasticsearch 1 版本选择 ElasticSearch 7 及以上版本都是自带的 jdk,假如需要配置指定的 jdk 版本的话,可以在 es 的 bin 目录下找到elasticsearch-env.bat 这个文件&#x…...

Linux中C语言编程经验总结

​ 修改记录 版本号日期更改理由V1.02022-03-15MD化 总则 仅总结一些常用且实用的编程规范和技巧,且避免记忆负担,聚焦影响比较大的20% ! 编译器 打开全warning编译器开关 正例 gcc -W -Wall -g -o someProc main.c反例 gcc -g -o someProc main…...

jvisualvm工具使用

jdk自带的工具jvisualvm,可以分析java内存使用情况,jvm相关的信息。 1、设置jvm启动参数 设置jvm参数**-Xms20m -Xmx20m -XX:PrintGCDetails** 最小和最大堆内存,打印gc详情 2、测试代码 TestScheduleClassGc package com.core.schedule;…...

(十)学生端搭建

本次旨在将之前的已完成的部分功能进行拼装到学生端,同时完善学生端的构建。本次工作主要包括: 1.学生端整体界面布局 2.模拟考场与部分个人画像流程的串联 3.整体学生端逻辑 一、学生端 在主界面可以选择自己的用户角色 选择学生则进入学生登录界面…...

服务器硬防的应用场景都有哪些?

服务器硬防是指一种通过硬件设备层面的安全措施来防御服务器系统受到网络攻击的方式,避免服务器受到各种恶意攻击和网络威胁,那么,服务器硬防通常都会应用在哪些场景当中呢? 硬防服务器中一般会配备入侵检测系统和预防系统&#x…...

Mac软件卸载指南,简单易懂!

刚和Adobe分手,它却总在Library里给你写"回忆录"?卸载的Final Cut Pro像电子幽灵般阴魂不散?总是会有残留文件,别慌!这份Mac软件卸载指南,将用最硬核的方式教你"数字分手术"&#xff0…...

BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践

6月5日,2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席,并作《智能体在安全领域的应用实践》主题演讲,分享了在智能体在安全领域的突破性实践。他指出,百度通过将安全能力…...

【学习笔记】深入理解Java虚拟机学习笔记——第4章 虚拟机性能监控,故障处理工具

第2章 虚拟机性能监控,故障处理工具 4.1 概述 略 4.2 基础故障处理工具 4.2.1 jps:虚拟机进程状况工具 命令:jps [options] [hostid] 功能:本地虚拟机进程显示进程ID(与ps相同),可同时显示主类&#x…...

稳定币的深度剖析与展望

一、引言 在当今数字化浪潮席卷全球的时代,加密货币作为一种新兴的金融现象,正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而,加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下,稳定…...

管理学院权限管理系统开发总结

文章目录 🎓 管理学院权限管理系统开发总结 - 现代化Web应用实践之路📝 项目概述🏗️ 技术架构设计后端技术栈前端技术栈 💡 核心功能特性1. 用户管理模块2. 权限管理系统3. 统计报表功能4. 用户体验优化 🗄️ 数据库设…...

JVM虚拟机:内存结构、垃圾回收、性能优化

1、JVM虚拟机的简介 Java 虚拟机(Java Virtual Machine 简称:JVM)是运行所有 Java 程序的抽象计算机,是 Java 语言的运行环境,实现了 Java 程序的跨平台特性。JVM 屏蔽了与具体操作系统平台相关的信息,使得 Java 程序只需生成在 JVM 上运行的目标代码(字节码),就可以…...

Linux系统部署KES

1、安装准备 1.版本说明V008R006C009B0014 V008:是version产品的大版本。 R006:是release产品特性版本。 C009:是通用版 B0014:是build开发过程中的构建版本2.硬件要求 #安全版和企业版 内存:1GB 以上 硬盘&#xf…...

什么是VR全景技术

VR全景技术,全称为虚拟现实全景技术,是通过计算机图像模拟生成三维空间中的虚拟世界,使用户能够在该虚拟世界中进行全方位、无死角的观察和交互的技术。VR全景技术模拟人在真实空间中的视觉体验,结合图文、3D、音视频等多媒体元素…...