Script
比特幣預言機如何確保這筆錢不會被重用?
假設我修改了繼承腳本範例的要求,我需要確保先前的 BTC “保證”在上述任一事件之前可用並且不會減少或重新使用:
- 18歲生日到了
- 神諭證實這個人已經死了
由於 Oracle 不能將交易扣為贖金的額外要求(因為它會知道應支付給收款人的金額),有沒有辦法使用腳本來覆蓋以前的資金不能被後悔了嗎?如何才能做到這一點?
(詳細說明我對這個問題的評論)
你通過將資金連接到一個由你和一個預言機(或一組預言機)控制的地址來做到這一點。您可以通過使用比特幣多重簽名地址來做到這一點。
這樣你就沒有辦法在沒有得到oracle許可的情況下將資金轉移出去,oracle也沒有辦法將資金帶走。
至於防止預言機劫持交易,可以使用分佈式預言機——即一組獨立的預言機。因此,要提取資金,您需要兩個人的簽名,並說 15 個預言機中的 8 個。如果您明智地選擇預言機,那麼它們串通並持有您的資金以勒索贖金的機會應該很小。
您可以查閱 Orisi 白皮書 ( <https://github.com/orisi/wiki/wiki/Orisi-White-Paper/> ) 或網站 (oracles.li) 或 github repo ( <https://github.com/orisi/orisi> )了解更多資訊。
目前沒有 nLockTime 支持,因此無法限制 18 歲生日之前的支出。
但就讓 Oracle 在不知道交易的情況下使用資金的權限而言,這可以通過密鑰拆分來完成。
- <https://github.com/vbuterin/btckeysplit>