关于比特币符文
符文“Runes”是一种在比特币区块链上创建和交易独特数字资产的协议。它允许用户将数据直接铭刻到比特币交易中,从而创建可追踪和转移的同质化数字物品。
特点
- 主链原生:直接在比特币区块链上存储数据,而不是依赖外部存储。
- 同质化:在某一标记符下(如UN·CARBON·CABIN),每个符文都是相同的,并与特定的聪(satoshi,比特币的最小单位)相关联。
- 安全性:利用比特币网络的安全性和不可更改性,久经市场考验。
- 易于理解:未有创建新的代币或独立的区块链
名词介绍:
符石(Runestones)
称为符石的符文协议消息,存储在比特币交易输出中
符石输出的脚本公钥以一个OP_RETURN开始,接着是OP_13,然后是零个或多个数据推送。这些数据推送被连接起来并解码成一系列128位整数,最终解析成一个符石。 一笔交易最多可以有一个符石。
符石可以刻画一个新的符文,铸造一个现有的符文,并将符文从交易的输入转移到输出。 一个交易输出可以持有任意数量的符文余额。
符文由 ID 标识,ID 包含蚀刻符文的区块以及该区块内蚀刻交易的索引,以文本形式表示为 BLOCK:TX 。例如,第 500 个区块的第 20 笔交易中蚀刻的符文 ID 为 500:20 。
蚀刻(Etching)
符文通过蚀刻而产生。蚀刻创建一个符文并设置其属性。一旦设置,这些属性即使对其蚀刻者来说也是不可变的。
名字(Name)
名称由字母 A 到 Z 组成,长度在 1 到 26 个字母之间。例如 UNCOMMONGOODS 是一个符文名称。
名称可以包含空格符,表示为点符号,以帮助提高可读性。UNCOMMONGOODS 可能被刻画为UNCOMMON•GOODS。
名称的唯一性不依赖于空格符。因此,即使空格符不同,也不能用与现有符文相同的字母序列来刻画一个符文。
间隔符只能放置在两个字母之间。最后,间隔符不计入字母计数。
可分性(Divisibility)
符文的可分性是指它可以被细分到多少个原子单位。可分性以符文数量中允许的小数点后数字位数来表示。可分性为0的符文不能被分割。可分性为1的符文可以被分割成十个子单位,可分性为2的符文可以被分割成一百个,依此类推。
符号(Symbol)
符文的货币符号是一个单一的Unicode代码点,例如$、⧉或🧿,显示在该符文数量之后。
具有可分性2和符号🧿的101个原子单位的符文将被渲染为1.01 🧿。
如果符文没有符号,应使用通用货币符号¤,也称为圣甲虫。
预挖(Premine)
刻画符文的人可以选择性地为自己分配被刻画的符文单位。这种分配称为预挖。
条款(Terms)
符文可以有一个开放的铸造,允许任何人为自己创建和分配符文单位。开放铸造受到刻画时设置的条款的约束
只要铸造的所有条款都得到满足,铸造就是开放的,当其中任何一个不满足时,铸造就关闭了。例如,铸造可能被限制在一个开始高度、一个结束高度和一个上限之间,并且在开始高度和结束高度之间或直到达到上限时开放。
上限(Cap)
符文可以被铸造的次数是其上限。一旦达到上限,铸造就关闭了。
数量(Amount)
每笔铸造交易创建一个固定数量的新符文单位。
开始高度(Start Height)
铸造从给定开始高度的区块开始开放。
结束高度(End Height)
符文不能在给定结束高度的区块之后被铸造。
起始偏移(Start Offset)
铸造从其高度等于开始偏移加上刻画符文的区块的高度的区块开始开放。
结束偏移(End Offset)
符文不能在其高度等于结束偏移加上刻画符文的区块的高度的区块之后被铸造。
铸造(Minting)
当符文的铸造是开放的时,任何人都可以创建一个铸造交易,根据铸造的条款创建一个固定数量的新符文单位。
转移(Transferring)
当交易输入包含符文,或者通过预挖或铸造创建了新的符文时,这些符文被转移到该交易的输出。交易的符石可能会改变输入符文转移到输出的方式。
法令(Edicts)
符石可以包含任意数量的法令。法令由一个符文ID、一个数量和一个输出编号组成。法令按顺序处理,将未分配的符文分配给输出。
指针(Pointer)
在所有法令处理完毕后,剩余的未分配符文被转移到交易的第一个非OP_RETURN输出。符石可以选择性地包含一个指针,指定一个替代的默认输出。
燃烧(Burning)
符文可以通过将它们转移到一个包含法令或指针的OP_RETURN输出来燃烧。
墓碑(Cenotaphs)
由于多种原因,符石可能会形成错误,包括符石OP_RETURN中的非推送数据操作码、无效的变长整数或无法识别的符石字段。
形成错误的符石被称为墓碑.
输入到包含墓碑的交易的符文被燃烧。在包含墓碑的交易中刻画的符文被设置为不可铸造。在包含墓碑的交易中的铸造计入铸造上限,但铸造的符文被燃烧。
墓碑是一种升级机制,允许符石被赋予新的语义,改变符文的创建和转移方式,同时不会误导未升级的客户端关于这些符文的位置,因为未升级的客户端会看到这些符文已经被燃烧。