比特币源码分析系列4---交易transaction(1)

未花费的交易输出(UTXO)

大家都有转过账,每笔交易是这样的:张三账上减¥200,李四账上加¥200。 在比特币区块链中,交易不是这么简单,交易实际是通过脚本来完成,以承载更多的功能个,这也是为什么比特币被称为是一种“可编程的货币”。
先引入一个概念:未花费的交易输出——UTXO(Unspent Transaction Output)
比特币的交易都是基于UTXO上的,即交易的输入是之前交易未花费的输出,这笔交易的输出可以被当做下一笔新交易的输入。
挖矿奖励属于一个特殊的交易(称为coinbase交易),可以没有输入。 UTXO是交易的基本单元,不能再分割。 在比特币没有余额概念,只有分散到区块链里的UTXO
随着钱从一个地址被移动到另一个地址的同时形成了一条所有权链,像这样:

比特币源码分析系列4---交易transaction(1)_第1张图片
资产转移

再看Transaction的结构图:
比特币源码分析系列4---交易transaction(1)_第2张图片
image.png

Transaction代码

src/trimitives/transaction.h

// Copyright (c) 2009-2010 Satoshi Nakamoto
// Copyright (c) 2009-2017 The Bitcoin Core developers
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.

#ifndef BITCOIN_PRIMITIVES_TRANSACTION_H
#define BITCOIN_PRIMITIVES_TRANSACTION_H

#include 
#include 
#include 
                    
                    

你可能感兴趣的:(比特币源码分析系列4---交易transaction(1))