区块链入门 | 比特币中的密码学:数字签名和转账基本原理
我们一步一步的讲,先以最简单的发电子邮件为例。
现在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个比特币,这个信息就是我的私钥对之数字签名,收到比特币的人拿我的公钥进行验证,就知道是我转的,而我转给你的信息就是我拿着你的公钥加密的, 这个别人看得到对应的地址,别人也知道我这个地址转给你的地址,但是能使用这个地址上的比特币的只有拥有私钥的你一个人 。地址对应的人具体是谁不知道,也就是公开透明的转账,但是又保护隐私的原理。
至于私钥推出公钥(反过来不行),公钥推出公钥哈希(反过来不行),公钥哈希推出地址(反过来可以),这个过程不是很难的东西,随意去网上搜索就可以知道。公钥私钥加密解密的过程在比特币网络上自动就完成了,你看到的就是比特币从一个地址转到另一个地址。
所以, 整个密码学系列文章讲到这里就打通了整个知识链条,从隐藏法、移位替换法到维基尼亚加密法到恩尼格玛机,然后讲到非对称加密、哈希函数,以及利用哈希函数的挖矿原理,利用非对称加密的数字签名。比特币就是建构在这个密码学之树上的一个重要果实 。
如果你认真读过这一个系列的文章,相信会超过很多人对密码学和比特币的认知,而如果能做到这一点,我的工作就没有白费,我也希望看到文章的你,当有朋友问你比特币是什么的时候,比特币怎么转账的时候甩出一句“ 你知道非对称加密法吗?你知道哈希函数的作用吗?我来给你讲讲吧 ”,当然,你也可以把我的系列文章发给朋友,先搞清楚基本原理,后面的都好理解。
作者:村头二旧
Bitcoin Beats Gold, Nasdaq, and S&P 500 in 2025: Binance CEO
As per Richard Teng, CEO of Binance, Bitcoin’s year-to-date gains have outcompeted the traditional f...
Bitcoin Rally Is Far From Over—Top Expert Predicts Surge To $150,000
In the latest episode of The Bitcoin Layer, host Nik Bhatia invited on-chain analyst James Check—bet...
Uzbekistan Pilots HUMO Token Backed by Sovereign Bonds to Accelerate Digital Finance Integration
Uzbekistan pilots HUMO token backed by sovereign bonds to boost digital finance, attract investment,...