# xiyu 对 Runes 协议的解读：提供了一种在比特币网络上创建和转移符号化资产的方法

> 原文：<https://www.wublock123.com/index.php?m=content&c=index&a=show&catid=47&id=18793>
>
> **作者 | xiyu**

## 回顾事件经历

\
ordinals把铭文代入了比特币生态，brc-20用索引字符的形式，创造了一个中心化的发币机制，这让原本开发给nft用的协议不堪重负。\
&#x20;\
但是作为去中心化的ordinals，即使是创始人，也无法让brc-20消失，ordinals创始人Casey已经多次表达了对于brc-20的不满，占用大量铭文编号，占用大量比特币体积，并且meme币并没有给生态带来太多的正收益。\
\
于是casey提出了一个新的方案，并且得到ordinals社区热议。<br>

## 博客内容解读

\
博客内容讨论了针对比特币创建新的可替代代币（fungible token）协议的想法。Casey认为，可替代代币中有很多是骗局和梗，但它们似乎并不会很快消失，就像赌场一样。创建一个好的可替代代币协议可能会为比特币带来可观的交易手续费收入、开发者关注和用户数量。此外，如果该协议在链上的足迹很小，同时鼓励负责任的未使用交易输出（UTXO）管理，相比现有的协议，它可能会起到减少风险的作用。其中一个已经非常流行的协议是BRC-20，但它会导致UTXO数量激增，这是一个不理想的后果。\
\
在比较现有的可替代代币协议时，有几个重要的区别：\
复杂性：协议有多复杂？是否容易实现和采用？\
用户体验：是否有任何实现细节对用户体验产生负面影响？特别是依赖离链数据的协议在链上的足迹较小，但引入了很多复杂性，并要求用户自己运行服务器或与现有服务器进行交互。\
状态模型：基于UTXO的协议更符合比特币的特性，并通过避免创建“垃圾”UTXO来促进\
UTXO集合的最小化。\
原生代币：需要使用协议操作的原生代币会带来不便，且通常被广泛采用。\
\
接下来，Casey对比了几种现有的针对比特币的可替代代币协议：\
BRC-20：不基于UTXO且相当复杂，因为某些操作需要使用序数理论。\
RGB：非常复杂，依赖离链数据，长时间开发但没有被采用。\
Counterparty：需要使用原生代币进行某些操作，不基于UTXO。\
Omni Layer：需要使用原生代币进行某些操作，不基于UTXO。\
Taproot Assets： 有点复杂，依赖离链数据。\
\
最后，Casey提出了一个名为“runes”的简化的、基于UTXO的可替代代币协议的构想，并介绍了该协议的概述、转账和发行等方面的细节。作者认为，这样一个协议可能会对比特币产生积极的影响，但也指出可替代代币领域存在很多欺骗和贪婪，因此是否采用这样的协议还需要进一步考虑。<br>

## 实现原理

\
\
Runes协议的主要目的是定义了一种在比特币网络上进行符号化资产交换的方式。它使用Rune作为符号化资产的单位，并使用UTXOs来表示Rune的余额。\
\
协议中的协议消息通过交易的输出来传递，并且遵循特定的格式和规则。协议消息可以包含转移和发行两种类型的操作。\
\
对于转移操作，协议消息中的第一个数据推送包含了一系列整数，它们被解码为一系列的（ID，OUTPUT，AMOUNT）元组。每个元组表示将一定数量的Rune从一个输出转移到另一个输出。ID表示Rune的编号，OUTPUT表示输出的素引，AMOUNT表示转移的数量。\
\
在处理转移操作时，协议首先检查协议消息中的整数数量是否是3的倍数，如果不是，则协议消息无效。然后，它按顺序处理每个（ID，OUTPUT，AMOUNT）元组。ID使用增量编码，以避免重复完整的Rune ID。如果AMOUNT为0，表示将剩余的所有Rune转移出去。如果有未分配的Rune，它们将被转移到第一个非OP\_RETURN输出上。\
\
对于发行操作，协议消息中的第二个数据推送被解码为两个整数，即SYMBOL和\
DECIMALS。SYMBOL是一个可读性较高的符号，用于表示发行的Rune，而DECIMALS\
表示在显示发行Rune时应使用的小数位数。如果协议消息中还有其他整数，那么协议消息无效。\
\
在发行操作中，如果SYMBOL尚未被分配，它将被分配给发行的Rune，并且发行的\
Rune将获得下一个可用的Rune ID。如果SYMBOL已经被分配，或者是预留的特殊符号\
（如BITCOIN、BTC或XBT），则不会创建新的Rune。\
\
需要注意的是，协议中没有对符号的霸占进行特别处理。为了避免符号的早期霸占，可以限制只允许分配一定长度以上的符号，并随着时间的推移逐渐滅少限制的长度，最终允许分配所有长度的符号。\
\
总体而言，这个协议提供了一种在比特币网络上创建和转移符号化资产的方法，通过定义特定的协议消息格式和规则来实现。通过使用Rune作为单位，并通过UTXOs来表示余额，它为符号化资产的交换提供了一种简单而灵活的方式。<br>

## 观点

### 一、现有的同质化代币系统有问题吗？有哪些问题？

\
就以当前用得最多的brc-20为例，当前这一套铭文发币系统的缺陷有以下几点\
1.一个铭文一个余额，铸造占用了大量的铭文编号。\
2转移需要铸造新铭文，新增了铭文的同时，又产生了很多废弃铭文\
3.中心化依赖严重，除了系统漏洞风险，此外还要增加一层人为作恶的风险，理论上现有的brc-20，是服务器共识。\
4.稳定性不够，作为金融系统，我认为需要足够的稳定才能推向市场。\
\
对于brc-20的评价，可以在我五月份发的推文里找到，brc-20是能够自己制造垃圾的垃圾，把铭文当草纸用，同时把服务器当算盘。<br>

### 二、runes有哪些进步？

\
1简化了，相比brc-20，runes的更加简单了，减少了一层服务器共识。\
2.链下数据的依赖更少了\
3.基于UTXO的协议更符合比特币的特性，并通过避免创建“垃圾”UTXO减少了比特币区\
块体积。<br>

### 三、比特币需不需要同质化代币？

\
我认为不需要。\
1.比特币真正的价值在于数字黄金，稳定意味着一切，有了更多的功能，确实可以让更多的人使用起来比特币，但是也带来了不稳定的风险。\
2.发行同质化代币，现有的EVM已经非常成熟了，且这个功能早在七八年前就已经实现了，没必要重复造轮子，并大大增加系统复杂度。<br>

## 总结

\
\
casey的原文意思大概是，他无法确定比特币生态是否需要一个发行同质化代币的系统，但是如果不得不发行的话，他希望有更好的发币系统，runes确实一定程度上是进步了。\
\
在本文中，我们似乎忘了讨论ordinals，从比特币的角度出发，比特币并不需要ordinals，是ordinals需要比特币，作为更下一层的runes，比特币更不需要这个发币，无论runes是否将来能成功，都不会对比特币产生负面影响。\
\
如果单纯是发币这个场景，eth、bnb都可以把发币做的很好了。比特币链上要发展发币的方向，应该是发更好的币，或者更好的发币。如果以上都做不到，那比特币链上真的没有强行发币的必要。如果是为了对抗brc-20，我觉得runes有一战之力。
