比特币交易中的“隔离见证”地址

一、隔离见证的背景须知:

中本聪在设计比特币的时候,规定了每个区块的容量大小不能超过1M,而1M的空间容量所能记录的交易笔数极为有限。在最早期,每个区块1M的容量尚足以应付小众市场的交易量,但当后期比特币玩家激增后,就变得尤为拥堵。

比如,数据统计,比特币网络每十分钟更新一次新区块,受制于1M的容量,每个区块中包含的交易数最多不超过几十笔。目前,比特币平均每秒能处理7次交易。因此,特殊情况下,比特币区块链上最高时有上万笔交易积压,比特币转账交易费高达几十美元。网络拥堵时,比特币交易甚至需要花费好几天才能被打包。

因此,加密圈用户迫切地需要一种高效的技术方案,来解决比特币交易处理速度慢的问题。更直白来说,就是让大家的比特币到账速度更快,以及交易手续费(支付矿工的费用)更低。当然,这一切也直指比特币网络扩容问题。

二、隔离见证的大致思路:

隔离见证技术,是由比特币开发者Pieter Wuille和其他比特币核心贡献者于2015年提出的,旨在解决交易处理速度问题的解决方案。在随后的2017年,隔离见证被正式用于比特币网络上的软分叉中,比特币单个区块的信息处理能力也由此提高至以前的1.7倍。目前,比特币、莱特币和比特币现金这三大主流币种,都已经开始采用了隔离见证。采用隔离见证带来的利好主要有拓展区块容量、提升交易速度,以及优化交易的延展性。下面,先大致介绍下隔离见证的技术原理和实现思路。

专业玩家都知道,在比特币的每笔交易信息分为两个部分:基础交易数据+见证数据,前者记录账户资金结余,后者是验证用户身份。对于用户而言,最关心的是账户资金结余等事关资产的核心信息,验证用户身份环节无需在交易中占据过多成本。简单来说,转账接收方只需要确认资产可用,无需明了发起方详细信息。但是,在比特币交易结构中,见证数据,也就是签名信息占用了大量的存储空间,进而耽误了转账效率、增加了打包成本。隔离见证技术,就是将见证数据从交易信息中提出来单独存储,为交易“腾出空间、拓宽通道”。

三、隔离见证的主要优势:

1.增加区块容量:

数据统计,签名信息在比特币交易区块中最多可以占用65%的空间。可想而知,采用隔离见证之后,原有的区块存储空间将得以释放,进而可以处理更多的交易信息。

2.加快交易速率:

与以太坊Layer2的思路相通,将数据分层处理,以达到提高交易速率的目的。采用隔离见证后,比特币交易系统会将更多的算力、更大的存储,集中于交易信息的处理上,相较于之前的负担大大减轻,TPS从理论上来看只增不减。数据显示,采用隔离见证之后,平均每笔交易的成本降至1美元。

3.利好闪电网络

闪电网络是讨论度最高的比特币二层协议扩容解决方案,设计主旨是链下解决比特币的可扩展性问题。闪电网络试图在比特币区块链上新建一层网络,同时架设一条支付通道,使得在任何极端情况下,大额的转账交易均能快速通畅地完成,这就可以理解为链下数据处理。而隔离见证在链上将优先级最高的数据快速处理,

为闪电网络的执行纾解了大量的压力,其实也间接地为闪电网络创造了条件。

值得一提的是,隔离见证的技术架构下,交易数据和签名数据完全剥离,整个交易处理系统中,用户的签名数据也是被排除在外的,因此就不存在交易信息被篡改的可能性,进而一键消除错误信息被永远记录在链上的可能性。对于交易信息修复程序的拓展和应用,也有积极的助益。

此外,隔离见证也被视为 Ordinals BTC NFT的第一个先兆,扩大了可以在交易中放置多少任意数据的限制,从而为在比特币每个聪上篆刻铭文提供了前提条件。2021年,Taproot创建了更容易存储任意见证数据的系统,并继续对一个比特币交易中放置数据限制进行了拓展,从而让今天存在的 BTC Ordinals NFT 诞生实现。

四、隔离见证的具体应用:

对于普通用户来说,隔离见证技术带来的利好主要有三点:

1)更安全,较普通地址而言,具有更高的安全性;2)更快速,可扩容区块容量,检查交易速度更快;3)更便宜,交易手续费比普通钱包地址更低廉。

那么,这一技术如何运用到普通用户身上呢?请打开你的钱包,如果采用隔离钱包地址完成接受比特币转账,上述利好是可以切切实实享受到的。2020年8月底的一组数据显示,比特币的隔离见证使用率已达67%,目前的数据必然上了一个更高的台阶。

目前来看,比特币的地址格式主要分为4个类型:

1.Legacy(P2PKH)格式(以1开头的地址)— 传统地址

范例:1Fh7ajXabJBpZPZw8bjD3QU4CuQ3pRty9u

比特币最初的地址格式,至今仍在使用。P2PKH 指 Pay To PubKey Hash(付款至公钥哈希)。

2.Nested(P2SH)格式(部分以3开头的地址)— 多签地址

范例:3EktnHQD7RiAE6uzMj2ZifT9YgRrkSgzQX

P2SH (Pay-to-Script-Hash),支付脚本哈希,即比特币交易输入输出脚本,采用赎回脚本及赎回脚本哈希。其地址结构类似于 P2PKH,但它支持比传统地址更复杂的功能。P2SH 脚本函数最常用于 multisig 地址,这些地址可以指定多重数字签名来授权事务。举个例子:某个3开头的地址由三人控制,其中,任意两人同意,便可发起转账。

