比特派钱包app官方网站|万字总结比特币新发展,再次爆发前夕

比特币的发展过程中存在着比特币原有技术与应用需求冲突的问题。针对这一问题,比特币的技术探索历程不断探讨和解决,如脚本语言限制、分叉历史、OP_RETURN的使用和Segwit隔离见证等技术方案。随着技术不断发展,比特币的技术架构也在逐步完善和改进。尽管比特币存在一些不完善之处,如UTXO、脚本语言非图灵性等,但随着新技术的应用和探索,比特币系统的容量和性能不断得到提升,为比特币的未来发展奠定了基础。

译文作者:付少庆,SatoshiLab,万物岛 BTC 工作室

1. 比特币原有技术的主要探索与冲突

比特币的原有技术一直存在大规模应用与比特币应具有的能力的冲突问题。大规模应用和交易规模是否意味着更复杂的交易指令和更大的交易空间?是否意味着一定要在比特币上币系统单一就实现了所有的功能?在早期,比特币生态技术发展不完善的情况下,这些现象似乎都是比特币本身的问题。随着技术的发展,很多问题会得到更清晰的答案。

在本文中列出了一些相关问题,以及对这些问题的产生与解决过程。通过本文,可以看到这些问题与技术之间的关联性,以及比特币主链与相关“测试链”的变化比特币的技术一直在与团队在探索中进行不同的项目(包括以太坊都是对比特币不完善的一种探索),只是在比特币主网上产生的变化一直不够明显,直到 Taproot 等技术的产生,推动了Ordinals协议等协议产生之后,重新进入了一个新的发展里程碑。

从看这些发展过程与产生的相关技术,我们能够看到它们之间的联系,可以推测出更多发展方向与整体架构。

1.1.比特币的脚本语言与少量删减指令

比特币的编程语言是一种逆波兰式的脚本语言,循环语句和条件控制语句(后面看 Taproot&Taproot Script 补充了这块能力)。 因此,常有人说:比特币脚本语言不是图灵的。 ,这导致比特币脚本语言,有一定的局限性。

当然,由于这些限制,黑客无法使用这种脚本语言写出一些死循环(会造成网络瘫痪),或者一些能够导致 DOS 攻击的恶意代码,避免比特币网络受到 DOS 攻击。的开发者,也认为核心区块链,不应该具备图灵缺陷,来避免一些攻击和网络堵塞。

但是,也正是由于这些限制,比特币网络,没有办法运行其他复杂的程序了,没有完成一些“有用”的功能。而后面发展区块链系统,是为了解决具体问题,满足用户的需求,直接改变了这一点。比如,以太坊使用的语言就具备了图灵提示。

比特币脚本指令常见的类型:

关键词:

1. 偏差。如:OP_ 0 ,OP_FALSE

2. 流程控制。如: OP_IF,OP_NOTIF,OP_ELSE,……

3. 堆栈。如:OP_TOALTSTACK(把输入压入辅堆栈的项部,从主堆栈删除),……

4. 字符串。如:OP_CAT(连接两个字符串,已取消),OP_SIZE(把栈顶元素的字符串长度压入栈中(通胀元素))

5. 位逻辑。如:OP_AND,OP_OR,OP_XOR

6. 算术逻辑。如:OP_ 1 ADD(输入值加1),OP_ 1 SUB(输入值减1)

7. 加密货币。如:OP_SHA 1 (输入用 SHA-1 算法 HASH.),OP_CHECKSIG()

8. 伪关键字

9.保留关键字

比特币脚本指令常见的类型:

主演:

1.支付到标准交易的比特币地址(pay-to-pubkey-hash)

2. 标准比特币产生交易(pay-to-pubkey)

3. 可证明的无法花掉/可删除的输出

4. 任何人都可以消费的输出

5.猜谜交易

五个标准类型的交易脚本包括:支付到脚本缓冲(P2P KH)、支付到脚本、锁定签名(限定最多15个密钥)、支付到脚本缓冲(P 2 SH),以及输出数据(OP_RETURN)。

在网页:https://en.bitcoin.it/wiki/Script中有详细的说明。

下跌比特币支持的指令

比特币历史上发生过多次删减指令的事情。下面的K线走势图中,红色部分是已经删减的指令。

字符串操作

再次爆发的前夕,万字总结比特币新发展再次爆发的前夕,万字总结比特币新发展(3)算术操作

再次爆发的前夕,万字总结比特币新发展再次爆发的前夕,万字总结比特币新发展

要删减指令?安全性只是其中的考虑,如果我们用分层设计的思想认为删减指令会理解其合理性,从而使底层协议更基础更稳定。也许中本聪一开始就认识到这个问题,否则不会主动的删减指令。我们常人的思维是建立一个直接满足用户需求、拥有完善指令和系统功能的小系统,而不是一个需要协作的大型协议。

