原文精选:我们现在来看图3.2。交易1是铸造新币的交易,因此没有输入,也没有签名;交易1的输出是向爱丽丝转移25个币。现在,爱丽丝想把一些币转给鲍勃,她就创造了一条新的交易,这就是图3.2中的交易2。在交易里,她必须明确指出要转出的币的来源(引用之前的某笔交易)。爱丽丝指出本次交易的币来自交易1中的输出0(也是交易1中的唯一输出),即向爱丽丝转移25个币。交易中,爱丽丝还要明确收款人——也就是输出的地址,在这个例子里,有两个输出,一个是转17个币给鲍勃,另一个是转8个币给爱丽丝自己。当然,整个交易由爱丽丝签名,这样,大家就知道这笔交易爱丽丝是确实授权了的。
读书笔记:
与比特币类似的基于交易的账本,整个交易由爱丽丝签名,这样,大家就知道这笔交易爱丽丝是确实授权了的。
地址转换。在这个例子里,为什么爱丽丝要把币转给自己呢? 事实上比特币就像财奴币中描述的币一样,一个交易中输出的币,要么在另一个交易中被完全消费掉,要么就一个都不被消费,不存在只消费部分的情况。爱丽丝只需付给鲍勃17个币,但爱丽丝在上一交易中实际获得了25个币,为了把这些币全部消费掉,她必须再转给自己8个币。这8个币可以转到另外一个地址(不同于交易1中获得25个币的地址),但前提是该地址为爱丽丝所有,这就叫地址转换。
有效验证。当一个新的交易被加入总账,它的有效性是否容易被验证? 在这个例子里,我们要核查一下爱丽丝引用的交易输出,确认她确实有25个币没有被花费掉。因为我们使用了哈希指针,所以核查很快。为了确认这25个币没有被花掉,我们只需从爱丽丝所引用的交易开始,一直核查到账本上最新记录的交易为止即可——而不需要从账本建立之初的交易开始核查。而且,这种方法也不需要增加额外的数据结构(当然,我们将会看到,加入新的数据结构将进一步提高速度)。
资金合并。和财奴币一样,比特币交易可能有许多输入与输出,资金分隔与合并也很容易。假如鲍勃在两笔不同的交易中分别收到17个币和2个币,现在他想把这两笔钱合并起来花掉,这很容易,他只需发起一个交易,交易里有两个输入和一个输出,输出的地址是他自己的地址,这样,鲍勃就把两个交易合二为一了。
共同支付。同样地,共同支付也很容易做到。如果卡罗尔和鲍勃想要共同支付给戴维,他们可以发起一个交易,交易里也有两个输入和一个输出,唯一不同在于,两个输入所引用的“上一笔交易”的输出地址不同,因此,这笔交易需要两个签名:卡罗尔的和鲍勃的。
读书笔记:
1,地址转换的意思是一个交易中输出的币,要么在另一个交易中被完全消费掉,要么就一个都不被消费,不存在只消费部分的情况,所以有可能要向自己转币,这就叫地址转换。
2,有效验证, 因为我们使用了哈希指针,所以核查很快。
3,比特币交易可能有许多输入与输出,资金分隔与合并也很容易。
4,共同支付需要两个签名,也很容易办到。
一叶之秋带你一分钟速读经典书籍,每天一分钟(只需阅读读书笔记部分),天天获新知。
作者:全职高手一叶之秋
链接:https://www.jianshu.com/p/b4ae260dc03e