主页 > www.token.im > 比特币运行基本原理 什么是 P2PKH?

比特币运行基本原理 什么是 P2PKH?

www.token.im 2024-01-16 05:07:44

当我们讨论比特币交易如何运作时,P2PKH 在比特币交易中扮演着重要的角色。 它有助于保护比特币的交易和存储。 P2PKH的全称是“Pay to Public Key Hash”。 公钥哈希是比特币地址的多种格式之一,另一种是P2SH,“Pay to Script Hash”。 基本上,P2PKH 代表“支付到这个比特币地址”。 这是区块链上的一条指令,用于将比特币从当前所有者转移到新所有者地址。 每一笔比特币交易的背后,都有一些代码在后台运行,这就是比特币编码语言。

基本的

在深入讨论 P2PKH 的概念之前,一个极其重要的概念是 Unspent Transaction Outputs (UTXO),也就是未花费的交易输出。 在比特币交易中,UTXO 是我们经常使用和花费的东西。 UTXO 的支出只能是一次,我们将其支出后称为支出交易输出。

什么是P2PKH?插图

OKX(OKX)——数字货币兑换

注册领取最高¥60,000元数码盲盒,享20%手续费减免

什么是P2PKH?插图2

点击注册

什么是P2PKH?插图4

交易操作的概念

在每笔交易中,它将包括数字、输入、输出和锁定时间。

挖比特币的原理_比特币运行基本原理_比特币挖矿机原理

输入:在本例中,包含端点、序列号和解锁代码(也称为 scriptSig)。

输出:包含花费的金额和锁码值,也称为 scriptPubKey

在每笔交易中,它将包括数字、输入、输出和锁定时间。

每笔交易必须至少有一个输入和输出。 输入用于告诉网络要使用哪些 UTXO 并确保允许使用它们。 输出用于确保未来的交易能够花费新创建的 UTXO。

下图展示了交易关系:

什么是P2PKH?插图6

创建交易的步骤

第1步:

识别包含 UTXO(您拥有的比特币)的先前交易

第2步:

新交易入口点的建立用于识别上一笔交易使用的UTXO

挖比特币的原理_比特币运行基本原理_比特币挖矿机原理

第 3 步:

最后,如果您创建新的 UTXO 来解锁下一个交易,则必须为新交易创建一个输出,以便锁码值包含条件

第四步:

最后,创建一个与先前交易的锁定代码匹配的解锁代码。 最后一步是收件人的签名,这也会包含在解锁码中,但是比特币运行基本原理,这部分实际上会放在交易的中间。

期限

1.PubkeyScript(也称为scriptPubKey或锁定脚本);

2.SignatureScript(也称为scriptSig或解锁脚本)

PubkeyScript 是一个记录交易记录的指令列表,它控制下一个用户如何解锁收到的比特币并进行传输。 收款人将创建一个签名脚本,该文件必须满足上一个发送者创建的PubkeyScript 的参数。

PubkeyScript 的参数:

1. Public Key Hash(比特币地址)

2. 电子签名

比特币运行基本原理_比特币挖矿机原理_挖比特币的原理

P2PKH 地址的所有者只能通过提供公钥哈希和私钥签名来解锁 PubkeyScript 并使用发送的资金。

什么是创世块?

创世区块是比特币区块链的第一个区块,因此得名创世区块。 它是比特币交易系统的基础,其他区块链也是根据它的原型创建的。这个区块是由比特币创始人中本聪创建的

一般情况下,鲍勃会将比特币地址提供给爱丽丝,爱丽丝将比特币发送给鲍勃。 Alice在输出的时候会设置一个PubkeyScript。 爱丽丝完成交易后,交易被发送到比特币网络,比特币出现在鲍勃的钱包中。

如果 Bob 想使用他刚刚收到的比特币,他必须证明他是 Alice 指定的比特币地址的所有者。 Bob 需要创建一个包含他的电子签名和公钥的 scriptSig。

