区块链架构有哪些?

2023-10-31

本文将整理汇总目前常见的区块链各种架构,通过汇总分析,区块链的架构基本都大同小异,前面详细介绍几个,后面的就不重复介绍了。

————————

个人技术公众号:解决方案工程师

欢迎同领域的朋友关注、相互交流。

————————

一、区块链原理架构

技术层面,区块链的结构如下图所示。一条区块链上有多个区块,每个区块包括区块头与区块体。区块头中主要包括版本号、前一区块哈希值、时间戳、随机数、目标哈希、默克尔根;区块体中是通过默克尔树记录的账本信息。

这个主要是展示的区块链原理的技术架构,接下来,主要介绍组织架构及层级。

二、早期的区块链架构

区块链技术刚提出的时候,在架构上通常被分为6层,即数据层、网络层、共识层、激励层、合约层和应用层,下图为区块链技术早期架构图。

下面,对各个层级进行解释。

(1)数据层: 该层通过块存储数据,并且所有数据都包含在每个数据节点之间。数据层主要解决这些数据如何组合形成有意义的块的形式。每个块包括块的大小、块头、块中包含的事务数,以及最近一些或所有的新事务。

(2)网络层: 该层扮演着区块链网络中节点和节点之间信息交换的角色,负责用户点对点信息交换,它主要包括P2P( Peer-To-Peer network)网络机制、数据传播和验证机制。正是由于块的P2P特性,数据传输在节点之间进行,因此即使某些节点或网络被破坏,也不会对其他部分的传输产生影响。

(3)共识层: 该层允许高度分散的节点在P2P网络中对于区块数据的有效性达成一致,确定谁可以向主链中添加新的区块。目前,共识机制算法有十多种,其中最著名的是工作量证明机制(PoW) 、权益证明机制(PoS) 、股份授权证明机制(DPoS) 等。

(4)激励层: 该层提供了一些激励方法,鼓励节点参与记账并确保整个网络的安全运行。通过共识机制,赢得记账权的节点可以获得一定的奖励。目前最熟悉的比特币有两个主要的激励因素,一是产生新区块的系统奖励,二是每次的交易手续费。

(5)合约层: 该层封装了各种脚本、程序和合约,使区块链可编程。例如,智能合约是区块链的一些脚本,区块链上的各种交易会触发对应的脚本。触发后,该脚本就可以从区块链读取数据或向区块链写入数据甚至去触发其他脚本协同工作。通过这种方式,就可以使用程序算法来替换人员去仲裁和执行合同,为用户节省巨大的信任成本。

(6)应用层: 该层封装了区块链的各种应用和场景,比如3种可编程应用类型,即可编程货币、可编程金融及可编程社会。例如,之前制作以太网的以太猫已部署在应用层。

三、近期的区块链架构

随着时间的推移,区块链技术的研究越来越深入,区块链技术发展迅速,区块链架构也在不断变化,很多传统的模块被弱化,激励层的机制在联盟链和私有链技术中甚至已被替代。例如数据层、共识层、激励层以及合约层的技术和机制大部分都是在交易的过程中体现,并没有很明显的区分,而类似于激励机制在联盟链和私有链中与公有链的区别在于大多公有链需依赖代币机制激励节点进行挖矿,从而打包新的交易数据,在联盟链和私有链中由于系统结构相对较为封闭,多为互相合作的多方来构建,可不使用代币机制来进行激励。通过详细分析区块链技术的本质特性和进展,本文将区块链技术的架构简化为 3 个层次,即网络层、交易层和应用层,如下图所示。

下面,对各个层级进行解释。

(1)网络层:网络层主要控制建立区块链网络以及所有节点之间信息的传递,其核心内容包括两部分,即组网方式和数据传播协议。

