‹ 第 8 章,所有课时

探路者 · 第 8 章 · 第 2/5 课时

交易与UTXO

数字签名

你如何在不展示私钥的情况下证明你拥有它? 5 分钟

数字签名是由两样东西计算得出的一个数字:被签名的消息和私钥。任何持有匹配公钥的人都可以检查签名是否与消息匹配,并且没有人能在没有私钥的情况下生成一个有效的签名。

绑定到一条消息

签名只对一条确切的消息有效。在比特币中,消息本身就是交易。如果有人更改金额或收款方,签名将不再匹配,所有节点都会拒绝该交易。签名可以被复制,但不能在另一笔支付中重复使用。

背后的数学原理

比特币的密钥存在于一个名为secp256k1的椭圆曲线上。从一开始就使用ECDSA进行签名。自2021年Taproot升级以来,还使用了一种第二种方案:Schnorr签名,它更简单,并且能够将多个签名合并为一个。

▶ 在机器中查看

在钱包中,密封的密钥对支付进行签名;只有签名离开保险箱。

需要记住的内容

  • 签名是由消息和私钥生成的。
  • 任何人都可以用公钥验证它。
  • 更改交易会破坏其签名。

快速检查

如果有人更改已签名交易的收款方,会发生什么?

2021年Taproot引入了哪种签名方案?

数字签名 · 比特币大学