
比特币钱包出现「Taproot」选项,代表什么?以bc1p 开头的地址,和常见的bc1q 又有什么不同?
Taproot 是Bitcoin 的协议升级,结合Schnorr 签名、花费条件承诺与新的脚本规则,让部分交易可以用较精简的方式完成,也能减少不必要的条件揭露。
不过,它不是匿名工具,也不保证所有交易都比较便宜。理解它的关键,是区分Key Path 与Script Path 两种花费方式。
Taproot 是什么?
Taproot 是Bitcoin(比特币)的一次软分叉升级,于2021 年在主网区块高度709,632 启用。它引入P2TR(Pay-to-Taproot)输出,使用版本1 见证规则。
使用者收到的仍是BTC,不是另外发行的Taproot 代币;旧版有效输出也不会因此自动失效。
Taproot 常与三份提案一起介绍:
| 提案 | 主题 | 本文中的角色 |
|---|---|---|
| BIP 340 | Schnorr 签名 | 定义签名规格 |
| BIP 341 | Taproot | 定义输出、承诺与花费规则 |
| BIP 342 | Tapscript | 定义相应的脚本执行规则 |
它们互相配合,但不是三个名称指向完全相同的东西。
Schnorr 签名是什么?
数字签名让节点验证交易是否获得相应授权。 BIP 340 定义在secp256k1 曲线上使用的Schnorr 签名规格,与Bitcoin 传统使用的ECDSA 不同。
Schnorr 的代数结构有助于设计多方共同签署等协议。不过,BIP 340 本身不是「按一下就把所有人的签名合并」的完整钱包方案。
多签是否会自动变成一个签名?
不会自动发生。若采用合适的多方签署协议,例如MuSig 类型设计,多方可协作产生对应公钥的签名,让某些付款以单一Key Path 签名完成。
钱包与参与者仍需配合该协议;旧有多签资产不会因Taproot 启用就自动转换。
也不能将这项能力误写成「一笔交易的所有输入已自动共用一个签名」。跨输入签名聚合不是本次Taproot 升级普遍自动提供的功能。
Key Path 与Script Path 有什么不同?
Taproot 输出可让花费者透过对应的金钥路径,或在设计中存在且可满足时,透过脚本路径花费。
Key Path:以输出公钥对应的签名花费
Key Path 以能通过输出公钥验证的Schnorr 签名授权花费,不必揭露背后是否存在其他备用脚本。
在协作式多方设计中,参与者若能共同完成相应签署,便可能走这条路径。从这部分链上资料,不一定能看出究竟是单人还是多方协作。
Script Path:揭露使用到的脚本条件
若使用已承诺的脚本路径,花费者需提供选中的脚本、满足条件的资料,以及证明它属于输出承诺的必要资料。
它不要求将每一条未使用的备用脚本全文公开,但使用到的条件与证明仍会揭露。脚本路径不是免费,也不是隐藏所有资讯。
| 比较项目 | Key Path | Script Path |
|---|---|---|
| 花费依据 | 输出公钥对应签名 | 已承诺脚本的条件 |
| 是否公开脚本全文 | 不需公开备用脚本 | 公开所使用的脚本 |
| 常见用途 | 直接付款、可协作的多方支出 | 备援、时间锁或其他约定条件 |
| 资料需求 | 常见情境较精简 | 依脚本及证明结构而异 |
用共同保管与备援的例子理解
假设两名参与者设计一个共同保管方案:平常合作时,透过合适的协作签署机制走Key Path;另承诺一条带时间条件的备援脚本。
若合作顺利,花费时不必公开备援脚本内容。若需要使用备援,便揭露并满足该路径的条件。
这是设计概念,不代表任何两个钱包地址都能直接组成此方案。金钥、脚本、备份及签署协议必须正确建构,才有相应效果。
Taproot 如何改善隐私?
Taproot 的隐私效果,主要来自减少花费条件的不必要揭露,以及让部分不同设计以相近的Key Path 花费形式呈现。
例如,一个具有备援脚本的输出,若最终由Key Path 花费,不必公开那条脚本。使用Script Path 时,也只需揭露相关路径的必要资料。
但转帐金额、输出、交易连结及其他公开资料仍可能被分析。使用bc1p 不会自动让地址失去追踪性,也不保证外界无法辨识使用者。
对一般用户而言,避免重用地址、理解找零及资金混合使用带来的关联,仍有实际意义。
Taproot 一定能降低比特币手续费吗?
不一定。费用与实际交易的虚拟大小、选择的sat/vB,以及市场需求有关。
Key Path 在某些复杂协作情境中能节省原本需要公开的脚本与签名资料;Script Path 则需计入脚本、证明及满足条件的资料。
也要分清楚「建立Taproot 收款输出」与「之后花费该输出」的资料成本,不能只比较其中一个环节就宣称所有情况都更省。
当Mempool竞争改变,即使交易结构不变,总费用也可能不同。
bc1p 地址是什么?与bc1q 有何差别?
Bitcoin 主网Taproot 地址常以bc1p 开头,对应P2TR、版本1 见证程式,使用Bech32m 编码。
bc1q 则是常见的版本0 见证地址开头,使用Bech32。两者都在Bitcoin 主网使用,不代表两条不同的BTC 链。
| 项目 | 常见Native SegWit v0 | Taproot |
|---|---|---|
| 常见主网开头 | bc1q | bc1p |
| 见证版本 | 0 | 1 |
| 地址编码 | Bech32 | Bech32m |
| 常见输出 | P2WPKH、P2WSH | P2TR |
| 花费规则 | 依版本0 设计 | Key Path 或Script Path |
地址前缀只方便辨识,不能取代完整校验。也不能手动把bc1q 改成bc1p 来转换,应由支持相应设计的钱包生成。
Taproot 与SegWit 有什么关系?
SegWit 隔离见证建立见证版本及相关交易结构;Taproot 则利用版本1 定义新的输出与花费规则。
因此,Taproot 可以放在SegWit 的版本架构中理解,但不能将它与最初版本0 的具体功能混为一谈。
从UTXO角度看,资产依然是输出,花费时仍要符合授权条件。改变的是条件如何承诺、如何满足,以及资料如何被验证。
Tapscript 是什么?与智能合约有关吗?
Tapscript 是BIP 342 定义的脚本规则,配合Taproot 的脚本路径使用Schnorr 验证,并调整部分操作码及限制。
Bitcoin 原本就能透过脚本表达特定花费条件,例如多方授权与时间限制。 Taproot 扩充了相关设计空间,但不代表Bitcoin 因此完整采用Ethereum相同的帐户、Gas 与执行模型。
若从智能合约角度理解,应先看要表达的条件与执行环境,而不是只因出现脚本就推论所有链功能相同。
如何使用Taproot 地址收款?
步骤一:确认钱包支持收款与花费
检查钱包是否能建立Taproot 地址、签署其花费,并确认自己使用的硬体钱包或多签流程也支持所选方案。
「能发送到Taproot 地址」与「能管理并花费Taproot 资产」是不同能力,不要只看产品名称。
步骤二:从钱包取得完整地址
在Bitcoin 收款页取得对应地址,不手动更改格式。若使用硬体钱包,可在装置上核对地址。
步骤三:核对发送端的网路与格式支持
确认发送端选择Bitcoin 主网,并接受接收端提供的完整地址。若平台不接受,先查官方文件,不要用删字或改前缀的方式尝试通过。
步骤四:查看链上付款与确认
取得TxID,核对金额与输出。 Taproot 不会免除等待确认;若接收方是平台,仍须符合其入帐规则。
首次操作可依最低金额与费用安排适当测试,不需要为了名称较新而一次移动全部资产。
旧资产需要全部转到Taproot 吗?
不需要因为升级就认定旧地址不能使用。若要把旧输出转入Taproot,仍须建立链上交易,支付当次费用。
是否调整,可依钱包相容性、未来花费需求及备份方式判断。特别是自订脚本或共同保管方案,除了保管金钥,也须确保找回资产所需的设定资料有妥善备份。
Taproot 常见问题FAQ
Taproot 是新币吗?
不是。它是Bitcoin 升级,使用的资产仍是BTC。
bc1p 是另一条网络吗?
不是。它是Bitcoin 主网常见Taproot 地址形式,仍须核对完整地址与所选网路。
Taproot 会让交易完全匿名吗?
不会。它可减少特定条件揭露,但金额与交易关联等资料仍可能被分析。
使用Taproot 一定比较便宜吗?
不一定。要比较输入、输出、花费路径及费率,不能只看地址名称。
所有多签都会自动合成一个签名吗?
不会。需要相应的多方签署协议与钱包支持。
Script Path 会公开所有备用条件吗?
不必公开每条未使用脚本的全文,但仍需公开所使用的脚本及必要证明,不能视为完全隐藏。
SegWit 和Taproot 是相同升级吗?
不是。 Taproot 定义版本1 见证规则,与原始版本0 SegWit 的具体设计不同。
Taproot 能撤回已确认付款吗?
不能把Taproot 当成任意撤回交易的功能。花费与确认仍须遵循Bitcoin 规则。
本文链接地址:https://www.wwsww.cn/btbwhy/42211.html
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。



