作者:北京航空航天大學云南創新研究院?北京航空航天大學分布式實驗室?胡凱教授
業界不少人對智能合約的認識常常是不清楚的,有的認為是區塊鏈里本來帶的內容,有的認為就是發幣用的,有的認為就是以太坊上的應用等等,這些認識完全淹沒了智能合約的意義、嚴重制約了智能合約的發展和應用。那么智能合約是什么?它有什么作用?它的本質是什么?它的意義在哪里?它存在什么問題?它如何落地應用?它的發展之路在哪里?
1.?智能合約的起源和意義
近年來區塊鏈成為大熱門技術,作為一門應用技術,其迅猛的發展和熱潮是罕見的,為什么會受到社會各階層人士的關注呢?有很多分析和認識,但筆者認為最重要的原因有二個,一是區塊鏈并不是一門單獨的技術,它不僅是包含了很多技術的融合,更是涉及社會治理模式和思維改變的思想性技術,這種思想性技術會促使人們創新、產生技術革命;第二就是區塊鏈技術迎合了當前社會重要的發展大潮,那就是人類社會向數字化社會發展過程中,未來如何把實體社會人們生活的模式、信用、法律甚至文化等依存關系轉移到虛擬世界上是技術和社會治理面臨的巨大挑戰問題,而區塊鏈相關技術正是迎合這個大潮的重要技術之一。
我們可以看未來一個汽車交易的場景:汽車貸款,如果貸款者不還款,一個合約程序將自動收回發動汽車的數字鑰匙,汽車經銷商將發現這種自動合約用途很有吸引力。這個例子是密碼學家尼克.薩博在1994年給出的一個場景,也是他首次提出了“智能合約(SmartContract,簡稱SC)的概念。相比復雜的涉及用戶、汽車經銷商和銀行的貸款行為和手續,智能合約是能夠自動執行合約條款的計算機程序。通過對自動售貨機的觀察,薩博領悟到機器通過物理的密封系統自行控制財產,可以編程自動執行“合約”條款,指出計算機代碼可以代替機械設備,進行更復雜的數字財產交易,未來的某一天,這些程序甚至可能取代處理某些特定金融交易的律師和銀行,即“智能財產可以將智能合約內置到物理實體的方式,被創造出來”。隨后在2002年,尼克薩博設計出了一種叫“比特黃金”(BitGold)的數字貨幣機制,認為智能合約可以支持電子數據交換(EDI)、證券期權等合成型資產(SyntheticAssets)的交易。
數據:Cardano上智能合約數接近3000個:7月12日消息,Cardano Blockchain Insights的數據顯示,截至7月12日,基于由Cardano支持的Plutus的智能合約總數達到了2900個,距離3000個智能合約的大關還有100個。(Finbold)[2022/7/12 2:08:01]
圖1自動售貨機模式的啟示
他進而創造性地抽象提出“智能合約就是執行合約條款的可計算交易協議”,這個簡單而樸素的抽象卻蘊含了深遠博大的意義,因為它涉及了最基礎的人類社會經濟活動:交易和協議,而且是由計算完成的。這對未來數字社會的潛力顯而易見,因為它把人、交易、法律協議以及網絡虛擬世界之間復雜的關系程序化了,也許有一天我們會驚訝地發現,生活中合同、律師、公證、保險、交易所、銀行、甚至法院部分職能都被智能合約所代替。由此可見智能合約概念的寬廣和深刻,在技術發展的歷史長河中,很多簡單的自然的思想往往是一種發展基石,智能合約完全有可能是數字社會的基石之一。就像互聯網發展過程中建網和網上應用關系一樣,作為鏈上無所不在的智能合約應用將是區塊鏈浪潮中最重要、最活躍的技術。
Cardano生態DEXMinswap已遷移智能合約:金色財經消息,Cardano生態去中心化交易所Minswap發推稱,現已遷移智能合約,用戶的LP和挖礦頭寸會在接下來的24小時內逐步顯示。3月23日,Minswap表示,檢測到一個問題,DEX處于維護模式,已采取保護措施,正在重寫、測試和部署修復程序,目前用戶資金是安全的。[2022/3/24 14:16:03]
2.?智能合約的定義
智能合約有許多非形式化的定義,這里列舉幾個供大家從不同角度去理解智能合約的本質內涵和意義:
1)?????智能合約通過使用協議和用戶接口來促進合約的執行;
2)?????智能合約就是用程序代碼編寫的合約,它的條款由程序來執行;
3)?????智能合約就是基于區塊鏈的可直接控制數字資產的程序。
4)?????智能合約是運行在可復制、共享賬本上的計算機程序,可以處理信息,接收、儲存和發送價值。
5)?????智能合約是一段代碼,被部署在分享的、復制的賬本上,它可以維持自己的狀態,控制自己的資產和對接收到的外界信息或者資產進行回應。
6)?????而維基百科給出的定義是:
螞蟻集團魏長征:區塊鏈從業者需重點關注智能合約等方向:金色財經報道,針對“人社部發布區塊鏈工程技術人員等新職業”一事,螞蟻集團區塊鏈平臺高級技術專家魏長征建議區塊鏈的從業者,首先要打好技術基礎。區塊鏈是綜合性的平臺技術,需要加強計算機領域的基礎課程,比如程序設計、操作系統、體系架構、編譯原理。其次,在基礎之上,根據自身興趣考慮發展方向。目前涉及的方向有共識算法方向,需要深耕分布式系統原理和設計;智能合約方向,要了解主流合約編程技術和虛擬機技術;隱私保護方向,要鉆研密碼學理論和應用技術,并全面了解零知識證明、多方安全計算、硬件可信執行環境等。對于剛入門區塊鏈工程建設可選擇學習知名的公鏈和聯盟鏈開源項目,如以太坊、超級賬本等。[2020/7/7]
“Smartcontracts?arecomputerprotocolsthatfacilitate,verify,orenforcethenegotiationorperformanceofa?contract,orthatobviatetheneedforacontractualclause.Smartcontractsusuallyalsohaveauserinterfaceandoftenemulatethelogicofcontractualclauses.Proponentsofsmartcontractsclaimthatmanykindsofcontractualclausesmaythusbemadepartiallyorfullyself-executing,self-enforcing,orboth.Smartcontractsaimtoprovidesecuritysuperiortotraditionalcontractlawandtoreduceother?transactioncosts?associatedwithcontracting.”
以太坊智能合約自動執行工具GelatoNetwork上線主網:以太坊智能合約自動執行工具GelatoNetwork上線主網,作為一個經過審核的智能合約協議,它允許開發人員自動執行用戶交易,無需運行任何底層服務器基礎架構,GelatoNetwork的設計目標是激勵一個開放和去中心化化的網絡中繼器自動化智能合約執行且抗審查。GelatoNetwork是以太坊零編程自動化工具GelatoAlpha版Gelato.finance背后運行功能,今年2月,由Gnosis生態基金和MetaCartel資助的Gelato團隊正式公開首個工具GelatoFinance,這是一個無需編程就可以創建基于以太坊的自動化程序的工具,Gelata的目標是幫助用戶全天候自動執行基于以太坊平臺的任務,用戶可通過Gelato創建自己的以太坊機器人,類似于互聯網的IFTTT。目前,GelatoFinance功能已被棄用。[2020/7/4]
總的來說,一個智能合約是一套以數字形式定義的承諾,包括合約參與方可以在上面執行這些承諾的協議。
3.智能合約發展階段
薩博提出的智能合約理論幾乎與互聯網同時出現,但應用實踐卻一直嚴重地落后于理論,沒有找到將這個理念轉變現實的清晰路徑。主要是面臨三個方面問題,一是資產需要數字化和數字資產的賬本化;二是合約方需要一個受信任的執行環境;三是代碼合約需要有類似合同蓋章不可隨意變更和可審核機制。而區塊鏈技術的出現,解決了這些問題,從而觸發了智能合約的應用。區塊鏈為完全數字化資產的記錄和轉移奠定了基礎,通過完全數字化的資產和分布式賬本,區塊鏈使計算機代碼可以控制資產,資產的控制就是控制資產對應的密鑰,而不是任何實物。區塊鏈也成為了互聯網上最可信的機制,同時一旦智能合約代碼做塊進入區塊鏈,合約方就可以確定合約不會被更改,好像合同蓋了紅章,由于區塊鏈的開放性,可以被備案、監管和審計。
分析 | 昨日新增226個代幣型智能合約:第三方大數據評級機構RatingToken最新數據顯示,2018年8月24日全球共新增1277個合約地址,其中226個為代幣型智能合約。 在RatingToken同時發布的“新增代幣型智能合約風險榜”中,MindWalk Token Pre-sale(MINDW)、Green World(GW)和FoMo3D Long Official(F3D)風險最高排名前三,其中MindWalk Token Pre-sale(MINDW)存在31個安全風險,檢測得分為3.1。此外,其他登上該風險榜TOP10的還包括Giegle(GIEGLE)、F3DGo(F3DGo)、Ionixx DigiRights(INX DIGI)、Orderbook Global Token(OBK)、MOBU token(MOBU)、Trans coin(TC)和Luckydice Official(LK3D)。如需查看更多智能合約檢測結果,請查看原文鏈接。[2018/8/25]
下面是一個自動執行的、有著銀行基本功能的智能合約。一共有四個功能:查詢賬戶余額、存錢、取錢、轉賬,合約代碼如表1所示。
表1一個簡單的銀行智能合約
合約的建立與執行:先把上面的合約代碼編譯成代碼,然后在區塊鏈上建立合約賬戶,用于存儲合約和管理與合約相關的數據。當需要查看余額的時候,發消息給合約賬戶調用balance();當需要轉賬的時候,調用transfer(),合約賬戶會自動將你的錢減去轉賬數額,給對方的錢增加相應的數額;當需要存錢的時候,調用deposit(),合約賬戶會自動增加你的錢數;當需要取款的時候,調用withdraw()。
可以看出這是一個簡單的合約,而以太坊為代表的第二代區塊鏈正是由于和這種簡單智能合約的融合而引發區塊鏈的熱潮。筆者預測智能合約的發展也可以分為三代:
第一代是目前用的比較多的簡單的鏈上代碼稱為鏈上代碼,大多是目前以太坊上項目中簡單的IF-THEN-ELSE語句的合約,只是一些簡單流程性的代碼,沒有什么復雜性邏輯和智能內容;
第二代是已經或將要廣泛應用的契約型的智能合約,表達契約關系的代碼。比如說購物的合約、出租的合約、醫患關系、保險關系、追溯等的合約,有一定的承諾和約定的智能表達,這些我們可以通過律師或者現成的契約模板,把這些模板轉換為代碼形成智能合約;
第三代將是智能合約的高級或智能時代,表現為代碼即法律合約:具有存證和判據,符合法律規制或法律規則的代碼化,是更智能,更高級的合約,筆者認為也是智能合約的最有前途的發展。
4.?智能合約的問題與解決之道
應該說,目前區塊鏈上的智能合約還處于技術早期階段,是不成熟、不安全的和不智能的,更沒有形成理論體系,還不能大規模夠滿足應用的需求,主要問題有:
1)?????智能合約規模化產生問題:和軟件發展過程一樣,可以預計智能合約是需要規模化生產應用的,如何規模化生產可信智能合約是個大問題,筆者提出的智能合約工程正是未雨綢繆的理論;
2)?????智能合約公信編寫問題:作為一種代碼合約,和文本協議很大的不同在于,如何公信編寫,誰來驗證、測試?合約當事方顯然是不合適的,一般的第三方也很難有公信立場,建立公信生產機制是發展的關鍵;
3)?????智能合約的可信問題:由于智能合約是管理巨大數字資產的特殊軟件,軟件bug的問題目前非常突出,軟件陷阱會導致明顯地有利于合約的一方,該怎樣進行對合約進行查驗和修復?如何驗證合約的邏輯正確并杜絕漏洞?形式化方法是目前軟件可信性驗證的重要手段,避免類似于由于代碼本身漏洞給黑客攻擊的機會;
4)?????智能合約的智能化問題:目前基本是簡單合約,或固定的合約模板,智能合約的語言、編寫、部署、審計、自動輔助工具、動態修改都會是全新的模式,與人工智能技術結合是研究趨勢;
5)?????合法性問題:智能合約具有與“真正”合約一樣的法律效力嗎?如果智能合約的結果違背法律,或者法庭發現它有與合約法沖突該如何解決?計算法律學只是研究法律化的問題,而筆者提出法律代碼科技,要解決代碼即法律問題;
6)?????智能合約執行問題:存在多個合約需要時間觸發的時候,待觸發事件由誰管理與發送?如果多個合約同時執行,會帶來復雜的訪問控制、同步并發以及一致性問題;
7)?????性能問題:把合約狀態的一致性過程與區塊鏈的一致性過程區別處理,有可能會增加區塊的制作時間,比如區塊的構造時間就包含了區塊中交易的處理時間,減慢了建塊速度,該如何加快合約執行效率?
當然還有很多技術實現問題,本系列文章將拋磚引玉,大家一起來討論解決這些問題之路。
Tags:區塊鏈TRAACTRAC有人靠區塊鏈4天就掙了30萬塊錢Bgogo TradingExtractoDAO BullCRACE
來源:楚天都市報 近日,“區塊鏈”成為最熱門科技詞匯。什么是區塊鏈?武漢和光谷的區塊鏈技術發展現狀如何?有哪些企業和項目涉及區塊鏈技術?記者連日來走訪發現,武漢百余家區塊鏈相關企業,大多匯聚在光.
1900/1/1 0:00:00摘要:近日,比特幣繼續縮量下行,山寨幣略顯強勢,短時市場不確定性較大。目前,多數國家或地區對比特幣持開放態度,且多數認為比特幣屬于貨幣或商品.
1900/1/1 0:00:00文章來源:Bitcoinist作者:ChristinaComben譯者:星球日報Azuma原標題:《星球前線|一文概括當前行業十大趨勢》11月12日.
1900/1/1 0:00:00圖片來源:Medium “第四次工業革命” 人工智能,機器學習,物聯網,區塊鏈—隨著這些技術的問世,當今人類正在經歷一場繼互聯網之后的重大科技變革.
1900/1/1 0:00:0011月8日,由巴比特主辦的“2019年世界區塊鏈大會·烏鎮”正式開幕,大會聚集了百余位全球區塊鏈、數字資產、AI、5G領域的專家學者、技術大咖、意見領袖、熱門項目創始人,以“應用無界”為主題.
1900/1/1 0:00:00迅雷股價暴漲170%、超百只個股集體漲停、入場資金多達數百億元......朋友圈被區塊鏈刷屏,關于區塊鏈的投資課堂如雨后春筍般出現。不得不說,過去一段時間,整個A股最熱的概念之一就是“區塊鏈”.
1900/1/1 0:00:00