以太幣交易所 以太幣交易所
Ctrl+D 以太幣交易所
ads

智能合約系列 | 智能合約工程簡述:Smart Contract Engineering_區塊鏈

Author:

Time:1900/1/1 0:00:00

作者:?胡凱

編者注:原標題為《智能合約系列2:智能合約工程SCE:SmartContractEngineering》

合約是經濟社會運行的基石之一。合約確定了多方交易的時間、期限、地點和內容等,使得合約參與的多方可以在信任或不信任的條件下執行合約協議,保證交易活動的正常和有序運行。合約通常在法律上是具有強制執行力的,且以書面明示為原則。而智能合約是數字社會活動的基礎保障,計算機程序能夠管理機械設備的工作,進行更復雜和更高效的數字財產交易。智能合約代碼甚至可以取代律師和實體機構,來智能處理數字社會交易和法律判定,數字化財產能夠以將智能合約代碼內置到物理實體的方式被創造出來。我們可以預測到智能合約在未來幾年將會有巨大而普遍的需求,而智能合約工程是推動和保障發展的路徑。

1.智能合約工程起源的背景

就像軟件工程對于軟件發展的作用,建立并使用完善的工程化原則,以較經濟的手段獲得能在實際機器上有效運行的可靠軟件的一系列方法;智能合約工程就對于智能合約的作用,就是智能合約開發和維護的一系列經濟工程方法。

CyberConnect與跨鏈智能合約平臺Clover Finance達成合作:2月27日消息,Web3社交圖譜協議CyberConnect與跨鏈智能合約平臺Clover Finance達成合作,并集成Clover Wallet。用戶可以選擇使用Clover Wallet賬戶登錄CyberConnect。在未來,雙方將共同致力于實現Sakura網絡的社交功能。[2022/2/27 10:18:48]

這里可簡要回顧一下軟件工程的發展路徑,從而預測智能合約發展之路。百科詞條給出了簡明解釋,程序設計階段出現在1946年~1955年。此階段的特點是還沒有軟件的概念,程序設計主要圍繞硬件進行開發,規模很小,工具簡單,無明確的開發者和用戶分工。而軟件設計階段出現在1956年~1970年。此階段的特點是:硬件環境相對穩定,出現了軟件開發組,建立了軟件的概念。

隨后軟件系統的規模越來越龐大,高級編程語言層出不窮,應用領域不斷拓寬,開發者和用戶有了明確的分工,社會對軟件的需求量劇增。但軟件產品的質量不高,生產效率低下,導致了60年代中期開始的“軟件危機”的產生,軟件的成本、質量、工期、維護和規模生產都無法保證。從而誕生了軟件工程這一新興的工程學科。

動態 | CryptoKitties開發商推出智能合約錢包Dapper:以太坊養貓游戲 CryptoKitties 的開發公司 Dapper Labs 推出了智能合約錢包 Dapper。該公司表示 Dapper 智能合約支持帳戶恢復和欺詐保護等安全功能,提供手續費智能管理和即將推出的多設備支持功能,無需奪取用戶的控制權。Dapper 表示實現上述功能的原理是智能合約允許該錢包作為用戶交易的共同簽名者,因此 Dapper 可以監控異常行為,如向異常地址發送大筆款項、在不經常活躍地區活動、清空賬戶的請求。此外,若用戶丟失密鑰或設備,可通過 Dapper 的 Rescue Kit 工具恢復帳戶的訪問權限。[2019/4/28]

軟件工程主要研究軟件生產的客觀規律性,建立與系統化軟件生產有關的概念、原則、方法、技術和工具,指導和支持軟件系統的生產活動,以期達到降低軟件生產成本、改進軟件產品質量、提高軟件生產率水平的目標。在軟件開發過程中人們開始研制和使用軟件工具,用以輔助進行軟件項目管理與技術生產,人們還將軟件生命周期各階段使用的軟件工具有機地集合成為一個整體,形成能夠連續支持軟件開發與維護全過程的集成化軟件支援環境,以期從管理和技術兩方面解決軟件危機問題。

聲音 | 安比實驗室:8月ETH主網智能合約創建總量創17個月新低 或因ETH交易市場遇冷:據安比實驗室智能合約監控平臺數據顯示,2018 年 8 月以太坊主網智能合約創建總量為 51583,創 2017 年 4 月以來新低。8 月創建合約最多的地址為0x9862D074e33003726fA05c74F0142995f33A3250,共創建合約 8802 個。經安比實驗室逆向分析,該地址創建合約字節碼完全一致,疑似為錢包合約。據 BitcoinTalk 論壇網友舉證,該地址疑似與 BiteBTC 和 BITRADERHUB 有關,且大量用戶聲稱其存在詐騙行為。據安比實驗室,大量數字貨幣交易所會批量創建智能合約作為用戶錢包,用于處理用戶的各類資產。之前有過報道,7 月份智能合約創建數量暴漲,疑似與某交易所大量創建錢包合約有關。而 8 月合約新增數量創 17 個月以來新低,則很可能與加密貨幣尤其是以太坊資產交易市場遇冷、新增用戶規模萎縮存在重要聯系。[2018/9/3]

