什么是区块链?

区块链

区块链 (英语:blockchain)是借由 密码学共识机制 等技术建立,存储数据保证不可篡改和不可伪造的 分布式技术。

什么是区块

区块 就是将一批数据打包在一起,并且给打包出来的区块编号。第一个区块的编号是 1,第二个区块的编号是 2。按照编号连在一起就称为区块链。

在这里插入图片描述

特点

不可伪造

每个区块都必须包含四个最基本的元素,上一个区块的散列值若干条数据一个调节数,本区块散列值。

在这里插入图片描述

散列值是通过散列函数生成的,散列函数是一种从任何一种数据中创建数字“指纹”的方法。散列函数把消息或数据压缩成摘要,使得数据量变小。一旦数据有改变,散列值必然会改变。

其中 调节数 是需要计算的,一旦有 节点(可以暂时理解成家用电脑)计算出 调节数,就可以通过散列函数为 上一个区块的散列值本区块的数据当前算出的调节数 生成 散列值,然后将 上一个区块的散列值本区块的数据当前算出的调节数、散列值打包在一起形成一个区块,发送给网络中的其它节点。其它节点会验证 调节数 和 散列值 是否正确,如果认为正确就接收这个区块,继续算下一个区块。如果错误就拒绝接受。

验证调节数非常简单,计算出调节数则非常困难。所有其它节点能快速的验证调节数的正确性。

在这里插入图片描述
在这里插入图片描述

不可篡改

区块链 不可篡改 的原因是一旦区块被计算出来,那么区块的散列值就需要被用于下一次区块生成。假设现在如果有一个A节点,尝试改变之前区块2里面的数据,此时最新的区块7已经产生,那么A节点就需要自己单独重新计算区块2至区块7的所有区块,否则不会被接受。

如果A节点只重新计算区块2,则不会被其它节点接受,因为当前已经有一个更长的链在运行,节点只认最长的链

在这里插入图片描述

另外一点,如果A节点修改了区块2的数据,那么区块2的散列值就变了,而生成区块3需要区块2的散列值,这样会导致A节点还需要重新计算区块3,区块4,区块5,区块6,区块7。但是此时还有其它节点也在一直计算区块8。大家计算的难度都是一样的,A节点想修改数据,就必须超过网络中的其它节点计算出一条更长的链,才会被接受。

在这里插入图片描述

和BTC的关系

  1. 中本聪在《比特币:一种点对点电子货币系统》一文中,并未给出“区块链”的具体定义,只是提出了一种基于哈希证明的链式区块结构,即称为区块链的数据结构。
  2. 目前区块链的最成功的应该就是比特币。

关注我,畅游web3世界

下期预告 - 比特币的前世今生

阅读资料

  • 维基百科 - 区块链
  • 百度百科 - 区块链
  • 百度百科 - 散列值

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

北斗导航 | 基于恒定虚警率算法的接收机自主完好性监测(附Matlab代码)

===================================================== github:https://github.com/MichaelBeechan CSDN:https://blog.csdn.net/u011344545 ===================================================== 基于恒定虚警率算法的接收机自主完好性监测 输入输出外部引用代码参考…

基于springboot+vue的旅游网站系统(前后端分离)

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目背景…

Java Springboot SSE如何判断客户端能否正常接收消息

目录 背景解决方案思路代码代码解释 Java反射知识点补充 背景 当新建一个 emitter 对象的时候, 它的默认超时时间是 30s. SseEmitter emitter new SseEmitter(); 但是很多情况下, 默认30s的时间太短, 需要把 emitter 对象的超时时间设置成不超时, 也就是永久有效. private …

Proxifier海外動態IP代理工具使用教程

Proxifier是一款多平臺代理客戶端,能讓不支持代理伺服器的程式正常運行。它支持各種操作系統和代理協議,並允許自定義端口和應用程式代理設置。用戶可以將其與代理伺服器集成,從而最大程度釋放性能效果。 本文將對其進行全面的概述&#xff…

Docker 安装 MySQ

Docker 安装 MySQL MySQL 是世界上最受欢迎的开源数据库。凭借其可靠性、易用性和性能,MySQL 已成为 Web 应用程序的数据库优先选择。 1、查看可用的 MySQL 版本 访问 MySQL 镜像库地址:https://hub.docker.com/_/mysql?tabtags 。 可以通过 Sort b…

上海亚商投顾:沪指冲高回落 旅游板块全天强势

上海亚商投顾前言:无惧大盘涨跌,解密龙虎榜资金,跟踪一线游资和机构资金动向,识别短期热点和强势个股。 一.市场情绪 沪指昨日冲高回落,创业板指跌近1%,北证50指数跌超3%。旅游、零售板块全天强势&#xf…

Red Hat Enterprise Linux 7.9 安装图解

引导和开始安装 选择倒计时结束前,通过键盘上下键选择下图框选项,启动图形化安装过程。需要注意的不同主板默认或者自行配置的固件类型不一致,引导界面有所不同。也就是说使用UEFI和BIOS的安装引导界面是不同的,如图所示。若手动调…

