草庐IT

详解区块链分层构架

区块链星际社 2024-12-13 原文

区块链,是一个结合了数学、密码学、计算机学等大量学科和技术而形成的去中心化网络系统。如何实现这些技术的融合,则来自于区块链在构建时所形成的六大主要的分层结构,他们分别是网络层、数据层、共识层、激励层、合约层,以及应用层,此外,还有支持数据流转的网络传输层。

在区块链的各个分层结构中,还按照他们不同的功能与特性,分为了三大主层。

Layer 0层

这一层主要便是数据传输层。传统网络和区块链去中心网络要实现数据之间的传输,便是来源于这一层。它也负责解决两者之间的非共识问题。

Layer 1层

Layer 1主要则是包含了网络层、数据层、共识层、激励层在内的所有底层协议。
网络层:包括 P2P 网络、传播机制、数据验证机制等内容。网络层可以实现区块链各个节点之间的信息交流。主要利用 P2P 技术实现网络的分布式处理,并对数据进行验证和传播等。从本质上来说,区块链依然可以称之为一个 P2P 网络。

数据层:包含了底层数据区块、基础数据,以及算法等。通过区块链技术的物理表现形式,实现链式结构,每个区块中都包含了区块随机数、时间戳,以及非对称加密算法生成的公私钥数据等。

共识层:主要包括区块链网络的共识机制和相应的算法。区块链分布式的特点,使得它的治理需要整个网络节点形成共识。共识层主要便是负责点对点模式的有效识别认证。目前使用的共识算法有多种,比如 POW、POS、DPOS 等。

激励层:主要包括经济激励的发行和分配机制。对于区块链联盟链或私有链连说,激励层是可以不需要的,因为它们所有的节点都可以凭借一个企业或机构进行组织认证,所有的节点在企业或机构的运行下都会自发维护区块链网络的稳定与安全。但对于公链而言,激励层却是必须的,因为公链的节点来自于全球各地,并且节点可以自由加入和退出。对于任何一个企业而言,想要让这些节点如同联盟链节点一样自发行动是不现实的。而激励机制的存在,便会持续为在区块链网络中做出贡献的节点给与奖励,这也会刺激节点在算力、存储空间等方面提供更多资源。

Layer 2层

Layer 2层包括了合约层和应用层,所涉及的内容是各个链上与链下的消息传递、智能合约编程等相关方面的内容。

合约层:主要是指区块链中利用代码形成的智能合约。区块链有着可编程的特点,让用户可以根据自己的需求编写不同的代码,其基础便来自于合约层。同时,智能合约的存在,也是区块链中建立能够在无“担保”的情况下建立信任关键点。区块链所具备的不可篡改和透明公开特点,使得智能合约中的条款变得真实可信,而当满足合约条款时,智能合约便会自动执行。

应用层:主要是区块链的各个应用场景。负责将区块链与现实生活紧密结合。比如利用区块链对产品供应链溯源、去中心化社交、分布式数据存储、区块链游戏等。区块链凭借着它强大的功能优势,有着十分广泛的应用场景。

值得注意的是,Layer 2只负责处理数据“状态生成”,并不进行验证,最终验证依然要回到 Layer 1中进行。由于 Layer 2的安全性并不是特别高,也导致了很多时候区块链中面临的攻击或欺骗,都是来自于 Layer 2。因此,如何更有效地防止 Layer 2中的数据出现错误,也是许多区块链开发者不断探索和研究的问题。

