Script
腳本如何工作?
比特幣協議支持腳本。
- 它們是如何工作的?
- 這些是如何實施的?
- 它們的預期用途是什麼?
- 它們計劃何時使用?
腳本是比特幣更聰明的功能之一。實現加密貨幣最明顯的方法是向公鑰進行轉賬。要申請轉移,您需要使用相應的私鑰進行簽名。這不是比特幣的運作方式。
當您發送比特幣(交易外)時,您將它們發送到腳本。當您認領比特幣(交易的in)時,您使用腳本認領它們。為了確定交易輸入是否正確聲明了交易輸出,將兩個腳本組合併執行結果。如果結果為true,則輸入聲明輸出。腳本語言是基於堆棧的,與 Forth 大致相似。
交易輸入(試圖認領比特幣的腳本)首先執行。它通常會將公鑰和簽名放入堆棧。然後輸出(正在認領其比特幣的腳本)執行。它通常會確認公鑰是正確的,並且簽名使用相應的私鑰對交易進行簽名。
因此,您獲得的效果就像您剛剛指定了一個公鑰和簽名一樣,但是您可以選擇指定更複雜的腳本。不幸的是,這種簡單的腳本幾乎是目前唯一支持的腳本。最初的開發人員設想了更多有趣的腳本,包括契約、多方簽名等。
計劃了 N 個簽名中的 M 個。這樣,你可以列出 3 個公鑰,這樣其中任何 2 個都可以認領比特幣。
不幸的是,一些腳本組件擔心存在安全風險,因此其中許多目前已被禁用。