Ordinal协议原理与技术细节解析
最近两周我在研究BTC生态和各种铭文项目的时候,发现很少有文章能够清晰地把原理和技术细节介绍的清楚:比如铭文在铸造的时候,交易是如何发起的,UTXO里面的sats到底是怎么被追踪的,铭刻的内容到底是放在脚本什么地方,以及BRC20在转账的时候为何需要两次操作?我发现不了解这些技术细节,就很难搞明白 BRC20,BRC420,atomicals, stamps, 符文Runes这些各种协议的区别,本文将深入到BTC区块链的基础知识,试着回答上述问题。
2025虚拟币交易平台推荐:
- 欧易(OKX)交易平台(>>>进入官网<<<)(下载OKX的Android安装包)
- 币安(Binance)交易平台(>>>进入官网<<<)(下载币安Android安装包)
BTC的区块结构
区块链本质是一种多用户记账技术,用计算机科学术语来说,是一种分布式数据库,每一段时间内的记录(账目)组成一个区块,然后根据时间先后顺序进行账本扩展。
我们用excel做了表格来说明区块链的工作原理。一份excel文件代表了一个区块链,其中每一个单独表格表示一个个区块,区块按照时间顺序从560331,560332.一直到最新的560336. 560336会在区块内打包最近的交易。区块内部主体部分就是我们在会计领域最常见的复式记账法,一边地址记做借出(debit)就是inputs from,另一边地址记做贷入(credit)就是outputs to。Value对应相应地址的BTC数量。Inputs的币的数量会大于Outputs币的数量,差额就是用户层面的转账费,也是矿工(记账人)的取得的手续费。区块头部会获取上一个区块高度,上一个区块的哈希值,本区块的建立时间(时间戳),和随机数。那么做为去中心化的记账技术,到底是谁来抢到下一个区块的记账权呢?靠的就是这个随机数和与之对应的哈希值。拥有算力的矿工通过对当前区块的随机数进行哈希计算,最先得到符合条件哈希值的矿工拥有下一个区块的记账权并且赢得区块奖励和转账费。最后是脚本区域,可以用来做一些扩展应用,比如脚本op_return可以当做附言栏。需要注意的是,在实际的区块中,脚本区是附着在input和output信息中的,而不是真的另外单独一个区域。比如附着在input的脚本是解锁脚本(ScriptSig),需要wallet地址进行私钥签名授权允许转出,而附着在output的脚本是锁定脚本(ScriptPubKey),用来设置收到该BTC的解锁条件(一般情况条件就是“有相应私钥的人才能消费”)。
上面两张图是原始的input和output的数据结构表,在执行层面,脚本表现为交易信息的附带参数,其中解锁脚本(ScriptSig)因为需要私钥授权,也被称为“见证数据”(witness data)。
隔离见证和Taproot
尽管比特币网络已经运行了超过10年,没有发生过什么显著的事件,但曾多次出现交易成本飙升到不再可行的高点。因此,比特币的开发人员一直在讨论如何最好地扩展网络,以处理未来不断增长的交易量。
2017年,这场辩论达到高潮,比特币开发社区分裂成两派,一派是支持使用软分叉实施名为SegWit的功能,另一派是支持直接区块扩容的“大区块”派。
我们在上文提到了解锁脚本需要用到私钥授权生成“见证数据”,那么是不是可以把这个见证数据从区块中分离,从而变相增加每个区块可容纳的交易数呢?隔离见证(Segregated Witness)在2017年8月激活正式激活。它的实现方式正是将所有的交易数据分为两部分,一部分是交易的基本信息(Transaction Data),另一部分是交易的签名信息(Witness Data),并把签名信息保存在一个新的数据结构中,是被称为“隔离见证(witness)”的新区块中,并与原始交易分开传输。
在技术上,SegWit的实施意味着交易不再需要包括见证数据(不会占用比特币原本为区块安排的 1MB 空间)。取而代之的是,在一个区块的末尾,为见证数据创建了一个额外独立的空间。它支持任意的数据转账,并有一个折扣的 "区块重量(block weight)",巧妙地将大量的数据保持在比特币的区块大小限制内,以避免硬分叉的需要。这样,比特币交易的交易数据大小提高了上限,同时降低了签名数据的交易费用。在SegWit升级之前,比特币的容量上限是1MB,而SegWit之后,虽然单纯交易的容量上限仍旧是1M,但隔离见证空间的大小达到了4MB。
Taproot 于2021年11月实施,由 3 项不同的比特币改进提案 (BIP) 组成,其中包括:Taproot、Tapscript 及其名为「Schnorr 签名」的全新数字签名方案。Taproot 旨在为比特币用户带来诸多好处,例如提升交易私密性和降低交易费用。还将让比特币执行更多复杂的交易,从而拓宽应用场景(新增加了一些操作码opcodes)。
这些更新是 Ordinals NFT的关键推动因素,它将NFT数据存储在 Taproot 脚本路径的花费脚本(spent script)中(见证数据空间)。这次升级使得结构化和存储任意的见证数据变得更加容易,为 "ord" 标准奠定了基础。随着数据要求的放宽,假设一个交易可以用其交易和见证数据填满整个区块 -- 达到4MB的区块大小(见证数据空间)限制 -- 极大地扩展了可以放在链上的媒体类型。
也许有人会问,既然在脚本中放入一些字符串,那对这些字符串没有限制条件吗?万一真的执行这些脚本呢?如果随便放内容,那会不会出现错误代码拒绝出块呢?这就要提到 OP_FALSE指令。OP_FALSE(在比特币脚本中也表示为“0”)确保脚本语言中的执行路径永远不会进入OP_IF分支,并保持未执行状态。它充当脚本中的占位符或空操作(No Operation),类似于高级语言中的“注释”,来保证后续的代码不被执行。
UTXO转账模型
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
同类文章
吴国首都在哪?揭秘三国东吴迁都史
东吴建国史是一部迁都史,其都城并非一成不变,而是随着领土扩张不断变迁。东吴的“都城”历经长沙、鲁阳、会稽、吴郡、建业、公安、武昌等多个城市。孙权称帝后,为减轻都城防守压力,最终定都建业。东吴迁都史在三国时期堪称数量之最,反映了其发展历程与战略考量,迁都也成为了东吴历史发展的重要组成部分。
- 日榜
- 周榜
- 月榜
相关攻略
2015-03-10 11:25
2015-03-10 11:05
2021-08-04 13:30
2015-03-10 11:22
2015-03-10 12:39
2022-05-16 18:57
2025-05-23 13:43
2025-05-23 14:01
热门教程
- 游戏攻略
- 安卓教程
- 苹果教程
- 电脑教程