有关详解区块链分层构架的更多相关文章

  1. 区块链之加解密算法&数字证书 - 2

    目录一.加解密算法数字签名对称加密DES(DataEncryptionStandard)3DES(TripleDES)AES(AdvancedEncryptionStandard)RSA加密法DSA(DigitalSignatureAlgorithm)ECC(EllipticCurvesCryptography)非对称加密签名与加密过程非对称加密的应用对称加密与非对称加密的结合二.数字证书图解一.加解密算法加密简单而言就是通过一种算法将明文信息转换成密文信息,信息的的接收方能够通过密钥对密文信息进行解密获得明文信息的过程。根据加解密的密钥是否相同,算法可以分为对称加密、非对称加密、对称加密和非

  2. 区块链入门教程(6)--WeBASE-Front节点前置服务安装 - 2

    文章目录1.任务背景2.任务目标3.相关知识点4.任务实操4.1安装配置JDK4.2启动FISCOBCOS4.3下载解压WeBASE-Front4.4拷贝sdk证书文件4.5启动节点4.6访问节点4.7检查运行状态5.任务总结1.任务背景FISCOBCOS其实是有控制台管理工具,用来对区块链系统进行各种管理操作。但是对于初学者来说,还是可视化界面更友好,本节就来介绍WeBASE管理平台,这是一款微众银行开源的自研区块链中间件平台,可以降低区块链使用的门槛,大幅提高区块链应用的开发效率。微众银行是腾讯牵头设立的民营银行,在国内民营银行里还是比较出名的。微众银行参与FISCOBCOS生态建设,一定

  3. iNFTnews | 周杰伦18年前未发布的作品Demo,藏在了区块链技术里 - 2

    当音乐碰上区块链技术,会擦出怎样的火花?或许周杰伦已经给了我们答案。8月29日下午,B站独家首发周杰伦限定珍藏Demo独家访谈VCR,周杰伦在VCR里分享了《晴天》《青花瓷》《搁浅》《爱在西元前》四首经典歌曲Demo背后的创作故事,并首次公布18年前未发布的神秘作品《纽约地铁》的Demo。在VCR中,方文山和杰威尔音乐提及到“多亏了区块链技术,现在我们可以将这些Demos,变成独一无二具有收藏价值的艺术品,这些Demos可以在薄盒(国内数藏平台)上听到。”如何将音乐与区块链技术相结合,薄盒方面称:“薄盒作为区块链技术服务方,打破传统对于区块链技术只能作为数字收藏的理解。聚焦于区块链技术赋能,在

  4. 物联网MQTT协议详解 - 2

    一、什么是MQTT协议MessageQueuingTelemetryTransport:消息队列遥测传输协议。是一种基于客户端-服务端的发布/订阅模式。与HTTP一样,基于TCP/IP协议之上的通讯协议,提供有序、无损、双向连接,由IBM(蓝色巨人)发布。原理:(1)MQTT协议身份和消息格式有三种身份:发布者(Publish)、代理(Broker)(服务器)、订阅者(Subscribe)。其中,消息的发布者和订阅者都是客户端,消息代理是服务器,消息发布者可以同时是订阅者。MQTT传输的消息分为:主题(Topic)和负载(payload)两部分Topic,可以理解为消息的类型,订阅者订阅(Su

  5. Tcl脚本入门笔记详解(一) - 2

    TCL脚本语言简介•TCL(ToolCommandLanguage)是一种解释执行的脚本语言(ScriptingLanguage),它提供了通用的编程能力:支持变量、过程和控制结构;同时TCL还拥有一个功能强大的固有的核心命令集。TCL经常被用于快速原型开发,脚本编程,GUI和测试等方面。•实际上包含了两个部分:一个语言和一个库。首先,Tcl是一种简单的脚本语言,主要使用于发布命令给一些互交程序如文本编辑器、调试器和shell。由于TCL的解释器是用C\C++语言的过程库实现的,因此在某种意义上我们又可以把TCL看作C库,这个库中有丰富的用于扩展TCL命令的C\C++过程和函数,所以,Tcl是

  6. ruby - 您如何将 S3 理解为 Ruby 中的分层目录结构? - 2

    有没有人成功地将S3存储桶读取为子文件夹?文件夹1--子文件夹2----文件3----文件4--文件1--文件2文件夹2--子文件夹3--文件5--文件6我的任务是读取文件夹1。我希望看到子文件夹2、文件1和文件2,但看不到文件3或文件4。现在,因为我将存储桶键限制为prefix=>'folder1/',你仍然会得到file3和4,因为它们在技术上具有folder1前缀。似乎真正做到这一点的唯一方法是吸收folder1下的所有键,然后使用字符串搜索从结果数组中实际排除file3和file4。有没有人有过这方面的经验?我知道像Transmit和Cyber​​duck这样的FTP风格的S3

  7. 【详解】Docker安装Elasticsearch7.16.1集群 - 2

    开门见山|拉取镜像dockerpullelasticsearch:7.16.1|配置存放的目录#存放配置文件的文件夹mkdir-p/opt/docker/elasticsearch/node-1/config#存放数据的文件夹mkdir-p/opt/docker/elasticsearch/node-1/data#存放运行日志的文件夹mkdir-p/opt/docker/elasticsearch/node-1/log#存放IK分词插件的文件夹mkdir-p/opt/docker/elasticsearch/node-1/plugins若你使用了moba,直接右键新建即可如上图所示依次类推创建

  8. 【Elasticsearch基础】Elasticsearch索引、文档以及映射操作详解 - 2

    文章目录概念索引相关操作创建索引更新副本查看索引删除索引索引的打开与关闭收缩索引索引别名查询索引别名文档相关操作新建文档查询文档更新文档删除文档映射相关操作查询文档映射创建静态映射创建索引并添加映射概念es中有三个概念要清楚,分别为索引、映射和文档(不用死记硬背,大概有个印象就可以)索引可理解为MySQL数据库;映射可理解为MySQL的表结构;文档可理解为MySQL表中的每行数据静态映射和动态映射上面已经介绍了,映射可理解为MySQL的表结构,在MySQL中,向表中插入数据是需要先创建表结构的;但在es中不必这样,可以直接插入文档,es可以根据插入的文档(数据),动态的创建映射(表结构),这就

  9. 最强Http缓存策略之强缓存和协商缓存的详解与应用实例 - 2

    HTTP缓存是指浏览器或者代理服务器将已经请求过的资源保存到本地,以便下次请求时能够直接从缓存中获取资源,从而减少网络请求次数,提高网页的加载速度和用户体验。缓存分为强缓存和协商缓存两种模式。一.强缓存强缓存是指浏览器直接从本地缓存中获取资源,而不需要向web服务器发出网络请求。这是因为浏览器在第一次请求资源时,服务器会在响应头中添加相关缓存的响应头,以表明该资源的缓存策略。常见的强缓存响应头如下所述:Cache-ControlCache-Control响应头是用于控制强制缓存和协商缓存的缓存策略。该响应头中的指令如下:max-age:指定该资源在本地缓存的最长有效时间,以秒为单位。例如:Ca

  10. IDEA 2022 创建 Spring Boot 项目详解 - 2

    如何用IDEA2022创建并初始化一个SpringBoot项目?目录如何用IDEA2022创建并初始化一个SpringBoot项目?0. 环境说明1.  创建SpringBoot项目 2.编写初始化代码0. 环境说明IDEA2022.3.1JDK1.8SpringBoot1.  创建SpringBoot项目        打开IDEA,选择NewProject创建项目。        填写项目名称、项目构建方式、jdk版本,按需要修改项目文件路径等信息。        选择springboot版本以及需要的包,此处只选择了springweb。        此处需特别注意,若你使用的是jdk1

随机推荐