比特币地址类型比较:P2PKH、P2SH、P2WPKH

新手1/12/2024, 8:44:10 AM
本文介绍了比特币地址和转账方式的历史。

P2PK

Pay-to-Public-Key(P2PK)是接收比特币的原始方法,它不涉及地址。相反,顾名思义,比特币是直接支付给暴露的公钥的。有史以来第一笔从一个人到另一个人的比特币交易使用了 P2PK,当时中本聪向 Hal Finney 发送了比特币位于 170 座

P2PK 已不再使用,因为与后续方法相比,它是一种更昂贵、更不私密且更不安全的接收比特币的方式。

要闻速览

P2PKH

支付到公钥哈希(P2PKH)在比特币诞生之初就可以使用,并且在创世块诞生后不到两周的时间里首次出现在区块链上。 P2PKH 对 P2PK 进行了多项改进,例如使用地址。正如所讨论的在我们之前的文章中,地址包含一个校验和,有助于防止拼写错误和丢失比特币。

P2PKH 地址的长度通常为 34 或 33 个字符(但理论上可以是短至 26 个字符),并且它们被编码为Base58格式。它们以前缀开头1 目前负责接收和保护 43% 的已开采比特币供应,比任何其他地址类型都多。

创建 P2PKH 地址涉及将单个公钥放入哈希函数 SHA-256 和 RIPEMD-160。这减少了数据量,进而有助于为用户节省区块空间和交易费用。除了已经被认为牢不可破的 secp256k1 椭圆曲线之外,它还引入了对私钥逆向工程的进一步阻力。

要闻速览

P2MS

Pay-to-Multisig (P2MS) 是一种微不足道的交易类型,仅具有短暂的相关性,并且从未负责在所有网络参与者中一次持有超过 100 个比特币。尽管如此,P2MS 仍然是比特币历史的一部分。

根据 BIP 11 的规定,P2MS 于 2012 年初作为标准脚本引入。但是,这种交易类型遇到了与 P2PK 相同的问题,因为它包含公开的公钥并且不使用任何地址格式。它还将多重签名法定人数中的公钥数量限制为三个。几个月内,P2MS 将被另一种将比特币接收到多重签名安排(称为 P2SH)的方法所取代,我们将在接下来介绍。

要闻速览

P2SH

Pay-to-Script-Hash (P2SH) 是根据 BIP 16 于 2012 年 4 月 1 日作为软分叉引入比特币的。与大多数分叉一样,背后的故事很精彩。 P2SH 与 P2PKH 有很多共同点。主要区别在于,地址是通过对兑换脚本进行哈希处理而不是对单个公钥进行哈希处理来创建的。

兑换脚本可以被视为编码指令,指定接收到 P2SH 地址的比特币将来如何使用。可能有多种可能性,包括多个不同的公钥。接收方(而不是发送方)确定脚本详细信息,并且在比特币从地址中支​​出之前,支出指令不会公开。

虽然高级用户可以构建复杂的脚本,但 P2SH 最常见的用途是创建嵌套 SegWit 地址(下面涵盖)和多重签名钱包。例如,脚本可以包含三个公钥,并指定任意两个相应私钥的签名可以花费比特币。这将创建一个 2-of-3 多重签名地址。

P2SH 地址是确切地 长度为 34 个字符,并且以前缀开头3,如 BIP 13 所指定。在 4 月 1 日软分叉之前,少数交易尝试使用此替代前缀,其中第一个交易被发现在区块 170,052

要闻速览

P2WPKH

Pay-to-Witness-Public-Key-Hash (P2WPKH) 是 2017 年 8 月在 SegWit 软分叉上引入比特币的两种地址类型中的第一种。这个极其重要且特别有争议的软分叉背后的故事记录在一本名为区块大小战争,乔纳森·比尔撰写。

P2WPKH 是 P2PKH 的 SegWit 变体,从根本上来说,这意味着选择此地址类型而不是旧的 P2PKH 地址将帮助您在转移比特币时节省交易费用。

SegWit 地址看起来与旧的地址类型有很大不同,因为根据 BIP 173,它们使用 Bech32 编码而不是 Base58。最值得注意的是,Bech32 中没有大写字母。 P2WPKH 地址可以通过前缀 bc1q 和正好 42 的字符长度来标识。

