理解区块链

区块链基本介绍(一) 区块链产生的背景 传统互联网上的交易都需要借助可信赖的第三方机构来处理电子支付信息,交易双方信赖第三方机构。(淘宝买家-淘宝平台-淘宝卖家) 但是第三方介入也有很多缺点: - 交易成本高(收取一定的手续费) - 暴露隐私(第三方为了验证信息,需提供交易双方信息) - … 试想如果去掉第三方机构,交易双方直接交易,这样怎么保证交易生效呢?区块链技术的出现就是为了解决这样的问题... 阅读详情
AI摘要

本文深入浅出地介绍了区块链技术的基本概念、关键技术和应用场景。探讨了区块链如何通过去中心化和密码学确保交易的安全与透明,以及它在金融、医疗等多个领域的应用潜力。

本文基本上是收集的内容汇总,略微全面一点

1、区块链的诞生

互联网上的贸易,几乎都需要借助可资信赖的第三方信用机构来处理电子支付信息。这类系统仍然内生性地受制于“基于信用的模式”。区块链技术是构建比特币区块链网络与交易信息加密传输的基础技术。它基于密码学原理而不基于信用,使得任何达成一致的双方直接支付,从而不需要第三方中介的参与。

定义:

区块链是一个分布式账本,一种通过去中心化、去信任的方式集体维护一个可靠数据库的技术方案。

从数据的角度来看:区块链是一种几乎不可能被更改的分布式数据库。这里的“分布式”不仅体现为数据的分布式存储,也体现为数据的分布式记录(即由系统参与者共同维护)。

从技术的角度来看:区块链并不是一种单一的技术,而是多种技术整合的结果。这些技术以新的结构组合在一起,形成了一种新的数据记录、存储和表达的方式。


区块链目前还处在早期阶段,一些嗅到商机的大企业,技术牛人都对此开展了研究。初期阶段,想想有木有好兴奋....


2、区块链技术的特征

2.1、开放,共识

任何人都可以参与到区块链网络,每一台设备都能作为一个节点,每个节点都允许获得一份完整的数据库拷贝。节点间基于一套共识机制,通过竞争计算共同维护整个区块链。任一节点失效,其余节点仍能正常工作。

2.2、去中心,去信任

区块链由众多节点共同组成一个端到端的网络,不存在中心化的设备和管理机构。节点之间数据交换通过数字签名技术进行验证,无需互相信任,只要按照系统既定的规则进行,节点之间不能也无法欺骗其它节点。

2.3、交易透明,双方匿名

区块链的运行规则是公开透明的,所有的数据信息也是公开的,因此每一笔交易都对所有节点可见。由于节点与节点之间是去信任的,因此节点之间无需公开身份,每个参与的节点都是匿名的。

2.4、不可篡改,可追溯

单个甚至多个节点对数据库的修改无法影响其他节点的数据库,除非能控制整个网络中超过51%的节点同时修改,这几乎不可能发生。区块链中的每一笔交易都通过密码学方法与相邻两个区块串联,因此可以追溯到任何一笔交易的前世今生。


3、区块链中的关键技术原理

区块链的整个架构如下图所示

3.1、数字签名

数字签名涉及到一个哈希函数、发送者的公钥、发送者的私钥。数字签名有两个作用,一是能确定消息确实是由发送方签名并发出来的。二是数字签名能确定消息的完整性。

工作原理

发送报文时,发送方用一个哈希函数从报文文本中生成报文摘要,然后用自己的私钥对摘要进行加密,加密后的摘要将作为报文的数字签名和报文一起发送给接收方,接收方首先用与发送方一样的哈希函数从接收到的原始报文中计算出报文摘要,接着再用发送方的公钥来对报文附加的数字签名进行解密,如果这两个摘要相同、那么接收方就能确认该数字签名是发送方的。


3.2、SHA256

一种求Hash值的加密算法。

工作原理

将任何一串数据输入到SHA256将得到一个256位的Hash值(散列值)。其特点:相同的数据输入将得到相同的结果。输入数据只要稍有变化(比如一个1变成了0)则将得到一个千差万别的结果,且结果无法事先预知。正向计算(由数据计算其对应的Hash值)十分容易。逆向计算(俗称“破解”,即由Hash值计算出其对应的数据)极其困难,在当前科技条件下被视作不可能。


3.3、Merkle Tree

一种哈希二叉树,使用它可以快速校验大规模数据的完整性。在比特币网络中,Merkle 树被用来归纳一个区块中的所有交易信息,最终生成这个区块所有交易信息的一个统一的哈希值,区块中任何一笔交易信息的改变都会使得使得Merkle 树改变。

