区块链(4):区块链去中心化

news2025/4/19 0:28:17

1 区块链白皮书中的公有链,私有链,联盟链概念介绍

区块链系统根据应用场景和设计体系的不同,一般分为公有链、联盟 链和专有链(私有链)。其中:

公有链的各个节点可以自由加入和退出网络,并参加链上数据的读 写,运行时以扁平的拓扑结构互联互通,网络中不存在任何中心化的服务 端节点。

联盟链的各个节点通常有与之对应的实体机构组织,通过授权后才能 加入与退出网络。各机构组织组成利益相关的联盟,共同维护区块链的健 康运转。

专有链的各个节点的写入权限收归内部控制,而读取权限可视需求有 选择性地对外开放。专有链仍然具备区块链多节点运行的通用结构,适用 丁特定机构的内部数据管理与审计。

想要了解更多可自行百度查询区块链白皮书。

2 区块链项目简介

区块链技术的模型是由自下而上的数据层、网络层、共识层、激励层、合约层和应用层组成。

(1)数据层

首先是“数据层”,封装了底层数据区块的链式结构,以及相关的非对称公私钥数据加密技术和时间戳等技术,这是整个区块链技术中最底层的数据结构。这些技术是构建全球金融系统的基础,数十年的使用证明了它非常安全的可靠性。而区块链,正式巧妙地把这些技术结合在了一起。

(2)网络层

其次是“网络层”,包括P2P组网机制、数据传播机制和数据验证机制等。P2P组网技术早期应用在BT这类P2P下载软件中,这就意味着区块链具有自动组网功能。

(3)共识层

第三层“共识层”,封装了网络节点的各类共识机制算法。共识机制算法是区块链的核心技术,因为这决定了到底是谁来进行记账,而记账决定方式将会影响整个系统的安全性和可靠性。目前已经出现了十余种共识机制算法,其中比较最为知名的有工作量证明机制(PoW,Proof of Work)、权益证明机制(PoS,Proof ofStake)、股份授权证明机制(DPoS,Delegated ProofofStake)等。数据层、网络层、共识层是构建区块链技术的必要元素,缺少任何一层都将不能称之为真正意义上的区块链技术。

(4)激励层

第四层“激励层”,将经济因素集成到区块链技术体系中来,包括经济激励的发行机制和分配机制等,主要出现在公有链当中。在公有链中必须激励遵守规则参与记账的节点,并且惩罚不遵守规则的节点,才能让整个系统朝着良性循环的方向发展。而在私有链当中,则不一定需要进行激励,因为参与记账的节点往往是在链外完成了博弈,通过强制力或自愿来要求参与记账。

(5)合约层

第五层“合约层”,封装各类脚本、算法和智能合约,是区块链可编程特性的基础。比特币本身就具有简单脚本的编写功能,而以太坊极大的强化了编程语言协议,理论上可以编写实现任何功能的应用。如果把比特币看成是全球账本的话,以太坊可以看作是一台“全球计算机”,任何人都可以上传和执行任意的应用程序,并且程序的有效执行能得到保证。

(6)应用层

第六层“应用层”,封装了区块链的各种应用场景和案例,比如搭建在以太坊上的各类区块链应用即部署在应用层,而未来的可编程金融和可编程社会也将会是搭建在应用层。

激励层、合约层和应用层不是每个区块链应用的必要因素,一些区块链应用并不完整的包含后三层结构。

下面我们要讲解的java区块链项目不包含后三层,只包含数据层,网络层和共识层。 从概念上分属于公有链,项目可以在公网上进行部署,但只用于学习测试,不提供数据存储服务,定期重启。

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

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

相关文章

SpringBoot+MyBatis flex实现简单增删改查

一&#xff1a;创建SpringBoot项目 SpringBoot版本选择2.7.15 勾选相关的选项&#xff0c;并点击Create 项目创建完成 二.pom文件添加相关的依赖 <dependencies><dependency><groupId>io.springfox</groupId><artifactId>springfox-boot-starte…

排序——直接插入排序折半插入排序

文章目录 前言一、排序的基本概念1. 排序的定义2. 排序的分类1) 稳定排序2) 不稳定排序 二、插入排序1. 直接插入排序1&#xff09;直接插入排序算法分析 2. 直接插入排序代码3. 直接插入排序时间复杂度4. 折半插入排序5. 折半插入排序代码 总结 前言 排序的基本概念数据结构稳…

从数字化到智能化再到智慧化,智慧公厕让城市基础配套更“聪明”

随着科技的迅猛发展&#xff0c;城市生活方式与配置设施的方方面&#xff0c;面也在不断的改变和升级。智慧公厕作为城市基础配套设施的一部分&#xff0c;从数字化到智能化再到智慧化&#xff0c;正逐渐展现出其独特的魅力和优势。实现了公共厕所建设、使用与管理方式的全面变…

【AI】机器学习——支持向量机(非线性及分析)

5. 支持向量机(线性SVM) 文章目录 5.4 非线性可分SVM5.4.1 非线性可分问题处理思路核技巧核函数特点 核函数作用于SVM 5.4.2 正定核函数由 K ( x , z ) K(x,z) K(x,z) 构造 H \mathcal{H} H 空间步骤 常用核函数 5.5 SVM参数求解算法5.6 SVM与线性模型关系 5.4 非线性可分SVM …

奇偶数之和

任务描述 本关任务&#xff1a;请编一个函数fun(int *a,int n,int *odd,int *even)&#xff0c;函数的功能是分别求出数组a中所有奇数之和以及所有偶数之和。形参n给出数组中数据的个数&#xff1b;利用指针odd返回奇数之和&#xff0c;利用指针even返回偶数之和。 例如&#…

UE5_OpenCV库的加载方式