这样就造成了一个事实,只有比特币适合作为一层网络。我在《比特币价格过高会促进产生一个新的替代链产生》文章中,从经济学视角和技术角度分析了这种现象角度分析,有产生比特币替代链的可能性。但从比特币的基本特点和分层设计的角度来看,几乎只有比特币能够作为一层网络基础设施,即使有替代链也是一个1.5层的产物。在网络这个层面上,真品只有比特币,能有一些替代作用的链最多是货。

1.2.比特币分叉历史、原因与意义

在比特币的发展历史上,除了删减指令问题,还有区块大小之争,这往往会造成比特币的硬分叉。

BTC创立之初并没有限制区块大小,以便本能够在时间上处理相同的交易笔数。但当早期BTC价格非常低时,恶意交易的成本也非常低,为了解决这个问题,中聪在2010年9月12日主持了一次软分叉,添加了区块成交量不能超过1 MB的限制。中本聪指出但这种限制是临时性的,未来可以以可控和逐步的方式提高区块限制,便于满足扩容的需要。

下图为比特币的分叉历史:

再次爆发的前夕,万字总结比特币新发展再次爆发的前夕,万字总结比特币新发展

随着比特币的流行,网络交易拥堵和确认时间增长问题日益严重。2015年Gavin Andresen和Mike Hearn宣布将在新版BitcoinXT中实现BIP-101提议,希望将区块上限提高至8 MB。而Greg Maxell、Luke Jr、Pieter Wuille等核心开发者则持意见,认为这种做法会提高运行全人口的人口,并且反对带来不可控的影响。 。

从上面的内容中,我们看到中本聪也表达了“区块大小这种限制是临时性的,未来可以以可控和渐进的方式提高区块限制,以便满足扩容的需要。”但什么时候分叉支持更大的区块,单独分出一条链支持大区块能否解决问题?在不断的争议中,也产生了大批的案例。比如,BCH 区块大小是 8 M,后来又增加了 32 M。BSV 区块大小为 128 M。而除了 BCH(和后面的 BSV)之外,这段时间还出现了许多其他 BTC 分叉币,据 BitMEXResearch,仅在 BCH 分叉后的一年内,就出现了至少50种新的分叉币。

稍后我们会看到的内容,在比特币主网上面 Segwit 和 Taproot 确实将区块的空间从 1 M 提升到了 4 M。

比特币的分叉是一种发展探索,在尝试通过自身的改变来完成对更多需求的支持。其中有用户需求、矿工需求、投资人需求、开发者需求、……。

1.3.比特币发展中的几个典型探索

中本聪离开后,继承人Gavin Andresen主导成立了Bitcoin Core和比特币基金会。在此期间,针对BTC的可拓展性探索一直存在,尤其是在资产发行领域。

彩色硬币(染色币)

eToro 创始人 Yoni Assia 在 2012 年 3 月 27 日发表的一篇文章中第一个提出了彩色硬币。这个想法不断发展,在 Bitcointalk 等论坛上,彩色硬币的概念开始形成并获得关注。最终 Meni Rosenfeld于2012年12月4日发布了一份详细介绍科罗拉多货币的PDF。

染色币的设想是通过给比特币的特定部分添加特殊的标注(即染色),来代表更广泛的资产和价值。染色币在现实上出现了一系列实体,大致分为两类:

1)基于OP_RETURN:如Flavien Charlon在2013年提出的开放资产,利用OP_RETURN(在Bitcoin v 0.9.0中被提出,用于在Bitcoin上存放少量的数据,最初的限制为40字节,提高至80 字节)。操作码存储到脚本中,并通过读取的方式来完成“染色”和交易。(这种模式与序数依据外部索引确定资产合法性类似)。

2)基于OP_RETURN:典型代表是ChromaWay在2014年提出的EPOBC协议,EPOBC资产的额外信息存储在比特币交易中的nSequence字段,每个EPOBC资产的类别和合法性需要随后起源交易来确定。

万事达币(OMNI)

JR Willett 在 2012 年 1 月 6 日发布了 MasterCoin 的设想,并取名为“比特币第二份白皮书”,并于 2013 年 7 月通过 ICO 的方式正式启动项目,最终募集到了 5120 个 BTC(当时价值) 50万美元)。MasterCoin和Colored Coins区别它建立了一个完整的节点层,通过扫描比特币区块来维护状态模型数据库,该数据库驻留在区块链之外的节点中。这种设计可以提供比彩色币更复杂的功能,例如创建新的资产、去中心化交易所、自动化价格反馈等。2014年,Tether也通过Mastercoin协议在比特币上推出了稳定币,即我们熟知的Tether USD(全能)。

(3)交易对方

Counterparty 于 2014 年正式推出。Counterparty 也使用 OP_RETURN 将数据存储至 BTC 网络中。但与染色币不同,Counterparty 中的资产不是以 UTXO 的形式存在,而是通过 OP_RETURN 加载信息来表明资产的转移,当一个资产持有者利用持有地址对歹有特殊数据的交易进行签名后,资产便完成了转移。通过这种方式,交易对手方可以实现资产的发行、交易以及兼容以太坊智能坊合约的平台。

