論文閱讀筆記《An Overview of Smart Contract: Architecture, Applications, and Future Trends》

題目:An Overview of Smart Contract: Architecture, Applications, and Future Trends

關鍵詞:
smart contract

摘要:
智能合約在金融服務、預測市場、IoT(Internet of Things物聯網)等領域存在廣泛應用的同時,還存在安全和隱私等問題。本文全面介紹區塊鏈支持的智能合約。

  1. 系統地介紹了智能合約的基本框架、操作機制、平臺以及編程語言;
  2. 討論應用場景和存在挑戰;
  3. 描述智能合約的最新進展和未來的發展趨勢(e.g.平行區塊鏈-parallel blockchain)。

介紹:
智能合約是按照協議條款自動執行(self-executing)的合同。bitcoin等加密貨幣代表的區塊鏈技術稱爲blockchain 1.0 時代,具有去中心(decentralization)、防篡改(tamper-resistant)、匿名性(anonymity)和可審計(auditability)。但由於比特幣腳本語言的限制,無法編寫複雜的智能合約。以太坊(Ethereum)等平臺的出現使得用戶能夠在區塊鏈上運行自定義的程序,且編程語言滿足圖靈完備(Turing-complete)。以此被稱爲blockchain2.0。

智能合約存在安全挑戰。2016年6月,遞歸調用攻擊(Recursive calls attack)利用DAO( decentralized autonomous organization)造成經濟損失,以太坊不得不通過應分叉來解決。

智能合約

區塊鏈的基本框架:
區塊鏈系統通常分爲六層,分別是數據層、網絡層、共識層、激勵層、合約層和應用層。

  • 數據層:數據塊、信息加密、時間戳

  • 網絡層:P2P協議、單點故障容忍SPoF(tolerate single point of failures)

  • 共識層:PoW、PoS、PBFT

  • 激勵層:去中心化系統中的所有節點都是利己的(self-interested),因此需要經濟獎勵

  • 合約層:該層封裝了腳本代碼、算法和複雜的智能合約

  • 應用層:Bitcoin系統的主要應用是數字貨幣;Ethereum支持數字貨幣和Decentralized Applications(Dapp);Hyperledger Fabric主要針對企業級應用,其中的Dapp可以通過Go, Java, Python, and Node.js在SDKs上構建。
    智能合約基本框架
    智能合約的運作機制:
    區塊鏈監控智能合約的實時狀態,並在某些條件被觸發後執行智能合約。
    智能合約的運行機制
    平臺和編程語言:

  • Ethereum:運行環境,以太坊虛擬機EVM(Ethereum Virtual Machine);編程語言,Solidity;數字貨幣,Ether,Ethereum官網

  • Hyperledger Fabric:運行環境,Linux;優勢,不同組件可插拔,使用容器技術來管理智能合約(Fabric中的智能合約叫做chaincode);編程語言,Go和Java;官網,Fabric官網

特徵與意義:
智能合約具有三個特徵,分別爲自治性(autonomy)、自足性(self-sufficiency)和分散性(decentralization)。

智能合約的應用場景

  • 金融交易:股本集資、P2P借貸和、互聯網保險。
  • 預測市場:兩個預測工具Augur和Gnosis,還可以用於投票和賭博。
  • 物聯網:促進設備之間的信息共享,以加密的方式自動化工作流。實現公寓、自行車、汽車等租賃,智能合約還可用於智能電網(smart grid)
  • 其他應用場景:數字版權管理、雲存儲、供應鏈、社交媒體平臺、智能交通等

挑戰

  • 可重入漏洞Reentrancy vulnerability:函數在執行結束前被調用多次;
  • 交易排序依賴Transaction-Ordering Dependence AKA Front-Running:當一個塊中包含多個調用相同智能合約的事務時,易發生此攻擊。因爲不同的礦工打包交易的順序不一,因此智能合約的最終狀態取決於礦工將交易按照什麼順序進行打包;
  • 時間戳依賴Timestamp Dependence:時間戳需要通過礦工本地系統的時間來設置,礦工可以改變這個值。這樣一來,當時間戳作爲觸發條件時就可能存在安全隱患;
  • 缺乏可靠的數據輸入Lacking of trustworthy data feeds:智能合約需要外部有信息資源的輸入,然而信息的可靠性無法保證;
  • 隱私問題Privacy issues:攻擊者通過歷史數據推測出私人信息,稱此爲去匿名化攻擊deanonymization attack

研究進展及未來趨勢

研究現狀

  • 使用Ethereum-based功能強制交易順序來避免TOD;
  • 使用Oyente工具來檢測潛在安全漏洞;
  • 通過增強Ethereum操作語義來減少合約的脆弱性;
  • Town Crier通過可信web服務器來提供可信數據;
  • Hawk模型在保證用戶隱私的前提下使用區塊鏈記錄金融交易。

未來趨勢:平行區塊鏈與智能合約

  • 未來社會的發展趨勢是從信息物理系統CPS,Cyber-physical
    systems
    (與物聯網相比更強調控制)到社會物理信息系統CPSS,Cyber-physical-social
    systems
    (在CPS基礎上,進一步納入社會信息、虛擬空間的人工系統信息)。
  • ACP方法是目前並行管理領域目前唯一的系統完整的研究框架。ACP可與智能合約相結合。
  • 提出並行區塊鏈的概念,其最終目標是實現區塊鏈生態系統的知識自動化。

原文鏈接:https://ieeexplore.ieee.org/document/8500488

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章