尼克·薩博是一位計算機科學(xué)家、加密大師,他在1994年寫成了《智能合約》(Smart contracts)論文,是智能合約的開山之作。
在智能合約中,“合約”即“合同”(也稱協(xié)議),但“智能”(smart)與人工智能用的是“intelligence”是兩個概念。
比特幣之后興起的以太幣,它所依賴的平臺(以太坊),即允許用戶自由布置智能合約。當(dāng)然,在以太坊上布署一個智能合約是需要花費以太幣的,需要“礦工們”把智能合約的代碼記錄在區(qū)塊里,并且發(fā)送給每一個結(jié)點,因此智能合約同樣是不可修改的。
現(xiàn)在我們用的“滴滴”或“Uber”,可以理解為“智能合約”的雛形。乘客發(fā)出請求,司機作出承諾。在智能合約下,幾乎不存在違約的情況,例如乘客打車后拒絕付款會被剝奪再次打車的權(quán)利。那么,在“滴滴打車”的樣態(tài)中,司機與乘客的權(quán)利義務(wù)不是寫在紙上,而是寫進(jìn)了計算機代碼,所有人的行為及后果均是由代碼決定的,這便是“智能合約”的雛形。
怎樣才能把傳統(tǒng)協(xié)議變成智能合約呢?以抵押協(xié)議為例,在抵押協(xié)議中客戶向銀行作出承諾,如果屆期不還錢,車輛就歸銀行所有。如果要把它變成智能合約,就需要把這個承諾寫進(jìn)計算機代碼,這在智能架駛時代是可以實現(xiàn),比如通過計算機代碼的設(shè)置,客戶屆期未按時還錢,車輛將會拒絕客戶使用,反倒是將架駛權(quán)限(如新的使用密碼)發(fā)送給銀行,銀行轉(zhuǎn)而擁有車輛的使用權(quán)。
因此,智能合約的本質(zhì)在于將合約的履行或者違反合約的后果都寫進(jìn)計算機代碼,由計算機程序自動執(zhí)行。在智能合約下,任何任性的行為,計算機代碼都會賦予其相應(yīng)的代價。
Lessig在他的《代碼:網(wǎng)絡(luò)空間的法律》中,為了解釋代碼在賽博空間(syberspace,可以理解為計算機程序所架構(gòu)的空間)中的作用,引入了“架構(gòu)”的概念。代碼便是虛擬空間的架構(gòu)。
法律和架構(gòu)在管理參與者方面是皆然不同的。法律依賴于個人將規(guī)則內(nèi)化為自覺進(jìn)而規(guī)范人的行為,個人行為一旦超越了法律的界線還需要法院強制執(zhí)行。然而,架構(gòu)通過塑造空間本身管理行為,它既不依靠個人對規(guī)則的信仰,更不依靠法院執(zhí)行。因此架構(gòu)在效率上明顯優(yōu)于法律。
依據(jù)架構(gòu)執(zhí)行合約時,不需要任何個人或者組織來決定如何執(zhí)行合約,你可以稱架構(gòu)執(zhí)行為自我執(zhí)行(self-enforcing),在這種情況下,違約甚至不可能發(fā)生。
“區(qū)塊鏈”語境下的“智能合約”,還有一個重要的特點:去中心化,或者說它是不可修改的?!皡^(qū)塊鏈”背景下的智能合約,則是分布在每一個結(jié)點(可以理解為一個服務(wù)器)上,它的內(nèi)容是不可調(diào)整的。以借錢的合約為例,合約一旦定立,它就發(fā)布給每一個結(jié)點,合約內(nèi)容不可更改;而且一旦屆期,合約會自動從借款人帳戶中扣掉比特幣或以太幣給借款人。