在比特币白皮书中,有三段话很关键的话,解释了交易 Transactions 是什么。
1.虽然数字签名(Digital signatures)部分解决了电子现金系统的问题,但是仍然需要第三方的支持才能防止双重支付(double-spending)的话,那么这种系统也就失去了存在的价值。
2.将一枚电子货币定义为数字签名链( a chain of digital signatures)。电子货币从所有者转移给下一个人是通过,所有者使用私钥,对交易 Transactions 和下一个人的公钥进行数字签名 digital signatures,并将数字签名附在这枚电子货币(数字签名链)的后面。收款人对数字签名进行检验,就能校验自己是否收到了电子货币。
3.在每一笔交易 Transactions 结束后,这枚电子货币就要被造币厂回收,而造币厂将发行一枚新的电子货币;而只有造币厂直接发行的电子货币,才算作有效,这样就能够防止双重支付 double-spend。
第一段话,讲清楚了诞生的电子货币交易的土壤是数字签名。
第二段话,讲清楚了比特币中的电子货币是什么、如何交易的原理。
第三段话,讲清楚了比特币创建和销毁电子货币流程,保证电子货币唯一。
以最简单的发电子邮件为例。现在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的公钥验证签名,整个流程就完成了。
用公钥加密就是上图,公钥密码的基本流程,用私钥加密就是下图,其实是一样的,只不过翻了过来,一个用公钥,一个用私钥。
而私钥加密相当于生成签名,而用公钥加密相当于验证签名。
公钥和私钥是成对出现的,有严谨的数学逻辑,用公钥加密的密文只能用与之对应的私钥进行解密;同样的,用私钥加密的密文需要与之对应的公钥进行解密。
也就是说用某个公钥如果成功解密了密文,说明这个密文就是用和这个公钥对应的私钥加密得到的,而世界上掌握这个私钥的人只有一个,也就是这个私钥的主人。
至于私钥推出公钥(反过来不行),公钥推出公钥哈希(反过来不行),公钥哈希推出地址(反过来可以),这个过程不是很难的东西,随意去网上搜索就可以知道。公钥私钥加密解密的过程在比特币网络上自动就完成了,你看到的就是比特币从一个地址转到另一个地址。
作者:,来源:链想家
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。