除此以外,也有观点认为以太坊、瑞波币和比特股也属于更广义的“比特币2.0”。

1.4.比特币与分层协议的不完美

比特币系统的不完善(或限制)主要表现在几个方面(本文中的不完善是根据以太坊贸易中的总结,并不是真正的不完善。

1. 比特币的账户系统UTXO

在当前的区块链项目中,主要有两种记录保存方式,一种是账户/余额模型,一种是UTXO模型。比特币采用就是UTXO模型,以太坊、EOS等则采用的是账户/余额模型。

在比特币钱包交易中,我们通常能够看到账户余额,然而在中本聪设计的比特币系统中,并没有余额这个概念。“比特币余额”是由比特币钱包应用派生出来的产物。UTXO( Unspent Transaction Outputs(未花费交易输出)是未花费的交易输出,它是比特币交易生成及验证的一个核心概念。交易构成了一组链式结构,所有合法的比特币交易都可以往前向一个或多个交易的产出,这些链条的源头都是挖矿奖励,不足以弥补当前未占用的交易产出。

所以现实世界中没有比特币,只有UTXO。比特币的交易由交易输入和交易输出组成,每一笔交易都要耗费(spend)支出输入,产生支出输出(output),而其所产生的输出,就是“未花费过的交易输出”,相当于UTXO。

如果要实现智能合约,UTXO这种账户模型存在非常大的问题。以太坊黄皮书的设计者Gavin Wood对UTXO的理解十分深刻。以太坊的最大新功能点是智能合约,因为智能合约的考虑,Gavin Wood Wood要基于UTXO实现图灵固化的智能合约是困难的。而账户模型是天然的面向对象的,对每一笔交易,都会在相对应账户上进行记录(nonce++)。为了便于管理账户,而引入了全局状态,每一笔交易都会改变这个全局状态。这和现实世界是相对应的,每一个微小的改变,都会改变这个世界。以太坊因此使用了账户系统,升级的公链基本都是基于各种类型的账户系统实现的。

UTXO的另一个严重缺陷是,不能为账户的取款额度提供精细的控制。这一点在以太坊的运河中有相关的说明。

2.比特币的脚本语言,非图灵

尽管比特币脚本语言可以支持多种计算,但是它不能支持所有的计算。请注意的。这导致比特币脚本语言,有一定的限制。当然,由于这些限制,黑客无法使用这种脚本语言,写一些死循环(会造成网络瘫痪),或者能导致 DOS 攻击的恶意代码,也避免了比特币网络受到DOS攻击。比特币的开发者,也认为核心区块链,不应该具备图灵缺陷,来避免一些攻击和网络堵塞。但是,也因为这些限制,比特币网络,无法运行复杂的程序了。不支持循环语句的目的是避免交易确认时出现无限循环。

为了安全性,不支持图灵强制的理由是不充分的。而且非图灵强制的语言所做的事情很有限。

3. 比特币的其他不完善、安全性、扩展性

挖矿的中心化问题,比特币挖矿算法基本上是让矿工千万次地小一点区块头,直到最终某个节点的焦点版本的哈希小于目标值。然而,这种挖矿算法很容易被两种形式的中心化攻击。第一种,挖矿生态系统是专门设计的,因此在比特币挖矿这一特殊任务上效率提高了数千倍的ASIC(专用集成电路)和电脑芯片控制。这意味着着比特币挖矿不再是高度去中心化和追求平等主义的,而是需要巨额资本的有效参与。其次,大部分比特币矿工实际上不再在本地完成区块验证;依赖中心化的矿池提供区块头。这个问题可以说很严重:当前,排名前三的挖矿池间接控制着比特币网络中约50%的处理能力。

扩展性问题是比特币的一个重要问题。使用比特币,成长约1 MB。如果比特币网络每秒处理 Visa 的 2000 次交易,则每三三天将增长 1 MB(生成 1 GB,每年8 TB)。较低的交易次数,也引起比特币社区的争议,大区块链虽然可以提高性能,但问题是中心化风险。

从产品生命周期的角度来看,比特币有些小的不完善,可以在自身系统中得到改进,改进的方法受到当前系统的限制。但如果可以在一个新的系统中可以解决这些问题,就完全不考虑老了系统的限制问题。既然要打造一个新的区块链系统,那么设计新系统的时候,这些小功能完善也一并进行设计与升级改造。

分层设计

分层设计是一种处理复杂系统的手段和方法论,通过将系统划分为多个层次结构并定义各层之间的关系和功能,以实现系统的自定义、可维护性和可扩展性,从而提高系统的设计效率和可靠性。

对于一个广泛而庞大的协议体系,使用分层会有明显的好处。这样使人们容易理解,容易分工实现和容易分工改进模块等优点。如计算机网络中的ISO/OSI的七层模型设计,但具体的实现中,可以合并一些分层,例如,具体的网络协议 TCP/IP 是四层协议。具体说协议分层的优点:各层次之间是独立的、灵活的、结构上可的分割开放、易于实现和维护、能促进标准化工作。

从分层协议的角度看,比特币因为要一个最基础的底层,那么他的UTXO、非图灵性解决、出块时间长、区块容量小、创始人的消失、……,都不是,相反是作为一层网络应该具有的特点。

注释:作者在《一文梳理比特币二层(Layer 2)建设的基础知识体系V1.5版》对协议分层有更详细的说明。

2.比特币发展中的重要新技术(区块扩容与容量扩容)

在上一节我们探讨了比特币原有技术的主要冲突和一些探索案例,但很多导致了硬分叉或产生了全新的价值链。在比特币本身这条区块链上,这种探索也产生了很多成果,本质上就是区块的扩容和能力的扩容。它们主要表现在以下几个方面。

2.1. OP_返回

比特币的开发者一直希望扩展比特币的能力,表现在几个方面:

OP_RETURN 的使用

OP_RETURN 是一个操作码,用于终止脚本并返回栈顶的值。该操作码类似于编程语言中的返回函数。在比特币的历史上,OP_RETURN 操作码的功能被多次修改,现在主要被用作在本本上存储数据的一种方法。OP_RETURN操作码的功能过去曾发生过重大变化,现在它是一个重要的机制,使用它我们可以链接上任何数据。

OP_RETURN 最初是用于提前结束脚本执行的返回操作,执行结果将作为栈顶项目被提交出来。该操作码最初有一个容易被利用的漏洞,但中本聪很快修复了该漏洞。

对 OP_RETURN 功能的进一步更改

在 Bitcoin Core 的 v 0.9.0 那次升级中,“OP_RETURN 脚本”被制作成标准输出类型,允许用户将数据附加到“不可支出的交易输出(unspendable transaction output)”上。此类脚本中可用的数据量的上限最初被限制为 40 字节,然后提升至 80 字节。

将数据存储在区块链上:

将 OP_RETURN 改为始终返回 false 造成了有趣的结果。由于在 OP_RETURN 之后不会评估任何操作码或数据,因此网络用户开始使用此操作码来存储任何格式的数据。

在比特币现金(BCH)的时期,即2017年8月1日-2018年11月15日,能够附加到OP_RETURN输出的数据长度被级别220字节,更大的数据能够促进区块链上创新的应用,例如在区块链社交媒体上发布内容等。

在 BSV 上, 220 字节的依然被保留了一段时间。 另外,在 2019 年 1 月,由于 OP_RETURN 操作码以节点不验证任何后续操作限制码的方式终止脚本,所以节点也不会检查脚本是否在 520 字节的最大脚本大小限制内。突然增加,网络上的节点运营商决定将最大交易量提高到 100 KB,从而赋予开发者可以拥有更多应用创新的自由,让新的应用将更大、更复杂的数据放入比特币本中。当有一个应用示例时,有人将整个网站都放入 BSV 账本中。

OP_RETURN虽然有一定的功能扩展,但总体来说能力还是有限。于是产生了隔离见证的技术。

Segwit隔离见证

隔离见证,即隔离见证(简称SegWit),由Pieter wuile(比特币核心开发人员、Blockstream联合创始人)于2015年12月首次提出,后来形成了比特币BIP 141。隔离见证将比特币区块中修改交易的数据结构稍加增加,可以解决以下问题:

1)交易延展性问题。

2)SPV证明中传输交易的签名成为可选项,能够减少Merkleproof传输的数据量。