要闻速览

P2WSH

付费见证脚本哈希 (P2WSH) 是 P2SH 的 SegWit 变体。与 P2SH 相比,使用 P2WSH 的主要优点是它可以帮助降低交易费用,并且使用脚本哈希而不是公钥哈希的主要原因是为了适应多重签名安排。

与 P2WPKH 一样,P2WSH 地址以前缀开头BC1q。但是,它的字符长度更长,恰好为 62。与迄今为止介绍的地址类型不同,P2WSH 地址是单独使用 SHA-256 哈希函数创建的,不包括 RIPEMD-160,从而导致字符长度增加。这是谨慎实施的,增加了针对相当微妙且极不可能的多重签名的额外保护攻击向量

要闻速览

嵌套隔离见证(P2SH-P2WPKH 和 P2SH-P2WSH)

从技术上讲,嵌套隔离见证(也称为包裹隔离见证)与我们上面介绍的地址类型没有什么不同。尽管如此,它仍然是一种使用先前讨论的地址类型的独特方式,暂时对比特币社区有用。

当 SegWit 软分叉发生时,并非所有比特币节点、软件和服务都会立即升级以支持新的本机 SegWit 地址类型 P2WPKH 和 P2WSH。只有升级的实体才能发送到这些新地址。这意味着那些想要从任何人(包括那些没有升级的人)接收比特币的人还不能使用原生 SegWit 钱包。然而,由于隔离见证提供更便宜的交易费用,大多数人都热衷于开始使用它。

解决这个困境的巧妙方法是利用 P2SH 交易类型。尚未实施 SegWit 的实体仍然可以将比特币发送到 P2SH 地址,其中,如上所述,使用兑换脚本构建,指定有关稍后如何使用比特币的说明。事实证明,这些指令可以纳入新的 SegWit 支出模式,为用户提供降低费用的桥梁。因此,使用此技巧的 P2SH 地址被称为嵌套 SegWit,它们在 SegWit 采用过程中发挥了重要作用。

从表面上看,嵌套 SegWit 地址与其他 P2SH 地址没有区别,因此这种安排中持有的比特币的供应量是不可知的。此外,由于所有现代比特币工具现在都可以直接发送到本机 SegWit 地址,因此不再有任何充分的理由使用嵌套 SegWit。

要闻速览

P2TR

Pay-to-Taproot (P2TR) 是最新的地址类型,由 Taproot 软分叉于 2021 年 11 月提供。在撰写本文时,P2TR 的采用率仍然很低,许多比特币软件和服务仍在进行集成。

P2WPKH 和 P2WSH 被称为 SegWit V0,而 P2TR 被视为 SegWit V1。值得注意的是,P2TR 使用称为 Schnorr 的数字签名算法,该算法与早期比特币交易类型中使用的 ECDSA 格式不同。 Schnorr 签名有几个优点,包括额外的交易费用降低和增强的隐私性。

在隐私方面,Schnorr 实现的密钥和签名聚合使多重签名地址与单签名无法区分,并且 P2TR 地址的支出条件从未公开披露。地址的创建者甚至可以包含多个自定义的兑换脚本以供选择,以便稍后使用比特币。

P2TR 地址的长度为 62 个字符,它们使用 Bech32m 编码,这是 Bech32 的稍微修改版本,如BIP 350。 P2TR地址可以通过其唯一性来识别BC1p字首。

要闻速览

参考图

现在我们已经介绍了在链上接收比特币的所有标准化方法,一些快速事实和地址特征可以组合成一个方便的图表以供参考。

  • 这些列中的数据可能会发生变化。

声明:

  1. 本文转载自[unchained],著作权归属原作者[Tom Honzik],如对转载有异议,请联系Gate Learn团队,团队会根据相关流程尽速处理。
  2. 免责声明:本文所表达的观点和意见仅代表作者个人观点,不构成任何投资建议。
  3. 文章其他语言版本由Gate Learn团队翻译, 在未提及Gate.io的情况下不得复制、传播或抄袭经翻译文章。

比特币地址类型比较:P2PKH、P2SH、P2WPKH

