如何防止double spending
Posted siyuan-jin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何防止double spending相关的知识,希望对你有一定的参考价值。
一、 比特币的来源
比特币一共有两种来源,一是作为挖矿者得到的coinbase铸币交易;
二是别人转账给你;
二、 比特币的交易
首先需要明确的是,比特币虽然说是分布式账本系统,但是系统中并没有维护账户信息,也就是说,我们是无法直接查到现在我的账户有多少钱的。
但是,我们可以通过计算得到,类似于加减法,从最开始得到币的交易开始进行加减法得到现在币的剩余量。
那这里币的来源怎么得到呢?
这里仍然是Hash指针。
区块链系统中其实是有两种hash指针,一个是区块和区块之间的;
另一种这里提到的用于溯源的hash指针。这个指针该顺着区块链向上溯源,得到所有收钱和花钱的交易,最终判断是否有足够的余额支付这笔交易。
从以上讨论看出,这个溯源的过程是非常消耗算力的。
三、 UTXO
区块链作为Transaction-based ledger,并没有账户的概念。
因此为了解决上述溯源的问题,比特币系统在全节点里维护了一个UTXO的系统,unspent Transaction output,没有被花掉的交易输出。这样溯源的计算量将会大大下降。
以上是关于如何防止double spending的主要内容,如果未能解决你的问题,请参考以下文章