BTC系列-系统学习铭文(二)-序数理论

Ordinals的BIP: https://github.com/ordinals/ord/blob/master/bip.mediawiki

序数理论概述

序数是一种比特币的编号方案,允许跟踪和转移单个聪。这些数字被称作序号。比特币是按照它们被挖掘的顺序编号的,并从交易输入转移到交易输出(遵循先进先出原则)。编号方案和传输方案都依赖于_顺序_,编号方案依赖于比特币被挖掘的_顺序_,而传输方案依赖于交易输入和输出的_顺序_。因此得名,序数(Ordinals)

编号方案-不同的表示方式

  • 整数符号:2099994106992659 这个序号是根据挖掘聪的顺序分配。
  • 十进制符号: 3891094.16797 第一个数字是挖掘聪的区块高度,第二个数字是区块内聪的偏移量。
  • 度数符号: 3°111094′214″16797‴ 按聪的稀有性表示一个序数。
  • 百分数: 99.99971949060254% . 以百分比表示聪在比特币供应中的位置
  • 名字: satoshi. 一种使用字母az对序号进行编码的方法 (随着聪被开采的时间越长,名字越短, 最后一个被挖掘的聪的名字会是"a")

整数表示法

按照挖矿的顺序分配给聪。第一个区块的首聪序数为0,第二个聪的序数为1,第一个区块的最后一个聪的序数为4,999,999,999。

度数表示法

稀缺度等级
  • 普通: 指所有不是其区块第一个聪的聪
  • 非普通: 每个区块的第一个聪
  • 罕见: 每一个难度调整周期的第一个聪
  • 史诗: 每个减半周期的第一个聪
  • 传奇: 每一个循环周期的第一个聪
  • 神话: 创世区块的第一个聪
稀有聪的总供给量
  • 普通: 2千100万亿
  • 非普通: 6,929,999
  • 罕见: 3437
  • 史诗: 32
  • 传奇: 5
  • 神话: 1
度数表示
A°B′C″D‴
│ │ │ ╰─ Index of sat in the block
│ │ ╰─── Index of block in difficulty adjustment period
│ ╰───── Index of block in halving epoch
╰─────── Cycle, numbered starting from 0

来看一颗神话级别的聪:

0°0′0″0‴
│ │ │ ╰─ First sat in block
│ │ ╰─── First block in difficulty adjustment period
│ ╰───── First block in halving epoch
╰─────── First cycle

一颗不普通的聪:

1°1′1″0‴
│ │ │ ╰─ First sat in block
│ │ ╰─── Not first block in difficulty adjustment period
│ ╰───── Not first block in halving epoch
╰─────── Second cycle

如果区块偏移量为零,则可以省略

1°1′1″
│ │ ╰─ Not first block in difficulty adjustment period
│ ╰─── Not first block in halving epoch
╰───── Second cycle

转让方案

对号入座

聪按照先进先出的顺序进行转账。 将交易的输入视为聪列表,将输出视为插槽slot列表,等待接收聪。 要将输入聪分配给插槽,按顺序检查输入中的每个聪,并将每个聪分配给输出中的每一个可用插槽。

让我们想象一个具有三个输入和两个输出的交易。 输入在箭头的左边,输出在右边,现在,我们用每个输入包含的聪序数标记同一笔交易,并为每个输出插槽标记问号。 序数号很大,所以我们用字母来表示它们:

[a b] [c] [d e f] → [? ? ? ?] [? ?]

要弄清楚哪个聪到哪个输出,请按顺序检查输入聪并将每个聪分配给一个问号:

[a b] [c] [d e f] → [a b c d] [e f]

交易费用

比如费用是两个聪。收费交易在输入中发送的聪得多于输出接收的聪,因此为了使我们的交易成为支付费用的交易,我们将删除第二个输出:

[a b] [c] [d e f] → [a b c d]

聪e和 f现在在输出中无处可去

所以他们作为“费用”去到挖这个区块的矿工那里。交易支付的费用被视为对Coinbase交易的额外输入,并按照其对应的交易在区块中的顺序进行排序。该区块的Coinbase交易可能是这样的: (SUBSIDY表示区块奖励)

[SUBSIDY] [e f] → [SUBSIDY e f]

往期精彩回顾:
区块链知识系列
密码学系列
零知识证明系列
共识系列
公链调研系列
BTC系列
以太坊系列
EOS系列
Filecoin系列
联盟链系列
Fabric系列
智能合约系列
Token系列

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/15106.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

面试题:对已经关闭的channel进行读写