3)财政容量变相增加。

前面主要是增加安全性和性能,其中对新技术影响最多的是第三项,变现增加了区块的容量(见下面的概念区块重量),从而为比特币的容量扩容打下来基础,随后后面的Taproot(隔离见证的第二个版本)的进一步加强。

虽然变现扩大了区块容量,但隔离见证也受到了区块大小的影响。比特币的区块大小限制为1M字节,由于见证数据不包含在这个限制中,为了防止见证数据被填充,仍然对总区块的大小做了限制。引入了一个新的概念,称为块重量(Block Weight)

块重量 = 基础尺寸 * 3 + 总尺寸

基本大小不包含见证数据的块大小

总大小总大小是按BIP 144中序列化交易的块大小(规定以字节为单位),包括基础数据和见证数据。

隔离见证限制 区块重量<= 4 M。

隔离见证仍在技术上使得比特币的扩容可以使用闪电网络,这里不详细介绍这部分的内容。

Taproot 隔离见证V2版本

如果直接使用 Taproot 这个单词,很多人都以为是一个新概念,但如果告诉你这是隔离见证的第二个版本,大多数人都会明白其中的关联性。与 Taproot 相关的 BIP 是 340 , 341 , 342 ,他们的名字是:BIP 340(Schnorr Signatures for secp 256 k 1),BIP 341(Taproot:SegWit version 1消费规则),BIP 342(Taproot Scripts的验证)。

