一文理解区块链

news2025/1/7 13:48:13

一文搞懂区块链

区块链的诞生,源于对 电子货币(e-money) 的探索需求,即Bitcoin的产生。因此,了解的小伙伴应该知道区块链的常见定义是:不可篡改的分布式账本


为什么发明“账本”,而不是直接发明“货币”?

账本的核心功能是记录 资产的所有权及其转移。只要有一个清晰可靠的账本,就能解决资产的所有权归属和流转问题。

现实中的账本与中心化体系

  1. 纸币 本质上也是一种“账本”,它被国家和社会认可,代表一种价值。
  2. 传统金融体系由中心化机构(如银行、政府)维护账本,这些机构负责记录货币发行总量及价值体系。
  3. 问题:中心化账本依赖机构的可信度,容易受篡改、腐败或单点故障的影响。

区块链的目标 是通过去中心化的账本解决信任问题,从而实现无需依赖中心机构的电子货币。


区块链与支付宝的区别

许多人可能会疑问:“电子货币不就是支付宝吗?”

支付宝的局限性

支付宝属于 中心化平台,用户需要完全信任阿里巴巴。然而,区块链旨在构建一种 无需信任(trustless) 的电子货币系统,依靠 算法和共识机制,而非中心化机构的控制。

区块链的信任机制

区块链通过分布式网络和共识机制,让 所有参与者共同维护账本,从而避免单一机构的垄断和人为操控。


去中心化账本的设计

为什么选择分布式?

  1. 抗垄断:所有参与者共同维护账本,防止单个机构操纵数据。
  2. 抗单点故障:即使某些节点失效,账本仍然可以通过其他节点恢复。

区块链的核心概念

区块链(Blockchain)是一个 区块链式的账本,其结构可以简单描述为:

  • 链式结构:区块链由多个区块(Block)组成,每个区块依赖于前一区块的哈希值,形成一条链(Chain)。
  • 分布式存储:账本副本分布存储于所有参与节点。

在这里插入图片描述

看这张图Block 2的hash等于Block 3的prev,意思就是Block 3是指向Block 2的,那如果有人改了Block2的data,那Block 2的hash会随之改变,小伙伴可以先去了解一下什么是hash(哈希函数)。

区块链如何实现“不可篡改”?

区块链并非完全不可篡改,而是篡改的 成本高到不值得尝试

核心技术:哈希函数和工作量证明

  1. 哈希函数:每个区块包含前一区块的哈希值(一个加密摘要),任何修改都会使该区块及其后的所有区块的哈希值失效。其实想改也行,就是所有的nonce需要重新计算,那样才能保证一个block指向一个block。
  2. 工作量证明(Proof of Work):整个重新算的过程就叫PoW。

篡改难度分析

假设试图篡改第 2 个区块的内容:

  1. 必须重新计算第 2 个区块及其后续所有区块的哈希值。
  2. 同时需要超过网络中 51% 的算力(即 51% 攻击),否则其他节点会拒绝该篡改。

区块链的共识机制

区块链的“不可篡改”依赖于共识机制的设计:

  • 51% 攻击的代价:若攻击者控制了 51% 的算力,理论上可以篡改数据。但此时攻击者已经是整个网络的主导者,继续维持网络的正常运行会比篡改更有利可图。
  • 共识原理:通过提高篡改成本,使得不诚信行为变得不可行。

区块链的价值在于构建一个 高成本篡改、低成本验证 的分布式账本,为电子货币及其他应用场景提供去中心化信任的解决方案。

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

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

相关文章

C 实现植物大战僵尸(四)

C 实现植物大战僵尸(四) 音频稍卡顿问题,用了 SFML 三方库已优化解决 安装 SFML 资源下载 https://www.sfml-dev.org/download/sfml/2.6.2/ C 实现植物大战僵尸,完结撒花(还有个音频稍卡顿的性能问题,待…

编程入门(2)-2024年 RAD Studio version 12发布综述

随着2024年即将画上句号,我想借此机会回顾一下我们在这一年中发布的一些Embarcadero产品、行业趋势,并感谢我们尊贵的客户们对我们的产品一如既往的支持。这一年对我们来说充满了激动人心的变化和发展,我们非常高兴能与您一起踏上这段旅程。 …

[Day 12]904.水果成篮

今天给带来的题目是滑动窗口的另一种题目,之前我们讲了滑动窗口题目中长度最小的子数组,今天这个题目实际上是求长度最长的子数组 题目描述:力扣链接 904.水果成篮 你正在探访一家农场,农场从左到右种植了一排果树。这些树用一个整…

SpringBoot 2.6 集成es 7.17

引言 在现代应用开发中,Elasticsearch作为一个强大的搜索引擎和分析引擎,已经成为许多项目不可或缺的一部分。Spring Boot作为Java生态中最受欢迎的微服务框架之一,其对Elasticsearch的支持自然也是开发者关注的焦点。本文将详细介绍如何在S…

【数据仓库】hive on Tez配置

hive on Tez 搭建 前提是hive4.0hadoop3.2.2数仓已搭建完成,现在只是更换其执行引擎 为Tez。搭建可参考【数据仓库】hive hadoop数仓搭建实践文章。 Tez 下载 下载地址 https://archive.apache.org/dist/tez/ 官网地址 https://tez.apache.org/releases/apac…

云备份项目--客户端编写

