常有人問,什麼是智能合約? 那麼一定得先了解什麼是「合約」。
在日常生活中的合約(合作約定)也就是合作方之間訂立的“合同”,現在我們的生活幾乎離不開合同,往大說,工作是與公司簽訂的勞動合同,買房是與房產公司簽訂購房合同,買保險是與保險公司簽訂保險合同;往小了說,網購、定外賣、打車都是與相關的服務提供公司簽訂了相應的合同。可以說,有人的地方就用合約。
甚至我們與人打賭,也是一種合約,但如果一旦一方抵賴,那麼履行合約就會變得困難。如果有一種合約,事先確定了規則,一旦觸發相關條款,合約將自動執行,無需人為干涉,也不用擔心有人抵賴。 是否存在這樣的合約呢?還真有,這便是智能合約。
01
什麼是智能合約
智能合約(Smart Contract)是上世紀90年代由密碼學家尼克·薩博提出的理念,由於當時缺乏可信的執行環境,智能合約沒有被應用和發展,直到以太坊的出現,才讓智能合約得以「復活」。
那智能合約到底是什麼呢?簡單來說智能合約就是用電腦語言取代了法律語言記錄條款並由程式自動執行的合約。換句話說,智能合約就是傳統合約的數位化版本,跑在區塊鏈網路上,由程式自動執行。
自動販賣機、ATM提款機,在某種程度上都可以被理解為執行智慧合約的機器,但這都不是真正意義上的智慧合約。
02
智能合約有哪些特色?
與傳統的合約相比,智能合約有三大特點:
1 、合約內容公開透明
智慧合約部署在區塊鏈上,其合約內容自然是公開透明的。
2、合約內容不可篡改
同樣,因為部署在區塊鏈上原因,智慧合約的內容是無法被修改的。
3、永久運行
運行在區塊鏈上的智慧合約,同樣被區塊鏈上網路節點共同維護,只要區塊鏈在,智慧合約就能永久的運行下去。有種「鏈在合約就在」的兄弟情義之感。
有區塊鏈三大特點加持的智能合約,與傳統的合約相比主要有以下優勢:
1、去信任。
由於智慧合約是基於區塊鏈的,合約內容公開透明且不可篡改。代碼即法律(Code is law),交易者基於對代碼的信任,可以在不信任環境下安心、安全地進行交易。
2、經濟、高效
相比傳統合約經常會因為對合約條款理解的分歧,造成糾紛;智能合約透過計算語言很好避免了分歧,幾乎不會造成糾紛,達成共識的成本很低。在智能合約上,仲裁結果出來,立即執行生效。因此相較於傳統合約,智能合約有經濟、有效率的優勢。
3、無第三方仲裁
#假設熊大和熊二打賭,賭明天是否會下雨,誰輸了的一方就需要給對方100元。如果輸的人抵賴,贏了的人就不會得到獎勵。為此,去找第三方仲裁機構,低效且費時費力。但如果賭約寫在智能合約上,在達成賭約之時,各自把100元打入智能合約地址,智能合約根據最終的結果,自動執行,贏的一方拿走所有的獎勵。 可見,智能合約就無需第三方仲裁。
03
智能合約真的很聰明嗎?
上面講的都是智能合約的優點,那智能合約真的是智能且沒有缺點的嗎? 其實不然,智能合約也有它的缺點。
如上所述,智能合約不可竄改的屬性,很容易建立起信任。 但同時也有不好的一面,如果智慧合約有漏洞,駭客可以利用智慧合約的漏洞,為自己牟利。
舉個簡單的例子,一台自動販賣機,本來售價是5塊的飲料,由於疏忽,寫成了5毛錢,管理員發現之後,可以立刻改正。但如果這台售貨機調用的是區塊鏈上的智能合約,那麼這個錯誤將無法修改,直到裡面飲料賣完。
另一方面,智能合約本身無法獲取(感知)外部的信息,涉及到需要外部信息才能裁決合約,需要對其寫入相關信息,它才能作出裁決。例如熊大和熊二打賭明天是否下雨的例子,智能合約本身是不知道第二天是否下雨了沒,需要通過其他信息源為它提供信息,比如中央氣像台數據,喲了這個信息之後,智能合約才能做出裁決。
從上面兩點看,智能合約既不完美也不智能。
04
小結
#綜上所述,關於智能合約,我們知道:
智能合約是用電腦語言取代了法律語言記錄條款、由程式自動執行的合約。 部署在區塊上的它,也具備了區塊鏈的資料公開透明、不可篡改、永久運行的特點。
與傳統的合約相比,智能合約有去信任、安全、有效率、無需第三方仲裁的優點。但智能合約並不完美,而且也不智能或是說它的智能程度很低。
文章中提到智能合約的執行無需第三方機構裁決,同時又提到,當執行條件涉及到外部資訊時,智能合約無法感知,需要對智能合約輸入相關的信息,才能觸發智能合約去執行裁決。你覺得這兩個說法矛盾嗎?歡迎到留言區分享你的觀點。
以上是Defi中的關鍵,智能合約是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!