📖 术语
🟢 通俗解释
🔰 新手
✍️ 数字签名 Digital Signature
附在交易上的一段数学运算,能证明它确实出自某个特定私钥的持有者——而且一路传过来,内容连一个字都没被人动过。
💡
常见误解 — 这是不是我手写签名拍的一张图?不对!它既不是图片,也不是打出来的名字。数字签名是由你那对密钥算出来的密码学运算,还能证明数据没被人篡改过。
🖊️ 通俗来说 — 一枚仿不出来的火漆印
想象一封老式书信,封口压着火漆、盖上独一无二的印章。这枚印章只有你有(也就是你的私钥),所以只有你能盖出这个印。认得你印章长相的人(你的公钥)一眼就能认出来;而要是信封被拆开过,火漆印就破了。数字签名也是同一个道理,只是更胜一筹:它无法伪造,而且只要里面改动了哪怕一个字,也立刻露馅。
⚙️ 它到底是怎么运作的
数据先经过一个哈希函数,算出一小段固定长度的「指纹」。签名者再用自己保密的私钥,对这段指纹签名。要核对时,任何人把同一份数据重新跑一遍哈希,再用配对的公钥去验证签名即可。只要签名之后内容改了一个字,指纹就对不上,验证随即失败。而最妙的一点是:签名能证明你握着私钥,却始终不把它暴露出来。
🛡️ 三重保证
| 保证 | 能证明什么 |
|---|---|
| 👤 身份认证 | 是谁发的——只有持有私钥的人,才造得出这个签名 |
| 🧩 完整性 | 签名之后,数据没有被改动过 |
| 🔒 不可抵赖 | 签名者事后赖不掉,没法否认是自己签的 |
🪙 在加密世界里你会在哪儿遇到它
区块链上没有「登录」这回事。每一笔交易都必须用你的私钥做数字签名来授权花费,网络再拿这个签名跟你的公钥(也就是你的钱包地址)核对,确认动用资金的正是其合法主人。作为新手,你每次钱包弹窗、让你「签名」或「确认」时就会碰到它——无论是付一笔款,还是登录某个 dApp。这背后,钱包都在帮你生成一个数字签名。
🔗 真实例子
- ₿ 比特币 — 用的是 secp256k1 曲线上的 ECDSA,并在 2021 年的 Taproot 升级中加入了 Schnorr 签名,效率更高,还能把多个签名者合并成一个
- ⟠ 以太坊 — 同样用 ECDSA(secp256k1)来对交易和消息签名
- 🔮 放眼未来 — 业界正在研究抗量子的签名方案,好让签名在未来量子计算机面前依然安全(目前尚未大规模启用)
❓ 常见问题
- 签名会泄露我的私钥吗?
- 不会。数字签名的全部意义,就在于既能证明你握着私钥、又始终不把它暴露出来。对外公开的只有签名和你的公钥,私钥则一直留在你这边,保密不外传。
- 数字签名是不是就是我手写签名的一张图片?
- 不是。它既不是图片,也不是打出来的名字。数字签名是由一对公钥和私钥构成的密码学运算。贴一张签名图片只能算「电子签名」;而数字签名是专门用来证明一份文件真实、且未经改动的那项技术。
- 为什么钱包总是弹窗要我「签名」?
- 区块链上没有「登录」这回事。要授权转出你的币,或是向某个 dApp 证明你的身份,钱包就会用你的私钥生成一个数字签名。网络再拿你的公钥去核对它,确认无误后才放行这笔操作。