軟件工程確定了七條基本原理,涉及設計語言、數據庫、軟件開發工具、系統平臺、標準、設計模式等方面。目標是在給定成本、進度的前提下,開發出具有適用性、有效性、可修改性、可靠性、可理解性、可維護性、可重用性、可移植性、可追蹤性、可互操作性的軟件產品。軟件工程極大地推動和保障了現代軟件業規模的生產和應用。

現場 | Bill Fuggle:智能合約之外依然需要律師 國家制定規范促進行業進入更光明時期:金色財經7月2日現場報道,在臺北舉辦的2108亞洲區塊鏈峰會(ABS)上, Lee and Li律師事務所合伙人指出,雖然區塊鏈帶來了智能合約,但依然需要律師參與其中。如果完全按照市場“看不見的手”來運行,會存在管理風險,而更多律師在法律角度上參與可以提高信任。律師的參與有助于提高智能合約的透明度,不只讓公司,更讓更廣大的參與者進行監督。從國家的角度來規范也十分重要,以實現更高的透明度,讓區塊鏈行業發展進入更光明的時期。[2018/7/2]

智能合約作為區塊鏈上的一種鏈上軟件代碼被廣泛接受,是存儲在區塊鏈上的一類特殊軟件,可以按預先設定規則、按順序、安全、可驗證的方式實施特定的流程,合約的執行就是根據規定好的合約條款對合約方的合約信息進行的判別,并根據執行的結果采取相應的動作,職能類似于商業交易、監督管理過程中法律、法規的執行者。由于這些特點及執行價值轉移的巨大利益關聯性,智能合約的可信、公信、規模生產和可靠、正確和可監控執行帶來了新的挑戰或危機。

計算機科學家開發新的編程語言,讓智能合約開發更方便:計算機科學家Mark Miller、Dean Tribble、Brian Warner和Bill Tulloh已經成立了一家新創業公司,以開發一種基于javascript的安全、區塊鏈無關的編程語言。該公司已經獲得了種子輪融資,投資方包括Naval Ravikant、Polychain Capital和Zcash公司。這種編程語言將允許程序員以一種更直觀、更安全的方式進行編碼,同時允許進行目前智能合約測試中所難以進行的正式驗證過程。通過基于流行的編程語言javascript來創建,該公司的創始人認為,該語言將向更廣泛的開發者開放智能合約開發。[2018/5/22]

這些危機越發引起人們的極大關注,典型案例如2016年6月17日,運行在以太坊公有鏈上的TheDAO智能合約遭遇攻擊,該合約籌集的公眾款項不斷被一個函數的遞歸調用轉向它的子合約,涉及總額三百多萬以太幣,這是一起嚴重的智能合約被攻擊事件。2018年5月美鏈(BEC)被爆出安全漏洞,被黑客用以太坊ERC-20智能合約中BatchOverFlow漏洞攻擊,引發價格閃崩,據英國和新加坡的研究人員統計,超過34000個智能合約都有可被利用的安全隱患等,智能合約危機已經凸顯。筆者在2017年5月首次提出了智能合約工程方法,并申請了相關的專利,下面簡單介紹其定義和主要內容。

2.智能合約工程的定義和主要內容

智能合約工程的定義:它是融合軟件工程、智能化方法和法律代碼化技術的智能合約系統化、規模化、判定化的開發、維護和執行過程。

一個基本的智能合約工程的開發框架如圖1所示:

圖1智能合約工程框架

這個框架中,主要融合了三個方面技術,一是傳統軟件工程的理論方法,形式化方法是合約進行確定性高級別驗證的有效手段,通過形式化語言把合約中的概念、判斷、推理轉化成智能合約模型,可以消除自然語言的歧義性、不通用性,進而采用形式化工具對智能合約建模、分析和驗證,最后自動生成驗證過的合約代碼這一周期過程;二是合約需要參與方的共同認定并盡可能智能化,合約代碼和文本需要保證一致的一致性測試性,并需要區塊鏈分布式機制保證其代碼和執行的不可更改和可信性,采用自然語言識別、認知理論和機器學習方法盡可能使復雜契約規則能夠準確地自動轉換為智能合約代碼,同時,智能合約生產過程必須更為智能,更容易為用戶理解、編寫、部署和執行監管;三是智能合約需要法律層面的規制,計算法律研究如何使用計算機技術以電子媒介的方式來實現對法律、法規、合同、章程等法律文件的表達和自動執行,保障通過計算機代碼所設定的規則與現實世界中的法定規則保持相一致。此外,描述合約交易實體間復雜耦合作用,體現價值的變化和轉移也是很有意義的,可采用數學方法分析對系統穩定性和可達集進行計算分析,指導智能合約的自動代碼生成。同時,提供系列化軟件工具來支持智能合約的全生命周期的服務產生、組合應用、驗證、部署和運維。

