Smartcontracts

比特幣和智能合約

  • June 9, 2021

我最近遇到了乙太坊的特性和智能合約的概念。

我喜歡智能合約的概念,但是作為一種貨幣,我更喜歡比特幣而不是乙太幣。

比特幣有沒有辦法使用智能合約?

比特幣內置了腳本語言,可以創建多種智能合約。例如原子交換閃電支付通道零知識或有支付(ZKCP)Banasik、Dziembowski 和 Malinowski (BDM16)的這篇後來的論文大大提高了這些方法的效率。門檻值多重簽名也很容易做到,有趣的是比乙太坊容易得多。

ZKCP 非常通用,可以執行任何在設置時知道交易對手和合約條款的合約,儘管它確實需要他們使用一些新的和緩慢的加密貨幣(在鏈下完成,比特幣永遠不會接觸它)。

一個更異想天開的例子是Peter Todd 對任何可以碰撞 SHA1、SHA256 或 RIPEMD160 的人的賞金。已獲得 SHA1 碰撞賞金。

我的猜測是,乙太坊唯一能做而比特幣實際上不能做的事情,就是對所花費的輸出進行透視。這足以執行契約,這將是喜憂參半的事情。Andrew Miller 認為,乙太坊的賬戶模型讓其以比比特幣的 UTXO 模型更高效的方式執行合約,這可能是真的,但我看到的例子(a)通過儲存大量不相關的狀態而失去了隱私一個帳戶,並且 (b) 利用乙太坊的全域鍵值儲存,它的維護成本比 UTXO 集高得多。通過創造性地使用 ZKCP 可以有效地進行外向檢查(對驗證者有效,而不是對交易方 :)),這與 BDM16 論文如何與它們進行原子交換一樣,但我還沒有弄清楚細節。

最後一點,通過設計,實現和部署乙太坊合約更容易。但是,我認為智能合約的難點在於分析合約並證明所有輸入下的正確行為。(乙太坊和比特幣的腳本語言在這方面都不足,通常很難有效地推理。)

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