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

08 比特币通用技术介绍

比特币分层

比特币区块结构

存储结构

区块是比特币存储交易的结构,一个区块总是指向其父节点。

一个区块包含三个字段:区块头、区块交易数量、交易列表。交易数量受到区块大小限制,输入、输出数量和脚本都会占用区块空间,矿工往往喜欢获得最高费用的交易列表。

块结构

原始区块数据被存储在块文件中,这些文件以blk*.dat的格式命名,文件大小为128MB,并以16MB为块(chunks)。块索引包含块的基本信息和在原始区块数据中的位置,块索引简化了验证过程。块索引为包含6个键的键值集合:

区块信息原始数据文件的信息最新原始区块的编号重建索引的标志位存储标志可选值

区块头

比特币区块头包含了当前区块摘要信息和上一个区块的元信息,我们可以通过这些信息来验证区块体的正确性。

比特币区块头定义中虽然只包含6个字段,但每一个字段对于当前区块链的运行都必不可少。

比特币区块数据结构代码描述可见比特币源码的bitcoin/bitcoin/src/primitives/blick.h文件。

区块体

比特币区块体用于存储真实的交易记录。

区块体包含有序的交易列表,这些交易列表通过默克尔树算法生成的根哈希存储到区块头中,这样可以通过区块头中的少量信息对区块体中的交易进行验证。

比特币基本运行原理


http://www.kler.cn/a/522445.html

相关文章:

  • 机器学习day3
  • 技术总结:FPGA基于GTX+RIFFA架构实现多功能SDI视频转PCIE采集卡设计方案
  • AIP-130 方法
  • 进程间通信
  • 【数据结构】(1)集合类的认识
  • c++贪心
  • axios架构设计和原理
  • 「数学::质数」分解质因子 / LeetCode 2521(C++)
  • 算法1-1 模拟与高精度
  • 35、【OS】【Nuttx】OSTest分析(1):stdio测试(五)
  • 青少年CTF练习平台 贪吃蛇
  • 函数与方法
  • 浅谈OceanBase旁路导入
  • 如何学习Java后端开发
  • js手撕 | 使用css画一个三角形 使用js修改元素样式 驼峰格式与“-”格式相互转化
  • QT交叉编译环境搭建(Cmake和qmake)
  • MCP Server 开发实战:无缝对接 LLM 和 Elasticsearch
  • 【深度学习】常见模型-自编码器(Autoencoder, AE)
  • python -m pip和pip的主要区别
  • 亚博microros小车-原生ubuntu支持系列:14雷达跟踪与雷达守卫
  • CAN波特率匹配
  • OPPO自研DataFlow架构与实践
  • RHEL封闭环境部署zabbix
  • 【数据资产】数据资产管理概述
  • Workerman和Swoole有什么区别
  • Verilog中if语句和case语句综合出的电路区别