UE5使用opencv库要在系统中添加opencv的环境变量 在项目文件夹下新建ThirdParty,将OpenCV中的bin、opencv文件夹copy到ThirdParty中 打开项目,找到source目录下的build.cs文件 修改build.cs内容,添加头文件路径,dll路径,lib路径 // Copyright Epic Games, Inc. All Right…

leetcode21

题目&#xff1a; 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1&#xff1a; 输入&#xff1a;l1 [1,2,4], l2 [1,3,4] 输出&#xff1a;[1,1,2,3,4,4]示例 2&#xff1a; 输入&#xff1a;l1 [], l2 [] 输…

腾讯mini项目-【指标监控服务重构】2023-07-21

今日已办 当在Docker容器中运行程序时&#xff0c;可能会遇到使用os.Getpid()函数时出现异常的情况。这是因为Docker容器中的进程隔离机制与宿主机器不同&#xff0c;容器内部的进程可能无法访问宿主机器的进程信息。 要解决这个问题&#xff0c;可以尝试&#xff1a; 使用do…

Linux磁盘管理:最佳实践

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…

每日一博 - 防范彩虹表攻击_数据库存储密码的秘密武器

文章目录 概述图解小结 概述 加盐&#xff08;salting&#xff09;是一种安全存储数据库中密码并验证其真实性的常见方法&#xff0c;它的主要目的是增加密码的安全性&#xff0c;以防止常见的密码攻击&#xff0c;如彩虹表攻击。以下是关于如何使用加盐技术的简要介绍&#x…

计算机二级python基础题刷题笔记(三)

hello&#xff0c;看到三的小伙伴们你们已经超过30%的对手啦&#xff01;接下来也要加油呀 代码没有最好&#xff0c;只有更好&#xff0c;如果你有更好的想法答案欢迎在评论区里发表呀 1、将程序里定义好的std列表里的姓名和成绩与已经定义好的模板拼成一段话&#xff0c;显示…

我的微信公众号开通啦,来关注我吧

我的微信公众号开通啦&#xff0c;承蒙各位粉丝的厚爱&#xff0c;请大家动动手指扫码关注吧 公众号主要以Android开发技术文章为主&#xff0c;活跃度高&#xff0c;紧跟技术前沿&#xff0c;内容深度而全面&#xff0c;重要的是 私信必回&#xff01;私信必回&#xff01;私…

利用github托管个人网站

如何制作个人学术主页&#xff1f; - 知乎去年年底刚刚基于开源项目al-folio重新做了自己的个人主页。注意&#xff0c;这个开源项目很好&#xff0c;但是有个尴尬的问题…https://www.zhihu.com/question/281476526/answer/2360738062 your site可能会出现的慢一点&#xff0…

qsort函数详细讲解以及利用冒泡排序模拟实现qsort函数

个人主页&#xff1a;点我进入主页 专栏分类&#xff1a;C语言初阶 C语言程序设计————KTV C语言小游戏 C语言进阶 C语言刷题 欢迎大家点赞&#xff0c;评论&#xff0c;收藏。 一起努力&#xff0c;一起奔赴大厂。 目录 1.qsort函数 1.1qsort函数的参数 …

Java笔记:Arthas-Java线上异常排查

一、安装 arthas在github上有个page&#xff0c;地址是https://alibaba.github.io/arthas/。 安装的方式有好几种&#xff1a; 1.直接下载一个可以启动的jar包然后用java -jar的方式启动 2.用官方提供的as.sh脚本一键安装 3.用rpm的方式安装 本篇介绍第一种方式&#xff0c;因…

无涯教程-JavaScript - EXP函数

描述 EXP函数返回e升至数字的幂。常数e等于自然对数的底数2.71828182845904。 语法 EXP (number)争论 Argument描述Required/OptionalNumberThe exponent applied to the base e.Required Notes 要计算其他碱基的幂,请使用幂运算符(^) EXP是LN的倒数,LN是数字的自然对数…

基于SSM的汽车租赁后台管理系统

基于SSM的汽车租赁后台管理系统 介绍 包括登录、首页、客户管理、车辆管理、汽车出租、出租单管理、汽车入库、检查单管理、系统管理等功能&#xff0c;适合二次开发课程设计、毕业设计等 软件架构 SSM 运行环境 数据库 mysql 安装教程输入链接说明 端口&#xff1a;3306…

第16篇ESP32 platformio_arduino框架 wifi联网_连接WiFi热点并连接tcp server收发数据进行通讯

第1篇:Arduino与ESP32开发板的安装方法 第2篇:ESP32 helloword第一个程序示范点亮板载LED 第3篇:vscode搭建esp32 arduino开发环境 第4篇:vscodeplatformio搭建esp32 arduino开发环境 ​​​​​​第5篇:doit_esp32_devkit_v1使用pmw呼吸灯实验 第6篇:ESP32连接无源喇叭播…

BeanFactory版本的快速入门

目录 IOC原理 IOC工作步骤 开发步骤 实现代码 DI原理 DI工作步骤 IOC原理 在Spring框架中&#xff0c;IOC是通过Bean容器&#xff08;例如ApplicationContext&#xff09;来实现的。Bean容器负责管理Bean的创建、依赖关系的注入和对象的生命周期的控制。通过配置文件&am…

【软件设计师-从小白到大牛】上午题基础篇:第一章 计算机组成与体系结构

文章目录 前言章节提要一、数据的表示&#xff08;进制的转换&#xff09;1、R进制转十进制使用按权展开法2、十进制转R进制使用短除法(余数从下往上排列&#xff09;3、二进制转八进制与十六进制 二、数据的表示&#xff08;原码反码补码移码&#xff09;真题链接 三、数据的表…