在了解比特币签名原理是什么这一问题之前,币圈子先来带大家了解一下究竟什么是比特币签名。其实比特币签名就是比特币数字签名,它就是一段防伪造的字符串,看起来就像是一段乱码,通过对这一数字串验证,我们可以证明该交易是由本人发起的,还可以证明交易信息在传输中没有被更改。这个数字签名其实就是由数字摘要和非对称加密技术来支撑的,很多投资者都想要知道这个比特币签名原理是什么?下面就让币圈子小编为大家介绍一下这个比特币签名的原理。
比特币签名原理是什么?
我们一步一步的讲,先以最简单的发电子邮件为例。
现在A向B发出一封email,这封邮件是加密的,根据之前的公钥加密原理也就是非对称加密原理,B是收email的,那么,A就拿着B的公钥加密这个email信息,B收到后用自己的私钥就可以解开这个email信息,知道里面的内容。
大家对这个非对称加密的流程已经比较熟悉了,这里面有一个问题,如果这个email的信息很重要,当然,不重要也不需要非对称加密了。我是说如果这个信息里面是关于钱的,最直接的说就是A在邮件里写了,“我欠了B十万块钱”,这时候这个email就有了一点点类似欠条的法律效用。
问题来了,欠条都需要有个签字签名手印等凭证,这个email有什么凭证呢?没有,只能说这个email是写给B的,因为是B的公钥加密的,也只有B能用自己的私钥解开看到,但是没有什么凭证说明是谁写的。
这个时候就需要一个东西,叫做数字签名,就像是现实世界的亲笔签名、按手印。
数字签名如同指纹一样独一无二。怎么做呢?
A发信息给B,用自己的私钥去加密这段信息,这时候B收到后,拿着A的公钥(公开的),去验证下是A发出的,这就是数字签名。
这时候结合之前的方法,A发出的时候用A自己的私钥对信息进行签名,然后用B的公钥进行加密,B收到后有B自己的私钥解密看到信息,又可以用A的公钥验证签名,整个流程就完成了。
用公钥加密就是上图,公钥密码的基本流程,用私钥加密就是下图,其实是一样的,只不过翻了过来,一个用公钥,一个用私钥。
而私钥加密相当于生成签名,而用公钥加密相当于验证签名。
公钥和私钥是成对出现的,有严谨的数学逻辑,用公钥加密的密文只能用与之对应的私钥进行解密;同样的,用私钥加密的密文需要与之对应的公钥进行解密。也就是说用某个公钥如果成功解密了密文,说明这个密文就是用和这个公钥对应的私钥加密得到的,而世界上掌握这个私钥的人只有一个,也就是这个私钥的主人。
比特币签名与交易转账
讲到这里,你就知道了,比特币的交易信息传递,也是这样的。从创始区块开始的转账都在这一个链条上,产生新的比特币的方法就是挖矿,也就是生成货币的过程。而每一个交易比特币的人,或者说转账,我转给你10个比特币,这个信息就是我的私钥对之数字签名,收到比特币的人拿我的公钥进行验证,就知道是我转的,而我转给你的信息就是我拿着你的公钥加密的,这个别人看得到对应的地址,别人也知道我这个地址转给你的地址,但是能使用这个地址上的比特币的只有拥有私钥的你一个人。地址对应的人具体是谁不知道,也就是公开透明的转账,但是又保护隐私的原理。
至于私钥推出公钥(反过来不行),公钥推出公钥哈希(反过来不行),公钥哈希推出地址(反过来可以),这个过程不是很难的东西,随意去网上搜索就可以知道。公钥私钥加密解密的过程在比特币网络上自动就完成了,你看到的就是比特币从一个地址转到另一个地址。
以上内容就是币圈子小编对于比特币签名原理是什么这一问题的具体阐述。其实从隐藏法、移位替换法到非对称加密、哈希函数,以及利用非对称加密的数字签名,我们可以看的出来,比特币其实就是构建在这个密码学的基础之上的,通过这篇文章,相信各位投资者对比特币都有了一个全新的认识。相信我们下次在跟别人说到比特币是什么的时候,大家都能够说出非对称加密法,不管我们要了解什么,把基本原理搞清楚了,任何复杂的东西都是不难理解的。