数字货币签名过程到底怎么签的?私钥、哈希、验签三步讲明白
数字货币签名过程到底怎么签的?私钥、哈希、验签三步讲明白
你每转一次账数字货币签名过程到底怎么签的?私钥、哈希、验签三步讲明白,背后其实是一场密码学表演。所谓数字货币签名过程,就是拿私钥给交易数据"盖个章",全网再用公钥验章,确认这笔钱确实是你发的、没人能篡改。
签名前,交易数据先被SHA-256哈希成一段固定长度的摘要。这步很关键——哪怕你改了一个字节,摘要就完全不同。真正被签名的对象是这串摘要,而不是那长长的交易明细。摘要短、确定性强,算起来也快。
你的私钥(一串256位随机数)通过椭圆曲线乘法跟摘要做碰撞,生成一对(r, s)坐标,这就是数字签名。私钥永远不该离开你的设备。交易所让你导出的那串"助记词",本质上就是在保管这个256位数字,谁拿到谁就能替你签名。
交易连同签名一起广播到网络。每个节点收到后,用你的公钥配合(r, s)做一次验签:通过,说明交易确实出自你手,摘要没被动过。验签是公开可算的,任何节点都能做,不需要知道你私钥是多少。
实际用钱包时,"确认交易"那一下就是在本地完成签名。冷钱包安全,因为私钥离线存在,签名在气隙里做完再导出去。热钱包方便但风险高,私钥一直躺在联网设备上,一旦中木马就等于交出了签名权。
你平时转账数字货币签名过程,知道签名那几步分别在什么设备上完成的吗?