关于 Runes 协议及「公开铭刻」发行机制的拓展讨论

news2025/1/16 8:16:05

撰文:MiX

编辑:Faust,极客 web3

2024 年 3 月 2 日,Runes 生态基础设施项目 Rune alpha 的创始人,在 Github 的公开议题中,与 Runes 协议创始人 Casey 展开了讨论,双方对如何拓展 Runes 协议的「公开铭刻」机制进行了探讨。话题包括:

  • 要不要放宽「公开铭刻」不可预留的要求?
  • 指出了采用「公开铭刻」发行方式的 Runes 符文不存在管理权的观点
  • 提出了一套基于铭文 NFT 和符文 FT 互相配合的发行机制设想

出于对比特币衍生资产协议的浓厚兴趣,本文作者结合上述 Runes 的一些最新话题,写作了此篇文章,就 Runes 与 Ordinals 协议的过往,以及类似的资产发行方式进行开发性的探索,相信能够对大家了解比特币生态带来帮助。

什么是 Runes 协议

所谓的 Runes 协议,是在比特币网络上发行同质化代币的协议,由 Ordinals 创始人 Casey 在发布 Ordinals 方案后,又重新构建的同质化代币方案,基于比特币 UTXO 的特性而构建,整体的设计思路非常简洁。

值得一提的是,Runes 协议计划在比特币 2024 年减半时(区块高度 840000),也即是今年四月下旬上线主网。现在 Runes 协议仍然处于优化和版本迭代的过程中。

在简要科普 Runes 的原理前,让我们先快速了解下来龙去脉,以及所谓的【公开铭刻】到底代表什么。

Runes 的提出者 Casey 在一开始并没有要做同质化代币协议的 idea,早在 2022 年 12 月时,Casey 就发布了 Ordinals 协议,意图是将 NFT 数据永久上链 Bitcoin,简单说就是将 NFT 元数据像铭文一样,记录在比特币交易的见证数据 witness 中(witness 主要包含数字签名信息),这样就能够将任意形式的内容(如文本、图像等)铭刻在指定的聪上。

