这篇文章深入探讨了Ordinals协议及其在比特币NFT生态系统中的影响,包括当前市场状况、Ordinals NFT项目的概述、技术细节和未来前景等。文章提供了丰富的图表、代码示例和对比,并分析了与以太坊和Solana项目的竞争关系,全面展示了比特币作为NFT平台的优势与局限。总体来看,文章内容详实,适合对区块链技术及NFT感兴趣的读者。
(来源: theblock.co)
截至2024年3月,NFT市场尚未完全恢复到2021-2022年的高度,但自去年11月以来,Ordinals NFT生态系统引起了关注,交易量迅速上升。过去一个月按区块链的交易量排名为以太坊、比特币和Solana,其中以太坊和比特币的竞争非常接近。
(来源: cryptoslam.io)
然而,考虑到以太坊和Solana披露的洗钱交易率超过30%,预计实际交易量最高的是比特币。
自2023年1月Ordinals协议公开发布以来,对比特币整体产生了显著影响。比特币的活动大大增加,随着减半事件的临近,交易费用在比特币可持续性中的重要性变得更加关键。Ordinals的出现被视为解决这一问题的可能方案之一。
自Ordinals出现以来,比特币交易数量显著增加。从2023年5月BRC-20受到关注以来,创造的交易平均数量比之前高出1.5到2倍,并且自11月Ordinals NFT开始受到关注后,交易数量又进一步增加。
(来源: geniidata.com)
自5月以来,与Ordinals相关的交易(铭刻、二级交易)占所有区块链交易的30-50%。
(来源: blockchain.com)
即使在SegWit更新将最大区块大小增加到4MB后,由于交易数量的限制,比特币的平均区块大小仍保持在1.1MB。然而,在Ordinals推出后,平均区块大小增加到1.7MB。
(来源: blockchain.com)
随着通过Ordinals进行铭刻和二级交易变得更加活跃,交易费用平均增加了2-3倍,而在5月BRC-20铭刻活跃和从11月到1月NFT铭刻活跃期间,交易费用增加了20-30倍。目前,二级交易创造的费用仍超过之前的两倍,预计将有助于比特币的可持续性。
Ordinals 协议建立在 SegWit 更新和 Taproot 升级基础上。因此,在解释Ordinals之前,我将简要回顾SegWit更新和Taproot升级给比特币链带来的变化。
(来源: river.com)
作为2017年正式采用的软分叉,SegWit(隔离见证)的意思是分离的签名,提议将传统的交易数据和签名数据同时存储在区块中,改为分开存储。SegWit更新带来了两个重大变化:1) 解决了交易可塑性问题,2) 显著增加了区块大小。与Ordinals特别相关的变更是2)。
之前,第三方可以操控交易的签名,进行更改,在这种情况下,交易可能会有多个有效的txid。这种情况可能使原始交易无效,尽管交易会正常进行,但可能会导致参与者在基于txid进行交易时产生混淆。SegWit更新通过分离签名数据,使得这种数据无法被更改。
2. 增加区块大小
在SegWit更新之前,签名数据占据比特币区块容量的平均75%。SegWit引入了vbyte(虚拟字节)的概念,将原本限制的区块大小从1,000,000字节(1MB)扩展至4,000,000 vbytes(4MB),并引入了一个加权系统,其中交易数据加权为4,而签名数据为1,从而在不增加实际区块交易数据大小上限1MB的情况下增加了区块大小(这需要硬分叉)。此外,由于签名数据使用的vbyte具有1的权重,它允许以75%的折扣费用处理签名数据。
(来源: river.com)
Taproot升级是在2021年进行的软分叉,采纳了BIP-340、BIP-341和BIP-342的提案,并采用了Tapscript。这扩展了现有脚本的可用性,并将脚本大小限制从10,000字节扩大到1vMB,有效地移除了该限制。此外,现在脚本可以以vbytes的形式存储,从而允许折扣。因此,Ordinals当前使用P2TR(Pay-to-Taproot)ScriptPubKey。
Ordinals是2023年1月由 Casey Rodarmor 发布的协议,为单个satoshi分配编号。这些satoshi编号按照它们被挖掘的顺序进行排列,并在交易中按先进先出顺序进行转移。例如,从创世区块挖掘出的50 BTC由编号为[0–4,999,999,999]的一组satoshi组成。
satoshi编号可以用多种方式表示,但通常使用整数表示法。
以下是一些解释satoshi编号定义规则的示例:
创建Ordinals NFT需要将图像/视频/html文件铭刻到编号的satoshi上。Ordinals 铭刻涉及两个交易:Commit交易和Reveal交易。
例如,如果铭刻一个decipher.webp的 logo 图像文件,使用以下脚本。
OP_FALSE
OP_IF
OP_PUSH "ord"
OP_PUSH 1
OP_PUSH "image/webp"
OP_PUSH 0
OP_PUSH decipher.webp ## 必须转换为字节码。
OP_ENDIF
该脚本记录在见证数据中,由于它占用虚拟大小,因此以约75%的折扣费用。如果没有设置特定的指针,它将被写入输入的第一个satoshi,并完成铭刻。铭刻的satoshi然后以546 sats的UTXO形式存储以满足尘埃限制。
不仅图像,还有视频、矢量文件和HTML也可以转化为铭刻,这导致了在比特币链上直接上传游戏等有趣的实验。
(来源: ord.io)
(来源: xverse.app)
由于satoshis被编号,因此具有历史意义、具有唯一数字标识符或捕捉区块链周期中重要时刻的satoshis在Ordinals社区中被视为稀有,分类为Rare Sats。不断有新类型的Rare Sats出现,以下是一些显著的类型。
除了这些,此外还有各种其他稀有sats不断出现。其中,PFP项目中使用最多的是“区块9”,由于它是最昂贵的稀有sats之一(约3,000 sats/单位),且有超过1,000个单位,使得在这些satoshis上铭刻的NFT具有高溢价。
稀有sats也在各种交易所交易,下面会进行重新介绍。
与通过IPFS等平台展示图像的以太坊和SolanaNFT相比,Ordinals提供了一种更去中心化和持久的方法,通过直接在链上上传图像,尽管这带来了一些挑战。
第一个问题是容量;尽管SegWit更新将区块大小增加到4MB,但仍然存在限制。第二个问题是费用;值得注意的是,PFP项目的供应量通常在1K–10K之间,因此铭刻1万个PFP项目,每个图像大小平均为350KB,费用大约需要550万美金。
为了解决这一问题,递归铭刻概念在2023年6月被引入。递归铭刻允许使用终端引用已铭刻的数据,以访问其他铭刻。
/content/<INSCRIPTION_ID>
(来源: ordiscan.com)
例如,考虑铭刻号63,633,712(贪婪使徒)。该图像以SVG文件格式创建,并引用7个不同的铭刻(#63428533, #63428380, #63089900, #63428527, #63013130, #63423455)。该铭刻的文件格式为SVG/XML,包含以下代码:
<svg
xmlns="http://www.w3.org/2000/svg"
width="1024"
height="1024"
style="width: 100%; height: 100%"
onclick="p()"
>
<image
href="/content/ce656d9762062782d405e8fd583b881156f9315217d75aad95decc7b9fd028a5i0"
...
/>
<image
href="/content/b431b71b55412d622d864e3c432572f0f4ac574ece057e8ca6be5731edcc5c7ci0"
...
/>
<image
href="/content/7d09b1d8d955c1862c1b737adc97eb623e12dee0b7ae2974b2840844e8b0b8bei0"
...
/>
<image
href="/content/ebabadc0c094b4ec6bf6e1d754e22dbcb5ceda47e519460581dc4bc99867fa9ci0"
...
/>
<audio id="x" xmlns="http://www.w3.org/1999/xhtml">
<source
src="/content/06c57cd07f1b528b1460252f8c67d56c3ff68201ab9cc7e5e273f4965ee130e0i0"
/>
</audio>
<script>
const
a=['/content/06c57cd07f1b528b1460252f8c67d56c3ff68201ab9cc7e5e273f4965ee130e0i0','/content/93c3ac5cf1baf1c1715c638d7d4c826c61bb4ff66df211ba05e8a17b3e2180c4i0','/content/6ae0698dc2696595b741a0e4dd29885ad1c191618243a3b434136a0024c42b80i0'];const
e=document.getElementById('x');const
p=function(){e.src=a[Date.now()%3];e.currentTime=0;e.play();};
</script>
</svg>
铭刻号#63,633,712的容量为1.16kb。如果不使用递归铭刻,如果所有属性资产都铭刻到单个satoshi上,容量将接近300kb。假设大约有300个属性,则铭刻1万个NFT的费用将从约460万美元降至约35K美元,减少近99%。
我们已经探讨了Ordinals协议是什么、其起源以及它是如何运作的。但为什么Ordinals NFTs能引起如此多关注,以至于有挑战以太坊NFT生态系统的趋势?在这一章,我们将分析一些目前在Ordinals中最突出的项目,并试图理解原因。
分析包括过去30天交易量排名前10的九个项目,不包括Natcats。在这些项目中,有五个是PFP项目,一个是元宇宙项目,三个是预铭刻项目。
(来源: magiceden.io)
基本项目信息
Quantum Cats是OG系列Taproot Wizards的子系列,总发行量为3.3K。该项目造成热度的原因主要有三点:
(来源: ordiscan.com)
乌迪和埃里克,作为Wizards,一直是比特币多样化生态系统建设的积极支持者,早在Ordinals之前便已发声。他们积极反对那些认为比特币只应被视为货币的Bit Maxi,并且认为超出此范围仅会模糊其本质并抬高费用。自然,他们庆祝Ordinals的到来,并与矿业公司Luxor协作,将首个4MB图像文件铭刻为Taproot Wizards的第一个NFT,存储在比特币区块上。
此外,Taproot Wizards是Ordinals项目中第一个获得750万美元风险投资的项目,由Standard Crypto主导。
2108件的Taproot Wizards系列尚未分发,且有多个不规则事件传播了白名单,大部分数量由团队持有。因此,拥有Quantum Cats让人期望获得Taproot Wizards的白名单。
2. 追求技术进步的项目
Quantum Cats旨在复兴Satoshi Nakamoto在比特币首次版本中引入的OP_CAT脚本,但后来被移除。中本聪移除了某些脚本如OP_DUP(重复)和OP_CAT(连接),以防止堆栈大小的指数增长。然而,现在的Tapscript允许最大堆栈大小为520字节,Taproot Wizards团队认为这不再是问题,并计划提议将OP_CAT脚本纳入BIP。
3. 有趣的花招元素(无尽展示)
Quantum Cats在初始铸造后持续更改颜色和形状。这个变化以不规则的间隔通过一种确定性的方法进行,没人可以干预,改变机制未予披露。这个无尽展示的花招引起了人们的好奇,尤其是获得Taproot Wizards白名单的奖励只发放给黄金颜色的猫,从而导致一些人专业抢购这些黄金变体。
(来源: magiceden.io)
基本项目信息
Nodemonkes目前是30天内交易量最高的项目,位列Ordinals生态系统中最OG的项目之一。简单来说,它是Ordinals的Cryptopunks。Nodemonkes造成热度的原因主要如下:
(来源: @ord_io)
Nodemonkes在10K PFP项目中铭刻量最低,排除复制项目(例如Bitcoin Punks)。这表明其创始人是第一批意识到Ordinals潜力并相应准备项目的人,因而获得了OG项目的地位。比特币青蛙也因其重大的热度而与这条逻辑相同。
2. 拥抱Ordinals情绪的网站
(来源: Nodemonkes.com)
尽管Nodemonkes通过Magic Eden启动了销售,但创建了一个独立的网站来展示销售状态,其设计令人怀念,完美激起了Ordinals社区的怀旧感。
3. 销售时机的最佳选择
如第一张图所示,MegaPunks项目也有很低的铭刻量。然而这个项目并没有引起太多的热度。为什么会这样?
MegaPunks在3月开始铭刻,并在4月成功售罄。然而,4月是Ordinals尚未得到关注的时期,并且到了5月当Ordinals的兴趣激增时,焦点不在NFT上,而是BRC-20上。
相比之下,Nodemonkes虽然更早开始铭刻,但静静等待,没有进行市场推广,直到11月当Ordinals NFT的兴趣增长和大量资本开始流入时,于12月通过Magic Eden进行了销售。这表明启动项目的时机也会显著影响NFT项目的成功。
(来源: magiceden.io)
基本项目信息
Ordinal Maxi Biz是一个基于Ordinals NFT生态系统中最强烈的教派社区的项目,让人联想到早期的BAYC社区。OMB能够获得热度的理由主要有三点:
OMB的创始人ZK_Shark最初因分享见解研究而闻名。Ordinals协议发布后,他与曾收集的艺术家Tony一起推出了OMB。他在推特上写了一条关于Ordinals的想法和观点的长文,获得了很高的互动,平均超过400个书签反应。
ZK_Shark因其非凡、聪明和反叛的声誉,极大地塑造了OMB的独特氛围。
(来源: @OrdinalMaxiBiz)
除了独特的极端主义和反叛的氛围,OMB以其专属社区而闻名。例如,进入OMB的Discord目前要求OMB持有者与ZK_Shark进行一对一的面试,并通过该面试。
这些元素塑造了教派和社区,使得OMB成为Ordinals生态系统中的蓝筹项目。
2. 分阶段通货膨胀
Ordinal Maxi Biz最初发行了100个红眼系列,随后是200个蓝眼、1900个绿眼和3000个橙眼,顺序进行。新系列的计划并未提前公布,而是突然而至,与此同时发布。
(来源: @OrdinalMaxiBiz)
在发布新系列的每个时刻,现有持有者都获得了空投或白名单(WL)位置。例如,上图是在橙眼系列出现之前在官方推特上发布的。从这张图中分析,拥有一个绿眼可获得一个橙眼,拥有三个绿眼可获得四个,拥有一套红-蓝-绿则可获得九个,从而为现有持有者持续提供了变现机会(请注意,橙眼的公开销售价格为0.99 BTC)。这种分阶段的通货膨胀种下了对现有持有者的奖励预期,并增加了人们购买NFT的数量,期待下一系列。然而,这种通货膨胀方式也有局限性,许多带有庞氏骗局结构的项目就证明了这一点,因此也受到了相当大的批评。
3. 铭刻于稀有 Sats 上
红眼的铭刻数量较低,蓝眼则铭刻于“区块78”,而绿眼和橙眼铭刻于“区块9 450x”稀有sats。铭刻于稀有sats的NFT被认定具有优质价值,这也增强了它们的热度。
(来源: magiceden.io)
基本项目信息
比特币木偶是一个在inscribe.now作为免费铸造推出的项目,是Ordinals NFT生态系统中最大的 Meme 项目。可以看作是在Ordinals中扮演 Milady 的角色。比特币木偶能够引起热度的原因主要是三点:
像Ordinal Maxi Biz的Zk_Shark一样,lepuppeteerfou对比特币木偶有显著影响。然而,关键区别在于创始人不拥有项目,而是作为爱好和娱乐传播关于它的 meme。因此,比特币木偶社区非常轻松,享受meme文化。Lepuppeteerfou不断喊出“Going to 0”和“Send it to 0”,强调该项目没有效用价值,这使得项目转向成为一个meme。
2. 免费铸造项目
与上述所有项目不同,比特币木偶是一个免费铸造项目。除了给O.P.I.U.M的前辈们第一个铸造机会外,所有铸造均按照先到先得的原则免费进行,并且没有特别的团队分配。
要使一个meme项目成功,关键在于没有“拥有实体”,也没有人持有“初始进入价格”,在这一点上,该项目具有坚实的基础。
3. 首个 Meme OG 项目
比特币木偶的前身和lepuppeteerfou的前一个作品O.P.I.U.M,虽然仅仅是一个由777个组成的系列,但其非常低的铭刻量使其符合OG项目资格。基于此,它获得了第一个meme项目和OG项目的地位,随后获得多个项目的空投,提高了其持有的期待并增强了它的价值。
(来源: magiceden.io)
基本项目信息
披萨忍者是由The Ordinal Show的主持人特雷弗创建的项目,因其利用递归铭刻进行各种花招的NFT而引起关注。披萨忍者引起热度的原因主要有两个:
披萨忍者的NFT不是JPEG、PNG、WEBP图像,而是HTML文件。通过使用递归铭刻,他们不仅节省了发行成本,同时利用HTML的优势添加了各种花招。
例如,点击披萨忍者NFT上的菜单按钮,便可使用如 Resize、Stickers、Animate 等功能,并且甚至包含NFT本身内的简单游戏。该项目因其首次提供如此多样的NFT效用而受到高度称赞。
披萨忍者的所有NFT都铭刻在“披萨”稀有sats(包含用于购买Papa John’s比萨的10,000个比特币的satoshis)上。尽管“披萨”稀有sats并不是相对高价值的satoshis,将整个项目概念与这些satts相结合,为其提供了一个很好的利用稀有sats的示例。
(来源: magiceden.io)
基本项目信息
Bitmap是一个在比特币上创建元宇宙的项目,利用比特币的区块数量。每挖掘出一个新的区块,便可按先到先得原则铸造与该区块对应的NFT。
(来源: @Ordinalsnfts_)
尽管bitmap生态系统仍处于早期阶段,但利用bitmap创建元宇宙、游戏及更多的衍生项目正在持续涌现。
Ordinals NFT生态系统中最近出现的重大热度围绕预铭刻项目展开,这些项目承诺在Runes协议推出之前发布Runes代币。为了引入这些项目,有必要理解BRC-20和Runes协议,因此我将简要解释这些内容。
BRC-20(Bitcoin Request for Comment)是使用Ordinals协议创建的FT(可替代代币)标准,由domo在2023年3月提出。使用BRC-20涉及将三种功能- 部署、铸造 和 转移 - 铭刻到特定的satoshi上。
3.3.1.1 BRC-20 功能
1)部署功能
(来源: domo-2.gitbook.io/brc-20-experiment)
上面的代码表示部署称为“ordi”的代币,最大供应量为21,000,000。“lim”表示一次最多可以铸造的代币数量。将此文本铭刻到一个satoshi上即完成了部署。
2)铸造功能
(来源: domo-2.gitbook.io/brc-20-experiment)
3)转移功能
(来源: domo-2.gitbook.io/brc-20-experiment)
你可以将拥有的BRC-20代币发送到另一个地址。上面的代码是转移100个ordi代币的功能。一旦铭刻并且铭刻的satoshi被发送到收件人地址,BRC-20就完成了转移。
3.3.1.2 BRC-20 工作示例
我们通过更具体的示例理解BRC-20的操作。
示例)
在这种情况下,总余额如下:
3.3.1.3 BRC-20的限制
BRC-20提出了一种实验性规范,使得在比特币上使用Ordinals协议创建可替代代币(FTs)变得可能,这是有价值的。然而,由于Ordinals协议最初设计用于NFT,而非FT,因此存在多个限制。
由于铭刻过程始终是必需的,部署和铸造涉及两个交易,而每次转移涉及三个交易。
作为基于Ordinals协议的标准,BRC-20相关生态系统中的构建者必须理解Ordinals和BRC-20标准。例如,支持BRC-20的钱包必须开发和维护索引器。
与通过智能合约创建的ERC-20不同,BRC-20使用Token Names来证明代币的唯一性。然而,BRC-20仅允许设置四个字符的Token Name,限制了可以发行代币的种类数量。
由于它是基于铭刻而非UTXO的,因此它不是持久的,不能被分割或合并进行交易,也无法支持多次转移。
如果有人创建一个转移铭刻并发送给A,A的余额将保持锁定,直到他们将转移铭刻发送给别人。
Casey Rodarmor最初对Alt代币持怀疑态度,但看到自己的Ordinals协议最终被用于BRC-20等应用后,他决定创建一种高效的FT标准。2023年6月,他宣布创建一个新的FT标准的概述,称为Runes。
Runes协议尚未发布,预计在下一个减半事件期间,840,000个区块被挖掘时揭晓(预计在4月20日左右)。因此,目前尚无Runes协议的具体示例,开发文档尚未完全发布。因此,本报告将简要介绍Runes协议的概念。
3.3.2.1 Runestone
Runes协议通过在OP_RETURN脚本中记录名为Runestone的功能来运行。简单的脚本结构如下所示。
OP_RETURN
OP_PUSHNUM_13 ##指示Runes协议的作用
OP_PUSH [Runestone功能]
目前发布的Runestones类型如下。
1) 雕刻(部署)
(来源: docs.ordinals.com/runes/specification)
2) 条款(铸造)
(来源: docs.ordinals.com/runes/specification)
3) Edict (转移)
(来源: docs.ordinals.com/runes/specification)
3.3.2.2 示例 (刻印)
该交易 ( a7c8a4b…78a9a9) 涉及一个名为‘GREG’的Runes代币,该代币在Signet上进行刻印。如图所示,代币是通过OP_RETURN脚本进行部署的。与BRC-20不同,可以看出刻印的satoshi不发生转移。
3.3.2.3 Runes协议的优点
Runes协议从一开始就着眼于FTs,因此相较于BRC-20有许多优点。
3.3.3.1 Runestone
(来源: magiceden.io)
基本项目信息
Runestone是由Orderrinals生态系统中最有影响力的影响者Leonidas创建的项目。该项目通过空投的方式分发给所有在特定时间之前持有至少三款Ordinals NFT的110,000个钱包。由于创始人的强大影响力,目前被视为最受关注的项目。
3.3.3.2 RSIC
(来源: magiceden.io)
基本项目信息
RSIC Metaprotocol是第一个获得炒作的Pre-Runes项目,当其空投给活跃于Ordinals生态系统的9,000个钱包时,其便成名。位于右下角的runes如果其符号和数字与最近的区块哈希值匹配,则会变成橙色,并且这一特性增加了未来空投的数量。
3.3.3.3 Rune Pups
(来源: magiceden.io)
基本项目信息
Rune Pups是比特币木偶的衍生项目,由原本制作$PUP作为BRC-20代币的团队创建。$PUP之前已经空投至O.P.I.U.M和Bitcoin Puppets。当Runes协议推出时,现有的BRC-20代币将被销毁,新的Runes代币将被发放并空投到Rune Pups持有者手中。预计将作为Runes生态系统内的一个模因代币。
(来源: OrdinalsGlobal)
Ordinals生态系统大致由“钱包、刻印工具、启动平台、市场、BRC-20、Ordinals、DeFi、数据与分析”构成。
首先是钱包。ORDINALS钱包建立在比特币基础之上,支持Ordinals和BRC。
钱包
接下来是市场,你可以在其中购买Ordinals和BRC-代币。这些市场根据它们是否专注于BRC-20或ORDINALS进行区分,还有一个稀有SATS市场,用于交易特殊编号的Sats。
市场(BRC-20重)
市场(Ordinals重)
市场(稀有Sats)
接下来是DeFi平台。Ordinals的现有限制(缺乏智能合约)正在借助SWAP、LIMIT和LENDING等各种尝试被克服。
DeFi
接下来是刻印工具。Ordinals和BRC可以在Sats上刻印多达4MB的任意文件,如文本、图片和视频,允许各种文件存储在链上。因此,需要为此目的提供工具,刻印工具的类型如下。
刻印工具
接下来是启动平台。目前,基于Ordinals的各种项目已启动或即将推出。
启动平台
接下来是BRC-20。除了ORDINALS,以BRC-20为基础的各种代币正在被刻印和使用。
BRC-20
接下来是Ordinals本身。目前,各种Ordinals项目受到了关注,许多项目正在从以太坊和Solana迁移到Ordinals。
Ordinals
最后,还有各种工具用于检查或分析Ordinals数据。
数据与分析
我们先来看看Ordinals钱包。Ordinals钱包建立在比特币基础上,支持Ordinals和BRC。
(来源: xverse.app)
Xverse是一个基于比特币的钱包,支持Ordinals和BRC20。它还支持名为Sats Connect的功能,这是一个轻量级JavaScript库,使得在比特币上使用web3功能成为可能。这使得Xverse钱包能够通过PSBT原理连接到用户的web应用程序。(PSBT将在本文章后面讨论。)
(来源: unisat.io)
Unisat是另一个基于比特币的钱包,支持Ordinals和BRC20。此外,Unisat支持一个名为未确认NFT的功能。该功能显示在内存池中最近刻印的NFT,允许用户验证未确认的NFT。由于比特币每10分钟创建一个区块,因此交易的注册与挖掘之间可能会有显著延迟。此功能允许在NFT挖掘到区块之前提前验证NFT详情,如有必要,可以重新定义先前的NFT以纠正错误。
(来源: Sparrow Wallet)
Sparrow Wallet与其他钱包的最大不同在于它并不作为Chrome扩展程序运行。浏览器钱包更易受到攻击,因此需要通过下载独立应用程序使用Sparrow Wallet。Sparrow Wallet有四种连接方式。
这四种方式中,最安全的是私有Electrum服务器,通过自己的Electrum服务器连接到比特币核心节点。在这种情况下,Electrum指的是一种比特币钱包软件,由于区块链的规模庞大,不会下载整个区块链,而是参考保存在公司服务器上的区块链。私有Electrum服务器的方法确保安全,因为它不会以可被索引和定位的方式在服务器上存储钱包交易。
(来源: magiceden.io)
MagicEden是一个多链钱包,支持四条链:比特币、Solana、以太坊和Polygon。它还具备在多个链之间交换代币的能力,如SOL-BTC、SOL-ETH和BTC-ETH。此外,因其支持多条链,能连接比特币、Solana以及任何EVM链上的dapps。
(来源: theblock.co)
在Ordinals NFT市场,各种Ordinals和BRC-20代币可以购买。从过去三个月的Ordinals市场份额来看,Magic Eden的份额显著更高,其次是OKX和Unisat。
首先,我们来看目前市场份额排名第一的MagicEden。
(来源: magiceden.io)
MagicEden基本上支持四条链:比特币、Solana、以太坊和Polygon。因此,当进入市场时,可以查看这四条链的NFT收藏。
(来源: magiceden.io)
在市场左上角点击Discover,可以查看比特币Ordinals。
(来源: magiceden.io)
(来源: magiceden.io)
此外,还有一个页面用于购买特定编号的稀有Sats,还有一个页面可以尝试Ordinals刻印,称为Inscribe Ordinals。
(来源: okx.com)
OKX支持几乎所有链上的NFT,列表如下。
比特币、以太坊、Solana、BNB链、Polygon、Immutable X、Aptos、Arbitrum One、Optimism、Zksync Era、BASE、LINEA、opBNB
(来源: okx.com)
即使查看截至2024年3月24日的顶级收藏,基于Ordinals的项目也名列前茅。BRC-20代币也可以在OKX上购买。
(来源: unisat.io)
Unisat也是一个可以购买Ordinals和BRC-20代币的市场。
(来源: unisat.io)
Unisat还具有搜索窗口,允许你搜索特定的刻印数据。如前所述,你可以指定所需的格式,如‘text、.uniworlds、.bitmap、.sats、.unisat、brc-20、number、news’,然后输入特定关键词以查找相关项。
在比特币的案例中,没有智能合约。然而,当你进入Ordinals市场时,各种代币被列出,买家可以连接他们的比特币钱包进行购买。这里使用的机制是PSBT(部分签名比特币交易)。PSBT是一种源自BIP-174的功能,允许某些输入被签名,而其他输入保持未签名。它还支持多签名交易,即多个用户可以共同签名以发起一笔交易。这意味着某些输入被签名,而其他输入保持未签名,从而允许多个签名并行处理而不受顺序限制,这种机制促进了用户之间代币的转移。
首先,让我们来看一下BIP-174。BIP-174是部分签名交易的序列化和反序列化标准。首先,我们探索一种被称为Coinjoin交易的交易类型,该交易利用PSBT将多个输入和输出组合到一笔交易中。
手动CoinJoin工作流
(来源: githup bitcoin / bips)
Alice基于她的UTXO资产创建一个PSBT并将其发送给Bob。然后,Bob将他的UTXO资产作为输入。接下来,Carol输入她的UTXO,添加她的签名并完成她的输入。然后,Bob签署该交易,增加他的签名并完成他的输入。最后,Alice将所有内容整合并广播序列化的交易。这种交易的组合增加了隐私和匿名性,因为观察者无法判断哪些输入和输出与哪些参与者相关。
此外,CoinJoin还可以在以下示例中使用。假设三个人每个都想把币发送给不同的人。(将3个UTXO发送到3个不同的接收地址)交易输入和输出被列出,三个个人收集签名,最后一个人聚合所有内容并发送,完成多笔交易的合并。
$ bitcoin-cli -named createpsbt inputs='''[ { "txid": "'$utxo_txid_1'", "vout": '$utxo_vout_1' }, { "txid": "'$utxo_txid_2'", "vout": '$utxo_vout_2' }, { "txid": "'$utxo_txid_3'", "vout": '$utxo_vout_3' } ]''' outputs='''{ "'$split1'": 1,"'$split2'": 2,"'$split3'": 3 }'''
2-of-3多签名工作流
(来源: githup bitcoin / bips)
接下来是使用PSBT的2-of-3多签名示例。Alice、Bob和Carol每个人都想转移资产给其他人。在这种情况下,Alice使用完整节点创建PSBT,然后分别发送给Alice、Bob和Carol。这个过程是并行处理的,并且可以按任意顺序进行。一旦大家完成签名,PSBT就会回传给Alice,随后她将这三份签名合并,最终确认PSBT并将其广播到网络。
以下是演示这种多签名交易过程的代码。
// P2SH: 2N7AiQQ4fKD7DvnRNTd13aT7ybFvgjtqCLF
$ txid="e286d399151be8a2faa7c136acfff418fba3c2512518a09db39d085ff3415aa7"
$ vout=0
$ recipient=$(bitcoin-cli -rpcwallet="" getnewaddress)
// createpsbt命令:创建PSBT交易。
$ psbt=$(bitcoin-cli -named createpsbt inputs='''[{"txid":"'$txid'", "vout":'$vout'}]''' outputs='''{"'$recipient'": 0.0019}''')
// 在[Wallet1]中签署PSBT交易(签名的顺序无所谓,可以并行进行)
$ psbt1=$(bitcoin-cli -rpcwallet="" walletprocesspsbt $psbt | jq -r '.psbt')
//{
// "psbt": "cHNidP8BAFICAAAAAadaQfNfCJ2znaAYJVHCo/sY9P+sNsGn+qLoGxWZ04biAAAAAAD/////ATDmAgAAAAAAFgAU3c5jKFLZix5fkfYbSfjxnebiBvgAAAAAAAEAcgIAAAABqanm/G18G7hm/W0CFddW+XF+vAagTDnpyMof9j24L+IBAAAAAP7///8CQA0DAAAAAAAXqRSYt2bFjhDSNeyNsprBT9fj8lSpKIdZmBUAAAAAABYAFHzidnhplic9pJQ9IcYETLpeLxhoEV8hACICAx6RZM4mq5ThPnowTBdvXaBGxXL3827fNuWJA1XWaaDhRzBEAiAhm0nDLQ5hB5gOv4niLeIZR2ggC4+A2M57vwkd/x+CAgIgYPAOzRA0V+dA+fcXeZDxEFxpBfD8ZVlr3/Bp9JWK0wIBAQRHUiEDHpFkziarlOE+ejBMF29doEbFcvfzbt825YkDVdZpoOEhArrIrXqdys9KzK3krcEAVjpWp2rluW7e9VTkh3jZNyxJUq4iBgK6yK16ncrPSsyt5K3BAFY6Vqdq5blu3vVU5Id42TcsSQSt7TAcIgYDHpFkziarlOE+ejBMF29doEbFcvfzbt825YkDVdZpoOEQnRRW7wAAAIAAAACAKwAAgAAiAgKXtxhAHtScAoJTmUPEF0BGiZR/KcunJbzkUbzcaJRpyhCdFFbvAAAAgAAAAIAsAACAAA==",
// "complete": false
//}
// 签名执行后,公钥和签名将显示在partial_signatures中。
$ bitcoin-cli decodepsbt $psbt1
... some ...
"partial_signatures": {
"031e9164ce26ab94e13e7a304c176f5da046c572f7f36edf36e5890355d669a0e1": "30440220219b49c32d0e6107980ebf89e22de2194768200b8f80d8ce7bbf091dff1f8202022060f00ecd103457e740f9f7177990f1105c6905f0fc65596bdff069f4958ad30201"
},
// 在[Wallet2]中签署PSBT交易(可以并行处理)
// 注意:钱包必须先使用walletpassphrase解锁。
// 如果没有解锁,将不会签名且无错误反馈。
$ psbt2=$(bitcoin-cli -rpcwallet="test2" walletprocesspsbt $psbt | jq -r '.psbt')
//{
// "psbt": "cHNidP8BAFICAAAAAadaQfNfCJ2znaAYJVHCo/sY9P+sNsGn+qLoGxWZ04biAAAAAAD/////ATDmAgAAAAAAFgAU3c5jKFLZix5fkfYbSfjxnebiBvgAAAAAAAEAcgIAAAABqanm/G18G7hm/W0CFddW+XF+vAagTDnpyMof9j24L+IBAAAAAP7///8CQA0DAAAAAAAXqRSYt2bFjhDSNeyNsprBT9fj8lSpKIdZmBUAAAAAABYAFHzidnhplic9pJQ9IcYETLpeLxhoEV8hAAEER1IhAx6RZM4mq5ThPnowTBdvXaBGxXL3827fNuWJA1XWaaDhIQK6yK16ncrPSsyt5K3BAFY6Vqdq5blu3vVU5Id42TcsSVKuIgYCusitep3Kz0rMreStwQBWOlanauW5bt71VOSHeNk3LEkQ3gk7LQAAAIAAAACABQAAgCIGAx6RZM4mq5ThPnowTBdvXaBGxXL3827fNuWJA1XWaaDhBHw4MXIAAA==",
// "complete": false
//}
// 一旦执行签名,第二个签名将在partial_signatures中显示。
$ bitcoin-cli decodepsbt $psbt2
... some ...
"partial_signatures": {
"02bac8ad7a9dcacf4accade4adc100563a56a76ae5b96edef554e48778d9372c49": "304402205851976f710595904423057757a6f742cd84dd4df6c5903cb8c7c1a96d2f0ce2022041afa4fe06942dd61c9452e239d51f2639d82c0b67cbbdf2428a352ae92bbd9701"
},
// combinepsbt命令将多个签名合并为一个。
$ psbtall=$(bitcoin-cli combinepsbt '''["'${psbt1}'","'${psbt2}'"]''')
// analyzepsbt命令检查是否可以完成最终确认。
$ bitcoin-cli analyzepsbt $psbtall
{
"inputs": [\
{\
"has_utxo": true,\
"is_final": false,\
"next": "finalizer"\
}\
],
"estimated_vsize": 299,
"estimated_feerate": 0.00033444,
"fee": 0.00010000,
"next": "finalizer"
}
// finalizepsbt命令执行最终确认。
$ finaltx=$(bitcoin-cli finalizepsbt $psbtall | jq -r '.hex')
// 发送交易
$ bitcoin-cli sendrawtransaction $finaltx
(来源: githup magicoss / msigner)
2-Dummy UTXO算法
Ordinals涉及在satoshi上刻印特定数据,交易也基于这个satoshi。由于代币或Ordinals实际上并未实际发行,因此在交易费用中意外使用了刻印的satoshi是有风险的。为防止这种情况,Ordinals市场使用了被称为2-Dummy UTXO算法。这涉及将NFT的偏移量(在区块链中存储NFT或其他加密资产的点)习惯性设定为0,将邮资(传输NFT或其他资产所需的网络费用)设定为10k sats。
市场操作流程
签署一个使用SIGHASH_SINGLE | ANYONECANPAY的PSBT。
使用SIGHASH_DEFAULT签署整个PSBT。此时,买家可以访问所有信息 except 卖方的签名。
有一个可以购买特殊编号Sats的市场,称为稀有Sats。
(来源: magiceden.io)
(来源: magiceden.io)
在Satributes中,你可以检查稀有Sats的类型。你还可以点击感兴趣的稀有Sats应用重复过滤器。通过点击稀有Sats图标,可以查看详细描述,目前可以看到上面的稀有Sats是一个回文,表明Sats号码是对称的。
Sats号码 = 1462860990682641 (14628609 | 90682641)
(来源: magisat.io)
(来源: magisat.io)
Magisat也是一个可以购买各种稀有Sats的市场,并确认许多稀有Sats如回文、字母、序列Pali、Omega、黑色稀有品种等正在交易。
(来源: saturnbtc.io)
Saturn是一个De-Fi平台,允许在稀有Sats之间进行交换。Saturn支持通过订单簿方法交换稀有Sats,在连接到Saturn后,你可以设置自己拥有的稀有Sats以及所需的稀有Sats,然后进行交换。
(来源: saturnbtc.io)
此外,Saturn还允许对稀有Sats设置限价订单。你访问限价窗口,点击希望购买/出售的稀有Sats,输入期望的限价,然后点击交换。之后,选择网络费用率,你设置的稀有Sats将在竞标窗口中列出。
虽然比特币没有智能合约的缺点,但各种De-Fi平台正在出现以克服这一点。Liquidium是一个允许P2P比特币借贷的De-Fi平台。
(来源: app analytics > Liquidium View)
(来源: app analytics > Liquidium View)
截至2024年3月24日,Liquidium的每日交易量为147.92 BTC。它在Ordinals生态系统的DeFi部门非常活跃。此外,nodemonkeys、bitcoin puppets、quantum_cats和omb在该平台内占有重要份额。
(来源: app.liquidium.fi)
(来源: app.liquidium.fi)
用户可以使用一种独特的基于比特币的资产 called Ordinal Inscriptions (Ordinals) 来借贷或借出比特币。所有这一切都可以通过部分签名比特币交易 (PSBT) 和隐秘日志合约 (DLCs) 在比特币第1层上实现。
(来源: deeplake.fi)
首先,让我们看一下Deep Lake开发的Ordinals Lending V1。借款人首先根据其Ordinals资产请求一笔贷款。然后,借贷机构接受该请求。生成脚本并添加市场费用。整个过程基于PSBT,借款人和借贷机构签署请求后,交易将被广播到比特币网络。
(来源: deeplake.fi)接下来是 Ordinals Lending V2 方法。借贷机构在链上锁定 BTC 以批准贷款。然后,这个 PSBT 被广播到 BTC 保险库 1。借款人使用之前已批准的 BTC 保险库请求贷款。第一 BTC 保险库 1 和第二借款人的 Ordinal 资产通过 PSBT 被广播到比特币网络。
在上述 PSBT 中,使用了三个接口。由于 Ordinals 没有智能合约,使用了托管来克服限制。
托管接口
资产接口
结果接口:
首先,使用“创建托管”来创建托管交易。
const headers = { Authorization: MY_COMPANY_API_KEY };
const data = {
collateral: {
assets: [],
},
};
const { data: escrow } = await axios.post(
`${DEEP_LAKE_REST_API_URL}/escrows`,
data,
{ headers}
);
接下来,将 Ordinals 资产作为抵押锁定在托管中。
const headers = { Authorization: MY_COMPANY_API_KEY };
const data = {
collateral: { id: escrow.collateral.id },
type: "btc.utxo", // 使用 Ordinals 作为抵押
content: {
meta: {
amount: "1000"
},
node: {
id: "ecb714f01e247a46cd39e92d2b349c940c7f68bd275d9bc8b196c77159aa2f85",
value: "tb1puk67w7gd389mwm0tn97dg3jrdalts8fdc368akq2vqvwsp2m3d7qahuwk6",
sequence: 0,
publicKey:
"36260aee1a40d5148860e63aa659f4d7c157b62b0b597b0392394d5aca5a7e12",
},
},
action: {
configuration: {
paths: [\
{\
fn: "identity",\
tag: "repay", // 还款\
args: [\
"03559ad6902ae6f93103038078c0c01934fe1a551273d433c303e03658b117daa6",\
],\
addresses: [\
{\
type: "receive",\
value:\
"tb1puk67w7gd389mwm0tn97dg3jrdalts8fdc368akq2vqvwsp2m3d7qahuwk6",\
},\
],\
},\
{\
fn: "time",\
tag: "liquidate", // 清算\
args: [\
"2023-09-13T22:34:12Z", // 日期\
"032d5beef9cc3bda7c083e6fb5a19d020f3c7e8a07155755ef0a9ec4f62efc63ea",\
],\
addresses: [\
{\
type: "receive",\
value:\
"tb1p2kap5msfakxsnfacywnp6qwppza0cpk2423krtekhdek88sfdqtse2fkf0",\
},\
],\
},\
],
},
type: "lock", // 确认资产当前处理状态
},
addresses: [\
{\
type: "change",\
value: "tb1puk67w7gd389mwm0tn97dg3jrdalts8fdc368akq2vqvwsp2m3d7qahuwk6",\
},\
],
};
const { data: asset } = await axios.post(
`${DEEP_LAKE_REST_API_URL}/assets`,
data,
{
headers,
}
);
在上述托管代码中,type: “btc.utxo” 意味着使用 Ordinals 作为抵押,下面的 amount 表示数量。“Repay” 意味着还款,“liquidate” 意味着清算,type: “lock” 表示当前资产的确认状态,确认资产已被锁定。
(来源:adiabat.github.io)
DLC(Discreet Log Contracts)是一种解决智能合约的可扩展性和隐私问题的系统,并最小化对提供外部数据的预言机的依赖。更多细节,请参考 相关论文。
尽管比特币目前不支持智能合约,无法进行质押,但已经提出多种解决方案以克服这个问题。这涉及到提前设定利率和期限,将 Ordinals 资产锁定在托管中固定时间,然后一旦期限结束再解锁它们。
创建质押托管:
const headers = { Authorization: MY_COMPANY_API_KEY };
const data = {
fee: 200,
staker: {
utxo: {
id: "dfca815a2f9b25df446e851d4a6ac98ed0ecf8cd871e12998052bc2a66de859e",
sequence: 0,
},
ordinal: {
value: "tb1p2kap5nsfakxsnfacywnp6qwppza0cqk2423krtekhdek88sfdqtse2fkf1",
publicKey:
"03d0bc04edde7d0e515bd69e01b01275b760a49f7b2bb5e8baad3d6820ea632bbd",
},
cardinal: {
value: "2N1mLRYwgHDPFUvUYaAbBh1FDjqY9cVraDN",
publicKey:
"1527224d68008a5b8f8cq4ffc10cb7f347d0374cb2fd4357e30c4b27afe89bca",
},
},
expiry: "2023-09-21 18:25:29.812238",
product: {
id: 11,
},
};
const { data: escrow } = await axios.post(
`${DEEP_LAKE_REST_API_URL}/flows/execute`,
{ data },
{ headers }
);
首先,使用“创建质押托管”创建质押托管,并在设定过期时间后质押 Ordinals 资产。
签署并广播质押托管:
const qs = require("qs");
const headers = { Authorization: MY_COMPANY_API_KEY };
const data = {
state: "broadcast-stake",
transactions,
product: {
id: 11,
},
};
const where = qs.stringify({ where: { id: flow.id } });
const { data: escrow } = await axios.post(
`${DEEP_LAKE_REST_API_URL}/flows/execute?${where}`,
{ data },
{ headers }
);
然后,签署托管并广播交易。
解锁质押托管:
const headers = { Authorization: MY_COMPANY_API_KEY };
const data = {
state: "unstake",
fee: 200,
index: 0,
product: {
id: 11,
},
};
const where = qs.stringify({ where: { id: flow.id } });
const { data: escrow } = await axios.post(
`${DEEP_LAKE_REST_API_URL}/flows/execute?${where}`,
{ data },
{ headers }
);
使用“解锁质押托管”解锁质押资产。
签署并广播解锁:
const headers = { Authorization: MY_COMPANY_API_KEY };
const data = {
state: "broadcast-unstake",
transactions,
product: {
id: 11,
},
};
const where = qs.stringify({ where: { id: flow.id } });
const { data: escrow } = await axios.post(
`${DEEP_LAKE_REST_API_URL}/flows/execute?${where}`,
{ data },
{ headers }
);
在解锁质押资产后,重新签署交易并广播。
比特币无疑是以市值计算最大的去中心化、最安全的链,并已成为区块链行业的图标和指标。尽管由于缺乏对智能合约的支持,它一直被视为“数字黄金”,但 Casey Rodarmor 引入的 Ordinals 协议(和 Runes 协议)为在比特币 L1 链上进行实验开辟了机会,这具有重要意义。此外,随着下次减半仅在两周内,这也可能为矿工如何维持其收入提供解决方案。
Ordinals NFTs 的出现也使得 PFP 生态系统值得密切关注。由于 Ordinals 的出现,以太坊 NFT 项目正失去其叙述和价值。Ordinals 能占据 NFT 市场的多大份额,并且现有的以太坊和 Solana NFT 生态系统能否保持其影响力,尚未可知。无论结果如何,NFT 市场的重大变化是确定的。
然而,比特币链上缺乏智能合约也明确定义了其限制。如果在利用 NFTs 的各种效用之前无法进行简单的 NFT 质押,Ordinals NFTs 将只具有简单数字奢侈品的价值。如果像 BitVM 这样的解决方案出现,预计将能够开发出一个更先进的生态系统。
- 原文链接: medium.com/@chaisomsri96...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!