2021年11月,Taproot以软分叉的形式正式生效。此次升级由BIP 340、BIP 341和BIP 342组合。其中BIP 340引入了可以同时验证多个交易的Schnorr签名,取代了椭圆形数字签名算法(ECDSA),再次扩大了网络容量并加快了批量交易的处理速度,为部署复杂的智能合约提供了可能性;BIP 341实现了默克尔化抽象语法树(MAST)来优化区块链上的交易数据存储;BIP 342(Tapscript)采用比特币的脚本编码语言增加的比特币反而抑制能力的不足。

通过隔离见证 Segwit 与 Taproot 的空间拓展,导致了 Schnorr、MAST 树和 Taproot Scripts 的产生,他们要完成的使命是比特币主网的功能拓展。

2.2. Schnorr、MAT、Taproot 脚本

通过 2.1 节,我们看到了比特币在扩容和扩容能力上面的不断探索,直到产生了 Taproot 技术,以及相关的几个重要技术 Schnorr、MAST、Taproot Scripts,比特币的能力格局才真正被打开。

施诺尔签名

Taproot的发展,在增强能力的同时,且对签名算法有了一定的高效要求,于是Schnorr签名开始出现,并用来替代椭圆形数字签名算法(ECDSA)。Schnorr签名是一种数字签名方案,可以安全地对交易和消息进行签名。它最初由克劳斯·施诺尔(Claus Schnorr)于 1991 年的一篇论文中。Schnorr 的简单描述性、可证明的安全性和线性性而受到赞誉。

Schnorr签名的优势:

1)Schnorr 签名具有多种优势,包括性、增强的隐私性,同时保留了 ECDSA 的所有功能和安全假设。Schnorr 签名可以实现更小的签名大小、更快的验证时间,并且针对某些类型的攻击具有提高的抵抗能力。

2)Schnorr 签名最显着的优势是密钥聚合(key Aggregation),将多个签名聚合为一个签名,该签名密钥的总和有效。换句话说,Schnorr 使得多个合作方能够生成一个对他们的签名者共有且有效的签名。签名聚合使得多个签名者的签名可以合并为一个单一的签名。

按键聚合能够降低交易费用并提高基础可扩展性,因为来自多签名设置的电子签名在区块中占用的空间与来自单方交易的签名相同。Schnorr 的这个特性可以用于减少按键签名支付和其他与杠杆签名相关的交易大小,例如,闪电网络通道交易。

3)Schnorr 签名的另一个重要特性是不可篡改。

4)Schnorr 还提供了很多隐私优势。它可以让调度签名方案与传统的单一签名无法从外部区分,Schnorr 使得观察者在链上活动中更难区分调度签名的支出和单一签名的支出。 ,在n-of-m个杠杆签名设置中,Schnorr使得外部观察者更难通过链上信息查看来确定哪些参与者在交易中签名,哪些没有签名。

Schnorr 签名在 BIP-340 中被实现,作为 Taproot 软分叉升级的一部分,并于 2021 年 11 月 14 日在区块高度 709, 632 上激活。Schnorr 让 BTC 的数字签名更快、更安全、更容易处理。值得注意的是,Schnorr 签名与 BTC 的密码学算法灵活兼容,这样就可以通过软分叉升级引入它们。

MAST 抽象语法树

MAST 在中英文中的缩写说明有一点点歧义。BIP 官方(BIP 114)和一些文章使用 MAST 的缩写为: Merklized Abstract Syntax Tree(默克尔抽象语法树)。其他一些资料使用 Merklized Alternative Script Trees ( MAST)翻译成中文 Merklized 替代脚本树(MAST)。在《Mastering Bitcoin》这本书中,和一篇文章都是这个缩写说明:https://cointelegraph.com/learn/a-beginners-guide-to -the-bitcoin-taproot-upgrade。

默克尔抽象语法树和 Merklized 替代脚本树(MAST)从作用上看起来是相同的。从翻译的角度来看,我个人感觉保持比特币官方 BIP 协议中的用法。

MAST背后的概念来自于两种概念,抽象语义树和默克尔树。

抽象语义树(AST)属于计算机科学中的编译原理和形式语言学的知识领域。抽象语义树是编译过程中的一个中间表示形式,用于表示源代码的语义结构。它将源代码转换为一种树形结构,其中每个节点代表一个语义单元,而边表示它们之间的关系。抽象语义树在编译器的词法分析和语法分析阶段作为重要作用,帮助编译器理解源代码的意义并进行后续的优化和生成目标代码的过程。通俗说抽象语义树(AST)是一种通过将一个程序分割成独立的小块来描述程序的方法,这样让程序变得更容易分析和优化。为了生成一个 AST,需要把所有的条件用箭头连接起来,所有的条件都已经确定了。下图即是一段脚本的 AST。

再次爆发的前夕,万字总结比特币新发展再次爆发的前夕,万字总结比特币新发展

再次爆发的前夕,万字总结比特币新发展再次爆发的前夕,万字总结比特币新发展

