契約層

契約層

契約層封裝區塊鏈系統的各類腳本代碼、算法以及由此生成的更為複雜的智慧型契約。如果說數據、網路和共識三個層次作為區塊鏈底層“虛擬機”分別承擔數據表示、數據傳播和數據驗證功能的話,契約層則是建立在區塊鏈虛擬機之上的商業邏輯和算法,是實現區塊鏈系統靈活編程和運算元據的基礎。包括比特幣在內的數字加密貨幣大多採用非圖靈完備的簡單腳本代碼來編程控制交易過程,這也是智慧型契約的雛形;隨著技術的發展,已經出現以太坊等圖靈完備的可實現更為複雜和靈活的智慧型契約的腳本語言, 使得區塊鏈能夠支持巨觀金融和社會系統的諸多套用。

基本介紹

  • 中文名:契約層
  • 外文名:contract layer
  • 學科:區塊鏈
  • 包含:腳本、算法、以及智慧型契約
  • 套用:比特幣在內的數字加密貨幣
  • 作用:區塊鏈可程式特性的基礎
簡介,比特幣腳本,智慧型契約,

簡介

區塊鏈每個區塊可程式、可嵌入代碼的特性,契約層包含了腳本、算法、以及智慧型契約,可以簡單的理解為是一份自定義的電子契約,之所以稱為智慧型契約,是因為這份契約可以在達到約束條件自動觸發執行,不需人工干預,也可以在不滿足條件時自動解約,理論上可以觸發執行事先約定好的一切條款。這也是區塊鏈能夠解放信用體系最核心的技術之一。以往的區塊鏈是沒有這一層的。所以最初的區塊鏈只能進行交易,而無法用於其他的領域或是進行其他的邏輯處理。但是契約層的出現,使得在其他領域使用區塊鏈成為了現實,比如用於IOT。以太坊中這部分包括了EVM(以太坊虛擬機)和智慧型契約兩部分。

比特幣腳本

比特幣採用一種簡單的、基於堆疊的、從左向右處理的腳本語言,而一個腳本本質上是附著在比特幣交易上的一組指令的列表。比特幣交易依賴於兩類腳本來加以驗證,即鎖定腳本和解鎖腳本,二者的不同組合可在比特幣交易中衍生出無限數量的控制條件。其中,鎖定腳本是附著在交易輸出值上的“障礙”,規定以後花費這筆交易輸出的條件; 解鎖腳本則是滿足被鎖定腳本在一個輸出上設定的花費條件的腳本,同時它將允許輸出被消費。 舉例來說,大多數比特幣交易均是採用接受者的公鑰加密和私鑰解密,因而其對應的 P2PKH (Pay to public key hash) 標準交易腳本中的鎖定腳本即是使用接受者的公鑰實現阻止輸出功能,而使用私鑰對應的數字簽名來加以解鎖。比特幣腳本系統可以實現靈活的交易控制。例如,通過規定某個時間段(如一周) 作為解鎖條件,可以實現延時支付;通過規定接受者和擔保人必須共同私鑰簽名才能支配一筆比特幣,可以實現擔保交易;通過設計一種可根據外部信息源核查某機率事件是否發生的規則並作為解鎖腳本附著在一定數量的比特幣交易上, 即可實現博彩和預測市場等類型的套用;通過設定N個私鑰集合中至少提供M個私鑰才可解鎖,可實現M − N 型多重簽名,即N個潛在接受者中至少有M個同意簽名才可實現支付。多重簽名可廣泛套用於公司決策、財務監督、中介擔保甚至遺產分配等場景。比特幣腳本是智慧型契約的雛形,催生了人類歷史上第一種可程式的全球性貨幣。然而,比特幣腳本系統是非圖靈完備的,其中不存在複雜循環和流控制 ,這在損失一定靈活性的同時能夠極大地降低複雜性和不確定性,並能夠避免因無限循環等邏輯炸彈而造成拒絕服務等類型的安全性攻擊。 為提高腳本系統的靈活性和可擴展性,研究者已經嘗試在比特幣協定之上疊加新的協定,以滿足在區塊鏈上構建更為複雜的智慧型契約的需求。以太坊已經研發出一套圖靈完備的腳本語言,用戶可基於以太坊構建任意複雜和精確定義的智慧型契約與去中心化套用,從而為基於區塊鏈構建可程式的金融與社會系統奠定了基礎。

