搞明白比特币交易的两种关键脚本:P2PKH和P2SH的工作原理与实用教程
对于刚接触比特币的朋友来说,区块链交易背后的技术听起来可能有些高深莫测。经常听到“脚本”这个词,但它究竟是什么?为什么又常提到“两种脚本”?截至 2026-03-25,我们就用最接地气的语言,为你揭开比特币交易脚本的神秘面纱,让你从“一脸懵”变成“心中有数”。
比特币交易脚本:并非编程,而是规则
首先,让我们破除一个误解:比特币脚本不是让你写一个复杂的程序。你可以把它理解为一套 “智能验证规则”。每一笔比特币交易都包含两部分:
* 锁定脚本 (ScriptPubKey): 可以看作是放置在比特币上的“一把锁”,定义了花费这笔钱需要满足的条件。
* 解锁脚本 (ScriptSig): 当你想花掉这笔钱时,提供的“一把钥匙”,用来打开之前的锁。
只有当“钥匙”完美匹配“锁”设定的条件时,交易才会被整个网络所接受。而我们常说的“两种脚本”,主要指最常见的两种“锁”的类型:P2PKH 和 P2SH。
第一种核心脚本:P2PKH —— 最经典的“个人钱包锁”
P2PKH,全称“支付到公钥哈希”,是比特币最早、最广泛应用的一种脚本类型。它像什么呢?就像传统的银行账户转账,直接对应到你的个人钱包地址。
它是如何运作的?
1. 锁定规则(锁): “只有能提供与这个公开地址对应的私钥签名的人,才能花这笔钱。” 这里的“公开地址”就是你钱包里显示的以1开头的字符串(如 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa)。
2. 解锁过程(钥匙): 当你付款时,你的钱包软件会自动用你的私钥对交易信息生成一个数字签名,并将这个签名和你的公钥一起作为“钥匙”提供出去。
核心特点与个人观点:
* 直接明了: 资金所有权非常清晰,直接关联到单个公钥哈希(地址)。
* 安全性基础: 它的安全性完全依赖于椭圆曲线加密算法和私钥的保管。在我看来,P2PKH奠定了比特币“个人资产自我主权”的基石,它的简洁和强健是比特币网络早期得以稳定的关键。
* 局限性: 功能相对单一,难以支持更复杂的花费条件,比如需要多人签名(多签)。
第二种核心脚本:P2SH —— 灵活多能的“托管保险箱锁”
随着比特币应用场景的扩展,大家需要更灵活的条件,比如公司财务需要3个高管中至少2人签名才能动用资金。于是,P2SH(支付到脚本哈希)应运而生。
P2SH的精髓在于“延迟揭示规则”。它像一个设置了复杂开启条件的保险箱,但寄送时只贴个保险箱的编号(哈希值)。
运作流程解析:
1. 锁定规则(锁): “谁能提供一个脚本(我们称之为赎回脚本),并且这个脚本的哈希值等于我这里记录的哈希值,同时这个提供的脚本本身能被执行成功,谁就能花这笔钱。” 锁里只存了目标脚本的哈希值,而不是规则本身。
2. 解锁过程(钥匙): 花费时,花费者才“亮出底牌”,提供真实的赎回脚本(如“需要5把密钥中的3把来开启”)以及满足该脚本所需的签名或数据。
用个比喻来理解:
Q: P2PKH和P2SH最根本的区别是什么?
A: 想象一下寄信。
* P2PKH 就像在信封上直接写明“张三收”。邮递员(网络节点)一看就知道必须张三本人签收。
* P2SH 就像在信封上写一个“密码箱编号#X7F9”。张三收到后,需要输入正确的密码(提供正确的赎回脚本和签名)才能打开箱子拿到信。邮递员在投递时根本不知道具体的收取规则是什么。
P2SH的巨大优势:
* 灵活性: 支持多重签名、哈希时间锁定合约等复杂逻辑。
* 交易费节约: 复杂脚本的负担由最终花费者承担,发送者支付的手续费更低。
* 隐私性更好: 在锁定阶段,复杂的交易条件被隐藏为一个哈希值。
实操对比:P2PKH vs P2SH 如何选择?
那么,作为普通用户,你该如何选择呢?下表清晰地展示了两种脚本在不同维度的区别:
| 对比维度 | P2PKH (支付到公钥哈希) | P2SH (支付到脚本哈希) |
|---|---|---|
| 常见地址开头 | 地址以“1”开头 | 地址以“3”开头 |
| 核心功能 | **单签名支付**,最基础的支付方式 | **支持复杂条件**,如多签、时间锁等 |
| 谁承担复杂性的成本 | 发送方 | 接收方(花费时) |
| 隐私性 | 较低(规则公开) | 较高(规则哈希化隐藏) |
| 主要应用场景 | 个人钱包收付款、交易所充值地址(部分) | 多重签名钱包(如公司金库、托管服务)、闪电网络通道、某些智能合约 |
| 新手友好度 | 非常高,所有钱包默认支持 | 较高,但需知晓其用途 |
我的建议是:
* 日常个人资产存储与转账,追求简单高效,请使用P2PKH地址(1开头)。 这是最稳妥、最通用的选择。
* 当你需要更强的安全保障或特定功能时,选择P2SH地址(3开头)。 例如:
* 将家庭储蓄设置为需要夫妻二人共同签名才能动用。
* 参与某些需要多签保障的托管理财或交易。
交易手续费浅析:脚本类型如何影响成本?
交易手续费主要取决于交易数据占用的存储空间(通常以“虚拟字节”vBytes计算)。更复杂的解锁脚本自然会占用更多空间。
| 交易类型示例 | 主要脚本类型 | 特点 | 预估手续费相对水平 (同等优先级下) |
|---|---|---|---|
| 从个人钱包转出 | 花费 P2PKH UTXO | 解锁脚本(签名+公钥)尺寸中等 | 中等 |
| 向个人钱包转入 | 创建 P2PKH 锁定 | 锁定脚本尺寸固定且较小 | 较低 |
| 从3-2多签钱包转出 | 花费 P2SH (内嵌多签) UTXO | 解锁脚本(多个签名+赎回脚本)尺寸很大 | 较高 |
| 向多签钱包转入 | 创建 P2SH 锁定 | 锁定脚本(仅哈希)尺寸很小 | 最低 |
关键点: 向一个P2SH(3开头)地址充值,手续费非常低,因为锁定的内容只是一个简短的哈希值。这正是P2SH设计巧妙之处——发送者受益。
主流交易所对于不同脚本地址的支持度
了解交易所支持哪种存款地址,对于管理资产很重要。以下是部分主流交易所的常见情况对比(请务必以各交易所最新公告为准):
| 交易所名称 | 默认充值地址类型 | 是否支持P2SH(3开头)地址充值 | 备注 / 个人观察 |
|---|---|---|---|
| 币安 (Binance) | 原生隔离见证 (bc1q) | 是 | 主流交易所中技术更新较快,积极采用新标准以降低用户手续费。 |
| Coinbase | 原生隔离见证 (bc1q) | 通常支持 | 面向合规与普通用户,对多种地址格式兼容性较好。 |
| 欧易 (OKX) | 原生隔离见证 (bc1q) | 是 | 同样支持多重地址格式,用户界面通常会明确提示。 |
| 火币 (HTX) | P2PKH (1开头) 或 隔离见证 | 通常支持 | 老牌交易所,早期用户可能更多使用1开头的地址。 |
| Kraken | P2SH (3开头) 为主 | 是(本身就是) | 一个特例:Kraken长期使用P2SH地址作为默认充值地址,以提高安全性和功能灵活性。 |
请注意: 当前,原生隔离见证(Bech32,以bc1q开头) 已成为行业新趋势,因为它能提供比P2PKH和P2SH更低的费用和更强的错误校验能力。你在交易所看到的最新充值地址很可能已经是bc1q开头了。P2SH因其灵活性,在需要多签管理的机构级服务中依然不可或缺。
理解P2PKH和P2SH,就像是拿到了比特币世界大门的两把不同钥匙。一把是简单直接的私人钥匙,另一把是可以设计成各种复杂组合的智能钥匙。掌握它们,不仅能让你更安全地管理自己的数字资产,也能让你看懂区块链浏览器上一笔笔交易背后更深层的逻辑。技术的演进总是在追求安全、效率与功能的平衡,而这两种脚本正是这一道路上至关重要的里程碑。
风险与注意事项
- 加密资产波动大,短期涨跌不可预测,请只用可承受损失的闲置资金参与。
- 警惕“保本、带单、内幕消息”等话术;涉及转账私钥/助记词的一律视为高风险。
- 若你参考了平台规则或公告,请以其在 2026-03-25 前后的最新版本为准。
本文仅作信息分享,不构成投资建议。市场有风险,决策需谨慎。
