主页 > imtoken国内下载 > 干货 |比特币升级提案 Taproot 技术解读

干货 |比特币升级提案 Taproot 技术解读

imtoken国内下载 2023-01-17 02:57:32

本文将讨论比特币升级提案 Taproot,该提案将引入许多新功能。本文将从各个技术层面分析 Taproot,介绍此次升级涉及的技术,以及这些技术将为比特币用户带来哪些好处。

什么是主根?

Taproot 由 Bitcoin Core 贡献者 Gregory Maxwell 于 2018 年首次提出。此实现目前正在开发中。如果没有 Taproot,这些复杂的事务(时间锁、多重签名)需要完成多个事务,因此很容易失败。

Taproot 允许像单个比特币交易一样执行复杂的交易(多重签名、时间锁),从而增强了比特币的隐私。

Taproot 升级包括三项重要的技术变更(概念),旨在增强比特币的可扩展性、隐私性和灵活性。

我们将从技术层面讨论这三个概念,以了解 Taproot 升级将为比特币用户带来哪些好处。

P2SH(Pay-to-ScriptHash)

什么叫比特币矿池_比特币分叉会影响比特币价格吗_比特币升级版叫什么

比特币地址是一串字母和数字。用户可以与他人共享,以便从后者那里接收 BTC。比特币交易有两个主要标准:Pay-to-PubKeyHash (P2PKH) 和 Pay-to-ScriptHash (P2SH)。

在讨论 P2SH(Pay To Script Hash)和 P2PKH(Pay-To-PubKey Hash)的概念之前,让我们先熟悉一下比特币的一些背景知识:

Pay-to-PubKeyHash (P2PKH)

Pay-to-PubKeyHash 是一种传统的比特币地址格式。它的地址以数字 1 开头。

只有 P2PKH 地址的所有者才能解锁 PubKey 脚本并通过提供公钥哈希和私钥签名来花费收到的 BTC。私钥用于证明公钥哈希的所有权。

如上所述,脚本定义了特定地址上的 BTC 可以使用的条件。当指定条件满足并通过网络验证时,该地址上的 BTC 将被解锁以进行消费。

这个过程是如何工作的? - 接收方首先生成 PubKey 脚本并与发送方共享。发送者在发送 BTC 时将此 PubKey 脚本添加到交易中。接收方在接收BTC时,若要解锁这些BTC UTXO,必须提供公钥哈希和私钥签名,并满足PubKey脚本中提到的条件。

比特币分叉会影响比特币价格吗_什么叫比特币矿池_比特币升级版叫什么

例如,这些条件可以是:

以上情况可以作为解锁BTC的条件。

发送比特币时,发送者需要在交易中包含 PubKey 脚本。因此,这增加了交易量,产生的交易费用是正常交易的 5 倍左右。

在这里,寄件人必须承担额外的费用。 Pay-to-ScriptHash 可以帮助发件人避免这种额外费用。

Pay-to-ScriptHash (P2SH)

Pay To Script Hash (P2SH) 可以帮助发送方避免额外成本,并将这个责任(额外成本)转移给真正需要使用锁定脚本中指定条件的接收方。 Pay-to-ScriptHash 比特币地址以数字 3 开头。

在此交易标准下,发送方无需将长 PubKey 脚本放入他们的交易中。在这里,锁定脚本被替换为赎回脚本哈希。赎回脚本哈希由赎回脚本计算。兑换脚本类似于 PubKey 脚本,包含接收方在花费未花费输出之前必须满足的条件。发送方只需在交易中注明赎回脚本的哈希即可。赎回脚本哈希可以转换为标准比特币地址,发件人无需任何特殊操作或额外费用即可将 BTC 发送到该地址。

当接收方想要在这个 P2SH 地址上解锁 BTC 时,需要生成一个具有相同哈希值的赎回脚本比特币升级版叫什么,并将其包含在交易中。因此,接收方用于解锁 UTXO 的交易规模会增加,执行交易的成本也会增加。

什么叫比特币矿池_比特币分叉会影响比特币价格吗_比特币升级版叫什么

例如,Alice 想向 Bob 发送 10 个 BTC。 Alice 必须在交易中包含兑换脚本哈希。首先,Bob 生成一个赎回脚本,然后将赎回脚本的 hash 发送给 Alice,这样 Alice 就可以将 hash 添加到交易中并发起交易。如果 Bob 想要花费这个 UTXO,他必须生成一个具有相同哈希值的解锁脚本,并且满足脚本中提到的条件。

