【学习笔记】白皮书中的“交易”

关于交易部分,中本聪的原文如下:

We define an electronic coin as a chain of digital signatures. Each owner transfers the coin to the next by digital siging a hash of the previous transaction and the public key of the next owner and adding these to the end of the coin. A payee can verify the signatures to verify the chain of ownership.

翻译如下:

我们定义一枚电子币(electronic coin)作为一个数字签名链(as a chain of digital signatures)。每一个拥有者(owner)交易货币(coin)给下一个人通过数字签署(私钥签署) 上一个交易和下一个人的公钥 的hash 并且把这个签署的结果附加在了这个货币的末尾。一个收款人可以验证这个签名来确保这个链的所有权(chain of ownership)


假设Owner1要给Owner2一个coin,那么这个过程称为一个交易(TX)(比如中间那个TX)以下分三步。①.(红色)  这个交易记录给O2多少coin,和O2的公钥(指明目的地),同时提供O1可以操作上一个交易(如上图第一个TX,记录O0给O1一笔钱,相当于O1可以操作O0给O1的这个交易的输出);②.(黄色)  对O2公钥和上一笔TX共同hash后,付款者O1用自己的私钥签署这个hash,然后加在交易上面,之后这个交易被广泛地广播到其他地方;③.(绿色)  此时一个旁观者(矿工),是在自己本地具有第一个交易之前的所有交易的,所以看到这个交易(中间TX)时候,就可以用付款者O1的公钥(指代图中第一个交易,A的交易从第一个交易中获得)去验证这个交易(中间TX)的签名以证实这个交易是不是有O1本人发出的(因为私钥只有O1持有,只有用O1的私钥进行签署的签名才能和上一个TX即图中第一个TX进行验证通过,证明O1可以操作第一个交易,具备这笔从O0转到O1的钱),这就证明了这个交易是又付款人O1发起的。

这里需要注意的是过程③,O1签署完这个TX并把交易广播出去,还需要矿工去做验证,即将TX打包进入区块并链在诚实链(最长的链)上,则这个TX才成立。也就是说O2不会立即知道TX有没有成功,还需要等待TX被打包。

这里就看到了比特币的一个天然劣势,因为这个验证机制,导致交易速度较低,目前比特币每秒验证3个交易,为了保证可靠性而牺牲交易速度。在可靠性不变的情况下,提升交易速度是未来的一个发展方向

总结一下,一个当前交易 (TX) 

从结构上来看,包括: Owner1's pub key,Owner1 Private Key,Owner2's pub key,Owner1's Signature,amount,pre TX

参与者包括:Owner1、Owner2、旁观者(矿工)

行为指令包括:hash、sign(签署)、verify(验证)

整个过程概述为:

这笔交易(TX)由Owner1发起,涉及coin(amount),对上笔交易(pre TX)和Owner2's public key进行hash,得到签名(Owner1's Signature),同时,该签名被Owner1's Private Key 签署(sign),矿工看到这笔交易,并在其本地有上笔交易(pre TX)之前的所有交易,他就用Owner1's pub key去验证(verify)该签名,证实该交易由Owner1本人发起。这笔交易就完整成立了

你可能感兴趣的:(【学习笔记】白皮书中的“交易”)