数字签名是一种利用区块链技术核实身份的认证方式。
在现实生活中,我们往往会遇到这样的问题,你如何证明你是你?
可能有人会说,这不是显而易见的问题,还需要证明吗?比如我是李白,在聚会的时候你说我是李白,如果认识你的人肯定知道你是你,但是那些不认识你的人,他怎么知道你就是李白呢!
这时候靠你说你是李白肯定不行的,就需要依靠第三方来甄别。比如身份证,护照驾照等第三方认证机构才能证明你是你。
在物理世界很简单,只需要把原文件拿给别人看就知道了,但在网络时代,这种方法很麻烦,扫描件或者复印件无法证真伪,还有可能泄露个人身份信息。那这样怎么证明你是你呢,尤其是如果你是用笔名发布一篇文章或者一个论文的时候。
现在我们用区块链解决的办法是把原始消息通过作者的私钥进行签名得到被加密过的消息,把公钥交给一个服务,当别人希望验证正在和我对话的人是不是我的时候,可以通过作者提供的数字签名到该服务验证签名和公钥是否匹配。当每一份消息加密后,再把它存在区块链上成为一笔交易,那这个区块链网络会保证他不可篡改永远存在,任何人都可以下载数据去验证它,就不再需要一个专门的第三方负责公证每件事。
这就是数字签名,它主要实现两个目标:
第一,保证消息内容未被篡改。
第二,保证消息由作者本人加密或授权加密。