Op-Return

OP_RETURN 最大字節數說明

  • August 24, 2018

我讀過一個 OP_RETURN 操作碼允許在不可花費的事務中使用多達 80 個任意字節。我的問題是,在這個著名的交易中(d29c9c0e8e4d2a9790922af73f0b8d51f0bd4bb19940d9cf910ead8fbe85bc9b)怎麼可能被推送 983 個字節?

詳細地:

Push data having size of 893 bytes. OP_CODES:

    6a             4d                    d7 03 
OP_RETURN    OP_PUSHDATA2    (03d7 = 983 following bytes)

限制是中繼標準,而不是共識規則。這可以使用$ bicoind -datacarriersize標誌在每個節點的基礎上進行修改。如果我沒記錯的話,限制這一點的共識規則是最大塊大小。因此,據推測,連接到接受非標準交易的節點的礦工探勘了該塊,因此它是非標準的,但仍然有效。

標準

這些規則在記憶體池接受期間強制執行。每個節點都可以決定實施不同的規則,前提是它們遵循共識規則,但許多節點在安裝時只接受比特幣核心預設值。在這種情況下,80 字節是預設設置OP_RETURN data size.

共識規則

這些規則在區塊驗證階段強制執行。這些在節點之間不能不同,否則將被視為硬分叉並且鏈會發散。

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