另一方面,默克尔树则可以用来验证某个元素是否是某个集合,且足以构成整个集合的全貌。举个例子,比特币的简单支付验证钱包属于SPV钱包)就使用默克尔树来验证某笔交易是否存在于某个区块中,这样无需下载完整的区块,可以节省带宽。

再次爆发的前夕,万字总结比特币新发展再次爆发的前夕,万字总结比特币新发展

要生成一棵默克尔树,首先创建每个元素都各自独立一次,生成各自唯一的标识符;然后这些标识符重置之后再次初始化,生成这一对标识符的标识符;如此重复,配方体系下一个标识符,称为“默克尔根”,它是一个短小精悍、但标记了整个系列的标识符了。

在验证某个元素属于不属于某个集合时,拥有整个集合的人可以向你提供从那个元素到默克尔根路径上的所有标识符。这样就可以证明,这个元素确实在这个集合内部。

总之,AST背后的技术让你可以把一个程序拆分成多个小块,而默克尔树让我们可以验证这些小块确实是一个完整程序的一部分,而不用暴露整个程序。这就是 MAST的基本原理,可以让花费者用一个默克尔论证来替换在单次交易中没有使用的条件,优点是:减少交易量、提高隐私性,并支持更大的合约。

具体的MAST树在网上有很多案例,共程序开发的人员,整理一个MAST的流程就可以清晰相关的逻辑。

有了 MAST 抽象树,那么就需要扩展比特币语法的能力,于是 Taproot Scripts 就产生了。

Taproot脚本

在 BIP 342 协议中输入 Tapscript 脚本,Taprootscript 是原始比特币脚本的升级版本,也可以被称为一种语言,但它实际上是带有命令的操作码的集合,这些命令为另外两个 BIP 的Taprootscript 还取消了 10000 字节的脚本大小上限,为以比特币网络创建智能合约提供了更好的环境。(该升级也为后来 Oridnals 的诞生埋下基础,因为 Ordinals 协议就是利用的 Taproot)的脚本路径花费脚本来实现的附加数据)。详细资料可以查询官方网址:

https://github.com/bitcoin/bips/blob/master/bip-0342.mediawiki

目前 TaprootScript 的能力还没有被充分发挥,升级的更多建设会体现出其威力。例如,比特币一层网络与二层网络的连接技术,应该更多的使用 Taproot、MAST 与 TaprootScripits。

2.3. Ordinals、Inscriptions、BRC 20 以及其他协议

在比特币的生态中出现了Segwit、Taproot、Schnorr、MAST、Taproot Scripts,这些基础的工具,新的应用就开始产生了。起始阶段的应用是那些轻量级、简单的应用。

序数 序数协议、铭文、BRC 20

序数协议的诞生与 sat 的概念高度相关,协议提出了序数(Ordinals)和铭文(Incriptions)的概念。序数(Ordinals)指的是比特币网络上的每个中本聪(聪)按照挖矿顺序分配一个数字的序号方案。协议中,无论坐在不同的钱包之间如何转移,其序号标识都保持不变。运行 Rodarmor 开源软件 ORD 的比特币全节点可以跟踪这些带编号的聪。这为人们提供了一个准确的跟踪每个聪,并进行独立验证的机制。

铭文(Inscriptions)是通过在聪上刻录信息。通过结合 SegWit 和 Taproot,Ordinals 协议可以在比特币区块上为每个聪刻录一个小于 4 MB 的文件,清晰铭文。铭文可以包含各种形式的信息,如文字、图片、视频等。下图是样例铭文截图。

再次爆发的前夕,万字总结比特币新发展再次爆发的前夕,万字总结比特币新发展

简单来说,序数的编号方案为每个聪提供了唯一的可补充的编号,使聪拥有了非同质化的特点。铭文可以在序数上添加不可分割的数据信息,构造在一张白纸上纸上进行艺术创作。两者结合,让比特币拥有了新的 NFT 标准。Ordinals 的本质其实很简单,它原来是一个 NFT 协议,只是与 ETH 或者其他公链的 NFT 元数据(MetaData) )主要存储于IPFS或中心化服务器不同,序数的元数据嵌入到了交易的见证字段(见证数据),就像被“铭刻”到某个特定的聪上一样这也是铭文这个词的来源。

BRC-20:受Ordinals协议启发,Twitter用户@domodata于2023年3月8日创建比特币实验性的可替代代币标准BRC-20。Ordinals协议通过给每个聪赋予不同的“属性”来创建BTC网络NFT,BRC-20则通过给定一个统一的“格式”以及“属性”来创BTC上的FT,统一同质化代币。

BRC-20通过Ordinals协议将一段JSON文本写入BTC铭文来部署代币合约、铸币和转移代币(Depoly、Mint、Transfer),部署的关键在于代币名称、总供应量、单次最大铸造量对于周转或买入/卖出的交易,会刻有额外的 NFT 来跟踪链下余额。“先到先得”的铸币机制,带来了公平的发行与参与机会;同时得益于 BTC 生态基础设施相对不完善,有一定的学习人口,低流动性使得BRC-20代币能够轻易被拉升,ordi,sats,rats等BRC 20代币开启了一个波造富的神话。