智慧型契約

智慧型契約概念最早在 1994 年由學者 Nick Szabo 提出,最初被定義為一套以數字形式定義的承諾,包括契約參與方可以在上面執行這些承諾的協定,其設計初衷是希望通過將智慧型契約內置到物理實體來創造各種靈活可控的智慧型資產。由於計算手段的落後和套用場景的缺失,智慧型契約並未受到研究者的廣泛關注 。區塊鏈技術的出現重新定義了智慧型契約。智慧型契約是區塊鏈的核心構成要素 (契約層 ),是由事件驅動的、具有狀態的、運行在可複製的共享區塊鏈數據賬本上的電腦程式 ,能夠實現主動或被動的處理數據 ,接受、儲存和傳送價值,以及控制和管理各類鏈上智慧型資產等功能。智慧型契約作為一種嵌入式程式化契約, 可以內置在任何區塊鏈數據、交易、有形或無形資產上,形成可程式控制的軟體定義的系統、市場和資產。智慧型契約不僅為傳統金融資產的發行、交易、創造和管理提供了創新性的解決方案,同時能夠在社會系統中的資產管理、契約管理、監管執法等事務中發揮重要作用。具體說來,智慧型契約是一組情景 — 應對型的程式化規則和邏輯,是部署在區塊鏈上的去中心化、可信共享的程式代碼 。智慧型契約同樣具有區塊鏈數據的一般特徵,如分散式記錄、存儲和驗證,不可篡改和偽造等。簽署契約的各參與方就契約內容、違約條件、違約責任和外部核查數據源達成一致,必要時檢查和測試契約代碼以確保無誤後,以智慧型契約的形式部署在區塊鏈上,即可不依賴任何中心機構地自動化代表各簽署方執行契約。智慧型契約的可程式特性使得簽署方可以增加任意複雜的條款 。智慧型契約的運作機理如圖所示: 通常情況下,智慧型契約經各方簽署後 ,以程式代碼的形式附著在區塊鏈數據 ( 例如一筆比特幣交易 )上,經 P2P 網路傳播和節點驗證後記入區塊鏈的特定區塊中。智慧型契約封裝了預定義的若干狀態及轉換規則、觸發契約執行的情景 ( 如到達特定時間或發生特定事件等 ) 、特定情景下的應對行動等。區塊鏈可實時監控智慧型契約的狀態,並通過核查外部數據源、 確認滿足特定觸發條件後激活並執行契約。
智慧型契約智慧型契約
智慧型契約具有自治、自足和去中心化等特徵。自治表示契約一旦啟動就會自動運行,而不需要其他簽署方進行任何干預;自足則意味著契約能夠通過提供服務或發行資產來獲取資金 , 並在需要時使用這些資金;去中心化則意味著智慧型契約是由去中心化存儲和驗證的程式代碼而非中心化實體來保障執行的契約,能在很大程度上保證契約的公平和公正性。智慧型契約對於區塊鏈技術來說具有重要的意義。一方面,智慧型契約是區塊鏈的激活器,為靜態的底層區塊鏈數據賦予了靈活可程式的機制和算法,智慧型契約的自動化和可程式特性使其可封裝分散式區塊鏈系統中各節點的複雜行為,成為區塊鏈構成的虛擬世界中的軟體代理機器人,這有助於促進區塊鏈技術在各類分散式人工智慧系統中的套用,使得基於區塊鏈技術構建各類去中心化套用 (Decentralized applica-tion,Dapp)、去中心化自治組織 (Decentralized autonomous organization,DAO) 、去中心化自治公司(Decentralized autonomous corporation,DAC) 甚至去中心化自治社會 (Decentralized autonomous society, DAS) 成為可能。就現狀而言, 區塊鏈和智慧型契約技術的主要發展趨勢是由自動化向智慧型化方向演化。現存的各類智慧型契約及其套用的本質邏輯大多仍是根據預定義場景的 “IF-THEN” 類型的條件回響規則,能夠滿足自動化交易和數據處理的需求。 未來的智慧型契約應具備根據未知場景的 “WHAT-IF”推演、計算實驗和一定程度上的自主決策功能,從而實現由“自動化”契約向真正的“智慧型”契約的飛躍。

相關詞條

熱門詞條

聯絡我們