在进行比特币转账时需要进行数字签名才可进行交易,那么什么是数字签名呢?这一步操作有什么用呢? 今天我们来聊一聊数字签名。
在现实社会中,签名作为签名者身份的一种证明,签名代表对签名文件的认可,不可抵赖。理论上签名是可信、不可伪造的。每次你刷卡消费后,营业员肯定需要你对回执上进行签名,这就是一种对消费交易的认可。 而在比特币转账过程中,比特币的数字签名就是只有比特币转出人才能生成的一段防伪造的字符串。
通过验证该字符串一方面证明交易是转出方本人发起的,另一反面证明交易信息在传输过程中没有被篡改。
二、数字签名的组成数字签名由数字摘要和非对称加密技术组成。
首先通过数字摘要技术把交易信息缩短成固定长度的字符串,然后用非对称加密技术对摘要进行加密,进而形成数字签名。
签名完成后需要将完整的交易信息和数字签名一起广播给矿工,矿工用转出人的公钥进行验证(公钥是公开的用来做解密操作),如果验证成功说名该笔交易确实是转出人本人发起的且信息未被篡改。
三、什么是非对称加密技术?对称加密算法在加密和解密时使用的是同一个秘钥;而非对称加密算法需要两个密钥来进行加密和解密,这两个秘钥是公开密钥(public key,简称公钥)和私有密钥(private key,简称私钥)。公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密;如果用私钥对数据进行加密,那么只有用对应的公钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。在比特币转账的过程中数字签名加密的私钥和解密的公钥就是不一致。
四、数字签名的作用有哪些?
- 防篡改:通过对数字签名的验证,可以保证信息在传输过程中未被篡改。
- 验证数据的完整性:与防篡改同理,如果信息发生丢失,签名将不完整,解开数字签名和之前的比较就会出现不一致,因而可保证文件的完整。
- 仲裁机制:数字签名也可以认为是一个数字身份,通过唯一私钥生成,在网络上交易时要求收到一个数字签名的回文,保证过程的完整。如果对交易过程出现抵赖,那么用数字便于仲裁。
- 保密性:对于全级别要求较高的数据,数字签名加密后传输,保证数据在被中途截取后无法获得其真实内容;有利于保证数据的安全性。
- 防重放:在数字签名中,如果采用了对签名报文添加流水号、时戳等技术,可以有效防止重放攻击。