-
1 # 區塊鏈大觸
-
2 # 科技行者
智慧合約這一概念是由Nick Szabo於1994年提出,該合約被定義為“一套以數字形式定義的承諾,包括合約參與方可以在上面執行這些承諾的協議”。不同於傳統合約,該合約基於區塊鏈技術而發展、以數字為表現形式並主要透過計算機網路技術而自動執行。人們對其最為常見的認識就是將其視為是一段自動執行的程式碼,一段由計算機自動執行的程式,當預設的觸發條件成就時合約即自動執行,相較於一般的電子合約來說更進一步。
但是,只有結合了區塊鏈技術、分散式記賬技術的程式碼合約才可以被視為真正的智慧合約,而該合約的核心則是區塊鏈技術。區塊鏈技術具體表現為一種“開放的分散式資料庫”,該技術使得該合約可以在一種完全公開、透明和不可被篡改的環境中執行。在這種環境的理想運作下,合約雙方不再需要特定的企業來擔任中間商或擔保機構,所有交易都是公開透明的,即實現了“去中心化”、“去信任化”的目標。
區塊鏈的提出使智慧合約的執行獲得了可信的環境,比特幣交易中的輸出條件是用指令碼描述的,這也是智慧合約的雛形。以太坊首先實現了區塊鏈和智慧合約的完美契合。
在智慧合約的概念模式如圖,一般而言,智慧合約封裝預定義的若干狀態、轉換規則、觸發條件以及應對操作等,經各方簽署後以程式程式碼的形式附著在區塊鏈資料上,經對等計算機網路傳播和節點驗證後記入各個節點的分散式賬本中,區塊鏈可以實時監控整個智慧合約的狀態,在核查外部資料來源確認滿足特定的觸發條件後啟用並執行合約。
以太坊是目前開發智慧合約最常用的平臺,特定的基於堆疊的二進位制位元組碼(即以太坊虛擬機器位元組碼)組成了以太坊的智慧合約。這個合約可以利用Solidity、Serpent、LLL等高階語言編寫,然後編譯為EVM位元組碼儲存執行。
以太坊中智慧合約是儲存在以太坊區塊鏈中特定地址的程式碼(功能)和資料(狀態)的集合。智慧合約以訊息的形式在網路中傳播,以太坊中合約則是儲存於交易之中。EVM判斷一個交易是否為合約類的依據是該交易中是否存在程式碼,若交易資訊是程式碼則該合約得以執行。若在執行過程中發現某合約賬戶不存在則會自動建立合約地址,並將合約存入該賬戶。
雖然以太坊中智慧合約可用於實現與比特幣類似的賬戶餘額認證方案,但其與比特幣指令碼程式存在顯著差別:合約是圖靈完備的;合約非無狀態的,它們可以儲存計算資料;任意合約傑克從其他合約處獲取部分資料。
-
3 # 素顏歿
智慧合約是一種只有透過區塊鏈才能實現的新技術。普通、標準的合同涵蓋了當事人之間協議的條款,且常透過法律來強制執行;智慧合約是數字化的,儲存在區塊鏈中,並使用加密程式碼強制執行協議。智慧合約只是軟體程式,與所有程式一樣,它們完全按照程式設計師的意圖執行。比如,最近很火的eCell幣,就是透過以太坊智慧合約建立的,整個過程都是公開透明的。
回覆列表
智慧合約是一種計算機協議。
比特幣作為區塊鏈的最初產物,是在2008年由一個匿名人物中本聰提出的,但是隨著區塊鏈的發展,誕生了以太坊、智慧合約等
智慧合約概念可以追溯到1995年,是由一個計算機科學家尼克提出的,表示一個智慧合約是一套以數字形式定義的承諾,合約參與方可以在上面執行這些承諾的協議。
而隨著演變,智慧合約已經愈加成熟,是一種旨在以資訊化方式傳播、驗證或執行合同的計算機協議,這些交易具有可追蹤以及不可逆轉的特點。
首先,智慧合約具有合約制定的高時效性以及去中心化的特性,不用依賴第三方權威機構或者中心機構的參與,只需要透過智慧合約就能完成,大大減少了協議制定的中間環節,提高了協議制定的效率。
其次,智慧合約具有低成本性,智慧合約是以計算機程式為載體的,由事先制定好的程式碼控制,一旦發生毀約等情況程式就會強制執行,降低了監督的成本。
最後,智慧合約具有非常高的準確性,不需要人為參與,從而也去除了失誤,提高了合約的準確度。
智慧合約雖然具有無與倫比的優勢,但是也出現過很多漏洞,比如在上一年,以太坊錢包Parity就出現了一個漏洞,導致多重簽名的智慧合約無法使用,超過1.5億美元的以太坊資金被凍結。
今年2月份,一份報告就分析出了基於以太坊的三萬多個智慧合約含有安全漏洞。
總而言之,智慧合約作為區塊鏈的一項核心技術,還處於發展的初級階段,未來還需要經過不斷地完善才能獲得更加廣泛的應用。