基础与密码学
数字签名
数字签名是一种证明方式:它能证明某条特定消息确实出自某个特定的人、且自签署后未被改动——靠的是数学,而非墨水。手写签名在每份文件上看起来都一样、还能被人临摹;数字签名却不同,它是由消息和签署者私钥共同算出的一个独一无二的数字,因此没有那把钥匙就无法伪造,也无法挪用到另一条消息上。
它与公钥密码学携手工作。签名时,你把消息和自己的私钥结合起来,算出签名。验证时,任何人拿着消息、签名和你的公钥跑一遍核验,只有当这签名确实是你的私钥针对这条消息所作时,核验才会通过。私钥始终不离你手,全世界却都能确认这出自你手。事后哪怕改动消息中的一个字符,签名就再也对不上了。
这一下子带来三重保证:真实性(确实出自持钥人)、完整性(内容未遭篡改),以及不可抵赖性(签署者事后无法否认)。在区块链上,每一笔交易都必须带有资金所有者的有效数字签名;没有它,网络会径直拒收这笔交易。正是这一道核验,挡住了任何人去花用本不属于自己的代币。
数字签名证明是谁授权了一条消息;密码学哈希则证明消息本身未被改动——区块链同时倚仗这两者。
又称
另见