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