睿阳知识库 睿阳知识库
首页
  • npm库配置
  • PC端

    • npm常用命令
    • vue问题记录
    • SEO基础知识及优化
    • 禁止别人调试我的前端页面代码
  • 移动端

    • 小程序
    • Risun.js使用说明
  • Java

    • Maven库配置
    • RSP开发框架
    • RSP框架插件
  • .NET

    • Nuget库配置
  • Python

    • Pypi库配置
  • 常见问题

    • Word转Pdf字体错乱
    • 使用Jacob进行Word导出PDF
  • 自动部署
  • 前端带路径
  • Linux

    • 应用部署
  • Windows

    • 应用部署
  • 视频监控
  • MySQL系列~
  • 应用高可用
  • 静态代码扫描
  • OpenSSH版本升级
  • 区块链~
  • 软件过程文档目录
  • 著作权申请须知及申报示例
  • 项目申报技巧
  • 项目竣工资料清单
  • 科技项目申报流程及注意事项
  • 初级职称申报
  • 产品需求文档基础知识
  • 产品经理需了解的技术知识
  • 墨刀原型设计指南
  • 文档规范
  • 文档规范
  • 投标工作总结(一)
  • 科技项目申报心得体会
  • 数字孪生
  • AI
  • RSP基础平台
  • RMCloud
  • 区块链
  • 网络态势感知
  • 国产化
  • 数据湖
  • 贡献度
  • 文档编写说明
  • Markdown教程
工作链接
首页
  • npm库配置
  • PC端

    • npm常用命令
    • vue问题记录
    • SEO基础知识及优化
    • 禁止别人调试我的前端页面代码
  • 移动端

    • 小程序
    • Risun.js使用说明
  • Java

    • Maven库配置
    • RSP开发框架
    • RSP框架插件
  • .NET

    • Nuget库配置
  • Python

    • Pypi库配置
  • 常见问题

    • Word转Pdf字体错乱
    • 使用Jacob进行Word导出PDF
  • 自动部署
  • 前端带路径
  • Linux

    • 应用部署
  • Windows

    • 应用部署
  • 视频监控
  • MySQL系列~
  • 应用高可用
  • 静态代码扫描
  • OpenSSH版本升级
  • 区块链~
  • 软件过程文档目录
  • 著作权申请须知及申报示例
  • 项目申报技巧
  • 项目竣工资料清单
  • 科技项目申报流程及注意事项
  • 初级职称申报
  • 产品需求文档基础知识
  • 产品经理需了解的技术知识
  • 墨刀原型设计指南
  • 文档规范
  • 文档规范
  • 投标工作总结(一)
  • 科技项目申报心得体会
  • 数字孪生
  • AI
  • RSP基础平台
  • RMCloud
  • 区块链
  • 网络态势感知
  • 国产化
  • 数据湖
  • 贡献度
  • 文档编写说明
  • Markdown教程
工作链接
  • 视频监控
  • MySQL系列

  • 应用高可用
  • 静态代码扫描
  • OpenSSH升级
  • 区块链

    • 0.学习路线
    • 01.概述
    • 02.预备知识
    • 03.区块链原理
      • 一. 区块链结构
      • 二. 区块结构
        • 1. 区块头
        • 2. 区块体
      • 三. 安全性
        • 1. 交易消息
        • 2. 交易的可靠性
        • 3. 篡改链上交易
    • 04.比特币挖矿原理
    • 05.比特币交易原理
    • 06.电子钱包
    • 07.以太坊概述
    • 08.以太坊账户
    • 09.以太坊交易
    • 10.以太坊数据结构
    • 11.以太坊客户端
    • 12.以太坊权益证明
    • 13.智能合约
    • 14.Solidity精解
    • 15.HardHat说明
    • 16.去中心化应用
    • 17.区块链-供应链
  • 技术
  • 区块链
孙超
2023-06-13
目录

03.区块链原理

区块链就是一个不断增长的全网总帐本,每个完整节点都拥有完整的区块链,并且,节点总是信任最长的区块链,伪造区块链需要拥有超过51%的全网算力。

# 一. 区块链结构

区块链是由一个一个区块构成的有序链表,每一个区块都记录了一系列交易,并且,每个区块都指向前一个区块,从而形成一个链条。

block-chain

# 二. 区块结构

每个区块都是由头部(Header)和体(Body)构成的,区块哈希(Block Hash) 是一个区块的唯一标识。

区块哈希(Block Hash) = Hash256(区块头)

# 1. 区块头

区块头中一般包含:上一个区块哈希(Prev Block Hash),区块体哈希(Merkle Hash),当前时间戳、其他信息(版本Version、目标难度Bits、Nonce等)

  • 上一个区块哈希(Prev Block Hash)

    链中,当前区块的上一个区块的区块哈希(Block Chain)。通过 Prev Block Hash 来追踪到上一个区块,进而构成整个区块链。

    区块链的第一个区块(又称创世区块)并没有上一个区块。因此,它的Prev Hash被设置为00000000...000。

  • 区块体哈希(Merkle Hash)

    通过 Merkle Hash 算法,对区块体中的交易记录进行哈希计算,生成的哈希值。

# 2. 区块体

区块体中存放的是整个链上的所有交易记录,参与交易的主体都是匿名的。

交易主体持有私钥,发起交易时,会向整个区块链进行广播,广播的内容一般是公钥、地址以及交易信息的签名。其他交易主体通过公钥对交易消息进行验证。

# 三. 安全性

# 1. 交易消息

通过私钥可以对消息进行签名,签名可以保证消息防伪造,防篡改,防抵赖。

  • 签名不可伪造,因为私钥只有签名人自己知道,所以其他人无法伪造签名;
  • 消息不可篡改,如果原始消息被人篡改了,对签名进行验证将失败;
  • 签名不可抵赖,如果对签名进行验证通过了,签名人不能抵赖自己曾经发过这一条消息。

# 2. 交易的可靠性

举例来说,小张要给小明1万块钱(数字货币),这笔交易要完成,有两个前提条件:

  1. 这笔交易真是小张发出的
  2. 小张真的有1万块钱(数字货币)
  • 前提一,通过数字签名就可以验证这个声明是否是小张做的,并且,一旦验证通过,小张是无法抵赖的。

  • 前提二,任何人都可以从区块链查询到任意公钥对应的比特币余额,因为任何人都有整个区块链的完整交易记录。这样就可以验证小张是否真的有交易1万块钱(数字货币)的能力。

总结:

  • 私钥是花费比特币的唯一手段
  • 所有交易被记录在区块链中,可以通过公钥查询所有交易信息

# 3. 篡改链上交易

最长链原则,拥有超过51%的全网算力才能篡改记录。

tamper

02.预备知识
04.比特币挖矿原理

← 02.预备知识 04.比特币挖矿原理→

最近更新
01
vue问题记录
10-11
02
RSP进度
10-09
03
贡献度
09-28
更多文章>
Copyright © 2014-2025 甘肃睿阳科技有限公司 陇ICP备15001783-1号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式