ScriptPubKey 设置比特币传输的条件。 在P2PKH中,条件是“比特币地址的拥有者能够证明自己拥有钱包地址,才能将比特币转给他人”,而这个人只能是Bob。

因此,scriptSig是Bob制定的数据,它可以匹配Alice制定的scriptPubKey的要求,所以他可以将比特币发送给另一个人。

什么是P2PKH?插图8

实例

为了更好地理解这一点,让我们看一个例子。 我们从 blockchain.com 随机抽取一笔交易:

输入:Pkscript:

比特币挖矿机原理_挖比特币的原理_比特币运行基本原理

十六进制:

76a9144fd31c644c4b46c153601d0e194ab689570f4ce488ac

阿斯玛:

OP_DUPOP_HASH1604fd31c644c4b46c153601d0e194ab689570f4ce4OP_EQUALVERIFYOP_CHECKSIG

签名:

十六进制:

483045022100c71b09c8161ca14b6ef96f155173bda080d72bb77953122f268b9527ff806f9302200fac42255dbe0317bbbea75837fe2e9e9bfdb3fc1161d5c45353dfdf4ecba074012102f4c4c2b0b7c23b472cdc8c27d22a41677d7e69e220675647ccf231831e5113cf

阿斯玛:

3045022100c71b09c8161ca14b6ef96f155173bda080d72bb77953122f268b9527ff806f9302200fac42255dbe0317bbbea75837fe2e9e9bfdb3fc1161d5c45353dfdf4ecba0740102f4c4c2b0b7c23b472cdc8c27d22a41677d7e69e220675647ccf231831e5113cf

在上面的示例中,我们可以看到 PubKeyscript 和 scriptSig 分别表示为 Pkscript 和 Sigscript。 和以前一样,Pkscript 代表提供给用户的指令,以便他们可以解锁脚本。 您可以看到 Pkscript 有两种表示形式,一种是 Hex 形式,另一种是 ASM 形式。 Hex 是 Pkscript 和 ASM 汇编的十六进制表示比特币运行基本原理,是比特币脚本语言操作码的表示。

您在 ASM Pkscript 前面看到的 OP 是由 CPU 执行的指令代码。 Hex 和 ASM 也相对相同,除了在 Hex 的 Sigscript 中表示 via(粗体)的“48”和 21。 所以这些是通知解释器将特定数量的字节放入堆栈的操作码。 因此,对于 Sigscript,它告诉您将 72 个字节 (0x48) 放入堆栈,将 33 个字节 (0x21) 放入公钥。

挖比特币的原理_比特币运行基本原理_比特币挖矿机原理

输出:

十六进制:

什么是P2PKH?插图10

在上面的示例中,一笔交易记录为“已花费”并显示为红色,另一笔交易记录为“未花费”并显示为绿色。 “已花费”交易意味着输出已在后续交易中花费,并且将无法再次花费。 “未花费”交易 (UTXO) 可用于未来交易中的花费。

阿斯玛:

什么是P2PKH?插图12

从上面的例子来看,对于ASM中的Pkscript,同样有“OP”代码,这是CPU要执行的指令。 在代码中,您可以看到它要求 CPU 对用户进行“身份验证”,还要求“checksig”以确保交易有效。 这就是允许比特币交易在确保准确性的同时保持安全的原因。

总结

支付给公钥哈希是一个重要的概念,它描述了所有权限的转移。 还有很多其他变种,例如P2PK、P2SH、P2MS等,但它们都基于相同的概念运行。

郑重声明:本文版权归原作者所有,转载文章仅出于传播更多信息之目的。 如作者信息标注有误,请第一时间联系我们修改或删除,谢谢。

桥水首席财务官加入 NYDIG 以推动比特币的主流采用

NYDIG宣布,已聘请全球最大对冲基金桥水基金(Bridgewater Associates)首席财务官John Dalby担任公司新任首席财务官。 根据 NYDIG 发布的新闻稿,桥水基金的首席财务官为未来的业务做准备,