网络层利用 P2P 技术实现分布式网络机制,主要任务是保证区块链节点之间可以通过 P2P 网络进行有效通信。通过自动联网机制,节点通过维护公共区块链结构来维持通信。网络层对区块链系统的组网方式、消息传播协议和数据验证机制进行了封装。根据实际应用需求,区块链系统中的每个节点都可以通过设计特定的传播协议和数据验证机制参与块数据的校验和记账过程。只有经过整个网络上的大多数节点验证后,才能在区块链中输入区块链。

(2)交易层:交易层负责交易数据的建立、检验和保存,区块链的核心业务在该层中实现,主要内容包括地址格式、交易格式、全局账本和共识机制。

区块链的核心业务由交易层实现,即两个地址之间可靠和有说服力的数据传输,且地址、交易、合约、账本、共识机制和激励措施都是其传递的主要内容。用户之间的一系列数据交互过程就是区块链中的“交易”过程,其被记录并公布在区块链网络中。区块链中的“地址”是用户用来隐藏真实身份的伪装,类似于支付宝或银行卡账户,可以使用公钥并经过加密算法( 例如椭圆加密算法 ECC得到。在加密算法中,交易的输入地址和输出地址是由公钥生成的,私钥信息由用户自己保存并用于生成签名以验证所需资金的所有权。

(3)应用层:目前应用程序场景的程序和接口都是由应用层提供,并且安装在应用层的各种应用程序是直接与用户进行交互的,用户不用去探究区块链那些底层的细节。目前,典型的区块链应用包括数字货币应用,数据存储应用以及能源应用等。

四、区块链+数据管理架构

基于区块链的数据资产管理平台链系统的架构体系如下图所示,这个架构类似于早期的区块链架构。

下面,对各个层级进行解释。

(1)数据层:数据层主要包括数据类别等的数字资产所有相关信息、系统节点账户信息等,使用链式区块进行存储。

(2)网络层:网络层包括点对点网络在内的数据传播机制与数据验证机制等,目的是维持不同节点之间区块数据的同步并进行验证。

(3)共识层:区块链系统本质上是一种多个节点同时运行,共同维护的去中心化应用,单节点生成的结果需与全网节点达成共识经确认后才可被打包入链。其中,较多采用的PoW(工作量证明)机制需要耗费大量的时间与算力来争取记账权以达成共识,而DPoS(委任权益证明)机制采用所有节点投票选取超级节点直接获得记账权的方式,仅需极少的计算时间和消耗就能够保证区块链系统的正常运转。考虑到数据资产管理系统为联盟链,节点可信度高,采用DPoS共识算法更为简洁、高效,更适合作为系统的共识算法。

(4)合约层:合约层主要是在管理制度的约束下利用由自动化脚本代码组成的智能合约来实现各类功能如匹配交易双方等。

(5)应用层:应用层能对外提供多种基于区块链的系统的应用,如节点注册、账户管理、数字资产的确权和流转交易等。

五、区块链+大数据治理

区块链+大数据治理的应用场景主要包含数据层、网络层、共识层、激励层、合约层和应用层,各层相互衔接、互为关联,以求达到智慧治理、精准治理、系统治理、科学治理的目标。

下面,对各个层级进行解释。

(1)数据层:数据层是基础层,功能在于采集、记录和存储城市公共安全大数据。区块头封装时间戳、根哈希值、版本号、工作量证明等信息,区块体则包含利用哈希算法、Merkle 树、非对称加密等技术计算的公共安全交易记录,这一层的密码学技术和运作规则能够保证公共安全大数据的安全性和完整性。

(2)网络层:网络层作为工作机制层,可使治理主体共同参与数据区块的传播、验证及记账,保持公共安全大数据的更新与维护。

(3)共识层:共识层主要包括各类共识算法,旨在让政府部门、私人单位、社会公众等治理主体在分布式系统中达成共识并建立信任网络,从而维护公共安全大数据的有效性。

(4)激励层:激励层功能在于各共识主体在集体维护区块链系统的过程中能够得到相应激励,使得各主体既能维护自身利益,又可以保证区块链数据的有效性和时序性。

(5)合约层:合约层则需要在国家制度环境下进行设计,其智能合约是各主体一致遵循的计算机数字协议,可以根据治理的逻辑和流程制定合约规则,自发进行公共安全的数据记录、存储、共享,从而有效降低治理成本,提高治理效率。

(6)应用层:应用层则可以根据去中心化程度和治理主体设计公有链和联盟链网络面向政府普通系统和非政府系统,私有链面向政府机密系统,用户根据网络访问入口获得多元化服务,真正实现数据的共建共享。

(7)目标层:目标层便是我们治理的目标任务。

另外,还有下图架构,包括应用层、激励层、共识层、网络层、数据层,无非是在上图的架构中进行了简化,这里就不详细介绍了。

六、“趣链科技”区块链架构

“趣链科技”提出了全球首个完善区块链3.0全栈全生态支持:区块链基础共识网络、链上链下协同、跨链协同、芯片级上链支持与企业级服务平台。

七、蚂蚁区块链溯源架构

蚂蚁区块链提出的溯源架构如下图所示,主要包括BaaS层、平台层、交互层、物理层。

八、工业区块链架构

工业区块链应用指南中,介绍了工业区块链的架构,如下图所示。

下面,对各个层级进行解释。

(1)物理层:在基础网络、服务器、存储、虚拟机等基础组件之外,物理层还包括传感器、智能设备、视频监控、边缘设备、成套设备、成像设备等。该层提供了基本的互联网基础信息服务,主要是为上层架构组件提供基础设施,保证上层服务可靠运行,物联网IoT设备决定了数据来源的可靠性,区块链保证了数据的真实性,最后将数据安全的存储、分析和计算,提供高效、精准的数据服务。此外,为了更快处理延迟,减少无效数据传到云端账本,降低网络的带宽压力以及存储压力,往往会在边缘侧进行计算。在边缘侧的计算资源的环境下,和云端的计算形成共识,产生可信事件。该事件可以直接触发交易流程,比如支付、派工等。

(2)核心层:核心层是区块链系统最重要的组成部分,将会影响整个系统的安全性和可靠性。共识机制与P2P网络传输是区块链的核心技术,保证了网络的安全性和分布式一致性。为了实现物理设备的数字孪生,除了传统设备标识之外,对于一些高价值的设备,需要额外为每一个设备配备一个物理级别的嵌入式的身份证书一次写入到设备中。数据的使用方可以通过统一的工业CA中心来验证设备数据的身份。在工业场景中,有许多企业商业数据,所以隐私保护也是溯源架构中必不可少的一环。针对于工业应用特点的分布式账本,除了具有传统的难以篡改、共识、受限访问、智能合约等特点以外,还需要具备适应工业数据的账本查询能力,满足资产转移状态迁移的快速读写能力等,以达到快速溯源和资产交易的目的。

(3)接口层:接口层主要用于完成功能模块的封装,为应用层提供简洁的调用方式。应用层通过调用RPC接口与其他节点进行通信,通过调用SDK工具包对本地账本数据进行访问、写入等操作。数据从设备端发送上来以后,经过网关,数据处理,存放在云端的账本里面。在这个过程中,数据可能被有意无意的篡改,这里需要有技术协议保障数据在进入账本前不会被篡改或者删除。

(4)应用层:基于可信数据,相关参与方的数据、过程和规则通过智能合约入链后,默认就达到相关参与方的链上共享。通过拖拽的方式,让区块链联盟成员可以非常方便的设计相关参与者(人、机、机构)的身份权限和规则,并且自动转化为相应的智能合约部署在区块链网络上,快速生成应用APP。区块链技术在应用层通过在生产端、流通端、产融协同端共享数据、流程和规则,实现数据要素的可信互联,促进参与主体之间的可信协作,服务于实体经济,服务于产业转型优化。生产端,实现企业内部与企业之间的数据共享。流通端,由生产企业延伸至消费者,包括物流商、销售商等中间环节,涉及多主体的供应链、贸易链的确权、协同、管理。产融协同,主要在企业与金融机构之间根据多主体可信产业数据,进行金融赋能和支持。

(5)监管层:监管层涉及工业区块链整体架构自上而下的网管、监控以及相关认证、鉴权等服务。监管机构以区块链节点的身份参与到基于联盟区块链的工业互联网基础设施中,合规科技监管机制以智能合约的软件程序形式介入到产业联盟的区块链系统中,负责获取企业的可信生产和交易数据并进行合规性审查,通过大数据分析技术进行分析以把握整体工业行业的动态。

九、腾讯云区块链架构

腾讯云区块链的架构如下图所示,包括基础设施层、TBaaS层、行业应用层。

 其中,TBaaS层的技术架构如下图所示。

此外,另一种版本如下图所示。

十、SHAREX区块链架构

SHAREX区块链架构如下图所示。

十一、京东区块链架构

京东区块链服务平台架构如下图所示。

以上便是总结整理的一些区块链的架构,核心的还是包括:网络层、共识层、合约层,这都是区块链技术本身附带的一些功能。另外,根据不同的应用场景及底层设施,再附加上一些应用层、基础层等。

总体而言区块链架构已经有了较为公认的模型,但技术总是不断升级的,区块链4.0、5.0...以后,架构还会有更多的升级,区块链实现的场景还会源源不断丰富。

————————

个人技术公众号:解决方案工程师

欢迎同领域的朋友关注、相互交流。

————————

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

区块链架构有哪些? 的相关文章

随机推荐

  • Unable to negotiate with xxx.xxx.xxx.xxx port xxxxx: no matching key exchange method found

    Unable to negotiate with xxx xxx xxx xxx port xxxxx no matching key exchange method found OpenSSH Legacy Options https w
  • 为知笔记私有化部署

    前言 原来一直买的为知笔记vip 但是随着内容越来越 并且不好整理 同时还不能一键全部导出 最后决定将数据迁移到自己服务器上 为止笔记提供了docker镜像 这也方便了部署 其实吧 从产品层面 可以考虑提供一键导出 这样我可能还会买vip
  • chapter 4 能带理论 energy band

    继承自chapter 3 的自由电子模型 4 1 单电子近似 One electron approximation 列出电子运动的薛定谔方程 E 2
  • Vue3+Vite+Vant报错Uncaught SyntaxError: The requested module ‘/node_modules/.vite/vue.js?v=xxxx

    在使用 Vue3 Vite Vant 搭建移动端项目时报错 Uncaught SyntaxError The requested module node modules vite vue js v xxxx 原因 在开发过程中Vue3的依赖
  • MySQL进阶 -- 存储过程 和 触发器

    目录 存储过程 介绍 存储过程的基本语法 变量 系统变量 用户自定义变量 局部变量 if判断 参数 存储过程 介绍 存储过程是事先经过编译并存储在数据库中的一段SQL语句的集合 可以直接调用这些集合 存储过程 调用存储过程可以简化应用开发人
  • 夯实C++基础之刷题:链表——7 链表求和 两数相加

    久违的我的碎碎念 现在看能一边996上班一边坚持学习的真都是了不起的人 新项目开始每天忙的晕头转向 加班回来累得只想躺平 所以快两个月了总共才写了7题 没有空余时间可以学自己的东西真是一件不太让人开心的事情 但就安慰自己 毕竟刚刚毕业开始工
  • GitChat·前端

    GitChat 作者 韩亦乐 前言 我们都知道 大学几乎是没有 Web 前端课的 以我所在的大学为例 唯一引导我们了解 JavaScript 的也只是 人机界面 和 Web应用开发 选修课 再者 由于这些选修课的课时短 面向的主要群体是大部
  • webpack5教程

    目录 简介 创建webpack项目 webpack核心配置文件config的使用 webpack打包多入口 多出口 如何配置webpack dev server 1 了解webpack dev server 2 安装webpack dev
  • python爬虫出现 json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

    1 运行python爬虫出现如下图所示bug 2 解决办法 跟更新下最新的网站请求头request headers 和检查下请求链接是否还是一样 requests url 应该是就长时间没登陆 要跟新最新的cookies 登陆成功 200
  • Microsoft Office2021下载安装教程(非常详细)从零基础入门到精通,看完这一篇就够了

    软件下载 软件 Office 版本 2021 语言 简体中文 大小 4 57G 系统要求 Win10及以上版本 64位操作系统 硬件要求 CPU 2 0GHz 内存 4G 或更高 下载通道 百度网盘丨64位下载链接 https pan ba
  • lnmp下搭建TP5一些小问题

    1 安装lnmp 不多BB 拿到了新的阿里云ECS主机 一键安装lnmp命令 wget http soft vpser net lnmp lnmp1 5 tar gz cO lnmp1 5 tar gz tar zxf lnmp1 5 ta
  • Zotero搭建笔记

    目录 一 官网下载客户端和浏览器插件Zotero translator 二 客户端登录or注册 三 安装插件 3 1 茉莉花 3 2 Zotfile 3 3 抓取网页文件 知网 知乎 微信等 3 4 翻译器 3 5 提取doi号 sci h
  • 嵌入式 程序中的text段、data段和bss段

    一般情况 一个程序本质上都是由 bss段 data段 text段三个段组成 这是计算机程序设计中重要的基本概念 而且在嵌入式系统的设计中也非常重要 牵涉到嵌入式系统运行时的内存大小分配 存储单元占用空间大小的问题 在采用段式内存管理的架构中
  • Java 获取当前日期时间字符串速度测试2306221507

    Java 获取当前日期时间字符串速度测试2306221507 测试代码 import java text SimpleDateFormat import java time import java time format DateTimeF
  • 微众银行区块链张开翔:数字时代的身份基础设施建设

    6月24日 中钞区块链技术研究院 飞天诚信科技股份有限公司 微众银行等17家单位共同发起成立分布式数字身份产业联盟 DID Alliance 简称DIDA 共建分布式数字身份基础设施 打造可信开放数字新生态 本文系微众银行区块链首席架构师张
  • vaspkit使用_vaspkit.014安装使用说明 -

    vaspkit 0 14 修正版发布 安装下载指南 1 下载网址 http www pudn com downloads221 sourcecode unix linux detail1038949 html 免费的 2 利用xshell将
  • 微信小程序之间的参数传递、获取

    一 获取当前页面参数 js onLoad async function options var pages getCurrentPages 获取加载的页面 var currentPage pages pages length 1 获取当前页
  • 记·Linux挖矿病毒应急响应

    一 前言 朋友说他的机器被用来挖矿了 叫我帮他处理一下 正好锻炼锻炼应急响应能力 二 处置 top查看cup发现占用300 确实是被用来挖矿了 查看异常进程9926的pid端口 发现为空查找不到连接情况 怎么回事 查看全部端口网络连接 发现
  • javaAPI(五):比较器Comparable和Comparator

    前言 java中的对象 正常情况下 只能进行比较 或 不能使用 gt 或 lt 的 但是再开发场景中 我们需要对多个对象进行排序 言外之意 就需要比较对象的大小 如何实现 使用两个接口中的一个 Comparable 自然排序 1 像Stri
  • 区块链架构有哪些?

    本文将整理汇总目前常见的区块链各种架构 通过汇总分析 区块链的架构基本都大同小异 前面详细介绍几个 后面的就不重复介绍了 个人技术公众号 解决方案工程师 欢迎同领域的朋友关注 相互交流 一 区块链原理架构 技术层面 区块链的结构如下图所示