区块链交易的验证

如课上所讲,A转给B一个比特币,交易记录存在区块1,交易1。然后B又转给C一个比特币,其中,B为了证明自己有钱,将txn引用指向区块1,交易1,交易成功。     之后,如果B再发起一个交易,转给D一个比特币,将txn的引用还指向区块1,交易1。  那么验证者如何识别其中的错误呢?
 

徐亮

赞同来自: 观照 fish

B再消费时,需要引用UTXO,也就是未经花费的输出,作为新交易的输入。 这种情况下,验证者通过扫描区块链,得知B所引用的输出,不再是UTXO,而是曾经花费过,所以验证失败。 详见validation.cpp, AcceptToMemoryPoolWorker()函数,以及CheckInputs()函数。

观照

赞同来自:

多谢

要回复问题请先登录注册