智能合約旨在促進和執行有關各方之間協議的談判或執行。有效地,智能合同實現是計算機代碼,當寫入區塊鏈時,以不能改變或篡改的方式記錄和存儲。該代碼將描述各方的行為方式,并自動完成所需的理想性能。
通過代碼來執行智能合約是可能的,該代碼評估是否已經滿足一個或多個預定義條件,并且如果是,則將自動執行功能。外部數據通過oracle提供給智能合約,oracle是第三方獨立輸入,可以獲取信息并驗證事件并將此信息提交給智能合約。oracle的一個例子是在線獲取信息的軟件oracle,例如航班是否被延遲或取消。
傳統的法律合同和聰明的合同之間的區別在于,與法律合同不同,智能合同不僅能夠規范行為,還能夠執行它。
智能合約如何與區塊鏈平臺和分布式賬本技術相結合?區塊鏈和類似的分布式分類帳技術,特別是最廣泛使用的智能合約平臺的以太坊平臺,已經實現了智能合約,而無需任何可信任的方面來執行合同條款 - 通常是通過使用計算機程序設計,確保合同可以訪問數字資產,并且一旦合同記錄在區塊鏈上,就能夠以透明和不可改變的方式存儲和執行這些資產。
在區塊鏈上簽訂智能合約背后的原因是確保這些智能合約是安全,透明且無法改變或篡改的 - 同時確保區塊鏈網絡通過共識機制驗證智能合約內的交易,每個參與者都可以網絡驗證然后記錄在區塊鏈上的數據。
智能合約非常適合具有明確條件的協議,這些協議不需要人為干預或不適合主觀性,例如一方在事件發生的某一天向另一方支付一定金額的義務或交付將采取貸款協議形式的資產。該代碼將觸發可以客觀確定的自動償還。
可以應用于智能合約的一個實際例子是在預測市場的情況下 - 如果我們有兩個方想要進行天氣預測,智能合約能夠將其資金托管在托管中,直到確定勝利者為止,確保雙方在做出自己的預測之前不知道另一方的預測,規則設定了預測的勝利者,并最終確保支付最終贏家的金額。所有這些方面都可以客觀,透明地實施,并且雙方之間沒有信任。對于依賴于各種外部條件的更復雜的事務,可以實現相同的目的。
然而,如果合同中的條款需要進行評估或人工輸入,則會出現對智能合同的限制,例如雇傭合同中雇主向雇員支付可能需要對雇員履行情況進行主觀評估的情況。 ,這可能很難轉化為代碼自動化。
同樣,合同中賦予當事人放棄某些權利或義務的權利或賦予當事人修改協議某些條款的可能性的條款可能難以編纂。
在考慮智能合約的可執行性時,還需要了解智能合約是否能夠在法院和在哪個司法管轄區內合法執行,以及法院是否會承認在兩者之間簽訂的編纂協議。各方具有法律約束力,有效和可執行。由其各方進行數字簽名的智能合約是否代表具有法律約束力的合同?確定哪些合同無法在代碼中表達,對于確保足夠的可執行性至關重要。
在您擁有能夠鎖定托管資金的智能合約的情況下,如果在智能合約中檢測到不允許向合法方清算資金的錯誤,則所產生的問題將決定哪一方應該對損害賠償負責。
軟件中的錯誤可能是代碼中的錯誤可能導致的無意錯誤,也可能是試圖利用智能合約中漏洞的用戶故意造成的錯誤。確定誰對此類錯誤負責可能取決于哪一方負責編程或提供軟件,識別此類軟件的開發者可能并不總是可能的。
在公共網絡上部署智能合約時也可能出現保密問題,但智能合約的當事人可能決定將智能合約部署在專用網絡上,并且僅向合同方授予訪問權限。
智能合約和分布式分類帳技術有可能改變各方進入,執行和執行交易的方式,但仍需要解決挑戰,以確保各方免受任何不良后果的影響。