存在的所有比特幣是否都在區塊鏈(邊緣)上,但這僅取決於所有者(地址)是誰?
似乎生成的 1850 萬比特幣,再加上 10 分鐘前還獎勵的 6.25 比特幣,都記錄在了區塊鏈(賬本)中,但這僅取決於所有者(地址)是誰?
如果彼得給瑪麗發了 0.001 個比特幣,那麼它只是所有權的變化(哪個地址有),所有相同數量的比特幣都記錄在區塊鏈上。
兔子洞很深
- 比特幣的區塊鏈並不真正知道誰擁有任何東西。
- 比特幣不作為可以重新分配所有權的東西而存在。
- 比特幣沒有個體連續性。
是的,區塊鏈有效地跟踪了通常與我們認為的金錢所有權相對應的事物的變化。然而,區塊鏈無法區分 Alice 向 Bob 發送 1 個 BTC(貨幣易手)和 Alice 向她的一個錢包中的另一個地址發送 1 個 BTC(重新安排她的錢,不改變所有權)。
錢包可以處理交易數據以跟踪一組未使用的交易輸出 (UTXO),刪除已花費的輸出並添加新創建的輸出。
UTXO 集的總貨幣量應加起來為 1850 萬(或到目前為止開采的數量加起來)。
然而,比特幣的身份沒有被保留。只有總金額總是總和正確的目前貨幣供應量。
如果您將 UTXO 視為硬幣,則探勘交易有效地將所有輸入硬幣熔化並使用組合的熔融金屬鑄造一組新硬幣。沒有硬幣易手,所有硬幣在每筆交易中都被銷毀並創建新硬幣。
例如,在下面的交易中,沒有辦法說某些輸入對應於某些輸出。儘管您有時可以做出推斷,但無論數量多少都是如此。一個交易所可能會將它的幾個使用者交易合併成一個具有數十個輸入和數十個輸出的比特幣交易,並且沒有確定哪些輸入對應於哪些輸出的確定方法。
在塊669188中有一個事務1218…d33e。如果您在諸如 blockchair 之類的區塊鏈瀏覽器中查看,詳細資訊將顯示為
發件人
收件人
見腳註。
0.00149566 BTC 去哪兒了?在
1C7c…4Q1q
或 在3Bwb…ECRY
? 沒有人可以說,這可能不是一個有意義的問題。因此,*“區塊鏈實際上說明了所有比特幣在哪裡”*的概念是沒有意義的,因為沒有所謂的比特幣,只有以比特幣為計量單位指定的金額。
現實情況很簡單,開采的比特幣總量被跟踪為一個數量列表,每個數量都與一個比特幣腳本相關聯。
腳註
“Senders”下的數據並不都直接來自交易數據。輸入由它們創建(接收)的先前交易的交易 ID和該交易輸出列表中的索引號指定。
您可以查看原始數據,例如通過點擊 Blockchair 網頁中的“原始數據”。它將顯示實際數據的十六進制和 JSON 視圖
0200000000010274d82567d8e55f9b25628093bd151289543e8630c3f18656cfcd090953cf2ab601000000171600140cabe7062ed5a42e1c6dc75efb708e980efc9aa9ffffffffbc06dcfee104538ef7c333cc16be005de31a4fecec6d766da23ecb2ae6bebda001000000171600148a1e82051ee5b269209d35aee915ca71c2d80a47ffffffff025d6c1000000000001976a91479e947df07c7941727d79ea4cac9b909c43d3c1c88ac346349000000000017a9147072ead5bae0971c1aed1b49b61a822b502c6b3d8702473044022038577fabbcee921e0b4613df3f1b146f32bcc8cde69f0a298b4e0d481231dff402204db6efa7e562a103e103679870188bc7953bea4a0dfed014d6f32dff55bc8d7b012102988d62c603eddc6bd7b4972b03a8173b497bf2647b1ea0a8d2bb64ad7aa22f1b02473044022029fd501198a4dc7692fefc4d48a63c5a6d5a2936215ce0b3a7b1fb449428f13a02201d4f354d61ebd81300e27361e064fb0628ad807f4308ded893238767b68351d4012102ee971f8d307d7b75de716c743b49b579b577b2247f75465820407347feced7d900000000
這很難理解,所以他們提供了 JSON 視圖(或 JSON 解釋):
{ "txid": "1218039587a3fc96f0c6f3d0fb0d49404f54917a3d63cb52158a1ef84f27d33e", "hash": "cb44308832dfeceeba412633b937ebc3bbf5c4629a463f7fa04442b74c76d53d", "version": 2, "size": 420, "vsize": 258, "weight": 1032, "locktime": 0, "vin": [ { "txid": "b62acf530909cdcf5686f1c330863e54891215bd938062259b5fe5d86725d874", "vout": 1, "scriptSig": { "asm": "00140cabe7062ed5a42e1c6dc75efb708e980efc9aa9", "hex": "1600140cabe7062ed5a42e1c6dc75efb708e980efc9aa9" }, "txinwitness": [ "3044022038577fabbcee921e0b4613df3f1b146f32bcc8cde69f0a298b4e0d481231dff402204db6efa7e562a103e103679870188bc7953bea4a0dfed014d6f32dff55bc8d7b01", "02988d62c603eddc6bd7b4972b03a8173b497bf2647b1ea0a8d2bb64ad7aa22f1b" ], "sequence": 4294967295 }, { "txid": "a0bdbee62acb3ea26d766decec4f1ae35d00be16cc33c3f78e5304e1fedc06bc", "vout": 1, "scriptSig": { "asm": "00148a1e82051ee5b269209d35aee915ca71c2d80a47", "hex": "1600148a1e82051ee5b269209d35aee915ca71c2d80a47" }, "txinwitness": [ "3044022029fd501198a4dc7692fefc4d48a63c5a6d5a2936215ce0b3a7b1fb449428f13a02201d4f354d61ebd81300e27361e064fb0628ad807f4308ded893238767b68351d401", "02ee971f8d307d7b75de716c743b49b579b577b2247f75465820407347feced7d9" ], "sequence": 4294967295 } ], "vout": [ { "value": 0.01076317, "n": 0, "scriptPubKey": { "asm": "OP_DUP OP_HASH160 79e947df07c7941727d79ea4cac9b909c43d3c1c OP_EQUALVERIFY OP_CHECKSIG", "hex": "76a91479e947df07c7941727d79ea4cac9b909c43d3c1c88ac", "reqSigs": 1, "type": "pubkeyhash", "addresses": [ "1C7cDqqGK5vscgPfD9d6gwcMw2tSRb4Q1Q" ] } }, { "value": 0.04809524, "n": 1, "scriptPubKey": { "asm": "OP_HASH160 7072ead5bae0971c1aed1b49b61a822b502c6b3d OP_EQUAL", "hex": "a9147072ead5bae0971c1aed1b49b61a822b502c6b3d87", "reqSigs": 1, "type": "scripthash", "addresses": [ "3BwbGdAidTuFLYdAhgVX1DgnoPCJ9fECRY" ] } } ] }
請注意,下面列出的兩個輸入
vin
是因此,指定了兩個輸入,而不是使用地址和金額,而是通過指定源交易和輸出列表中的位置 (
vout
)。還有其他數據,基本上是消費權的證明。因此,區塊鏈瀏覽器可以使用 txid & vout 作為索引,從其指定的早期交易記錄中查找這些輸入的其他詳細資訊(例如,每個交易的“收到日期”vin
)
區塊鏈僅隱含地跟踪每一塊比特幣的存在。如果您有會計方面的經驗,“日記”和“分類帳”這兩個術語可能很熟悉。“交易日誌”是在某個時間段內進行的所有交易的列表,例如一個工作日。在一天結束時,會計將賬戶之間的所有付款清點並更新“分類帳”中的目前餘額列表。
同樣,區塊鏈記錄所有交易的完整歷史記錄,未使用交易輸出集(UTXO 集)代表目前餘額的分類賬。未經確認的交易是付款承諾,直到它們被收集到一個塊中。一旦包含在一個塊中,它們就會被送出到一個固定的順序中,並且網路繼續將它們埋在越來越多的工作中。隨著更多區塊的添加,交易被替換的可能性迅速縮小。
每個塊代表對賬本全域共享狀態的更新。所有事務的嚴格順序是允許全節點執行與網路的初始同步的原因。全節點逐筆處理完整的區塊鏈交易,直到它們到達目前區塊鏈提示並重新計算共享賬本。
但是,實際上沒有任何餘額與任何特定身份相關聯,而是每個交易輸出都受到鎖定腳本的阻礙,該腳本定義了可以使用其資金的條件。當輸入使用 UTXO 時,最常見的鎖定腳本類型需要特定的私鑰來提供加密簽名。通常,能夠提供簽名的人被認為是資金的所有者——無需透露他們的身份。