知识库详情
知识库

以“词条释义”的形式对比特币区块链技术中经常涉及的术语及基本概念进行专业化的阐释和解读。

TXID(交易ID)
返回上级
BSV区块链编辑 2022-04-14 18:02 367

TXID(或称为交易ID)是对序列化的比特币交易数据进行两次SHA256运算(或称为SHA256d运算)后得到的哈希值。一笔交易的TXID并不存在于这个交易本身的数据里,因为在这笔交易完成之前无法生成TXID这个哈希值。但当构建一笔交易时,交易输入里引用UTXO时需要使用产生这个UTXO的交易的TXID和VOUT(或 prevout_n)。

以下是一笔交易的示例

transaction:
{
    "inputs": [
        {
            "prevout_hash": "b8ed28aa87b92328e26a20553ac49fcb21e1f68daeb6cf7bcf4536e40503ffa8",
            "prevout_n": 0,
            "scriptSig": "4830450221008824eee04a2fbe62d2c3ee330eb2523b2c0188240714bb1d893aced1c454fa9a02202d32dbccc2af1c4b
                          830795f2fa8cd569a06ee70cb9d836bbd510f0b45a47711b4121028580686976c0e6a7e44a78387913e2d7508ff2344d
                          5f48669ba111dcd04170a8",
            "sequence": 4294967294,
        }
    ],
    "lockTime": 598793,
    "outputs": [
        {
            "scriptPubKey": "76a9146b0a9ed05da7223a1fe57e1a4d307556f7d6200788ac",
            "value": 1800
        },
        {
            "scriptPubKey": "76a914b993e512cb186f3f1c3f556a09716a1580eb99a188ac",
            "value": 90000
        }
    ],
}

serialized transaction: "0100000001a8ff0305e43645cf7bcfb6ae8df6e121cb9fc43a55206ae22823b987aa28edb8000000006b4830450221008824
                         eee04a2fbe62d2c3ee330eb2523b2c0188240714bb1d893aced1c454fa9a02202d32dbccc2af1c4b830795f2fa8cd569a06e
                         e70cb9d836bbd510f0b45a47711b4121028580686976c0e6a7e44a78387913e2d7508ff2344d5f48669ba111dcd04170a8fe
                         ffffff0208070000000000001976a9146b0a9ed05da7223a1fe57e1a4d307556f7d6200788ac905f0100000000001976a914
                         b993e512cb186f3f1c3f556a09716a1580eb99a188ac09230900" 

transaction id: "d8c5c42cbd1df7e48acab76fe05f2c9e612a20996fd37f4ffd4dc251385b6ba3" 

TXID的进一步解释

TXID是对交易使用两次SHA256算法得到的哈希值,它使网络参与者能够有效地对交易进行识别和互相进行通讯。TXID被用于比特币生态系统的各个层面,包括钱包区块浏览器

TXID在P2P协议中被广泛使用。例如,网络上的对等点使用消息序列同步他们的交易数据库。一个节点将发出一条包含一个或多个TXID 的inv消息。如果接收信息的节点(或对等点)没有这笔交易的完整数据,他可以发送一条包含TXID 的 gettransaction消息,来进行进行反馈,然后他就会从对方收到这笔交易的完整数据。使用TXID来广播交易数据库的信息,能够大大减少通过网络发送的数据量。

TXID的“双哈希”属性还有其它用途。用户可以通过请求中间哈希值来获知谁拥有完整的交易数据,因为中间哈希只能通过对完整的交易进行一次哈希运算来生成。这使得比特币网络上有可以作用“交易拥有证明”的载体,当比特币被用于完全的点对点环境时,“交易拥有证明”可以检查数据源,并实现更复杂的功能。

其他资料

交易
双重支付
比特币支付
交易手续费
比特币交易
Paymail
比特币数字签名
未花费交易输出(UTXO)
nLocktime与nSequence
支付信道
VOUT
TXID(交易ID)
找零/零钱
交易确认