工作原理

网上大都称为Merkle Hash Tree,这是因为 它所构造的Merkle Tree的所有节点都是Hash值。Merkle Tree具有以下特点:

1. 它是一种树,可以是二叉树,也可以多叉树,无论是几叉树,它都具有树结构的所有特点;

2. Merkle树的叶子节点上的value,是由你指定的,这主要看你的设计了,如Merkle Hash Tree会将数据的Hash值作为叶子节点的值;

3 非叶子节点的value是根据它下面所有的叶子节点值,然后按照一定的算法计算而得出的。如Merkle Hash Tree的非叶子节点value的计算方法是将该节点的所有子节点进行组合,然后对组合结果进行hash计算所得出的hash value。


3.4、时间戳服务器

大多用来进行比对以及验证处理,时间戳服务器是一款基于PKI(公钥密码基础设施)技术的时间戳权威系统,对外提供精确可信的时间戳服务。它采用精确的时间源、高强度高标准的安全机制,以确认系统处理数据在某一时间的存在性和相关操作的相对时间顺序,为信息系统中的时间防抵赖提供基础服务。


4、区块链的第一个成功应用


比特币是区块链技术的第一个应用,它的生态圈如下:


任何机器都可以运行一个完整的比特币节点,一个完整的比特币节点包括如下功能:

1.钱包,允许用户在区块链网络上进行交易
2.完整区块链,记录了所有交易历史,通过特殊的结构保证历史交易的安全性,并且用来验证新交易的合法性
3.矿工,通过记录交易及解密数学题来生成新区块,如果成功可以赚取奖励
4.路由功能,把其它节点传送过来的交易数据等信息再传送给更多的节点


第1步:所有者A利用他的私钥对前一次交易(比特货来源)和下一位所有者B签署一个数字签名,并将这个签名附加在这枚货币的末尾,制作成交易单

要点:B以公钥作为接收方地址

第2步:A将交易单广播至全网,比特币就发送给了B,每个节点都将收到的交易信息纳入一个区块中

要点:对B而言,该枚比特币会即时显示在比特币钱包中,但直到区块确认成功后才可用。目前一笔比特币从支付到最终确认成功,得到6个区块确认之后才能真正确认到帐。

第3步:每个节点通过解一道数学难题,从而去获得创建新区块权利,并争取得到比特币的奖励(新比特币会在此过程中产生)

要点:节点反复尝试寻找一个数值,使得将该数值、区块链中最后一个区块的Hash值以及交易单三部分送入SHA256算法后能计算出散列值X(256位)满足一定条件(比如前20位均为0),即找到数学难题的解。由此可见,答案并不唯一

第4步:当一个节点找到解时,它就向全网广播该区块记录的所有盖时间戳交易,并由全网其他节点核对

要点:时间戳用来证实特定区块必然于某特定时间是的确存在的。比特币网络采取从5个以上节点获取时间,然后取中间值的方式作为时间戳。

第5步:全网其他节点核对该区块记账的正确性,没有错误后他们将在该合法区块之后竞争下一个区块,这样就形成了一个合法记账的区块链。

要点:每个区块的创建时间大约在10分钟。随着全网算力的不断变化,每个区块的产生时间会随算力增强而缩短、随算力减弱而延长。其原理是根据最近产生的2016年区块的时间差(约两周时间),自动调整每个区块的生成难度(比如减少或增加目标值中0的个数),使得每个区块的生成时间是10分钟。




5、主要的数据结构

区块链以区块为单位组织数据。全网所有的交易记录都以交易单的形式存储在全网唯一的区块链中。


区块是一种记录交易的数据结构。每个区块由区块头和区块主体组成,区块主体只负责记录前一段时间内的所有交易信息,区块链的大部分功能都由区块头实现。


1.版本号,标示软件及协议的相关版本信息
2.父区块哈希值,引用的区块链中父区块头的哈希值,通过这个值每个区块才首尾相连组成了区块链,并且这个值对区块链的安全性起到了至关重要的作用
3.Merkle根,这个值是由区块主体中所有交易的哈希值再逐级两两哈希计算出来的一个数值,主要用于检验一笔交易是否在这个区块中存在
4.时间戳,记录该区块产生的时间,精确到秒
5.难度值,该区块相关数学题的难度目标
6.随机数(Nonce),记录解密该区块相关数学题的答案的值


在当前区块加入区块链后,所有矿工就立即开始下一个区块的生成工作。

