Op-Return
OP_RETURN 最大字節數說明
我讀過一個 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.
共識規則
這些規則在區塊驗證階段強制執行。這些在節點之間不能不同,否則將被視為硬分叉並且鏈會發散。