首頁  >  文章  >  比特幣軟分叉:貨幣真的需要這些新的操作碼嗎?

比特幣軟分叉:貨幣真的需要這些新的操作碼嗎?

PHPz
PHPz原創
2024-07-12 16:14:40385瀏覽

一些開發者再次推動軟分叉,但其共識程度比以前少得多。改變比特幣程式碼並不容易。

Bitcoin Soft Fork: Does the Currency Really Need These New OP_Codes?

一些開發者再次推動軟分叉,但共識比以前少得多。

比特幣軟分叉改變比特幣程式碼並不容易。我們被激勵永遠不會修改與 2100 萬限制相對應的程式碼部分。

儘管如此,有些改進還是必要的,而有些則不然。不幸的是,總是會有開發人員想要保留他們的壞態度。

程式碼演進是透過「拉取請求」提出的。大多數是次要的,但有些是主要的。然後它們成為 BIP(比特幣改進提案),有時是「軟分叉」。

提醒一下,硬分叉是與舊程式碼不相容的程式碼的演進。典型的例子就是BCH(比特幣現金)。 BTC 網路節點不會驗證 BCH 區塊,因為它們可能會超過每個區塊 1 MB 的限制。這樣的更改會觸發硬分叉。

在軟分叉的情況下,兩個程式碼共存於同一個區塊鏈上。這稱為向後相容性。例如,我們可以將區塊大小變更為 0.3 MB。這小於 1 MB 限制,因此向後相容於原始協定。

最新的軟分叉是 SegWit (2016) 和 Taproot (2021)。一些開發人員目前正在推動一個新的分叉,以允許透過添加新的 OP_codes 來創建「契約」。

Blockstream Research 最近發布了關於該主題的相當詳細的摘要:

了解比特幣交易的機制對於理解比特幣交易機制至關重要什麼是契約。奇蹟的發生要歸功於一種稱為「腳本」的電腦執行語言。這是一種非常簡單的語言,指令數量有限。

這些指令稱為 OP_codes。將它們視為交易驗證後開始運轉的小數字齒輪。

具體來說,進行比特幣交易意味著從一個(或多個)其他“utxo”創建一個“utxo”,而該“utxo”在此過程中被破壞。 utxo 是一段程式碼(腳本),它在數學上將一定數量的比特幣連結到比特幣地址(公鑰)。

本質上,進行交易意味著將金額更改為公鑰(比特幣地址)。的比特幣是相連的。

在交易過程中,星號OP_code是OP_CHECKSIG。這會檢查簽章是否與已使用 utxo 的公鑰相符。如果一切正常,則會建立一個包含接收者公鑰的新 utxo。

總的來說,比特幣腳本是一種相當簡單的「基於堆疊」的程式語言,限制了可能性的領域。

Blockstream 對此寫道:

「就目前情況而言,無法預先配置如何使用utxo 中的比特幣或使用它們的速度。唯一的解決方案是修補使用PSBT(部分簽署的比特幣交易),除其他限制外,它無法正確包含交易費用。 ”

更多堆疊中的算術「基於堆疊」是指交易機制所需的資料放在一個「堆疊」中,在其中進行邏輯運算。

交易驗證機制的範例:

OP_code OP_DUP 將複製公共utxo 的金鑰並將其放入堆疊中。

OP_code OP_HASH 將對這個金鑰進行雜湊處理(將其轉換為比特幣在 utxo 中以數學方式連結到的位址)

OP_EQUALVERIFY 驗證產生的雜湊確實屬於有問題的 utxo。

OP_CHECKSIG 驗證提供的簽章是否與 utxo 的公鑰相符。

比特幣腳本有不到 100 個重要的 OP_codes。但是,無法對堆疊中的資料進行乘法、除法或連接(組合)。

中本聰在 2010 年禁用了多個 OP_code(OP_OR、OP_MUL [乘法]、OP_DIV [除法] 和 OP_CAT [連接])。這些 OP_code 已被刪除,因為它們的原始實作存在可利用的漏洞,可能會危及網路安全。

然而,它們的缺失使得創建某些奇異的支出條件(智能合約)變得困難。值得注意的是,無法根據交易資料定義 utxo 中的支出條件。

Blockstream 解釋說:

「如果腳本能夠解釋交易資料中的更多細節,我們就可以建立更強大的合約來允許特定支出狀況。」

契約目前,比特幣唯一可能的「智能合約」就是鎖定和解鎖與公鑰關聯的比特幣的經典行為。本質上是進行交易。

契約旨在創建一種新型的 utxo,允許交易的發送者對接收者隨後如何使用比特幣施加某些條件。

這裡有兩個 OP_codes,分組在術語「契約」下」 能力有限

以上是比特幣軟分叉:貨幣真的需要這些新的操作碼嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn