IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 区块链 -> 【区块链启示录:中本聪文集】二: 比特币的工作原理(下) -> 正文阅读

[区块链]【区块链启示录:中本聪文集】二: 比特币的工作原理(下)

02-比特币的工作原理

哈希函数——数字指纹

  • 加密哈希是一种执行简单任务的复杂算法,可以将任意长度的文字转化成固定长度的随机字符串。哈希函数的输出结果通常成为信息摘要,被视为文件的指纹。可以看到,只更改了下面输入的一个字符,输出结果便会看起来完全不同。
    在这里插入图片描述
  • 生成摘要很容易,但是不可能从摘要中推导出原式文本。 于是,哈希函数是实现比特币的理想选择。矿工寻找问题答案时常常需要数百万次哈希计算才能找到正确的模式,但其他矿工验证答案的正确性则只需要一次哈希计算。
  • 理想的哈希函数有四个主要属性:
    1. 计算任何给定消息的哈希值要简单
    2. 不可能依据给定的哈希值生成消息
    3. 不可能只修改消息而保持哈希值不变
    4. 不可能找到具有相同哈希值的两条消息
  • 用户要对比特币系统的文档或文本进行数字签名,哈希函数是这个过程的一部分。
  • 比特币采用的是用于工作量证明的 S H A ? 256 SHA-256 SHA?256 以及用户比特币地址的 R I P E M D ? 160 RIPEMD-160 RIPEMD?160。哈希函数是工作量证明的核心。

矿工的工作量证明

  • 每个矿工在任何时刻都以解答难题的方式积极从事生成下一个即将加入区块链的区块工作,这就是工作量证明。第一个完成工作量证明的矿工获得的奖励包括新筑的比特币以及产出区块交易费的总和。当比特币都铸造完毕后,矿工将仅以交易费作为奖励。
  • 因此,可以认为工作量证明是比特币矿工之间的竞赛,竞相发现将要生成区块的具有某种特征的 S H A ? 256 SHA-256 SHA?256 哈希值。矿工的目标就是通过生成符合特征的哈希值来解答问题。
  • 为了简单起见,假设输出哈希值的取值范围为 0 ~ 1 e 6 0\sim 1e6 01e6,第一个算出小于 1 e 4 1e4 1e4 哈希值的矿工胜出。这里 1 e 4 1e4 1e4 就是阈值,每个比特币区块都含有一个数字,其唯一目的就是帮助达到阈值。这个数字被称为临时数( n o n c e nonce nonce)。矿工不断增加临时数的值,直到区块的哈希值小于阈值。由于不同矿工的区块有不同的信息,因此相同的临时数会产生不同的哈希值。每台矿工计算机上运行的比特币软件控制着比特币协议不断调整问题的难度,确保大约每 10 10 10 分钟才会有一个矿工解答完问题。
    在这里插入图片描述
  • 比特币系统的这一要求导致了一场硬件竞赛,所有人都想创造出每秒能计算出更多哈希值的硬件。如果难度级别确定,更多的矿工加入会让每秒计算出更多的哈希值。一定区块过后,比特币协议评估区块产生的速度来加大或者减小难度级别。
  • 一旦矿工发现能产生正确哈希值的临时数,就将该区块广播出去,其他的矿工在验证后接纳它,并开始着手下一个区块。
    在这里插入图片描述

矿工共识与孤块

  • 比特币的正常运行很大程度上依赖于共识。当两个矿工几乎同一时间完成区块时,共识开始发挥作用。这时,两个区块会被其他所有矿工接收和保留,但是矿工们会在先收到的那个区块的基础上计算下一个区块。
    在这里插入图片描述
  • 这时,两个区块中哪一个会成为真正区块链的一部分取决于下一个区块解答得有多快,以及解出下一个区块的矿工先收到哪一位矿工的区块,此节点上存在着两个版本的区块链。快的成为正式链,另一个成为孤块。
    在这里插入图片描述

比特币的工作原理

  • 前面讨论了比特币的工作原理,但是并没有阐明为什么要这么做。我们要先理解以下概念:
    • 比特币是开源软件
    • 比特币软件制定了矿工和钱包客户端必须遵从的操作指令
    • 比特币软件定义和运行了一套通信协议
    • 区块链的分布式文件共享容许开放记账

比特币的影响

  • 作为一种货币系统,比特币的影响巨大。人们通过它可以进行全球汇款,可以网上购物和网上捐赠。

03-中本聪的论文

论文地址为:Bitcoin: A Peer-to-Peer Electronic Cash System

  区块链 最新文章
盘点具备盈利潜力的几大加密板块,以及潜在
阅读笔记|让区块空间成为商品,打造Web3云
区块链1.0-比特币的数据结构
Team Finance被黑分析|黑客自建Token“瞒天
区块链≠绿色?波卡或成 Web3“生态环保”标
期货从入门到高深之手动交易系列D1课
以太坊基础---区块验证
进入以太坊合并的五个数字
经典同态加密算法Paillier解读 - 原理、实现
IPFS/Filecoin学习知识科普(四)
上一篇文章      下一篇文章      查看所有文章
加:2021-11-11 12:45:20  更:2021-11-11 12:45:45 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/28 19:45:43-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计