Script

鑑於從未使用過 OP_VER,被禁用且不被認為有用,是否可以剝離其含義並將其設為 OP_SUCCESS?

  • October 26, 2020

鑑於 OP_VER (0x62) 從未在鏈上使用過,被禁用且不被認為有用,是否可以剝離其含義並將其設為 OP_SUCCESS 以在未來引入新的不同操作碼?

正如 Andrew Poelstra所描述的“..有一個名為 OP_VER,OP 版本的操作碼。我可以看到一些鬼臉。它會將客戶端版本推送到堆棧上。這意味著當你將比特幣從 0.1 升級到 0.2 時,這是一個硬分叉. 現在腳本將執行 OP_VER 並為某些人將 0.1 壓入堆棧,為其他人將 0.2 壓入堆棧。你已經分叉了你的鏈。幸運的是,沒有人使用過這個很好的操作碼。

BIP 342正是這樣做的。(感謝彼得)

由於它被 Satoshi 設置為錯誤而不是 SUCCESS,因此對於介於兩者之間的所有客戶端來說,這將是一個硬分叉,無論之前是否已經在鏈上使用過。

試想一下,使用新軟體(將 VER 重新定義為 SUCCESS)的礦工探勘包含此類 OP 的交易。新客戶端之間0.3.5 的所有客戶端都會拒絕該塊,而所有更新的客戶端都會接受它:鏈分裂。

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