区块链——基本概念、技术原理

一、区块链基本概念

(一)区块链定义

区块链(Blockchain)是指通过去中心化和去信任的方式集体维护一个可靠数据库的技术方案。通俗一点说,区块链技术就指一种全民参与记账的方式,是一种防篡改、共享的、可追溯的分布式账本技术。

(二)区块链的组成

区块链是由一系列区块组成的,每个区块由区块头和区块体组成。区块头存储结构化的数据,大小是80字节;而区块体利用一种神奇的树状结构,记录区块挖出的这段时间里所有交易信息,所需空间比较大。所有的区块根据散列值形成一条链状结构,这些区块一起就构成了区块链的分布式账本。每个区块都包含了前一个区块的哈希值,这样就形成了一个不可篡改的数据结构。

(三)区块头的主要包含内容

区块头主要包含:前一区块哈希值、版本,时间戳、计算难度,Merkle 根
前一区块哈希值用于链接上一个区块;版本相当于区块的编号;
时间戳用来记录该区块生成的时间;计算难度是该算术题的难度系数打分;
Merkle 根是一个哈希值,它是由该区块中所有交易数据计算得出的

  • 区块链的好处:去中心化、开放性、信任独立性、安全性、匿名性、

  • 区块链的结构 :链表式结构,各区块通过哈希指针链接在一起。

二、区块链技术原理

(一)区块链的关键技术

密码学,用于保证数据 的完整性和安全性;
共识算法,用于解决分布式系统中节点之间的信任问题;
博弈论,用于分析节点之间的利益关系;
P2P,点对点网络,用于实现去中心化的数据存储和传输。

(二)密码学

密码学:区块链又被成为哈希链,其实整个区块链的机制和运行都是基于密码学为基本架构的,即保证了数据的安全性,又构建了区块链不可篡改的特性。区块链底层的数据构架则是由区块链密码学来决定的,打包好的数据块,会通过密码学中的哈希函数处理成一个链式的结构,后一个区块包含前一个区块的哈希值。

(三)哈希算法

定义:哈希算法是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。

特点:正向计算容易、不可逆性、抗碰撞性、不可篡改
   - 正向计算容易:对于任意长度的输入,都可以很容易地计算出对应的哈希值;
   - 不可逆性:已知哈希值,无法推出原始数据。也就是说,哈希值不包含原始数据的任何信息,因此无法通过哈希值来确定原始数据;
   - 抗碰撞性:对于不同的输入,其哈希值相同的概率非常小。这意味着,如果两个不同的输入产生了相同的哈希值,那么这就是一次碰撞,这种情况在理论上是存在的,但在实际应用中非常罕见
   - 不可篡改:在区块链网络中,数据一旦上链就不可篡改,且可追溯,另外你的账户也会通过非对称加密的方式进行加密,进而保证了数据的安全,验证了数据的归属。

(四)共识机制

共识机制:在对等网络中,由于可能出现网络时延较大的情况,交易发生的先后顺序在不同的节点中可能会不一样。所以,有必要在区块链系统中创建一种能够让在极短的时间间隔内发生的交易的先后顺序达成一致,这种算法就叫做“共识机制”。

(五)P2P网络

P2P网络:P2P(peer-to-peer)网络也叫做点对点网络,这是一种没有中央服务器的Internet 系统,完全由用户群来实现信息的交换。点对点网络中的每个用户都是一个客户机,同时也具有服务器功能。区块链和P2P 都是以去中心化为出发点的,两者的契合度很高,因此区块链系统会选择将P2P 作为它的组网模型。这就意味着整个区块链电子现金系统的运行不再依赖任何第三方中介就可以自行完成。P2P 网络的优点是整个网络是平等的,没有特殊的节点。

(六)博弈论

博弈论:区块链中的博弈论主要应用在共识机制上,共识机制是指在区块链网络中,所有节点达成一致的规则和算法。博弈论是研究多个个体之间的收益与奖励,以及如何使用它们来分析一次性和持续性游戏中的激励因素。区块链中的共识机制就是一个典型的博弈过程,每个节点都是一个参与者,每个参与者都有自己的利益和目标,而这些目标和利益之间存在着矛盾和冲突,但又必须合作共赢。因此,区块链中的共识机制需要通过博弈论来分析和设计

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何在Ubuntu中利用repo和git地址下载获取imx6ull的BSP

01-设置git的用户名和邮箱 git config --global user.name "suwenhao" git config --global user.email "2487872782qq.com"这里不设置的话后面在第5步的repo配置中还是会要求输入,而且以后进行相关操作都要输入,不妨现在就进行配置…

高德地图3D地图SDK造成ANR问题记录

问题描述: 在新接手的项目中使用到了高德地图的3D的SDK,其依赖导入如下 api com.amap.api:3dmap:latest.integrationapi com.amap.api:search:9.7.0在使用过程中,用到了TileOverlay图层,使用过程中有一下两个问题: 1.在特定的AMAP…

【AI实战项目】基于OpenCV的“颜色识别项目”完整操作过程

OpenCV是一个广受欢迎且极为流行的计算机视觉库,它因其强大的功能、灵活性和开源特性而在开发者和研究者中备受青睐。 学习OpenCV主要就是学习里面的计算机视觉算法。要学习这些算法的原理,知道它们适用于哪些场景,然后通过Python编写代码来…

浅谈网络 | 应用层之云网络隔离GRE/VXLAN

目录 前言GRE 隧道技术VXLANGRE/VXLAN接入云平台 前言 之前提到,为云平台中的租户实现隔离时,常用的策略是基于 VLAN。然而,VLAN 只有 12 位,共支持 4096 个 ID,这在最初设计时看似足够,但随着云计算的快速…

