029.
比特币的数字签名是什么?
比特币有一套密码规则,用来解锁和管理货币交易,这种密码叫作“数字签名”。
比特币的数字签名,是在比特币转账过程中由转出人生成的一段防伪造字符串。验证该字符串,不仅能证明该交易是转出人发起的,还能证明交易信息在传输中没有被更改。数字签名由数字摘要和非对称加密技术组成:首先,通过数字摘要技术把交易信息缩短成固定长度的字符串;然后,用自己的私钥对摘要进行加密,形成数字签名;接着,将完整交易信息和数字签名一起广播给矿工,矿工用公钥进行验证,若验证成功,则说明该笔交易确实是对方发出的,且信息未被更改。
非对称加密技术是指,数字签名加密的私钥和解密的公钥不一致。这个过程看起来很复杂,其实在转账过程中只需要输入私钥就能瞬间完成。
比特币既不是数字货币,也不是一段信息,只是一个庞大的信息化链条式的账本,这个账本由无数比特币交易账单组成。每段交易代码里都标明了比特币的交易数额。
账本大致是这样运行的:当A同学决定把1个比特币付给B同学时,他会从自己的比特币钱包中选一个或几个“输入”,将交易信息签名,再广播到比特币网络;网络中的其他一些交易与Coinbase交易一起构成一个区块,代表计算机算力的网络矿工对区块内各比特币交易数字的签名有效性进行验证;正确后进行确认,矿工获得Coinbase交易输出的比特币奖励,交易代码输出正常,接收者收到比特币。
比特币的数字签名就像现实生活中的亲笔签字,能够证明交易的真实性,并通过一种数字算法来实现。这种算法能够防止数据被复制或伪造,但与简单的静态密码不同的是,每笔交易数字签名都完全不同。在比特币交易网络中,完全是和陌生人打交道,因此永远不要把密码暴露给别人,以免密码被复制和重新使用。
数字签名取决于交易消息,因此每笔交易数字签名都不同,不能在另一笔交易中再次使用;同时,由于数字签名取决于交易信息的关系,自然也就没有人可以修改该信息了。