提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

目录

前言

一、未被花费的交易输出(Unspent Transaction Output)

二、挖矿

1.挖矿难度的调整

2.伯努利试验与伯努利过程

总结


前言

今天看了北大肖臻老师《区块链技术与应用》公开课,有很大收获,在此写博客以做笔记,加深印象,若有不当之处,欢迎斧正。


一、未被花费的交易输出(Unspent Transaction Output)

比特币的全节点要要维护一个叫做UTXO(Unspent Transaction Output)的数据结构

比特币采用的是基于交易的账本模式,UTXO就是未被花费的交易输出,如图:

A发起了一笔交易,给B、C分别转了5比特和3比特,如果B收到这5比特后把它花了出去,那么B的输出就不在UTXO中,C还没有花出去,那么这个输出就在UTXO中。也就i是说同一个交易有的输出在UTXO中,有的不在。

  • UTXO集合中的每一个元素要给出产生这个输出的交易的哈希值和这个输出在这个交易的第几个输出

维护UTXO的作用:检测双花问题,你想花掉的币只有在UTXO集合里面才是合法的,所以全节点要在内存中维护UTXO,以便快速检测双花问题。

  • 在一个交易中总的输入不一定会等于总的输出,有时候总输入可能会略大于总输出,中间多出来的一点点输入就作为交易的手续费,奖励给负责打包的矿工。
  • 现在矿工挖矿的主要动力是为了出块奖励,但出块奖励大约每隔四年就会减半,所以到最后打包区块的交易费就成了矿工挖矿的动力。

二、挖矿

1.挖矿难度的调整

近几年比特币的火爆加剧了挖矿行业的竞争,使得挖矿难度一调再调,到现在为止已经非常高了,但只有4个字节的nonce无法适用于这么高的mining难度,所以就使用了最开始的铸币交易中的Coinbase域来扩展nonce

2.伯努利试验与伯努利过程

挖矿就是不断地尝试新的nonce,每一次尝试都可以看作是一个伯努利试验,如果我们做很多的伯努利试验,每一个试验都是随机的,那么这些试验就构成了一个伯努利过程,伯努利过程的一个性质是无记忆性,也就是说你做了大量的试验,前面很多次的试验对后面的试验的结果是没有任何影响的。对于挖矿来说,每一次尝试找到正确nonce的可能性是微乎其微的,要尝试大量的nonce才能找到正确的答案,那么这种情况下可以用泊松过程来近似。


总结

UTXO是比特币当中重要的数据结构

04-BTC-UTXO与挖矿相关推荐

  1. bcc挖矿用什么_BCC对BTC挖矿有何影响?

    描述 BCC的挖矿盈利超过了BTC,很多算力都切换到了BCC,导致BCC出块加快,昨天BCC一个小时会出几十块区块.与此同时BTC的出块速度有所降低,有那么一段时间BTC一小时只出一两块区块. 短期来 ...

  2. 区块链技术核心概念与原理

    第一章 区块链技术入门 1.1区块链前世今生 1.1.1 密码朋克(Cypherpunk) 邮件组: 密码 数学 计算机技术 等 wiki解密创始人: 阿桑奇 BT下载作者     : 布莱姆-科恩 ...

  3. TokenGazer 深度研究 | ChainX:币值即权力对用户有一定吸引 生态和社区建设有待观望...

    前 言 Foreword 8月12日,TokenGazer 官网发布了 ChainX 深度研究报告.读者想要第一时间掌握市场动态以及查看 TokenGazer 往期项目评级报告.深度研究报告.加密货币 ...

  4. 各国家 MCC 和 MNC 列表2

    MCC/MNC: 国家和地区 A B C D E F G Ĥ 我 Ĵ K表 L M ñ Ø P Q R S Ť ü V WX Ÿ ž  MCC    MNC    牌    操作者    状态     ...

  5. 基于区块链技术的性能测试

    作者:大开科技-曹向志 摘要:本次测试是受甲方公司委托,对运用区块链技术的一个应用后台系统进行负载测试,主要是评估系统在系统资源正常利用率下TPS是否能够达到20000,并发用户超过2000,响应时间 ...

  6. 区块链百宝库【必备资源集合】

    文章内容转载自 公众号:区块链九少爷 工欲善其事必先利其器,进入币圈我们也要有一套,趁手的兵器,教程哪里找?资讯哪里找?公众号该关注哪个?社群加哪个?刚入币圈也是一脸懵逼,这里是个工具集合,帮助大家快 ...

  7. 港科夜闻|香港科大商学院5位教授跻身世界顶尖科学家之列

    关注并星标 每周阅读港科夜闻 建立新视野 开启新思维 /近日要闻一览/ ▼ 1.香港科大商学院5位教授跻身世界顶尖科学家之列.史丹福大学John PA Ioannidis团队在"Top 2 ...

  8. ETHA Lend 项目介绍

    在过去的两年中,DeFi领域经的繁荣令人兴奋,在其经历了小幅下滑之后如今终于回归稳定,同时DeFi也吸引了相当数量的资金进入这一领域.随着该行业的发展,DeFi也确确实实代表了一种全新的.具有平衡性的 ...

  9. ETHA Lend—由波卡支持的跨链收益优化器

    在过去的两年中,DeFi领域经的繁荣令人兴奋,在其经历了小幅下滑之后如今终于回归稳定,同时DeFi也吸引了相当数量的资金进入这一领域.随着该行业的发展,DeFi也确确实实代表了一种全新的.具有平衡性的 ...

  10. 移动设备网络代码,整理成GO结构体

    移动设备网络代码,整理成GO结构体: struct 如下: type MNCDescription struct {MMC string //移动设备网络代码 (Mobile Network Code ...

最新文章

  1. BCH双花成功率极低——零确认交易安全性高达99.9%
  2. 【Android 异步操作】线程池 ( 线程池简介 | 线程池初始化方法 | 线程池种类 | AsyncTask 使用线程池示例 )
  3. 广东春运安保工作提前10天启动
  4. 【AI有识境】如何掌握好图像分割算法?值得你看的技术综述
  5. php 浏览商品记录,php浏览历史记录
  6. C之printf()函数
  7. WPF中的一些常用类型转换
  8. ETL学习之四:SQL Server Integration Services入门
  9. Luogu1443 马的遍历【STL通俗BFS】
  10. java - 匿名类
  11. 博客园程序源代码下载
  12. 微信公众号网页开发:播放视频,在列表中滑动会脱离文档流
  13. layUI数据表格(table)
  14. 获取用户真实IP以及internalProxies
  15. php转换ofd文件格式,OFD文件怎么转换成图片格式
  16. netty权威指南 微云_Netty权威指南 第2版.pdf
  17. Testbench设计篇1——激励的产生
  18. 使用opencv-python读取多个(海康\华为)网络摄像头的视频流,解决实时读取延迟问题
  19. 解决Ubuntu18.04无法安装旧版本gfortran4.6
  20. 雷军周鸿祎黄章,个性及扑朔迷离的关系

热门文章

  1. 某俄罗斯小哥,竟靠一个服务器软件直接封神?
  2. 东华大学2020考研计算机复试准备上机题解析答案_进阶篇(31-60)
  3. 仿途牛旅行应用安卓源码
  4. libcurl库简介
  5. 昆仑通态MCGS解摸屏与变频器通信程序
  6. 设计模式10-责任链模式
  7. 求两数是否互质c语言程序,判断两个数a,b是否为互质数的程序,用C语言编写?...
  8. 屌丝程序猿对一个产品的思考
  9. 什么是SRM?SRM系统有哪些选择策略
  10. AVADA主题升级更新的方法