上述两种地址,都是传统的交易转账地址,并未采用隔离见证技术。下面介绍两种主流的隔离见证地址。

3.Nested SegWit (P2SH)格式(部分以3开头的地址)— 隔离见证兼容地址

范例:3KF9nXowQ4asSGxRRzeiTpDjMuwM2nypAN

3开头的地址:因为使用 P2SH 方式打包,所以隔离见证兼容地址,也以3开头,旧节点能识别。

大家不需要知道以3开头的比特币地址,到底是多签地址,还是隔离见证兼容地址,只需要知道以3 开头的地址,被广泛支持,可以向 1开头 和 bc1 开头的地址发送比特币即可。

4.Native SegWit (Bech32)格式(地址bc1开头)— 原生隔离见证地址

范例:bc1qf3uwcxaz779nxedw0wry89v9cjh9w2xylnmqc3

Bech32编码的地址,是专为SegWit开发的地址格式。Bech32在2017年底在BIP173被定义,该格式的主要特点之一是它不区分大小写(地址中只包含0-9,az),因此在输入时可有效避免混淆且更加易读。

由于地址中需要的字符更少,地址使用Base32编码而不是传统的Base58,计算更方便、高效。数据可以更紧密地存储在二维码中。Bech32提供更高的安全性,更好地优化校验和错误检测代码,将出现无效地址的机会降到最低。

Bech32地址本身与SegWit兼容。不需要额外的空间来将SegWit地址放入P2SH地址,因此使用Bech32格式地址,手续费会更低。

Bech32地址比旧的Base58(Base58Check编码用于将比特币中的字节数组编码为人类可编码的字符串)地址有几个优点:

QR码更小、更好地防错、更加安全、不区分大小写, 只由小写字母组成,所以在阅读输入和理解时更容易。

5. Native P2WPKH / Native P2WSH(Bech32)格式(地址 bc1q开头)— 原生隔离见证地址

Native P2WPKH 范例:bc1qmgjswfb6eXcmuJgLxvMxAo1tth2QCyyPYt8shz

Native P2WSH 范例:bc1q09zjqeetautmyzrxn9d2pu5c5glv6zcmj3qx5axrltslu90p88pqykxdv4wj

对于版本 0 的隔离见证地址,它们总是以 bc1q 开头

Pay-to-Witness-Public-Key-Hash(P2WPKH)地址的生成, P2WPKH 地址长度固定为 42 字符

Pay-to-Witness-Script-Hash(P2WSH)地址, P2WSH 地址长度固定为 62 字符

P2WPKH 通常用在普通的地址上,P2WSH 通常用在多签地址中。

2019 年,人们发现如果一个 bech32 地址的最后一个字符是 P,如果意外在后面多输入了一个或几个 Q,依然能通过校验和验证,也不会收到输入错误的提示。钱包软件会认为地址输入正确,任由将比特币发送至错误地址,导致这笔比特币无法被花费,就像我们在上文解释的那样。

好消息是bech32 只用于 SegWit,而 SegWit 地址有长度限制 —— 只能是 20 个字节或 32 个字节。幸运的是,如果在长度为 20 或 32 字节的地址后面多输了一个 Q,输入的地址就会因为超出长度限制而无效。钱包会发现这个问题,并拒绝发送比特币。人们原本考虑针对 Taproot 引入类似的地址长度限制,但是下文提到的解决方案免去了这一需求。灵活的地址长度更有助于我们未来改进 Taproot。

6.P2TR(Bech32m)格式(地址bc1p开头)——Taproot地址

范例:bc1pqs7w62shf5ee3qz5jaywle85jmg8suehwhOawnqxevre9k7zvqdz2mOn

为了修复 bech32 的漏洞,有人提议了一个叫作 bech32m 的新标准(9)。bech32m 实际上是非常简单的改变:在 bech32 校验和公式中额外添加了一个数字,以确保任何新增字符都会生成无效校验和。 这个新标准只应用于 Taproot 地址和未来地址。对于 SegWit 地址来说,一切都没有改变,因为它们已经有了 20 或 32 字节长度限制的保护。

为了缓解 Bech32 的上述缺点,在 BIP0350 中提出了 Bech32m 地址:

  • 对于版本为 0 的原生隔离见证地址,使用以前的 Bech32;

  • 对于版本为 1(或者更高)的原生隔离见证地址,则使用新的 Bech32m。

对于 Bech32m 地址,当版本为 1 时,它们总是以 bc1p 开头(即 Taproot 地址)。

最后,不同地址间更细微的差别,还体现在以下方面:

1)隔离见证兼容地址(部分3开头)比传统地址(1开头)节省24%转账手续费;

2)原生隔离见证地址(bc1开头)比传统地址(1开头)节省35%转账手续费;

3)隔离见证地址(bc1开头和部分3开头)比多签地址(部分3开头),最多可以节省 70% 转账手续费。

4)Taproot地址,支持BTC NFT持有和Ordinals NFT打新,转账手续费类似3开头

目前,欧易平台重磅推出的欧易web3钱包已支持用户在转账和充值时,使用隔离见证地址,以优化使用体验、降低使用费率、提高转账速度。同时,欧易web3钱包也已全面支持了Ordinals BRC-20和 BTC NFT所依赖的Taproot 地址,您可在欧易web3钱包尽享 BTC 生态。

相关推荐
查看更多
查看更多