(图片来源:https://yishi.io/a-beginner-guide-to-the-ordinals-protocol/)

随后,历史的齿轮开始转动,2023 年 3 月 8 日,匿名开发者@domodata 基于 Ordinals 这个典型的 NFT 发行协议,迂回的搞出一套发行同质化代币的 BRC-20 标准,就是以铭文的方式,对那些需要上传到比特币链上的衍生资产数据,规定出统一的格式和属性(Token 名称、总供应量、单次最大铸造量等),再通过索引器去解析并追踪这些信息,展示出 BRC-20 代币相关的钱包账户和资产数额。

关键来了,BRC-20 的发行,要依赖于 Ordinals 这种比特币铭文 NFT 协议,所以在初始的发行机制上变得和 NFT 铸造过程类似,天然具备「先到先得」的特性,谁先 Mint 谁就拥有,完全不同于以太坊 ERC-20 资产发行时「项目方先部署资产合约,定义资产分配机制,官方想怎么控盘都可以」。

这种Fair Launch的特性,使得大多数人有了公平参与同质化代币初始发行的机会,项目方无预留无锁仓,每个人都可以在资产最初发行的第一时间参与。很快,BRC20 就带来了比特币链上衍生资产的发行热潮,甚至直接启动了这轮牛市。由此可知,我们今天重点讨论的「公开铭刻」的发行方式,对于 Runes 协议而言非常重要。

但 BRC-20 也带来了很多问题:BRC-20 资产的每一次操作,都要在比特币链上发起特定的交易,随着 BRC-20 资产的火爆,比特币 UTXO 数据集也快速膨胀,这使得 BTC 核心开发者对 BRC-20 产生公开质疑。

Ordinals 创始人 Casey 不仅反对 BRC-20,更是对基于 Ordinals 之上发行的 FT 资产不予认可,但是 BRC-20 的火爆,让他觉得虽然 99% 的代币都是骗局和噱头,但这些东西仍会像赌场一样无法消失。

同时,BRC-20 在比特币链上留下了「过多的痕迹」,为比特币节点带来了数据承载上的负担,但如果有人提出一套,能够在上链数据方面「减负」的资产协议,或许能减缓 BRC-20 带来的问题。

所以Casey 决定为比特币构建一种「更好的同质化代币协议」,随后在 2023 年 9 月 25 日,他发布了 Runes 协议的初步构想。

从技术角度看,Runes 协议基于比特币 UTXO 和附加信息而构建,每一笔交易的触发,都要把链下生成的数字签名信息 on chain,我们可以在签名信息中携带特定格式的消息。Runes 协议通过 OP_RETURN 操作码来标记出「特定消息」,这些特定消息就是与 Runes 资产变更相关的信息。

相比于 BRC-20 协议,Runes 优势很多,其中最重要在于:

1.交易步骤简化,且不会生成多余的无用 UTXO,能更好的为比特币节点「减轻负担」。此外,BRC-20 的一笔转账交易仅支持一个接收者和一种代币,而 Runes 支持同时向多个接收者转账,且可转账多种 Runes 代币。

2.资产数据的存储与索引更简洁:BRC-20 的数据以 JSON 格式存储在特定交易的 witness 数据中,且 BRC-20 基于账户模型,资产余额与指定的账户相关联。而 Runes 协议的数据存储在特定交易的 OP_RETURN 字段中,资产的记录方式采用 UTXO 模型,可以直接与比特币链上的 UTXO「同构绑定」。

在确认一个人的 Runes 资产状况时,只需验证这个人拥有的、与 Runes 资产相绑定的特殊 UTXO,虽然还是要追溯部分信息完成计算,但无需像 BRC-20 那样扫描比特币链上的完整 UTXO 集合,这种轻量化的方式对数据索引更友好。

3.与 UTXO 功能拓展层兼容:Runes 基于 UTXO 的设计,使其能够与 CKB、Cardano、Fuel 等基于 UTXO 的功能拓展层更好地兼容。通过类似于 RGB++ 的「UTXO 同构绑定」,上述功能拓展层可以为 Runes 提供智能合约场景。

简要谈完了技术,我们回到本文最开始谈论的发行机制的事情。Casey 为 Runes 符文设计了两套发行方式,即「固定总量」和「公开铭刻」:

1.固定总量就是发行方直接铭刻所有 Runes 符文,然后再进行分发,相对更中心化。

2.公开铭刻就是对 Runes 符文的发行方式设定参数,比如指明一个区块高度或时间戳,在符合规则的时间段内,用户 Mint 了多少资产,最后该符文的总量就是多少。

两种发行方式对应的场景与机制完全不同,下文中我们只聊「公开铭刻」。

事实上,Sondotpin 从 Runes 的 Issues#124 议题中,就开始讨论此话题,并得到了 Casey 的认可。

而 Issues#165 具体内容如下:

  • Sondotpin:目前的公开发行,项目方 / 发行方不能提前预留 Runes 符文,这限制了项目方设计优秀通证经济模型的机会。
  • Casey:请查看之前的 Issues#124。我正在考虑放宽这个要求,允许发行方在发行时以合理的方式安排符文,甚至超出参数的设定范围。如果这样设计,相关信息会在 Runes 符文的详情页做非常突出的展示。
  • Sondotpin:是不是可以设计一个多次发行的机制,比如能有两轮「公开铭刻」Runes 符文,然后每一轮发行设定不同的参数?
  • Casey:我并不倾向于这样的做法,因为 Runes 符文本质上并没有「管理者」。发行的权限不应该掌握在有特别权限的单一实体手上。但是你可以在发行符文的时候添加一个铭文,然后在这个铭文的基础上再发行新的符文,这样就可以实现两次发行的符文都是同一个资产。当然,你也可以采用预挖的方式,然后用其他的分配方式进行发行。

如果未来 CTV 的功能能够顺利启动,就不需要协议支持了,CTV 直接可以预先设定条件模板,达到条件后就可以做符合条件设置的空投和公开发行。

围绕 Casey 和 SonPin 的讨论,个人看法:

1.在发起项目的早期,预留部分 Token 确有必要

在早期,项目方想要实现业务的自举,需要有一定的 Token 储备去激励核心团队、凝聚社区。如果可以按照本次讨论去实现协议,是对「公开铭刻」的公平和全民参与价值的补充,可以让更多有价值基础项目方通过「公开铭刻」的方式参与到 Runes 生态中。

2.是否预留、如何预留,是将自证的手段交给发行方

事实上,Casey 曾多次在 Youtube 视频里直言,同质化通证 99.9% 都是骗局,大家也别冠冕堂皇的说自己要改变世界,坦率地承认这是一个充满赌博和投机的行业,以诚相待,对所有人都好。IT’S JUST FOR FUN!

是从 issue#124 到#165,可以看到 Casey 对同质化通证的使用场景有了更多认可。「公开铭刻」的方式勿需质疑,在此基础上进行拓展,比如增加预留机制,是将选择的权利、自证的手段交给发行方,也是防止劣币驱逐良币的好方法。

3.铭文 NFT 和符文 FT 将会有更多的创新空间

Casey 提出的铭文 NFT 和符文 FT 互相配合进行多轮次的发行机制设想,相当有趣。背景知识里我们说到,Ordinals 和 Runes 都是 Casey 设计的协议,应该算是两个平行关系协议,但是在 Github 上都做到 Ord 这个项目里,技术上不少交叉和配合,比如共用了同步区块这类底层逻辑。

当下热点 Runestone 和 Runecoin 等项目,也是铭文和符文互相组合创新。Runecoin 的玩儿法是最主流的铭文预挖矿,持有 Runecoin 发行的 RSIC 铭文,就会持续不断的挖出项目的符文,然后 4 月底 Runes 协议上线再分配 FT。期待未来有更多项目可以推陈出新,带来更新颖的玩儿法。

4.采用「公开铭刻」发行方式的 Runes 符文不存在所有权

Casey 原文中只表达了「Rune 不存在所有权」,但是笔者认为这应该是特指采用「公开铭刻」发行方式的 Runes 符文不存在所有权。SonPin 提出的两轮「公开铭刻」方案,就一定会有一个拥有极高权限的地址的地址来操作,这并不是 Crypto 加密领域希望看到的。

就像项目 Runecoin 在发完 21000 张 RSIC 铭文 NFT 后,很快就将父铭文打到了中本聪地址,相当于没有人能够再次使用,也就是通过技术手段承诺不做增发。这波操作本身就为其带来一大波好评,非常涨路人缘。

PS:什么是父铭文?因为在 BTC 做交互速度慢且 gas 高昂,所以当操作数量比较大的时候,为提高效率,一般会先设置一个父铭文,在父铭文的那一次交易里,直接批量处理多个子铭文,这样可以在交互的时候,节约区块链的存储空间和处理时间。

最后说一下 Casey 提到的CTV,即「Check Template Verify」。

CTV 是一个比特币提议的协议升级,旨在通过允许用户在创建交易时,指定未来交易的模板,从而增强比特币网络的智能合约和锁定功能。CTV 的激活将使得用户能够创建更复杂的交易类型,例如可信赖的空投和开放式蚀刻,而无需协议的显式支持。

这个CTV 提案增加了比特币网络的可编程性和灵活性,在这次讨论中提到,简单来说就是可以创建一个使用 UTXO 的解锁条件模板,有机会给 Runes 创造更多玩法。举个例子,通过「Runes 协议 +CTV」,可以让 10 个用户联合使用 CTV 技术,共同 Mint 符文,然后预设未来的一些比特币支付交易的承诺之类。

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

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

相关文章

【QT】事件分发器/事件过滤器/事件处理的介绍和使用

事件分发函数 event() 事件分发器:返回值 bool 如果返回时true,代表用户要处理事件,不再分发事件了。 事件对象创建完毕后,Qt 将这个事件对象传递给QObject的event()函数。event()函数并不直接处理事件,而是将这些事…

PS在图片上直线、虚线、曲线

使用钢笔工具和直线工具都可以画直线,

script的defer和async的理解

场景一 js阻碍了dom元素的渲染 场景二 加了defer,结果跟场景一一样,所以defer对script标签内的代码不期待延迟执行的作用 场景三 script标签没有defer属性,不敢是不是通过src引入代码,结果一样 场景四 加了defer,获…

搭建的svn 1.14.1,拉取代码时候没输入账户密码就报错 auth failed

这边在ubuntu里面搭的svn server,但是拉代码的是否一直报错 auth faield,一开始以为是有auth cache,去设置里面清楚了,windows 里面也清楚了,但是还是报错 问题原因 一直排查才发现,我新增用户的时候&…

SpringBoot中的异常处理器

我们在以上的开发中,统一使用Result返回固定的数据格式给到前端,但是由于程序可能会出现BUG等问题,会导致最终返回给前端的数据,在异常情况下就又不统一了 为了实现在异常情况出现时,也能正常给前端返回统一的数据格式,我们需要使用 异常处理器 定义异常处理器需要使用RestCo…

Mac系统:mysql+jdk+neo4j

mysql 指令 //启动MySQL服务 sudo /usr/local/mysql/support-files/mysql.server start//停止MySQL服务 sudo /usr/local/mysql/support-files/mysql.server stop //连接MySQL数据库,在进行这一步前要先关掉服务 mysql -u root -p //检查MySQL服务状态 sudo /us…

【Unity】ABB CRB 15000 外部引导运动

一、RobotStudio控制器的文件系统和配置参数 HOME:控制器文件系统的根目录或起始点。配置:机器人控制器的配置设置和参数。外件信息:连接到机器人的外部组件的信息。I/O 系统:输入/输出系统,管理机器人和外部设备之间的…

基于dashscope在线调用千问大模型

前言 dashscope是阿里云大模型服务平台——灵积提供的在线API组件。基于它,无需本地加载大模型,通过在线方式访问云端大模型来完成对话。 申请API key 老规矩:要想访问各家云端大模型,需要先申请API key。 对于阿里云&#x…

uniapp图片涂鸦插件(支持多种涂鸦方式,图片放大缩小)

工程地址https://gitee.com/geshijia/ct-graffiti ct-graffiti涂鸦组件使用说明 参考说明 参考链接:https://github.com/ylyuanlu/yl-graffiti 感谢作者的付出,给我提供了一些思路,并做了如下优化: 增加图片放大缩小移动功能添…

UML简述(项目立项、设计、需求整理必备)

UML目录 前言1、UML概述1.1、基本概念1.2、UML图类型说明1.3、UML的41视图 2、UML图详细图示2.1、类图2.2、对象图2.3、组件图2.4、部署图2.5、包图2.6、用例图2.7、状态图2.8、活动图2.9、时序图2.10、通信图(协作图)2.11、定时图(计时图&am…

08 |「Fragment 」

前言 实践是最好的学习方式,技术也如此。 文章目录 前言一、简介1、是什么2、为什么要有 Fragment3. Fragment 详细解释 二、Fragment 与 Activity 的直观理解三、Fragment 的创建1、Fragment 的创建方式2、Fragment 的增删替查1) 替换(常见&…

哪个牌子宠物空气净化器好?质量好的宠物空气净化器推荐

即使我们很爱自家的宠物,但我们也无法否认处理房间里飘荡的宠物毛发和皮屑,以及那些令人不快的气味(比如地毯上的意外和垃圾桶里的气味)的挑战。对于过敏患者来说,这几乎是无法忍受的。寻找有效的方法来减少这些问题对…

电子邮件怎么发送?如何发送匿名电子邮件?

电子邮件发送的详细步骤?电子邮件的发送方式有哪些? 掌握如何发送电子邮件,尤其是如何发送匿名电子邮件,对于保护个人隐私、进行安全交流具有重要意义。下面,AokSend就来详细探讨一下电子邮件的发送方法以及如何发送匿…

转录组总结

1. 软件安装 2.转录组分析步骤: ① 建立环境 #建立python2.7的环境,大部分的转录组信息都需要在Python2的环境下进行 conda create -n py2env python2.7 source activate py2env ② 获取fastqc报告 #单个报告 fastqc -t 15 /home/yinwen/biosoft/DN…

17-Java解释器模式 ( Interpreter Pattern )

Java解释器模式 摘要实现范例 解释器模式(Interpreter Pattern)实现了一个表达式接口,该接口解释一个特定的上下文 这种模式被用在 SQL 解析、符号处理引擎等 解释器模式提供了评估语言的语法或表达式的方式,它属于行为型模式 …

数据库(mysql)-新手笔记-基本知识点(1)

基本概念 数据库 Database :存储数据的容器 表 Table : 在数据库中存储的基本结构,它由行和列组成 行 Row : 表中的一条记录 列 Column : 表中的字段,定义了数据的类型和约束 数据类型 数据值 如 INT(整型),FLAOT(浮点型) ,DECIMAL (精确小数点) 字符串 如 VARCHAR(可变长度字…

Linux第68步_旧字符设备驱动的一般模板

file_operations结构体中的函数就是我们要实现的具体操作函数。 注意: register_chrdev()和 unregister_chrdev()这两个函数是老版本驱动使用的。现在新字符设备驱动已经不再使用这两个函数,而是使用Linux内核推荐的新字符设备驱动API函数。 1、创建C…

更快更强,Claude 3全面超越GPT4,能归纳15万单词

ChatGPT4和Gemini Ultra被Claude 3 AI模型超越了? 3月4日周一,人工智能公司Anthropic推出了Claude 3系列AI模型和新型聊天机器人,其中包括Opus、Sonnet和Haiku三种模型,该公司声称,这是迄今为止它们开发的最快速、最强…

NLP:自定义模型训练

书接上文,为了完成指定的任务,我们需要额外训练一个特定场景的模型 这里主要参考了这篇博客:大佬的博客 我这里就主要讲一下我根据这位大佬的博客一步一步写下时,遇到的问题: 文中的cfg在哪里下载? 要不…

Jellyfin影音站点搭建并结合内网穿透实现远程观看本地影视资源

文章目录 1. 前言2. Jellyfin服务网站搭建2.1. Jellyfin下载和安装2.2. Jellyfin网页测试 3.本地网页发布3.1 cpolar的安装和注册3.2 Cpolar云端设置3.3 Cpolar本地设置 4.公网访问测试5. 结语 1. 前言 随着移动智能设备的普及,各种各样的使用需求也被开发出来&…