比特幣交易數(shù)據(jù)結(jié)構(gòu):
{
"version": 1,
"locktime": 0,
"vin": [
{
"txid":"7957a35fe64f80d234d76d83a2a8f1a0d8149a41d81de548f0a65a8a999f6f18",
"vout": 0,
"scriptSig": "3045022100884d142d86652a3f47ba4746ec719bbfbd040a570b1deccbb6498c75c4ae24cb02204b9f039ff08df09cbe9f6addac960298cad530a863ea8f53982c09db8f6e3813[ALL] 0484ecc0d46f1918b30928fa0e4ed99f16a0fb4fde0735e7ade8416ab9fe423cc5412336376789d172787ec3457eee41c04f4938de5cc17b4a10fa336a8d752adf",
"sequence": 4294967295
}
],
"vout": [
{
"value": 0.01500000,
"scriptPubKey": "OP_DUP OP_HASH160 ab68025513c3dbd2f7b92a94e0581f5d50f654e7 OP_EQUALVERIFY OP_CHECKSIG"
},
{
"value": 0.08450000,
"scriptPubKey": "OP_DUP OP_HASH160 7f9b1a7fb68d60c536c2fd8aeaa53a8f3cc025a8 OP_EQUALVERIFY OP_CHECKSIG",
}
]
}
在比特幣里,沒有具體的貨幣,沒有發(fā)送者,沒有接收者,沒有余額,沒有帳戶,沒有地址,一切都要從UXTO中追溯。
交易輸出
"vout": [
{
"value": 0.01500000,
"scriptPubKey": "OP_DUP OP_HASH160 ab68025513c3dbd2f7b92a94e0581f5d50f654e7 OP_EQUALVERIFY
OP_CHECKSIG"
},
{
"value": 0.08450000,
"scriptPubKey": "OP_DUP OP_HASH160 7f9b1a7fb68d60c536c2fd8aeaa53a8f3cc025a8 OP_EQUALVERIFY OP_CHECKSIG",
}
]
包括了:
- 一定量的比特幣,面值為“聰”(satoshis) ,是最小的比特幣單位,但在代碼中,被編碼成 bitcoin 單位
- 確定花費(fèi)輸出所需條件的加密難題(cryptographic puzzle)
交易輸入
"vin": [
{
"txid": "7957a35fe64f80d234d76d83a2a8f1a0d8149a41d81de548f0a65a8a999f6f18",
"vout": 0,
"scriptSig" : "3045022100884d142d86652a3f47ba4746ec719bbfbd040a570b1deccbb6498c75c4ae24cb02204b9f039ff08df09cbe9f6addac960298cad530a863ea8f53982c09db8f6e3813[ALL] 0484ecc0d46f1918b30928fa0e4ed99f16a0fb4fde0735e7ade8416ab9fe423cc5412336376789d172787ec3457eee41c04f4938de5cc17b4a10fa336a8d752adf",
"sequence": 4294967295
}
]
輸入包含四個(gè)元素:
- 一個(gè)交易ID,引用包含正在使用的UTXO的交易
- 一個(gè)輸出索引(vout),用于標(biāo)識(shí)來自該交易的哪個(gè)UTXO被引用(第一個(gè)為零)
- 一個(gè) scriptSig(解鎖腳本),滿足放置在UTXO上的條件,解鎖它用于支出
- 一個(gè)序列號(hào)
僅從上述數(shù)據(jù),還無從得出交易詳情,必須通過txid和vout檢索出對(duì)應(yīng)的UXTO。
"vout": [
{
"value": 0.10000000,
"scriptPubKey": "OP_DUP OP_HASH160 7f9b1a7fb68d60c536c2fd8aeaa53a8f3cc025a8 OP_EQUALVERIFY OP_CHECKSIG"
}
]
我們可以看到這個(gè)UXTO的value是0.1,并包含一個(gè)鎖定腳本,通過鎖定腳本可以找到相應(yīng)的發(fā)送地址。
總結(jié)
通過輸入追溯到其UXTO,可以得出發(fā)送地址和發(fā)送總金額;
通過輸出可以得到實(shí)際輸出和找零;
兩者之差便是手續(xù)費(fèi)。