区块链工作原理(节点、层)

news2025/1/9 16:33:32

Users/Nodes in a Blockchain Network

在某个节点被当作区块链网络的一部分之前,它必须要完成以下的要求:

  • 节点需要为认证过程生成公钥/私钥对
  • 节点需要与区块链网络中的其他一部分节点建立直接连接(peer connection),如果仅仅与一个节点连接,那么这个节点并不能享受到区块链带来的好处

区块链节点的类型和它们在区块链系统内不同方面的参与情况如下图所示:

在这里插入图片描述

但要注意,表中列出的情况不是绝对的。例如在比特币中,miner nodes 就参与了交易的生成过程。

Full Node

在本地保留区块链账本的完整记录,在不参考外部任何节点的情况下参与交易验证过程。且需要参与信息的路由过程,区块链中,当某个节点想与其他节点(不是他的相邻节点)对话时,就需要进行路由。

Lightweight Blockchain Nodes

只保留每个区块头,然后在需要完整信息时参考外部节点,它也会参与路由。

Miner Nodes

参与区块链的共识(consensus)机制,并负责区块链的出块过程。它是区块链中的最高级别节点,可以改变一个区块链网络的状态,或者说,它负责保证整个区块链网络的正常运转。

所谓的出块是指,参与共识机制的节点每次都会“投票”,按照不同的投票规则选出一个节点,本轮这个节点就可以创建一个区块,其它所有节点也会同步更新。

根据交易的执行,我们还可以将节点分为

  • Leader Nodes:就是指我们刚刚提到的投票选出的出块节点
  • Validator Nodes:对区块进行验证

或者

  • Sender Nodes:可以创建交易并向多个区块链节点发出交易,但必须用他们的个人私钥签署交易
  • Receiver Nodes:接收由 Sender Nodes 发出的交易。

Layers in Blockchain

区块链系统可以被分为六层:

在这里插入图片描述

Application Layer

应用层直接与使用者进行交互。在这一层,不同的应用程序在客户端上运行,客户端使用应用程序与区块链系统交互。

Virtualization and Smart Contract Layer

这一层负责虚拟化和智能合约的相关执行,它也与用户机器互动,负责编译区块链代码。

Consensus Layer

共识层负责管理和达成 P2P 网络中的共识。它规定了需要执行哪种共识协议以及如何遵循规则来实现共识。

Network and OS Layer

这一层是负责管理区块链网络的底层网络服务和操作的核心层,通信机制、路由以及 P2P 网络都有该层来进行管理。

Data Organization and Topology Layer

该层涉及到包括散列(哈希)、数据存储加密算法、数据排序、侧链以及分片等任务。它还包括对交易模型以及 Merkle Tree 的管理问题。

Merkle Tree(梅克尔树)是区块链的基本组成部分, 其作用是快速归纳和校验区块数据的存在性和完整性,使得区块头只需包含根哈希值而不必封装所有底层数据。


基于上面的讨论,我们将一个区块链的完整工作流程总结如下:

  1. 节点创建账户
  2. 节点创建交易
  3. 使用个人私钥签署交易
  4. 该交易被广播到验证节点
  5. 交易被成功验证
  6. 将多个这样的交易聚合
  7. Miner 节点将其收集并创建区块
  8. 达成共识后某个 Miner 节点出块
  9. 区块验证
  10. 该区块被成功添加到区块链中
  11. 该新增的区块信息被广播到整个区块链网络
  12. 其余节点在它们各自的本地区块链副本中添加该区块
  13. 该区块成为区块链网络的一部分,出块完成

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

KVM虚拟机迁移

一、KVM宿主机高可用架构设计 宿主机故障,内部虚拟机可以不受影响,可以迁移走负载均衡,当某个宿主机压力过大,可以将部分虚拟机迁移到其他机器,降低其负载。 1.1、架构设计 1.2、实验机器 机器 IP 角色 node1 192.…

L. Paid Leave(贪心)[CCPC Finals 2021]

题目如下: 思路 or 题解 我们可以先只考虑第一段(两个休息日之间) 白色为休息日,蓝色为工作日 我们思考,如果在满足题意的条件下,如何安排额外的休息日可以使答案更优: 贪心可得:额外的休息日尽量往后安排…

RabbitMQ之TTL机制

在京东下单,订单创建成功,等待支付,一般会给30分钟的时间,开始倒计时。如果在这段时间内用户没有支付,则默认订单取消。 该如何实现? 定期轮询(数据库等) 用户下单成功&#xff0…

【自然语言处理(NLP)】聊天机器人模块实现

【自然语言处理(NLP)】聊天机器人模块实现 作者简介:在校大学生一枚,华为云享专家,阿里云专家博主,腾云先锋(TDP)成员,云曦智划项目总负责人,全国高等学校计算…

《异常检测——从经典算法到深度学习》20 HotSpot:多维特征 Additive KPI 的异常定位

《异常检测——从经典算法到深度学习》 0 概论 1 基于隔离森林的异常检测算法 2 基于LOF的异常检测算法 3 基于One-Class SVM的异常检测算法 4 基于高斯概率密度异常检测算法 5 Opprentice——异常检测经典算法最终篇 6 基于重构概率的 VAE 异常检测 7 基于条件VAE异常…

