数字签名
数字签名可用于识别一个账户,表明他的所有者同意对特定的交易数据的内容进行授权,并通过允许将新的交易数据添加到历史交易数据中来批准它的执行。
利用了哈希引用以及非对称加密技术中的公私钥对交易进行授权
三个主要元素:
- 创建数字签名
- 利用数字签名验证信息
- 所有数字签名识别伪造的问候语
区块链中的数字签名满足以下要求
- 可以说明账户所有者同意转移特定交易数据的所有权
- 可防止未经账户所有者同意而用于授权其他交易
- 只有同意转移所有权的账户才能创建这样的签名
- 很容易被被交易的另一方核实
数字签名在区块链的用途
- 签名交易
描述交易,包括涉及账号,转移金额等必要信息
创建交易数据的哈希值
使用同意转移所有权的账户的私钥加密交易数据的哈希值得到加密文档
在上一步中创建的加密文档添加到交易中作为其数字签名 - 验证交易
创建要进行验证的交易数据的哈希值,除了数字签名本身
使用同意转移所有权的账户的公钥来解密交易数据中的加密文档(数字签名)
对比前两步生成的哈希值,相同则说明这笔交易是同意转移所有权的账户所对应的私钥所有者授权的,反之不是。
交易数据的数字签名内容
- 交易数据的哈希值
- 可追溯到账户对应私钥的加密文档
数字签名有以下两个用途
- 识别独一无二的签署人
- 证明签署人同意文件中的内容,并且授权执行
区块链中的数字签名可以追溯到一个特定私钥授权了一笔特定的交易