1.把在本地内存中的交易信息记录到区块主体中
2.在区块主体中生成此区块中所有交易信息的 Merkle 树,把 Merkle 树根的值保存在区块头中
3.把上一个刚刚生成的区块的区块头的数据通过 SHA256 算法生成一个 哈希值填入到当前区块的父哈希值中
4.把当前时间保存在时间戳字段中
5.难度值字段会根据之前一段时间区块的平均生成时间进行调整以应对整个网络不断变化的整体计算总量,如果计算总量增长了,则系统会调高数学题的难度值,使得预期完成下一个区块的时间依然在一定时间内


6、核心问题

6.1工作量证明

区块头包含一个随机数,使得区块的随机散列值出现了所需的0个数。节点通过反复尝试来找到这个随机数,这样就构建了一个工作量证明机制。工作量证明机制的本质是一CPU一票,“大多数”的决定表达为最长的链,因为最长的链包含了最大的工作量。如果大多数的CPU为诚实的节点控制,那么诚实的链条将以最快的速度延长,并超越其他的竞争链条。如果想要修改已出现的区块,攻击者必须重新完成该区块的工作量外加该区块之后所有区块的工作量,并最终赶上和超越诚实节点的工作量。


6.2分叉

同一时间段内全网不止一个节点能计算出随机数,即会有多个节点在网络中广播它们各自打包好的临时区块(都是合法的)。

某一节点若收到多个针对同一前续区块的后续临时区块,则该节点会在本地区块链上建立分支,多个临时区块对应多个分支。该僵局的打破要等到下一个工作量证明被发现,而其中的一条链条被证实为是较长的一条,那么在另一条分支链条上工作的节点将转换阵营,开始在较长的链条上工作。其他分支将会被网络彻底抛弃。


6.3双花

双花,即二重支付,指攻击者几乎同时将同一笔钱用作不同交易。

每当节点在把新收到的交易单加入区块之前,会顺着交易的发起方的公钥向前遍历检查,检查当前交易所用的币是否确实属于当前交易发起方,此检查可遍历到该币的最初诞生点(即产生它的那块区块源)。虽然多份交易单可以任意序的广播,但是它们最终被加入区块时必定呈现一定的顺序。区块之间以Hash值作为时间戳则区块,这决定了任意一笔交易资金来源都可以被确定的回溯。

7、应用场景

从需求端来看,金融、医疗、公证、通信、供应链、域名、投票等领域都开始意识到区块链的重要性并开始尝试将技术与现实社会对接。

从投资端来看,区块链的投资资金供给逐步上升,风投的投资热情也不断高涨,投资密度越来越大,供给端的资金供给有望推动技术的进一步发展。

从市场应用来看,区块链能成为一种市场工具,帮助社会削减平台成本,让中间机构成为过去;区块链将促使公司现有业务模式重心的转移,有望加速公司的发展。


8、资料来源

http://www.doc88.com/p-3843131640343.html   区块链技术发展现状和展望

其他网页收集



个人对于区块链技术的理解 提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、区块链落地应用二、区块链1.区块链的定义2.区块链的特征3.区块链的作用—智能社会的关键技术4.区块链的应用场景5.全球区块链发展现状总结 前言 本人软件工程(区块链)专业大一新生,这仅仅是自己的理解,欢迎各位大神的指导。 提示:以下是本篇文章正文内容,下面案例可供参考 一、区块链落地应用 1.蚂蚁区块链率先用于轨道交通:地铁“通票”覆盖长三角。该区域居民只需使用自己所在城市地铁APP,即可在其余长三角城市扫码坐车 阅读详情

相关推荐

我作为区块链技术研发者的区块链从业经历和对其的理解

在我的区块链从业经历中,我参与了多个区块链项目的开发和实施。在此基础上,我使用了不同的区块链平台和开发工具,如以太坊、Hyperledger Fabric和EOS等,进行智能合约和去中心化应用(DApp)的开发。总结起来,作为一名区块链技术研发者,我的区块链从业经历使我对区块链技术有了深入的理解。我参加了各类区块链技术大会和研讨会,与其他区块链开发者和研究者进行交流,分享我的经验和见解。区块链技术是近年来备受关注的创新技术,它以其去中心化、不可篡改和安全性高的特点,对各行业产生了深远的影响。

YekForth的博客 593

区块链 一

区块链技术本质是密码学与p2p的一次融合。 区块链技术的核心优势是去中心化,能够通过运用数据加密、时间戳、分布式共识和经济激励等手段,在节点无需互相信任的分布式系统中实现基于去中心化信用的点对点交易、协调与协作,从而为解决中心化机构普遍存在的高成本、低效率和数据存储不安全等问题提供了解决方案。