文章目录 10. 客户端工具类10.1 整体的类10.2 测试 11 客户端数据管理类11.1 整体的类11.2 测试 12. 客户端业务处理12.1 整体的类 完整的代码–gitee链接 10. 客户端工具类 10.1 整体的类 在windows平台下进行开发,Util.hpp实际上是客户端FileUtil.hpp和JsonUtil…

MySQL 的事务与多版本并发控制(MVCC)的那些事

什么是事务原子性:一致性隔离性 问题1: 为什么MySQL要使用mvcc实现隔离性而不使用 锁 解决并发问题?持久性 问题2: MySQL 不是磁盘数据库吗,持久化为什么是 redo log 保证的?问题 3: redo log 储存了什么东西,持久化(崩溃恢复是怎么做的?)问题 4 : MySQL 的 bing log (二进制…

Eplan 项目结构(高层代号、安装地点、位置代号)

Eplan中的项目结构分为3个层次: (1)功能面结构。指明这个系统的功能,有什么用途。在EPlan中,指的就是"高层代号()"。 一般指的是线体。 (2)位置面结构。指明该…

OWASP ZAP之API 请求基础知识

ZAP API 提供对 ZAP 大部分核心功能的访问,例如主动扫描器和蜘蛛。ZAP API 在守护进程模式和桌面模式下默认启用。如果您使用 ZAP 桌面,则可以通过访问以下屏幕来配置 API: Tools -> Options -> API。 ZAP 需要 API 密钥才能通过 REST API 执行特定操作。必须在所有 …

短信通知在 IOS 17/18 中不起作用?这是修复方法

问题 “我最近将 iPhone 更新到了 iOS 17/18。我真的很兴奋,直到我发现 iOS 17/18 中没有 iMessage 文本通知。此后我的兴奋变成了失望。请告诉我如何解决这个问题? ” 我们知道这可能是一个大问题,因为我们通常不会打开消息应用程序&#…

从0开始的opencv之旅(1)cv::Mat的使用

目录 Mat 存储方法 创建一个指定像素方式的图像。 尽管我们完全可以把cv::Mat当作一个黑盒,但是笔者的建议是仍然要深入理解和学习cv::Mat自身的构造逻辑和存储原理,这样在查找问题,或者是遇到一些奇奇怪怪的图像显示问题的时候能够快速的想…

机场安全项目|基于改进 YOLOv8 的机场飞鸟实时目标检测方法

目录 论文信息 背景 摘要 YOLOv8模型结构 模型改进 FFC3 模块 CSPPF 模块 数据集增强策略 实验结果 消融实验 对比实验 结论 论文信息 《科学技术与工程》2024年第24卷第32期刊载了中国民用航空飞行学院空中交通管理学院孔建国, 张向伟, 赵志伟, 梁海军的论文——…

《Rust权威指南》学习笔记(二)

枚举enum 1.枚举的定义和使用如下图所示: 定义时还可以给枚举的成员指定数据类型,例如:enum IpAddr{V4(u8, u8, u8, u8),V6(String),}。枚举的变体都位于标识符的命名空间下,使用::进行分隔。 2.一个特殊的枚举Option&#xff0…

OSI模型的网络层中产生拥塞的主要原因?

( 1 )缓冲区容量有限;( 1.5 分) ( 2 )传输线路的带宽有限;( 1.5 分) ( 3 )网络结点的处理能力有限;( 1 分…

linux上安装MySQL教程

1.准备好MySQL压缩包,并进行解压 tar -xvf mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar -C /usr/local 2.检查是否有mariadb数据库 rpm -aq|grep mariadb 关于mariadb:是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目…

R语言中的时间序列分析·

1 数据集说明 AirPassengers 1949~1960年每月乘坐飞机的乘客数 JohnsonJohnson Johnson&Johnson每股季度收入 nhtemp 康涅狄格州纽黑文地区从1912年至1971年每年的平均气温 Nile 尼罗河的流量 sunspots 1749年~1983年月平均太阳黑子数 2 相关包 xts、forecast、tser…

LookingGlass使用

背景 Looking Glass 是一款开源应用程序,可以直接使用显卡直通的windows虚拟机。 常见环境是Linux hostwindows guest,基本部署结构图: 编译 git clone --recursive https://github.com/gnif/LookingGlass.git编译client mkdir client/b…

HCIA-Access V2.5_7_3_XG(S)原理_关键技术

为什么需要测距 因为上行链路只有一根纤,而且每一个ONU到OLT的距离是不一样的,虽然上行通过TDMA技术,让每一个ONU在不同的时间段发送数据,但是仍然有可能在同一时刻到达分光器,产生数据冲突。 有测距的信元传输 所以为了避免碰撞冲突,通过ONU在注册的时候就会启动测距…

四、VSCODE 使用GIT插件

VSCODE 使用GIT插件 一下载git插件与git Graph插件二、git插件使用三、文件提交到远程仓库四、git Graph插件 一下载git插件与git Graph插件 二、git插件使用 git插件一般VSCode自带了git,就是左边栏目的图标 在下载git软件后vscode的git插件会自动识别当前项目 …

RISC-V学习笔记

1.RISC ISA1个基本整数指令集多个可选的扩展指令集,如RV32I表示支持32位整数指令集。I表示基本指令集,M表示整数乘法与除法指令集,A表示存储器原子指令集,F表示单精度浮点指令集,D表示双精度浮点指令集等,C…