精通比特币(33):比特币中使用的数字签名简介

  • A+
维基百科对 “数字签名 ”的定义:
数字签名是用于证明数字消息或文档的真实性的数学方案。 有效的数字签名给了一个容易接受的理由去相信:1)该消息是由已知的发送者(身份认证性)创建的; 2)发送方不能否认已发送消息(不可否认性;3)消息在传输中未被更改(完整性)。

 

比特币中使用的数字签名算法是椭圆曲线数字签名算法(Elliptic Curve Digital Signature Algorithm)或ECDSA。 ECDSA是用于基于椭圆曲线私钥/公钥对的数字签名的算法。
ECDSA用于脚本函数OP_CHECKSIG,OP_CHECKSIGVERIFY,OP_CHECKMULTISIG和OP_CHECKMULTISIGVERIFY。每当你锁定脚本中看到这些时,解锁脚本都必须包含一个ECDSA签名。
数字签名在比特币中有三种用途:
第一,签名证明私钥的所有者,即资金所有者,已经授权支出这些资金。
第二,授权证明是不可否认的(不可否认性)。
第三,签名证明交易(或交易的具体部分)在签字之后没有也不能被任何人修改。
请注意,每个交易输入都是独立签名的。这一点至关重要,因为不管是签名还是输入都不必由同一“所有者”实施。
注意:每个交易输入和它可能包含的任何签名完全独立于任何其他输入或签名。 多方可以协作构建交易,并各自仅签一个输入。

发表评论

您必须才能发表评论!