天天听大咖们、老师们大谈特谈区块链,当初我也是耳朵听出了老茧,刚开始觉得很新鲜,很有道理,也尝试着举一反三,描述着一个又一个未来区块链项目的美丽蓝图,逢人就讲“未来属于区块链”,“比特币需要扩容”“dpos比pow共识好,大家要买EOS”……
“为什么”?你能告诉我区块链技术是怎么解决信息是怎么不被复制而重复使用的吗?你能告诉我比特币为什么需要扩容吗?你能真实的给我描述一下我的比特币是怎么转到你的名下的吗?你能思路清晰的看懂白皮书而不被蒙骗? 一个个问题当初把我打击的很惨!原来我依然是个菜鸟!知其然,不知其所以然!大哥,你的区块链之路还长着了!
废话少说,今天单讲在比特币网络中,我怎么安全的把一个utxo(比特币)转给你的。 这个过程要解决这样两个问题:1、这个比特币是转给你的,只有你拿着才有价值才能当钱花,别人即便拿到了,也是废纸一张,2、要证明这个比特币是我转给你的,而不是张三李四或者王五转给你的 为了解决这个两个问题,中本聪(比特币的发明者)引入了两个技术:不对称加密、数字签名,当初看到这9个字的时候,头瞬间大了,其实只要不钻牛角尖,很简单。 先说不对称加密,很自然的会想到对称加密,是的,最早出现的是对称加密,举个例子说明一下,我们要把ABC这条很重要的信息传到延安,就这么写在纸上送过去,或者用电台发过去,万一被截获了非常危险,怎么办?给他加一个密,“向后退两位”(密钥),A退两位就是C,于是加密后的文件就是CDE,即便被截获也不会造成大损失了,下面就好办了,首先把文件“CDE”传到延安,再把密码本想法子送到延安,这就出现了电视上经常上演的秘密护送密码本流血事件,因为一旦敌人截获密码本,通过密钥“向后退两位”他就很容易推出真正的密文“ABC”,后果不堪设想,随着密码技术的发展,一项非常厉害的密码技术被科学家发明了,“非对称密码学”,它有两把密钥,一把用来加密,一把用来解密,现在大家给他的称呼是公钥、私钥, 公钥是私钥经过复杂的运算推导出来的,通过私钥可以推导出公钥,但公钥怎么都推导不出私钥,这项技术厉害就厉害在:公钥加密后的文件,不管变成了什么面目全非的东西,私钥都能很快的解密,还原出公钥加密前的原文件,同样以“ABC”为例,公钥加密后也许变成“123456789”,只要你拥有私钥,123456789立马会被解锁生成“ABC”,延安的领导这下方便了,把公钥每一个地下党员人手一个,私钥就留在延安,这样各地有什么重大事件,只要用这个公钥把信息加密,然后大摇大摆的送到延安,即使密文被劫持了,也没有关系,因为没有私钥解密,被劫持的就是一堆废纸
中本聪就是利用这个技术,把比特币从一个人的手里转到另一个人的手里的,举个例子:张三把一个比特币转给李四,过程是这样的,1、李四把比特币公钥给张三(计算机软件系统把整个复杂的过程简单化了);2、张三拿着李四的公钥给这个比特币加密并传给了李四;3、李四就拥有了这个比特币。李四如果要把张三刚转过来的比特币传给王五,过程如下:1、李四拿着自己的私钥给这个比特币解密;2、王五把自己的公钥传给李四,3、李四用王五的公钥对这个比特币加密并传给王五;4、王五就拥有了这枚比特币
其实这中间还有一个很重要的问题,假设有这样一个场景:张三和李四同时在追求王五,王五其实喜欢的是李四,为了方便和李四交流而不被别人发现,王五把公钥给了李四,于是李四每次写完信后就用王五的公钥对信件加密,然后传给王五,很巧的是,有一天王五给李四写了封信,约李四明天下午到小河边有非常重要的事情讲,这事刚好被张三知道了,张三于是截获了李四的回信,自己重新写了一封“我知道你要讲什么,我们是不可能的,和你好,只是玩玩而已,明天我约了小英看电影”然后用王五的公钥(公钥其实可以随意公开的密钥)加密并发给了王五,王五一看以为是李四写的,从此不和李四来往,张三乘虚而入。
讲这个故事其实就是想引出一个事情:张三把比特币通过李四公钥加密转给李四,李四其实是不知道这币是谁转给他的,因为李四的公钥不是秘密,知道的人有很多。为了解决这个问题,数字签名技术诞生了 这里我不得不再次强调一下:非对称密码学真的很牛!私钥对一段文字签名(加密),公钥可以解签名得出源文件!重新描述一下张三把一个比特币转给李四的过程:1、李四把自己的公钥给张三;2、张三用公钥对这个比特币加密;3、张三用自己的密钥对这个比特币签名(加密),4、张三把签名的文件和自己的公钥连同李四公钥加密的文件一起发给李四;5、李四用自己的私钥对自己公钥加密的比特币解密得到比特币,用张三的公钥对张三的签名密文进行解签名,从而确认这一个比特币是张三转给自己的。
好累!几句话可以讲清楚的东西竟然写了2个小时! 比特币真实的交易过程并不完全这样,其中哈西、UTXO、锁定脚本、解索脚本、比特币地址,才是最直白的描述!但如果理解了上面这篇东西,其它的也都简单了,需要听一堂语音视频就能明白了!