合約交易系統(tǒng)開發(fā)詳解|DAPP智能合約交易平臺開發(fā)搭建
什么是智能合約?
智能合約之父尼克·薩博(Nick Szabo )博士在1994年創(chuàng)造了智能合約概念并于1997年提供的簡化版,軟件開發(fā)找gong1003my、通過抵押品對抵押條約進行規(guī)范化。在區(qū)塊鏈沒有出來之前智能合約式中沒有普及開來,一個重要原因是因為缺乏能夠支持可編程合約的數(shù)字系統(tǒng)和技術。(189龔2524生4753)
詳細的解釋就是:智能合約其實是一種計算機協(xié)議,用一段計算機指令實現(xiàn)自我驗證、自動執(zhí)行,并產(chǎn)生可以驗證的證據(jù)來證明合約操作的有效性。
當智能合約的雙方在區(qū)塊鏈上產(chǎn)生資產(chǎn)交易的時候就會自動觸發(fā)一段代碼來自動完成具體的交易流程,這串計算機代碼就是智能合約。
簡單理解就是:智能合約是運行在區(qū)塊鏈上的一段代碼,一旦某個事件觸發(fā)合約中的條款,代碼即自動執(zhí)行。
怎樣實現(xiàn)智能合約?
實現(xiàn)智能合約就需要“圖靈完備”的計算機編程語言。“圖靈完備”這個詞大家似乎了解的不多,可以簡單地理解為能把世間一切可以計算解決的問題都計算出來的,這樣的一種虛擬機或者編程語言就叫圖靈完備。
舉一個例子說明一下:比如兩口做飯的鍋,一口鍋可以實現(xiàn)一切的烹飪方法煎、炒、蒸、燉、炸、汆、涮、鹵等,而另外的一口鍋則只能實現(xiàn)蒸和燉,其他的都不能實現(xiàn),那么前者就是圖靈完備的,后者則不是。
智能合約之所以可以在以太坊上完美應用,就是因為以太坊在其區(qū)塊鏈上提供了一種近乎圖靈完備的計算環(huán)境。只要是編程語言能夠實現(xiàn)的計算,其都能支持,這也為智能合約在更加廣泛的環(huán)境中得以應用堅實了基礎。
代碼就是法律?
對于智能合約的字面解釋導致了“代碼就是法律”的詞意變化,這一詞義的改變意味著智能合約具有約束力,并且被理解為法律文件。很多軟件工程師意識到創(chuàng)造一個完全無誤差的代碼是不可能的,一想到計算機程序具有法律效力就讓人手心出汗。這里有很多明顯的問題:
1、代碼含有bug。寫一個沒有bug的代碼實在是太難了,即使采取了所有可能的預防措施,在復雜的軟件中也總會出現(xiàn)沒有預料到的執(zhí)行路徑或可能的漏洞。
2、法律合約是受解釋和仲裁的約束。很難去創(chuàng)造一個縝密的合約。在任意一個大的合約里,可能出現(xiàn)的文稿錯誤以及一些條款需要解釋和仲裁。避免這些爭論就是法庭的作用。假設在一個合法合約的39至40 頁規(guī)定售價是100美金,然后在某一頁中打了一個額外的0,法庭將以“契約精神”來裁決。一臺電腦只能執(zhí)行預先寫好的條款,區(qū)塊鏈的不變性增加了這樣這個問題即合約不容易修改
3、軟件工程師不是法律專家,反之亦然。起草一份好的合約需要各種各樣的技能,不一定與編寫的計算機程序兼容。