新手1/12/2024, 8:44:10 AM
本文介绍了比特币地址和转账方式的历史。

P2PK

Pay-to-Public-Key(P2PK)是接收比特币的原始方法,它不涉及地址。相反,顾名思义,比特币是直接支付给暴露的公钥的。有史以来第一笔从一个人到另一个人的比特币交易使用了 P2PK,当时中本聪向 Hal Finney 发送了比特币位于 170 座

P2PK 已不再使用,因为与后续方法相比,它是一种更昂贵、更不私密且更不安全的接收比特币的方式。

要闻速览

P2PKH

支付到公钥哈希(P2PKH)在比特币诞生之初就可以使用,并且在创世块诞生后不到两周的时间里首次出现在区块链上。 P2PKH 对 P2PK 进行了多项改进,例如使用地址。正如所讨论的在我们之前的文章中,地址包含一个校验和,有助于防止拼写错误和丢失比特币。

P2PKH 地址的长度通常为 34 或 33 个字符(但理论上可以是短至 26 个字符),并且它们被编码为Base58格式。它们以前缀开头1 目前负责接收和保护 43% 的已开采比特币供应,比任何其他地址类型都多。

创建 P2PKH 地址涉及将单个公钥放入哈希函数 SHA-256 和 RIPEMD-160。这减少了数据量,进而有助于为用户节省区块空间和交易费用。除了已经被认为牢不可破的 secp256k1 椭圆曲线之外,它还引入了对私钥逆向工程的进一步阻力。

要闻速览

P2MS

Pay-to-Multisig (P2MS) 是一种微不足道的交易类型,仅具有短暂的相关性,并且从未负责在所有网络参与者中一次持有超过 100 个比特币。尽管如此,P2MS 仍然是比特币历史的一部分。

根据 BIP 11 的规定,P2MS 于 2012 年初作为标准脚本引入。但是,这种交易类型遇到了与 P2PK 相同的问题,因为它包含公开的公钥并且不使用任何地址格式。它还将多重签名法定人数中的公钥数量限制为三个。几个月内,P2MS 将被另一种将比特币接收到多重签名安排(称为 P2SH)的方法所取代,我们将在接下来介绍。

要闻速览

P2SH

Pay-to-Script-Hash (P2SH) 是根据 BIP 16 于 2012 年 4 月 1 日作为软分叉引入比特币的。与大多数分叉一样,背后的故事很精彩。 P2SH 与 P2PKH 有很多共同点。主要区别在于,地址是通过对兑换脚本进行哈希处理而不是对单个公钥进行哈希处理来创建的。

兑换脚本可以被视为编码指令,指定接收到 P2SH 地址的比特币将来如何使用。可能有多种可能性,包括多个不同的公钥。接收方(而不是发送方)确定脚本详细信息,并且在比特币从地址中支​​出之前,支出指令不会公开。

虽然高级用户可以构建复杂的脚本,但 P2SH 最常见的用途是创建嵌套 SegWit 地址(下面涵盖)和多重签名钱包。例如,脚本可以包含三个公钥,并指定任意两个相应私钥的签名可以花费比特币。这将创建一个 2-of-3 多重签名地址。

P2SH 地址是确切地 长度为 34 个字符,并且以前缀开头3,如 BIP 13 所指定。在 4 月 1 日软分叉之前,少数交易尝试使用此替代前缀,其中第一个交易被发现在区块 170,052

要闻速览

P2WPKH

Pay-to-Witness-Public-Key-Hash (P2WPKH) 是 2017 年 8 月在 SegWit 软分叉上引入比特币的两种地址类型中的第一种。这个极其重要且特别有争议的软分叉背后的故事记录在一本名为区块大小战争,乔纳森·比尔撰写。

P2WPKH 是 P2PKH 的 SegWit 变体,从根本上来说,这意味着选择此地址类型而不是旧的 P2PKH 地址将帮助您在转移比特币时节省交易费用。

SegWit 地址看起来与旧的地址类型有很大不同,因为根据 BIP 173,它们使用 Bech32 编码而不是 Base58。最值得注意的是,Bech32 中没有大写字母。 P2WPKH 地址可以通过前缀 bc1q 和正好 42 的字符长度来标识。