[附源码]计算机毕业设计JAVA鲜花销售管理系统

[附源码]计算机毕业设计JAVA鲜花销售管理系统 项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybati…

【学习笔记02】node的模块化和内置模块

一、nodejs的模块化 😂 nodejs 所有的东西都是模块 (一)node模块的分类 1. 自定义模块:自己写的模块 2. 内置模块:nodejs提供的模块 3. 第三方模块 别人写好的东西, 上传到某一个位置(npm), 我们去 npm 去下载到我们本…

SpringBoot+MyBatis和MyBatisPlus+vue+ElementUl实现批量删除 我只能说太简单了

目录准备工作MySQL数据库表Result返回结果1、SpringBootMyBatisPlusvueElementUl实现批量删除1.1、演示GIF动态图1.2、实体类1.3、Dao接口1.4、Service接口1.5、ServiceImpl接口实现层1.6、Controller控制层1.7、Vue前端2、SpringBootMyBatisvueElementUl实现批量删除2.1、演示…

关于数据权限的设计

在项目实际开发中我们不光要控制一个用户能访问哪些资源,还需要控制用户只能访问资源中的某部分数据。 控制一个用户能访问哪些资源我们有很成熟的权限管理模型即RBAC,但是控制用户只能访问某部分资源(即我们常说的数据权限)使用R…

云计算-JavaAPI与Hadoop的互联的实现

云计算-JavaAPI与Hadoop的互联的实现 文章目录云计算-JavaAPI与Hadoop的互联的实现一、环境准备二、HDFS 基本的命令操作三、HDFS客户端操作IntelliJ IDEA 环境准备通过API操作HDFS主函数程序进行连接测试1. 初始化hdfs连接获得FileSystem对象1. HDFS获取文件系统2. HDFS创建文…

Redis集群方案备忘录

文章目录哨兵模式官方Redis ClusterJedis(客户端分片)Codis(代理分片)哨兵模式 优点 哨兵模式是基于主从模式的,解决可主从模式中master故障不可以自动切换故障的问题。缺点 (1)是一种中心化的…

Express 6 指南 - 路由 6.3 路线路径 Route paths

Express Express 中文网 本文仅用于学习记录,不存在任何商业用途,如侵删 文章目录Express6 指南 - 路由6.3 路线路径 Route paths6 指南 - 路由 6.3 路线路径 Route paths 【这翻译得…生怕国人看懂】 路由路径与请求方法相结合,定义了可以…

大数据培训课程之序列化案例实操

序列化案例实操 1. 需求 统计每一个手机号耗费的总上行流量、下行流量、总流量 (1)输入数据 (2)输入数据格式: 7 13560436666 120.196.100.99 1116 954 200 id…

编辑器实现思路

复杂项目 业务的复杂性: 交互的复杂性数据结构和状态的复杂性,例如级联选择器需要遍历树结构,还有一些需要链表、栈、队列等多项目依赖,工程的复杂性性能优化流程的复杂性 git flowlint 工具单元测试commit信息Code ReviewCI/CD开发一个编辑器 例如低代码的编辑器 编辑器…

如何批量旋转图片?学会这三种方法就能轻松实现

对于喜爱拍照的小伙伴来说,你们的手机或者相机应该有很多图片素材吧。那么在整理这些图片到电脑的时候,你们的图片会不会出现方向不一致的情况呢?有的是倒着的,有的是左旋了90。想要将这些图片都调整为同一个方向,靠手…

Delete `␍` 最简单最有效的解决方法和解释(VScode)

一、原因 VScode 出现 Delete ␍ 的原因,大部分都是因为安装了 Prettier 插件指定了文件的结尾换行符与系统不一致导致的,就是下面这个插件 由于历史原因,windows 和 linux 两个系统的文本文件的换行符不一致;Windows在换行的时候…

空域图像增强-图像灰度变换

1.图像灰度变换。自选一张图片,完成以下图像处理:①显示图像的灰度直方图;②直方图均衡化,对比变化前后的图像和灰度直方图;③对图像进行线性灰度变换,对某部分灰度值进行扩展,压缩其它灰度值区…

汽车空调器前缸盖数控加工工艺的制订及夹具设计

目  录 摘  要 1 Abstract 2 1 引言 3 2 零件的分析 4 2.1 零件的作用 4 2.1.1空调压缩机的功用和要求 4 2.1.2 汽车空调压缩机的一般结构 4 2.1.3 斜盘式压缩机的结构特点 4 2.1.4 斜盘式压缩机的优点 5 2.2 零件的工艺分析 5 3 数控机床的加工性能分析 10 3.1…

[附源码]计算机毕业设计JAVA校园跑腿系统

[附源码]计算机毕业设计JAVA校园跑腿系统 项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis M…

2023年软考备考,系统分析师知识点速记,速看

2023上半年软考系统分析师知识点速记分享给大家,快来一起打卡学习吧! 1、企业集成分类:按组织范围分 2、企业集成分类:按集成点分 3、企业战略与信息化战略集成方法 业务与IT整合(BITA):重心是…