Spark on Yarn安装配置,大数据技能竞赛(容器环境)

Spark on Yarn模式,即把Spark作为一个客户端,将作业提交给Yarn服务,由于在生产环境中,很多时候都要与Hadoop使用同一个集群,因此采用Yarn来管理资源调度,可以有效提高资源利用率。 环境说明: 服…

java+springboot+mysql在线文件管理系统

项目介绍: 使用javaspringbootmysql开发的在线文件管理系统,系统包含管理员、使用员、监察员角色,功能如下: 管理员:使用员管理;监测员管理;留言管理(回复)&#xff1b…

SD Express 卡漏洞导致笔记本电脑和游戏机遭受内存攻击

Positive Technologies 最近发布的一份报告揭示了一个名为 DaMAgeCard 的新漏洞,攻击者可以利用该漏洞利用 SD Express 内存卡直接访问系统内存。 该漏洞利用了 SD Express 中引入的直接内存访问 (DMA) 功能来加速数据传输速度,但也为对支持该标准的设备…

基于单片机的智能灯光控制系统

摘要 现在的大部分的大学,都是采用了一种“绿色”的教学方式,再加上现在的大学生缺乏环保意识,所以在学校里很多的教室,在白天的时候灯都会打开,这是一种极大的浪费,而且随时都有可能看到,这是…

ros项目dual_arm_pick-place(urdf文件可视化查看)

前言 一直想写一些项目的讲解,今天(2024.12.05)可以说正式开始了。 dual_arm_pick-place项目,是关于两个机械臂协同传递物品。 正文 这次的话,给大家讲一下里面的urdf文件。 这篇文章主要来看一下项目中的urdf文件…

springSecurity权限控制

权限控制:不同的用户可以使用不同的功能。 我们不能在前端判断用户权限来控制显示哪些按钮,因为这样,有人会获取该功能对应的接口,就不需要通过前端,直接发送请求实现功能了。所以需要在后端进行权限判断。&#xff0…

【C++笔记】map和set的使用

前言 各位读者朋友们大家好!上期我们讲完了二叉搜索树这一数据结构,这一期我们来讲STL中的map和set这两大容器。这两个容器的底层是红黑树,红黑树的底层是平衡二叉搜索树。 目录 前言一. 序列式容器和关联式容器二. set系列的使用2.1 set类…

IO进程学习笔记

man手册 普通命令。系统调用的函数。库函数。特殊文件。文件格式。游戏。附加的一些变量 IO介绍 I:input 输入 O:output 输出 对文件的输入和输出 输入-》写文件,将文件中的内容写到内存中去 输出-》读文件,将内存中的内容读取到文…

基于STM32的手势电视机遥控器设计

目录 引言系统设计 硬件设计软件设计系统功能模块 手势识别模块遥控信号发送模块控制接口模块控制算法 手势识别算法遥控信号映射算法代码实现 手势识别与处理遥控信号发送系统调试与优化结论与展望 1. 引言 随着智能家居和物联网技术的发展,传统的电视遥控器逐渐…

哈希表实现

哈希概念 哈希(hash)又称散列,是一种组织数据的方式。从译名来看,有散乱排列的意思。本质就是通过哈希函数把关键字 Key 跟存储位置建立一个映射关系,查找时通过这个哈希函数计算出 Key 存储的位置,进行快…

CSS学习记录08

CSS文本颜色 文本颜色 color属性用于设置文本的颜色,颜色由以下值指定: 颜色名-比如“red"十六进制值-比如”#ff0000"RGB值-比如:“rgb(255,0,0)”等。 页面的默认文本颜色在body选择器中定义的。 body {color: bl…

电子商务人工智能指南 6/6 - 人工智能生成的产品图像

介绍 81% 的零售业高管表示, AI 至少在其组织中发挥了中等至完全的作用。然而,78% 的受访零售业高管表示,很难跟上不断发展的 AI 格局。 近年来,电子商务团队加快了适应新客户偏好和创造卓越数字购物体验的需求。采用 AI 不再是一…

R155 VTA 认证对汽车入侵检测系统(IDS)合规要求

续接上集“浅谈汽车网络安全车辆型式认证(VTA)的现状和未来发展”,有许多读者小伙伴有联系笔者来确认相关的R155 VTA网络安全审核要求,基于此,笔者将针对 R155 VTA 每一条网络安全审核细则来具体展开。 今天就先从汽车…

利用Java爬虫按关键字搜索淘宝商品

在当今数字化时代,获取和分析电子商务平台上的商品数据对于市场研究者、数据分析师或个人买家而言是一项非常有用的能力。本文将详细介绍如何利用Java爬虫技术按关键字搜索淘宝商品,并提供相应的代码示例。 1. 爬虫技术简介 爬虫(Web Crawle…

数据结构——B-树

目录 一.常见的搜索结构 二.B-树概念 三.B-树的插入分析及实现 1.插入分析 2.插入实现 1. B-树的节点设计 2.插入key的过程 3.B-树的插入实现 4.B-树的验证 5.B-树的性能分析 四.B树和B*树 1.B树 2.B*树 3.总结 五.B-树的应用 1.索引 2.MySQL索引简介 1.MyIS…

【vue2】封装自定义的日历组件(二)之基础添加返回到今天的功能

在上次封装的日历组件的基础上,我们完善下,在月份变化后,返回到当前月份的的当天日期的显示。 效果展示 代码逻辑 高亮的UI样式美化 .calendar-day {color: #d7d7d7;width: 100px;line-height: 80px;text-align: center;box-sizing: borde…