要闻速览

P2WSH

付费见证脚本哈希 (P2WSH) 是 P2SH 的 SegWit 变体。与 P2SH 相比,使用 P2WSH 的主要优点是它可以帮助降低交易费用,并且使用脚本哈希而不是公钥哈希的主要原因是为了适应多重签名安排。

与 P2WPKH 一样,P2WSH 地址以前缀开头BC1q。但是,它的字符长度更长,恰好为 62。与迄今为止介绍的地址类型不同,P2WSH 地址是单独使用 SHA-256 哈希函数创建的,不包括 RIPEMD-160,从而导致字符长度增加。这是谨慎实施的,增加了针对相当微妙且极不可能的多重签名的额外保护攻击向量

要闻速览

嵌套隔离见证(P2SH-P2WPKH 和 P2SH-P2WSH)

从技术上讲,嵌套隔离见证(也称为包裹隔离见证)与我们上面介绍的地址类型没有什么不同。尽管如此,它仍然是一种使用先前讨论的地址类型的独特方式,暂时对比特币社区有用。

当 SegWit 软分叉发生时,并非所有比特币节点、软件和服务都会立即升级以支持新的本机 SegWit 地址类型 P2WPKH 和 P2WSH。只有升级的实体才能发送到这些新地址。这意味着那些想要从任何人(包括那些没有升级的人)接收比特币的人还不能使用原生 SegWit 钱包。然而,由于隔离见证提供更便宜的交易费用,大多数人都热衷于开始使用它。

解决这个困境的巧妙方法是利用 P2SH 交易类型。尚未实施 SegWit 的实体仍然可以将比特币发送到 P2SH 地址,其中,如上所述,使用兑换脚本构建,指定有关稍后如何使用比特币的说明。事实证明,这些指令可以纳入新的 SegWit 支出模式,为用户提供降低费用的桥梁。因此,使用此技巧的 P2SH 地址被称为嵌套 SegWit,它们在 SegWit 采用过程中发挥了重要作用。

从表面上看,嵌套 SegWit 地址与其他 P2SH 地址没有区别,因此这种安排中持有的比特币的供应量是不可知的。此外,由于所有现代比特币工具现在都可以直接发送到本机 SegWit 地址,因此不再有任何充分的理由使用嵌套 SegWit。

要闻速览

P2TR

Pay-to-Taproot (P2TR) 是最新的地址类型,由 Taproot 软分叉于 2021 年 11 月提供。在撰写本文时,P2TR 的采用率仍然很低,许多比特币软件和服务仍在进行集成。

P2WPKH 和 P2WSH 被称为 SegWit V0,而 P2TR 被视为 SegWit V1。值得注意的是,P2TR 使用称为 Schnorr 的数字签名算法,该算法与早期比特币交易类型中使用的 ECDSA 格式不同。 Schnorr 签名有几个优点,包括额外的交易费用降低和增强的隐私性。

在隐私方面,Schnorr 实现的密钥和签名聚合使多重签名地址与单签名无法区分,并且 P2TR 地址的支出条件从未公开披露。地址的创建者甚至可以包含多个自定义的兑换脚本以供选择,以便稍后使用比特币。

P2TR 地址的长度为 62 个字符,它们使用 Bech32m 编码,这是 Bech32 的稍微修改版本,如BIP 350。 P2TR地址可以通过其唯一性来识别BC1p字首。

要闻速览

参考图

现在我们已经介绍了在链上接收比特币的所有标准化方法,一些快速事实和地址特征可以组合成一个方便的图表以供参考。

  • 这些列中的数据可能会发生变化。

声明:

  1. 本文转载自[unchained],著作权归属原作者[Tom Honzik],如对转载有异议,请联系Gate Learn团队,团队会根据相关流程尽速处理。
  2. 免责声明:本文所表达的观点和意见仅代表作者个人观点,不构成任何投资建议。
  3. 文章其他语言版本由Gate Learn团队翻译, 在未提及Gate.io的情况下不得复制、传播或抄袭经翻译文章。
Lancez-vous
Inscrivez-vous et obtenez un bon de
100$
!