当前位置: 首页 > news >正文

学习笔记《区块链技术与应用》第三天 网络 难度

比特币网络工作原理 The BitCoin Network

application layer: BitCoin BlockChain
network layer: P2P Overlay Network

simple, robust, but not efficient

flooding 洪泛

每个节点维护一个等待上链的集合。如果区块链已经包含某个交易,就可以从集合里删除这个交易。
越大的区块越慢,比特币有1MB大小的限制,带宽是瓶颈。
best effort

如何通过nonce调整挖矿速度

H(blockheader)<=targetH(block header)<=targetH(blockheader)<=target
比特币使用的哈希算法为SHA-256,整个22562^{256}2256

difficulty={difficult_1_target}/{target} 挖矿难度与target成反比,系统内算力越来越强,出块速度越来越快。

51% attack:假设有很多个分叉,善意节点的算力会被分散,恶意节点就可以集中攻击一个分叉。

以太坊的出块时间为15秒,因此设计一个新的协议ghost。
orphan block也给予奖励uncle reward

2016个区块调整难度。
2016 *10min / 60min / 24h = 14days
target = target * (actual time / expected time)
expected time = 2 weeks
actual time = time spent mining the last 2016 blocks
每次最大调整范围为4倍:比如2weeks之后 最大8weeks 最小0.5week

  • 如何让所有矿工同时调整阈值?写在代码里,自动调整。

挖矿难度 Hash Rate
在这里插入图片描述

全节点

  • 一直在线
  • 完整信息
  • 内存维护UTXO集合
  • 监听交易 验证每个交易合法性
  • 决定哪些交易会被打包到区块
  • 监听其他矿工挖出来的区块,验证其合法性
  • 挖矿
    • 决定沿着哪条链,默认最长
    • 当出现等长分叉,选择哪个,默认最先

轻节点

  • 不是一直在线
  • 不用保存整个区块链信息,只保存每个header。 大小相差1000倍
  • 不用保存全部交易,只保存自己相关交易
  • 无法验证大多数合法性,只能检验与自己相关的合法性
  • 无法检测网上发布的区块正确性
  • 可以验证挖矿难度只是用header信息
  • 只能检测哪个是最长链,步子回到哪个是最长合法链

挖矿

CPU -> GPU -> ASIC(Application Specific Integrated Circuit)
mining puzzle
merge mining:
单个矿工 -> 矿池
miner(ASIC)只负责计算hash,pool manager负责其他全节点工作
矿池为了解决收入不稳定。
on demand computing 按需计算
on demand mining 按需挖矿

http://www.lryc.cn/news/605477.html

相关文章:

  • 详解分布式数据库缓存技术:高性能数据访问的基石
  • 如何在 macOS 上使用 dnsmasq 搭建本地 DNS 缓存/转发
  • 深度解析:基于Python构建的闲鱼自动化营销与信息发送机器人
  • IO流专题
  • linux运维学习第十三周
  • Linux 服务器性能优化:性能监控,系统性能调优,进程优先级,内核升级全解析
  • 前端框架Vue3(二)——Vue3核心语法之OptionsAPI与CompositionAPI与setup
  • AWS云安全审计终极实战指南:构建自动化安全防线
  • 数字化应急预案:构筑现代安全防线
  • Web3:在 VSCode 中使用 Vue 前端与已部署的 Solidity 智能合约进行交互
  • 从渠道渗透到圈层渗透:开源链动2+1模式、AI智能名片与S2B2C商城小程序的协同创新路径研究
  • 【09】大恒相机SDK C#开发 ——库函数 IntPtr ConvertToRGB24详细解释 及 示例
  • 【JEECG】JVxeTable表格拖拽排序功能
  • 动态规划Day5学习心得
  • python的异步、并发开发
  • (C++)C++类和类的方法(基础教程)(与Python类的区别)
  • C++提高编程学习--模板
  • 【硬件-笔试面试题】硬件/电子工程师,笔试面试题-50,(知识点:TCP/IP 模型)
  • 磁盘IO优先级控制对美国服务器存储子系统的调优验证
  • 02 基于sklearn的机械学习-KNN算法、模型选择与调优(交叉验证、朴素贝叶斯算法、拉普拉斯平滑)、决策树(信息增益、基尼指数)、随机森林
  • 【动态规划 | 多状态问题】动态规划求解多状态问题
  • YOLO---01目标检测基础
  • windows环境下MySQL 8.0 修改或重置密码
  • Mybatis分页查询当前页数据条数大于实际返回的数据条数
  • 7.5将模块分离到不同的文件中
  • 【JEECG】BasicTable单元格编辑,插槽添加下拉组件样式错位
  • 跳跃表可视化深度解析:动态演示数据结构核心原理
  • Docker-01.Docker课程介绍
  • 分层解耦(Controller,Service,Dao)
  • 从映射到共生:元宇宙、物联网与AI的智能融合生态图谱