别忘了,Alice 只需要将赎回脚本的哈希添加到交易中,而不是整个脚本。因此,Alice 不会产生额外费用。

Pay-to-ScriptHash 的优势

(…)

MAST(默克尔抽象语法树)

MAST 是 Merklized Abstract Syntax Tree 的缩写。

为什么要使用 MAST?如果您想在 P2SH 地址中花费 BTC,您必须生成具有相同哈希的赎回脚本并将其包含在交易中。如果脚本中指定的消费条件过多,交易量会变得异常大。 MAST 可以很好地解决这个问题。

默克尔抽象语法树是默克尔树和抽象语法树的结合。

比特币分叉会影响比特币价格吗_比特币升级版叫什么_什么叫比特币矿池

就像 Pay To Script Hash (P2SH) 为哈希为某某的脚本付费一样,MAST 为哈希为某某的 Merkle 根付费。 MAST是将一大组条件中的条件组装成一棵哈希树(即所谓的默克尔树),默克尔树的根值就是一个哈希值,是从所有的条件中哈希出来的。

Merkle 根和哈希树是如何生成的?

首先对所有脚本(条件)分别进行哈希计算;然后将计算出的哈希值与相邻的哈希值结合起来进行哈希计算,生成一组新的哈希值。这个成对哈希计算的过程不断重复,直到计算出最后一个哈希值。这个哈希值就是 Merkle 根。

假设总共有四组条件。首先,分别计算四组条件的哈希值;然后将四个哈希值成对配对,计算出两个哈希值;最后,结合两个哈希值进行哈希计算,生成最终的哈希值。最后一个哈希是 Merkle 根。

这个 Merkle 根可以翻译成能够接收付款的有效比特币地址,即 Merklized 比特币地址。 Merkle 比特币地址有许多优点,主要是能够在不知道所有脚本单元的情况下验证脚本是否在此 Merkle 树上。这种称为 Merkle Proof 的技术可用于轻松验证比特币 UTXO 是否包含某些解锁条件。

在 MAST 中,BTC 与 Merkle 树相关联。这个 Merkle 树指定了可以解锁未使用的 BTC 的所有复杂条件。每个叶节点代表一个条件。为了解锁 BTC,你必须生成一个满足 Merkle 树上的一个分支所代表的条件的脚本。只需使用 Merkle 根来验证此条件是否属于原始条件集(即验证叶节点是否在此 Merkle 树上)。一旦比特币区块链网络发现一个脚本(以及它所代表的条件)属于这个默克尔根,网络就知道该脚本是这些比特币的锁定条件,并开始验证解锁脚本。因此,我们可以花费锁定在 MAST 中的 BTC,而无需生成完整的脚本并将其包含在交易中。这有助于减少 BTC 交易量。

施诺尔签名

什么叫比特币矿池_比特币升级版叫什么_比特币分叉会影响比特币价格吗

在密码学中,Schnorr签名是由Claus Schnorr提出的Schnorr签名算法生成的数字签名。 Schnorr 签名算法是一种以简单着称的数字签名方案比特币升级版叫什么,它通过将多个签名聚合成一个签名来优化验证和认证过程。该方案适用于多重签名交易。

要执行交易,您需要使用您的私钥签署交易,证明您是公钥背后的 BTC 的所有者。但是,要执行多重签名交易,您必须提供多个签名。这些签名会占用额外的空间。

以 12/20 的多重签名交易为例。 12/20 意味着执行交易至少需要 20 个签名中的任意 12 个。签署交易时,签名也存储在区块中。假设1个签名的大小是5个字节,12个签名需要占用一块60个字节(5*12 = 60)的内存,100个签名需要占用500个字节的内存。这样会增加内存使用量。Schnorr 签名正是这样做的。

为了理解 Schnorr 签名,我们来看两个例子:

比特币升级 - Taproot 计划将上述概念引入比特币区块链,增强其可扩展性、隐私性和灵活性。

比特币主根:总结

本文主要围绕以下几点介绍Taproot:

原文链接:

b10c.me/blog/004-the-incomplete-history-of-bitcoin-development/