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