Transactions

交易版本和區塊版本有什麼區別?(v1、v2、v3 等..)

  • July 25, 2015

如果我執行命令來獲取一個塊,我會看到版本 2 返回:

getblock 0000000000000000ae22455f90306f43e8c806585fe2dfc3b0e92ac7b7620bff

輸出

{
"hash" : "0000000000000000ae22455f90306f43e8c806585fe2dfc3b0e92ac7b7620bff",
"confirmations" : 5885,
"size" : 249065,
"height" : 280557,
"version" : 2,
"merkleroot" : "5b4c401a2ad5a82ef26efb1d7ad82a0b6abea18118b50a12b555ea9e8663042b",
"tx" : [    .... snip ...

當我執行命令來獲取交易時,我看到版本 1 被返回

getrawtransaction 260ef6a9bbb401ecbfdace19c84ae3245f0ab5b229ea716209a38e9ec0fd14c1 1

輸出

{
"hex" : "01000000027f4e827503d7d52617.. snip ..9763caaf4b6216343fa460b88ac00000000",
"txid" : "260ef6a9bbb401ecbfdace19c84ae3245f0ab5b229ea716209a38e9ec0fd14c1",
"version" : 1,
"locktime" : 0,
"vin" : [

我在某處讀到 BIP32 將導致它們都成為version 3. 誰能解釋一下:

  • 我可以在哪裡找到每個版本的預期規則的簡明列表(它不在 wiki 上)
  • 該版本何時更改(年份和/或區塊編號)
  • 舊版本是否被禁止,或者仍然支持?

BIP0034添加了版本 2 塊。它強制執行交易版本為 1 的規則(以前沒有強制執行,區塊鏈中有一些奇怪的交易版本)。它還要求 coinbase 交易輸入腳本包含塊高度作為第一個數據元素。

已經討論了一個新的版本 3 塊和版本 3 交易,這將強制規範編碼。這將是交易延展性問題的解決方案。跳過交易版本 2 將使區塊和交易的版本再次相同。

你可以在這裡閱讀比特幣改進提案。

引用自:https://bitcoin.stackexchange.com/questions/22368