huangzfone的博客 1177

区块链原理(知乎解读版)

区块链原理(知乎解读版),言简意赅,比错不错的介绍

为什么说区块链不可篡改

区块链数据真的不可篡改吗? 在第一篇文章中我们提到“由于去中心化的分布式结构中,每个节点都具有所有的数据信息,想要更改某一个数据块,需要同时至少51%的节点同意,非常困难。”本篇文章中,我们来看一下区块链上的数据是否真的无法篡改? 首先,先来了解一下什么是区块链节点? 区块链节点 节点是区块链应用技术里处理信息的基本单位,节点的作用是广播交易、记录交易。 那什么是区块链中的节点呢?负...

小树苗 7096

Solidworks曲面建模学习(二)——3D草图

本文主要是演示有一些零件在solidworks中通过3D草来绘制会更加方便。

东东不熬夜的博客 9505

如何制作poster以及下载poster模板

目录 前言 一、poster 二、制作软件 1.常用软件 2.专用工具 3.模板下载网址 总结 前言 随着会议的发展,参与国际会议成为研究工作展示的重要途径。poster逐步成为一个方面专家交流的重要工具。本文主要简单介绍一些poster的制作工具。 一、poster Paper, presentation, poster是deadline期间作者的三座大山。poster的内容较小,但内容都是论文中的干货。 二、制作软件 一般来说,制作poster使用PowerPoint.

yiyang14的博客 2万+

Merkle Tree及其应用

Merkle Tree,是一种树(数据结构中所说的树),网上大都称为Merkle Hash Tree,这是因为 它所构造的Merkle Tree的所有节点都是Hash值。Merkle Tree具有以下特点:

expleeve 9807

伺服驱动器485通信

485通信使用方法,485通信在上位机和伺服驱动器之间的应用,根据需要驱动电机旋转。

haipi511715316的博客 1万+

区块链节点

区块链节点相关信息

weixin_45620615的博客 4607

拖动无标题栏的cef3窗口

拖动嵌入了cef3的无标题栏win32窗口,本质上就是拖动子窗口移动父窗口这么个事情,这个在自己创建窗口的程序上处理非常简单,cef封装较多,想修改的完善点步骤较多。         cef所用版本3.2623。         就用cefclient来做测试工程,首先建议在cefclient_win.cc的RunMain函数中的app = new ClientAppRenderer();前面

loveyong1990的专栏 6161

MTK手机传感器驱动开发避坑指南:从SCP代码大小限制到Overlay加载流程详解

本文详细解析了MTK平台传感器驱动开发中的常见问题,包括SCP代码大小限制、Overlay加载流程及客制化传感器集成。通过实战案例和优化策略,帮助开发者高效解决MTK传感器驱动开发中的技术难题,提升开发效率。

weixin_42522374的博客 401

简单的理解区块链——概念篇(上)

如何使得零基础的你能够通俗易懂的理解区块链? 这个不仅是作为读者的你想要搞懂,而且是我本人也很想知道如何向普通人通俗易懂的解释什么叫区块链? 突然有一晚(也就是今晚),我就在想,既然我看过许多相关论文和书籍,何不把我理解的东西记录在优快云上,让不懂得人能快速了解它,让了解它的人能进一步加深理解,也可以相互讨论,相关学习。 因此,有了这篇博文,持续更新中! 闲话少说,让我们一起来看看,什么叫区块链吧? 一、区块链的由来? ...

cryptocxf的博客 1091

基于ANSYS的电磁兼容仿真教程

最近,在做某系统的EMC仿真,使用ANSYS套件,对仿真学习做简要记录。本书简介与目录如下:本书配套有:视频教程+工程源文件+彩色仿真图片,下载链接如下:(审核中)第1章 基础知识1.1 电磁兼容基础​​​MS2、EMC三要素:3、 国际无线电干扰特别委员会标准:CISPR标准4、电磁兼容测试认证:传导发射(CE)、传导敏感度(CS)、辐射发射(RE)和辐射敏感度(RS)测试。

weixin_42508010的博客 2054

区块链的理解

申明:预估看到本问题的知乎er应该都是想要入门区块链,那么本回答也主要是进行一个入门级别的介绍。只是入门级别介绍,不适合区块链从业人员提升学习。 ----------------------------------- 回答的目录如下: 一、区块链是什么? 二、从业务角度学习区块链技术? 三、从技术角度学习区块链技术? 四、学习资料推荐与共

Json的知识梦工厂 1305

【数据集】全球预报系统GFS概述:数据下载及处理

【数据集】全球预报系统GFS概述:数据下载及处理