29、WEB攻防——通用漏洞SQL注入增删改查盲注延迟布尔报错

文章目录 盲注增删改查 盲注 概念:在注入过程中,获取的数据不能回显至前端页面,此时我们需要利用一些方法进行判断或尝试,这个过程被称为盲注。 解决:常规的联合查询注入不行的情况。 分类: 基于布尔的SQ…

【51单片机系列】proteus中的LCD12864液晶屏

文章来源:《单片机C语言编程与Proteus仿真技术》。 点阵字符型LCD显示模块只能显示英文字符和简单的汉字,要想显示较为复杂的汉字或图形,就必须采用点阵图型LCD显示模块,比如12864点阵图型LCD显示模块。 文章目录 一、 LCD12864点…

【算法】串联所有单词的子串【滑动窗口】

题目 给定一个字符串 s 和一个字符串数组 words。 words 中所有字符串 长度相同。s 中的 串联子串 是指一个包含 words 中所有字符串以任意顺序排列连接起来的子串。例如,如果 words ["ab","cd","ef"], 那么 "abcd…

milkv-duo cvi-mmf 硬件加速 JPG 解码性能测试

前言 本文是基于 nihui 老师的 opencv-mobile 对其支持 milkv-duo cvi-mmf 硬件加速 JPG 解码的测试。 nihui 老师原文章如下:opencv-mobile 现已支持 milkv-duo cvi-mmf 硬件加速 JPG 解码 opencv-mobile 仓库地址如下:nihui/opencv-mobile: The minim…

响应式Web开发项目教程(HTML5+CSS3+Bootstrap)第2版 例4-3 textarea

代码 <!doctype html> <html> <head> <meta charset"utf-8"> <title>textarea</title> </head><body> <h2>多行文本框:</h2> <!--textarea&#xff08;文本域&#xff09;cols(列) rows(行)--> …

Spring Web文件上传功能简述

文章目录 正文简单文件上传文件写入 总结 正文 在日常项目开发过程中&#xff0c;文件上传是一个非常常见的功能&#xff0c;当然正规项目都有专门的文件服务器保存上传的文件&#xff0c;实际只需要保存文件路径链接到数据库中即可&#xff0c;但在小型项目中可能没有专门的文…

微信这个费用,终于降低了

大家好&#xff0c;我是小悟 这个费用降低了&#xff0c;这对于广大小程序开发者来说无疑是一个好消息。这一举措不仅可以降低开发者的成本&#xff0c;还有助于激发更多的创新和创业激情。 对于广大小程序开发者来说&#xff0c;这也是一个福音&#xff0c;因为他们可以降低开…

Pypputeer自动化

Pyppeteer简介 pyppeteer 是 Python 语言的一个库&#xff0c;它是对 Puppeteer 的一个非官方端口&#xff0c;Puppeteer 是一个 Node 库&#xff0c;Puppeteer是Google基于Node.js开发的一个工具&#xff0c;它提供了一种高层次的 API 来通过 DevTools 协议控制 Chrome 或 Ch…

#Pytorch 使用DDP训练第一轮,验证后第二轮卡住

问题&#xff1a;在使用DDP分布式训练的时候&#xff0c;在第一轮训练后验证结果&#xff0c;在第二轮开始时就卡住了。因为设置了dist.barrier()&#xff0c;所以只有第一个GPU跑了验证&#xff0c;在第二轮时只有第一个GPU的模型在&#xff0c;其他卡的模型都被阻塞住了。 解…

Linux下使用Docker部署MinIO实现远程上传

&#x1f4d1;前言 本文主要是Linux下通过Docker部署MinIO存储服务实现远程上传的文章&#xff0c;如果有什么需要改进的地方还请大佬指出⛺️ &#x1f3ac;作者简介&#xff1a;大家好&#xff0c;我是青衿&#x1f947; ☁️博客首页&#xff1a;CSDN主页放风讲故事 &#…

在vue中使用echarts渲染地图,geo点击某个区域可高亮,取消

一、安装echarts npm install echarts --save二、main.js引入注册 import Vue from "vue";import * as echarts from "echarts";Vue.prototype.$echarts echarts;三、vue文件中使用echarts <template><div class"page-warp"><…

mysql原理--锁

1.解决并发事务带来问题的两种基本方式 上一章唠叨了事务并发执行时可能带来的各种问题&#xff0c;并发事务访问相同记录的情况大致可以划分为3种&#xff1a; (1). 读-读 情况&#xff1a;即并发事务相继读取相同的记录。 读取操作本身不会对记录有一毛钱影响&#xff0c;并不…

聚铭入选“2023中国数字安全能力图谱(精选版)”安全运营领域

近日&#xff0c;国内权威数字安全领域第三方调研机构数世咨询正式发布《2023年度中国数字安全能力图谱&#xff08;精选版&#xff09;》。聚铭网络作为国内领先的安全运营商&#xff0c;凭借在细分领域突出优势&#xff0c;成功入选该图谱“安全运营”领域代表厂商。 据悉&a…