其他协议-Atomicals,ARC 20

Atomics 协议的诞生颇具戏剧性,创始人 Arthur 在 Ordinals 协议刚发布时,想在它之上开发一个 DID项目,但在开发过程中,他发现 Ordinals 协议有很多限制,不利于支持他想实现的于是,2023年5月29日,Arthur在推特上发布了第一条关于Atomicals协议迭代的推文,经过几个月的开发后,Atomicals协议于2023年9月17日上线。后来,Atomicals 协议衍生出 Dmint、Bitwork、ARC-20、RNS 等四大概念,未来替代推出 AVM 和分割方案。

类似 Ordinals 与 BRC 20 ,在 Atomicals 上面配置同质化代币就形成了 ARC 20 。对于 ARC 20 感兴趣的读者,可以进一步阅读。

https://docs.atomicals.xyz/arc20-tokens

其他协议-Rune

随着发展,作为 Ordinals 的创始人 Casey Rodarmor 发表文章指出:BRC-20 代币具有“UTXO 扩散的不良后果”,并建议将 Runes 作为基于 UTXO 的替代方案。现有的通用协议,普遍存在着协议复杂、用户体验差、垃圾未耗费交易输出(UTXO)、操作实施需要彻底代币等问题。

符文的移位使用OP_RETURN,协议消息中的第一个数据输出被解码为一个整数序列,这些整数被解释为(ID,OUTPUT,AMOUNT)元组序列。如果解码后的整数个数不是三个的倍数,则该协议消息消息无效。ID 是要进行传输的代币 ID、OUTPUT 是要分配给的输出索引(即分配给第几个输出)、AMOUNT 是要分配的运行量。处理完所有元组分配后,任何未分配的 Runes代币 都会分配给第一个非 OP_RETURN 输出,其余的可以通过将 Runes 协议分配给包含协议消息的 OP_RETURN 输出来刻录 Runes代币。

Runes 的发行:基于 UTXO 的同质代币追踪。如果协议消息有第二次数据迭代,则为发行交易。第二次数据迭代被解码为两个整数,SYMBOL,DECIMALS。如果还有其他剩余整数,则协议消息无效。SYMBOL 是一个基本的 26 位符号,类似于序数名称中使用的符号,目前唯一有效的字符是 A 到 Z。DECIMALS 是显示释放符文时应使用的小数点后面的位数。如果 SYMBOL 尚未分配,则该 Runes代币 将被分配一个 ID 值(从 1 开始)。如果 SYMBOL 已经被分配,或者是 BITCOIN、BTC 或 XBT,则不会创建新的符文。这是 Runes 协议的特殊性它没有将余额记录链接到钱包地址,而是将记录放在 UTXO 本身中。

新的 Runes代币 从发行交易开始,供应指定量、符号和小数字,将该供应量分配给特定的 UTXO。UTXO 中可以包含任意数量的符文代币,无论其大小如何。UTXO 仅用于跟踪余额。然后,传输函数使用该 UTXO,将其分割成多个不同大小的新 UTXO,包含不同数量的符文,将记录发送给其他人。相对于 BRC-20 ,Runes 减少了分层服务器知识,变得更加简单,同时不依赖链下数据,没有原生代币,非常适合比特币的原生 UTXO 模型。

其他协议-BTC邮票,SRC 20 ,SRC 721

比特币 Stamps 系统由 Mike In Space 于 2023 年 3 月发布,最初是 Counterparty 上的一个概念验证项目(一个自 2014 年以来就存在的比特币 L2)。得益于其基础协议的更新,Stamps 已完全转向比特去年夏天,现在被称为 SRC-20。创始人 Mike 最初将 Stamps 设想为铸造永久性比特币 NFT 的一种方式。然而,该协议已经分裂复制 BRC-20,这是一种批量可替代代币,自 Casey Rodarmor 于 2023 年 1 月推出 Ordinals 以来,由于铭文热潮的兴起,这种代币在比特币上繁荣发展。

Stamps 和 Ordinals 之间的主要区别在于负载架构。这是因为 Stamps 将它们的元数据存储在快照签名未占用交易输出(UTXO)中,而 Ordinals 则将它们的元数据存储在比特币交易的“见证”中部分中。 这种设计上的区别产生了开发者的取舍。 也就是说,邮票的 UTXO 方法使它们不可修剪,因此看起来是永久性的,尽管它们的制造成本比普通铸造更昂贵。序号使用见证数据的方式最终使它们可以被修剪,它们的制造成本比邮票高。

因此,虽然 Ordinals 可能为网关加密货币领域的 NFT 提供了最佳的持久性成本(也可以在以太坊上获得链上 NFT,但它们的构建成本相对比 Ordinals 更高),但 Stamps 目前似乎提供了最佳的直接永久性保证。