WW、forever的博客 5751

OpenClaw 从新手到中级完整教程【完整 持续更新版】

OpenClaw(曾用名 ClawdBot/Moltbot)是 2026 年最火的开源 AI Agent 项目,GitHub 已获得超过 68,000 星标。它不是普通的聊天机器人,而是一个真正能够执行任务的个人 AI 助理。

FeelTouch Labs 3115

从区块链技术研发者的角度,说说我的区块链从业经历和对它的理解

前序 前几天,区块链这个词,因为领导的提名,再次涌上了头条,这次不仅仅是开发者的头条新闻,还包含普罗大众的头条新闻。 在朋友圈看到圈内的从业者或朋友在纷纷转发新闻链接的时候,我第一反应是看了下我入手的虚拟货币,涨得超出意料,做跌的单被触发了,再次被套。 回想自己这两年不够的区块链技研发术从业经历,和大家分享下。 缘起 - 投机 我接触到区块链相关产品的时候是在2018年4月,正式从 An...

xiyue001的博客 2263

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

从构建区块链理解区块链概念

从构建区块链理解区块链概念 import hashlib import json from datetime import time from urllib.parse import urlparse from uuid import uuid4 import requests from flask import Flask, jsonify, request class Blockchain(object): def __init__(self): # 当前交易的列表

恒 3069

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

关于区块链理解的三大误区

关于区块链技术的三大误区 误区一:区块链是一种颠覆性的新技术 ①区块链不是一项新技术,而是一个新的技术组合 ②其关键技术为P2P动态组网,基于密码学的共享账本,共识机制(拜占庭将军问题,即一种分布式场景下的一致性问题),智能合约等已经有10年以上的老技术组合而成 误区二:区块链就是去中心化(Decentralized)的 ①软件系统的网络架构一般有三种模式:单中心,多中心,分布式。单词Decent...

weixin_43402353的博客 1022

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

深入理解区块链

一提到比特币、区块链,能让我们最先想到的就是去中心化,分布式数据库/账本,但是什么是去中心化,或者什么是区块链,却未必都能说得清。很多人对于区块链的认识就止步于此。网上查一查什么是区块链,各种专业词汇扑面而来,什么点对点网络,什么工作量证明机制(PoW),什么数字签名、共识算法,把人看得云里雾里,也未必真能搞得懂。实际上,区块链就是这样的一种技术,它并非是从零开始,而是基于已...

weixin_30364147的博客 652

深入解读理解区块链

一提到比特币、区块链,能让我们最先想到的就是去中心化,分布式数据库/账本,但是什么是去中心化,或者什么是区块链,却未必都能说得清。很多人对于区块链的认识就止步于此。网上查一查什么是区块链,各种专业词汇扑面而来,什么点对点网络,什么工作量证明机制(PoW),什么数字签名、共识算法...

chunan6887的博客 2067

区块链入门第一课:理解区块链的基本概念

先看一段视频,初步了解区块链的概念(注意:本文章以比特币系统为例子,比特币系统≠区块链,而是区块链包含比特币系统)区块链概念入门视频区块链是一种分布式、去中心化的数字账本技术,通过加密和共识机制确保数据不可篡改、可追溯。

GreenHands495的博客 1660

初学者区块链:你应该理解的关键术语

区块链技术是最近的流行语,在所有行业中都像野火一样蔓延;无论是金融系统,医疗保健还是区块链初创公司。但是,有一些特定的区块链关键术语,用户需要知道这些术语才能与区块链革命保持同步。根据一些估计,这种区块链革命可以超越20世纪90年代的互联网革命。 因此,了解这些关键术语将有助于初学者驾驭常常令人困惑的区块链世界。 以下是关键术语列表: Alcoins altcoin这个词来源于关键术语“比特币”...

weixin_34306676的博客 144

小白入门必看:怎样理解区块链行业

说谎和沉默可以说是现在人类社会里日渐蔓延的两大罪恶。事实上,我们经常说谎,动不动就沉默不语。 ——村上春树 这段时间好久没更文了,有一些感悟,趁着19年末的小尾巴,我这里就一并写出来吧。 说在前面: 看完本文之后,不能让你一夜暴富,也没有什么致富秘籍。有的只是针对区块链这个行业,一点小小的拙见,希望对你们有用。 我把想写的内容划分成了多个问题,我将以自问自答的形式,阐述...

SuperMan_555的博客 1220
上一篇: python学习(一) windows开发环境搭建+linux运行环境
下一篇: Akka 实践(一)Akka基础
虎纠卫
博客等级 码龄24年 440粉丝 120原创
评论 8
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值