在Go语言中对已经关闭的channel进行读写,结果会有所不同。 读操作 我们可以安全地从一个已经关闭的channel中进行读取数据。如果channel中还有未读取的数据,读操作将成功并返回数据以及一个用于表示数据是否有效的标记(如果channel已经关闭并且该数据有…

YOLOV10实时端到端目标检测

代码地址:GitHub - THU-MIG/yolov10: YOLOv10: Real-Time End-to-End Object Detection 论文地址:https://arxiv.org/pdf/2405.14458 本文介绍了YOLO系列目标检测器在实时和高效方面的优势,但是仍然存在一些缺陷,包括依赖非极大值…

[240525] VMware Pro 个人可免费使用 | 人机交互角度 解释 AI 同事出错虽多但深得青睐之奥义

目录 VMware Workstation Pro 个人可免费使用人机交互研究 ChatGPT 52%回答失实,78%逻辑不一致然却备受青睐之奥义 VMware Workstation Pro 个人可免费使用 VMware 宣布 Fusion Pro(Mac)和 Workstation Pro(Windows 和 Linux&…

纯度高的安卓和混血安卓

安卓阵营纯安卓和改装安卓,纯安卓好用,权限控制力度做到很小,每相权限都交用户控制,权限控制层面可以精确到文件夹和文件,剪切板读和写,而且有精确权限追踪功能,国产高度定制安卓系统只有粗糙访…

React useState修改对象

在 React 中,useState 是一个 Hook,它可以让函数组件拥有状态。当想要改变一个对象类型的状态时,我们需要使用展开运算符(...)或者 Object.assign 来确保状态是正确地更新。 以下是一个使用 useState 来更新对象的例子…

webstorm新建vue项目相关问题

前言 这个迭代后端需求偏少,前端code的键盘都起火星子了。来了4个外包支持,1个后端3个前端,还是不够用啊。刚好趁这个机会稍微学习下vue,其实之前环境也配置过了,所以这里就不分享环境配置了,主要分享下新建…

基于单片机电梯控制系统设计与实现

摘 要: 介绍了电梯控制系统架构 , 指出了该系统的硬件设计和控制系统的软件设计以及系统调试 , 使系统可根据按键 要求完成载客任务,为电梯控制系统的优化提供了参考 。 关键词 : 电梯控制 ; 单片机 ; 系统设计 0 引言 在高层建筑中发挥…

Java开发大厂面试第22讲:Redis 是如何保证系统高可用的?它的实现方式有哪些?

高可用是通过设计,减少系统不能提供服务的时间,是分布式系统的基础也是保障系统可靠性的重要手段。而 Redis 作为一款普及率最高的内存型中间件,它的高可用技术也非常的成熟。 我们今天分享的面试题是,Redis 是如何保证系统高可用…

GPT-4o之多模态

前言 想必,很多小伙伴都知道GPT-4o已经发布了,一手基于多模态的问答显示,看起来挺厉害的(也就是看起来, )。然后,我就顺手看了看什么是多模态。 简介 多模态(Multimodal&#xff…

什么是组态?什么是工业控制中的组态软件?

随着工业4.0和智能制造的发展,工控软件的应用越来越广泛,它们在提高生产效率、降低能耗和减少人力成本等方面发挥着越来越重要的作用。 什么是工控软件? 工控软件是指用于工业控制系统的软件,主要应用于各种生产过程控制、自动化…

标准库算法

欢迎访问我的博客首页。 标准库算法 1. 查找对象的算法2. 其它只读算法3. 二分搜索算法4. 写容器元素的算法5. 划分与排序算法6. 通用重排操作7. 排列算法8. 有序序 列的 集合算法9. 最 小值和 最大值10. 数值算法11. 参考 Pred 表示返回值为布尔类型的可调用对象。 1. 查找对…

Python序列的概念与使用-课后作业[python123题库]

序列的概念与使用-课后作业 一、单项选择题 1、关于Python组合数据类型,以下描述错误的是:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬…

Flutter 中的 DecoratedBox 小部件:全面指南

Flutter 中的 DecoratedBox 小部件:全面指南 在Flutter中,DecoratedBox是一个功能丰富的小部件,它为子组件提供了多种装饰效果,如背景色、边框和阴影。通过DecoratedBox,你可以轻松地为任何小部件添加装饰&#xff0c…

PLSQL连接Linux Oracle21c

PLSQL连接Linux Oracle21c 一、安装PLsql 下载官网 https://www.allroundautomations.com/registered-plsqldev/ 二、Oracle Instant Client下载 使用plsql连接oracle的时候是需要本地先安装oracle客户端,英文名就是Oracle Instant Client。 官方下载地址&…

初出茅庐的小李博客之用MQTT.fx软件进行消息发布与订阅【 基于EMQX Cloud】

MQTT.fx软件使用简单介绍 MQTT.fx 的软件界面如下图所示,最上方为 MQTT Broker 连接地址栏,及其连接配置。其下方功能 Tabs 含有 Publish 发布栏、Subscribe 订阅栏、Scripts 脚本栏、Broker Status 状态消息栏、Log 日志信息控制栏。 连接之前要明确几…

【Linux系列】软链接使用

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

深入编程逻辑:从分支到循环的奥秘

新书上架~👇全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一、编程逻辑的基石:分支与循环 分支逻辑详解 代码案例:判断整数是…

函数的拓展

7.1.1 基本用法 在ES6之前,不能直接为函数的参数指定默认值,只能采用变通的方法。 function log(x.y){ y y || Worldl console.log(x,y); }log(hello) //hello World log(hello,Chine) //hello Chine log(hello,) //hello World上面的代码检查函数…

UE5 双手握剑的实现(逆向运动学IK)

UE5 双手握剑的实现 IK 前言 什么是IK? UE官方给我们提供了很多对于IK处理的节点,比如ABRIK、Two Bone IK、Full Body IK 、CCD IK等,但是看到这,很多人就好奇了,什么是IK? 首先我们来看看虚幻小白人的骨…

[图解]产品经理创新之阿布思考法

0 00:00:00,000 --> 00:00:01,900 那刚才我们讲到了 1 00:00:02,730 --> 00:00:03,746 业务序列图 2 00:00:03,746 --> 00:00:04,560 然后怎么 3 00:00:05,530 --> 00:00:06,963 画现状,怎么改进 4 00:00:06,963 --> 00:00:09,012 然后改进的模式…