肖臻公开课(七)——比特币中的挖矿难度
本笔记对应北京大学肖臻老师《区块链技术与应用》公开课第七课。
0.前言
在本节中,肖老师介绍了比特币的挖矿难度的调整算法。
1.定义
在比特币的挖矿算法中,需要找出一个“恰当”的区块头,让区块头的哈希值小于目标值(如下图),才能获得记账权。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-X1Em0qjo-1677069663198)(https://gitee.com/yu88888//myimage/raw/master/master/image-20211014200454670.png)]
调整挖矿难度就是调整目标空间在整个输出空间中所占的比例。
2.为什么要调整难度?
因为整个系统中的算力是不断上升的,如果难度不变,那么出块时间就会越来越短,引起大量问题。
比如说,因为出块时间短,遇到了网络延迟,就会导致短时间内很多的节点同时算出了目标值得到了记账权,这样就产生了很多分叉,这对系统的安全性没有好处。
注意: 比特币中10分钟的出块速度也不一定是最优的,也有其他的公链有其他的出块速度,比如以太坊的出块速度为15秒,而它之所以能做到这么快,是因为有Ghost协议。
3.怎么调整难度
- 时间: 比特币协议规定,每隔2016个区块(大概14天)就会调整一次。
- 公式:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TOaax3Ht-1677069663199)(https://gitee.com/yu88888//myimage/raw/master/master/image-20211014200435933.png)]
公式最右边分式的上面表示实际时间,下面表示预期时间。
实际时间为这次调整的时间,距离上次调整的时间的长度。预期时间为2016个区块按照预期规定来说(每两个区块间相隔10分钟),需要花费的长度。
因此,如果这轮调整中,实际时间大于了预期时间,那么就会调低难度,反之,就会调高难度。
肖臻公开课(七)——比特币中的挖矿难度相关推荐
- 肖臻公开课(八)——比特币中的挖矿
本笔记对应北京大学肖臻老师<区块链技术与应用>公开课第八课. 0.前言 在本节中,肖老师首先回顾了一下节点的定义,然后讲了讲挖矿的现有的趋势. 1.全节点和轻节点 以下介绍了一些全节点和轻 ...
- 肖臻公开课(六)——比特币中的网络
本笔记对应北京大学肖臻老师<区块链技术与应用>公开课第六课. 0.前言 在本节课中,肖老师主要讲了比特币的底层网络实现.以计算机网络传统架构来说,比特币网络工作在应用层,底下的网络层是一个 ...
- 公开课精华 | 无人驾驶中感知的挑战与尝试
本文总结于深圳元戎启行公司点云感知方向技术负责人邹晓艺,在深蓝学院的关于无人驾驶中感知的挑战与尝试的公开课演讲内容. 全文约3500字 主讲人邹晓艺来自深圳元戎启行公司,曾在百度IDL和ADU部门工作 ...
- 中职计算机专业优质课公开课,如何上中职计算机公开课.pdf
如何上中职计算机公开课 2011 年第 14 期 中国职业技术教育 教 学 教海拾贝 Chinese Vocational and Technical Education 如何上好中职计算机公开课 梁 ...
- [MIT公开课(计算机教育中缺失的一课)]2.Shell工具与脚本
(该系列文章大部分内容来源于MIT课程笔记,加入了个人的理解.原笔记中没有的细节和其他的需要理解的内容,公开课地址:https://www.bilibili.com/video/BV14E411J7n ...
- [MIT公开课(计算机教育中缺失的一课)]10.大杂烩
(该系列文章大部分内容来源于MIT课程笔记,加入了个人的理解.原笔记中没有的细节和其他的需要理解的内容,公开课地址:https://www.bilibili.com/video/BV14E411J7n ...
- [MIT公开课(计算机教育中缺失的一课)]6. 版本控制(git)
(该系列文章大部分内容来源于MIT课程笔记,加入了个人的理解.原笔记中没有的细节和其他的需要理解的内容,公开课地址:https://www.bilibili.com/video/BV14E411J7n ...
- 区块链系列教程之:比特币中的挖矿
文章目录 简介 比特币的节点构造 挖矿 挖矿节点 创币交易 矿池收入分配 挖矿方向 算力浪费 算力调整 总结 简介 我们知道比特币就是挖矿产生的,那么在比特币网络中,挖矿有什么特点呢?怎么分配挖矿收入 ...
- 《区块链技术与应用》北大肖臻老师——课程笔记【6-8】
<区块链技术与应用>北大肖臻老师--课程笔记[6-8] 一.BTC网络 二.BTC-挖矿难度 三.BTC-挖矿 提示:以下内容只是个人在学习过程中记录的笔记,图片均是肖老师课程的截图,可供 ...
最新文章
- UIImageView
- 线程在Linux中的实现
- JD boto3 flask 上传 demo
- Swift语言与Objective-C语言混合编程
- 在Linux系统里安装Virtual Box的详细步骤
- 磁盘上没有足够的空间完成此操作_【教程】Windows的磁盘分区,两分钟搞定!!...
- 图形的装饰教案计算机,《电脑图案设计师》教案教学设计
- mysql yum多实例_mysql———基于yum源实现多实例
- 树莓派利用PuTTY进行远程登录
- Web Hacking 101 中文版 十四、XML 外部实体注入(二)
- opencv HOG SVM 二
- python json转csv_python – 如何将JSON转换为CSV?
- .NET中GC的运行机制
- java web编程技术实用教程_Java Web编程技术实用教程
- 自考启示,关于不紧急重要到紧急重要的改变
- js中的四种常用数组排序方法(冒泡、选择、插入、快排)及sort排序
- 基于java的扫雷游戏设计01
- SPI Flash芯片W25Q32英文版数据手册解读(二)---------存储器知识,寄存器
- 技嘉z68主板驱动下载地址
- binary,varbinary,image的区别