之前写了一篇介绍比特币区块链模型的文章《扫盲区块链模型(一)》,主要说明了区块链区块连接和奖励的模型。
这篇文章在之前的基础上去介绍在区块链中是如何保证交易的安全,就是上一篇区块模型中交易单的数据安全,每一单的交易数据的安全可靠。
在这个模型中(图一)

图一
交易记录简化来说指的是类似于,链给A十二点五个比特币,A给B一个比特币,B给C一个比特币这样的交易记录,能打包进区块的交易记录都是已经验证过的,我们这篇文章就是来说这交易是如何验证的。
首先明确两点:
1、链给A十二点五个比特币看作交易一,A给B一个比特币看作交易二、B给C一个比特币看作交易三
2、参考现实交易的场景,当一个客户用信用卡买单时,在单据上签名(签字名的意义就是对外宣布,这钱是客户确认转的),如果后续要验证这笔交易,就可以看签名(这就是验证的过程)签名对上了就说明是客户转的,没有对上就说明交易不成立。保障交易安全用的是签名-验证的机制,就是说保障了签名的可靠和验证的正确就保证了一笔交易的安全
我们以交易二作为例子来看。
A给B一个比特币,如果交易要成功,A需要提供两样东西,A的签名+一个比特币,缺一不可。
区块链技术在用于A产生签名的过程中会涉及到非对称性加密技术。
非对称性加密技术
任何一个接入区块链的节点,都会获得一个私钥,这个私钥可以经过哈希运算得到对应的公钥。

图二
两者之间有以下特点:1、私钥到公钥的过程不可逆,知道私钥可以推导公钥,公钥推不出私钥
2、用公钥加密的数据,只能用对应的私钥解密,这也是非对称性加密的特点。
3、公钥一般是公开的,私钥只能自己保存,私钥是保证资产安全的最后一道屏障。
了解了区块链的非对称加密逻辑后,我们回头看A的签名过程:
首先,A用B的公钥对交易单一进行加密,得到一个数值X,然后再用自己的私钥对数值X进行加密得到自己的签名。模型如图三

图三
这就是A签名的过程。
验证过程是B完成的。
B接收到A给的签名和比特币,就开始验证这笔交易是否是A同意的。
B用A的公钥去解密A的签名得到数值Y,模型如图四

图四
如果X=Y,则交易成立,B收下比特币,交易记录就会被打包进区块。
如果X≠Y,则交易不成立,比特币退回。
这个交易模型是不经过第三方的,交易只在A、B之间产生,没有第三方的介入,也保证了交易内容不会被篡改。
微信公众号:你叫我陈先森
网友评论