在BTC邮票产生后,开始产生了 SRC 20 和 SRC 721 ,原理与 BRC 20 相似。BRC-20 是建立在 Ordinals 协议上的,而 SRC-20 是建立在 BTC STAMPS 上的。感兴趣的读者,可以进一步阅读 SRC 20 和 SRC 721 相关文档。

https://docs.openstamp.io/introduction/src20-protocol

https://docs.openstamp.io/introduction/src721-protocol

介绍至此,比特币在一层网络上的重要新技术都已经介绍。在之后的扩容与扩能方面,开始借助比特币的上层设施,如比特币的第2层或借助闪电网络等实现的更高层这方面的文章建议阅读《一文整理比特币二层(Layer 2)建设的基础知识体系V1.5版》和《从状态机的角度观察比特币二层》,可以看到未来Web3。 0 应用的架构和建设路径》,或者其他关于比特币二层建设或架构设计方面的文章。

3.新的使用方法和未来需要的发展

通过第二节的内容,我们看到比特币生态的技术发展已经为更大规模的应用打下了基础。但因为发展需要一个过程,而部分相关技术的不成熟,使得当前流行的应用与最终的常见应用还有比较大的区别。

3.1.新的使用方法

从前两节我们可以看到,比特币技术的发展本质上就是区块的扩容和能力的扩容。

在区块扩容上,隔离见证导致了事实上的区块扩容,虽然有各种建议可以取消见证部分,但这种事情发生的可能性不大,尤其是见证部分被赋予了更多意义之后。

在增强能力上,Taproot、Schnorr、MAST、Taproot Scripts,等技术赋予了比特币更多的能力。尤其是 MAST+Taproot Scripts 会增强比特币原始脚本语言的能力,再加上其他几项技术会扩展比特货币语言处理复杂场景的能力。但这些能力扩展内容同时增加比特币开发和理解的难度,毕竟这些脚本开发不是高级语言。而这部分的能力增强,会滞后于用户对于区块容量增强的理解与学习速度。

因为使用区块扩容简单,使用扩容复杂,这首先会产生用户将那些小图片 NFT 写入比特币主网上,并产生了 BRC 20 等应用的原因。当前比特币主网上的多种应用几乎都是在探索区块扩容后的应用。一部分应用开始了能力扩容的探索,例如,BEVM 的一层和二层连接有一定的特征,基线的使用了上述基本元素构建的功能。 Shnorr签名+MAST合约+比特币轻节点网络的BTC L2解决方案,是一个很好的学习连接分层与二层的案例。未来会有更丰富的能力增强的案例产生。

增强能力的边界应该在哪里?我们可以从分层设计的角度来评判,如果这些能力增强更多的是作为比特层与二层的连接技术,那么就不应该将能力增强变得过于复杂但基于我们人类丰富的创造力和资产发行与管理的强大吸引力,一些团队或个人会探索出更多的能力来丰富场景案例。

3.2.未来发展的需求

区块链技术产生的最直接原因是数字货币,所以发行资产、管理资产等应用是比特币或区块链领域的一个最直接需求。无论是从彩色币的探索到 BRC 20 ,ARC 20 等应用,还是以太坊上面的ICO,IDO等应用,都是在探索资产发行。像Uniswap,Lending,AMM,都是资产管理的应用,这部分应用在以太坊等网络上已经得到了成熟的发展,随着比特币生态技术的发展,这些资产管理应用会转移到比特币生态,更多的应该是在比特币二层上面进行。

在满足了发行资产、管理资产等需求,将会有精力和时间发展属于Web3.0时代(也可以称为价值时代)的大规模应用。未来Web3.0时代大规模应用的系统架构,我在《从状态机的角度观察比特币二层,可以看到未来Web3.0应用的架构和建设路径》有相关的描述。

建设的路径是简单不断满足需求的过程,可以分为短期、中期、长期三个阶段。短期是通过比特币主网上面的新型产生的应用和基于链的二层建设的阶段,产生的应用完成主要的能力增强,满足各类金融应用。中期基于链的二层建设的中高级与基于系统的二层建设,满足各种金融应用与信任应用。长期是基于比特币生态的规模建设完成真正的Web3.0时代的建设。

参考文献说明

ABCDE研报《[ABCDELabs]:比特币的过去、现在和未来》

https://en.bitcoin.it/wiki/Script

https://en.bitcoin.it/wiki/Segreerated_Witness

https://en.bitcoin.it/wiki/Taproot_activation_proposals

《超级详解隔离见证(隔离见证)》,https://blog.csdn.net/t46414704152abc/article/details/105638788

《释疑:比特币默克尔化抽象语法树是什么?》,https://baijiahao.baidu.com/s?id=1709873918363821702

https://github.com/bitcoin/bips

https://bitcoinops.org/en/topics/tapscript/

上一篇:比特派官网下载钱包|Ripple 指责美国证券交易委员会在提出补救反对意见后进行恐吓 下一篇:没有了