我們定義了智能合約工程指導下生產的智能合約應當滿足的十個方面基本屬性:

1)合法性:代碼符合法律規制,所控資產擁有所有權,且合法有效;

2)公信性:合約代碼產生機制必須具有公信、權威性,結果可驗證;

3)證據性:過程數據和場景必須被安全地存儲,可被用于法律證據;

4)一致性:智能合約應與文本一致,經過專業人士制定審核;

5)智能性:能準確反映合約各方的智力共識和復雜自然語言邏輯;

6)可信性:靜態產生和動態執行過程必須具有正確、安全、可靠和可監管;

7)可觀察性:合約方能夠通過用戶界面去觀察關于合約執行的所有狀態;

8)可驗證性:合約方執行合約的過程是運行時可驗證;

9)自強制性:對于違反合約行為的制裁必須是強制性的;

10)接入控制:合約相關的背景、場景和關系都應該作為資產保護起來,只有發生爭執的時候,才有權限地可把內容提供給第三方檢驗。

開發者在智能合約工程指導下需要完成一系列工程開發階段,包括以下基本方面:

1)M:合約建模,根據約定進行合約建模或模板填寫;

2)F:合約功能屬性和非功能屬性正確性驗證;

3)G:合約代碼的自動或半自動生成;

4)D:合約軟件的開發,開發出智能化的合約軟件;

5)C:合約代碼與合約文本之間的一致性測試,滿足約定;

6)L:合約代碼滿足契約的法律化約定,具有存證和自動判定功能。

此外,智能合約工程還將催生創新的擴展理論、方法、開發模型、計劃、標準和工具等,后期系列文章將逐步展開介紹。

可以預期區塊鏈和智能合約的關系就好像互聯網技術發展早期建網和網絡應用的關系,發展智能合約規模化生產技術就像軟件工程對發展軟件起到的重要作用一樣,必將成為區塊鏈產業和驅動應用落地最為有價值的事業。

作者胡凱為北京航空航天大學分布式實驗室、北京航空航天大學云南創新研究院教授。

Tags:區塊鏈DAPPDapperDAP區塊鏈專業學什么課程區塊鏈dapp開發Dapper價格DAPPT幣

SHIB最新價格
BitMEX日交易量創2019年新低,市場大波動可能即將到來_BTC

全球主要的加密貨幣衍生品交易市場BitMEX的比特幣日交易量已經達到了2019年的最低水平。上一次BitMEX交易所記錄到如此低的位置時,僅兩天后BTC價格就飆升了20%以上,從而開始了2019.

1900/1/1 0:00:00
至少160萬枚BTC石沉海底!比特幣為何比你想象中的還要稀缺?_比特幣

來源:coinmetrics 編譯:小蔥 BTC的實際流通供應量為1630萬枚,僅剩不到300萬枚比特幣可供開采。10月19日8點4分,比特幣區塊高度達到60萬,第1800萬枚比特幣被挖出.

1900/1/1 0:00:00
京東發布區塊鏈技術與應用全景圖,首度披露2020年戰略_區塊鏈

11月19日,在2019京東全球科技探索大會現場,京東數字科技集團副總裁曹鵬全景展示了京東區塊鏈的技術與應用,并發布了京東區塊鏈2020戰略.

1900/1/1 0:00:00
杭州市推出 “政務服務鏈” “一主多側”技術架構滿足政務需求_區塊鏈

來源:火鳥財經,原題《火鳥快訪|杭州市“政務服務鏈”可信應用場景》 作者:R-Lin 11月20號晚間,杭州市數據資源管理局公布了杭州市首條政務區塊鏈底層系統——“政務服務鏈”.

1900/1/1 0:00:00
最賺錢的區塊鏈基金們都在投什么?_ITA

文:小派克 來源:星球日報 相比于直接投資加密貨幣,有一種金融產品,可以讓投資者既享受加密貨幣市場成長紅利,又無需面對兌換、存儲、短期價格波動等問題,這就是加密基金.

1900/1/1 0:00:00
周小川最新演講:人民幣國際化是“早產兒”,央行數字貨幣主要聚焦國內_數字貨幣

來源:21世紀經濟報道 導讀:2019年第十屆財新峰會于11月7日-10日在北京舉行。中國金融學會會長,中國人民銀行前行長周小川出席并回應了一些問題.

1900/1/1 0:00:00
ads