1995年,計算機科學家,法學家和密碼學家,尼克·薩博提出了智能合約這個概念。但縱然牛逼如尼克·薩博,也沒有清晰地定義出什么是智能合約。
區塊鏈的發明,特別是以太坊的發布,讓智能合約這個概念在區塊鏈領域火熱起來。但到現在,以太坊也已經運行了4年多了,各種自稱為智能合約的產品已經運行超過4年了,但智能合約到底是什么,其實也沒有一個清晰的概念。
從以太坊開始,我就特別想搞明白智能合約到底是個什么東西。但好幾年了,我還不知道。
我覺得如果不能清晰定義出這個概念,那智能合約就會被玄學化,各種騙子就會拿智能合約來行騙。這是行業的悲劇。
既然我無法全面理解智能合約,今天我退而求其次,先理解一個目前區塊鏈行業內有共識的智能合約的子集——智能數字貨幣資產處置合約。這個詞是我造的。目前在以太坊上的數字貨幣資產的程序化處置,肯定是智能合約的范圍。我們先清晰地理解這個子集。
我們把討論的范圍限定在數字貨幣資產,什么是智能合約,就非常清晰了。先看三個例子。
比特幣挖礦獲得BTC獎勵的過程,就是一個智能合約。
比特幣挖礦出塊獎勵的規則,從2009年第一個bitcoin節點軟件發布時就定下來了,而且將會一直以這個規則運行下去。比特幣創世塊發行量是50BTC,然后是平均10分鐘能被挖出一個塊,一個塊獎勵50BTC。每挖出21萬個塊后,每個區塊獎勵減半。現在已經執行到了第二次減半,每個區塊獎勵12.5BTC。
任何人都可以參與挖礦,你只要遵守工作量證明的規則,就可以加入挖礦大軍。挖礦的工作量證明的規則,從bitcoin第一版本軟件就規定好了。一直都是對全世界公開透明。
所有的挖礦獎勵交易記錄,都是公開透明的完整地記錄在比特幣區塊鏈里。不可篡改,也不可刪除。
挖礦的整個設計,就像是一個勞動合同。你只要向比特幣系統提交了按規則約定好的工作量,系統就會給你獎勵工資。整個合同,都是以代碼的形式固定在系統里。而且整個合同的執行,是純自動的,不需要任何外力的介入。
這就是智能合約(合同)。合約的參與方是自由進出,合約的“勞工方”提交“工作量”,系統自動驗證“勞動量”,“勞工方”獲得“BTC工資”。
合約規則以代碼形式固定;參與合約無須授權自由進出;整個合同的執行,純自動,無須干預;100%公開透明,歷史100%被記錄,不可篡改,不可刪除。
比特幣挖礦這個智能合約,穩定運行了超過10年了,沒有出現問題。牛逼到爆炸。
在現實生活中,你知道我們簽訂勞務合同,上班,領工資是怎么一回事。和挖礦相比,區別是什么。
比特幣挖礦類似于一個“勞務換取BTC工資”的智能合約。我們再來看一個“商品出售”智能合約。
2017年6月26日,EOS開始進行ICO,一直持續到一年后,創下融資40億美元的歷史記錄。史上最成功的融資之一。
EOS的ICO的執行方式是這樣的。BM開發了一個“程序(智能合約,為方便描述,下稱這個程序為EOS-ICO程序)”,程序運行在以太坊區塊鏈上。
EOS-ICO程序有一個收ETH的地址,任何用戶都可以往這個地址轉入ETH。
每隔23小時,EOS-ICO程序會統計該地址收到多少ETH,以及分別由哪個用戶的地址轉入了多少ETH。
EOS-ICO程序然后會將200萬個EOS-erc20代幣,平均分配給這些ETH。
轉入過ETH的用戶,可以再次使用自己的以太坊賬戶,向EOS-ICO程序調用支付函數。支付函數就會向用戶的地址返回一筆EOS-erc20代幣。
這就是一個典型的,支付貨幣(ETH),智能合約,向用戶交付商品(EOS-erc20代幣)的過程。
最后,這個EOS-ICO程序收到的所有ETH,只能由BM(或者說是block.one公司)提取,他們控制了這個程序的私鑰。
EOS-ICO程序,就是一個智能合約,是一個自動的收取用戶ETH,自動向用戶交付商品的智能合約。
同樣的,合約規則由代碼固定;參與合約無須授權;合約執行純自動;100%公開透明,不可篡改,不可刪除。
EOS-ICO這個智能合約,穩定運行了1年,共361期,沒有出現任何差錯。共出售了10億EOS-erc20代幣,總融資額超過40億美元。牛逼到爆炸。
在現實生活中,我們知道“商品競價出售”的過程是什么樣的,被設計成智能合同后,區別有多大。
最后,我們來看一個“完成央行職責發行貨幣智能合約”MakerDao。MakerDao合約很復雜,復雜使人擔心,簡化是出路。
央行的主要職責是發行貨幣和調節貨幣市場利率。MakerDao智能合約干的就是這事。
MakerDao合同有兩個參與方,抵押借貸方,和市場利率調節方。
抵押借貸方通過將自己的ETH,充值進MakerDao合約抵押,合約則向借貸方發送Dai。Dai是一種穩定幣,期望做到和美元1:1錨定。
抵押率先假定為60%,即價值100美元的ETH,可以抵押出60Dai(60美元)。再假定爆倉線為125%,即如果抵押品的價值跌到了借貸額的1.25倍,就觸發系統拍賣程序,其他用戶可以通過將Dai發給拍賣程序,可以購買到低于市場價格(我們假定為低3%)的ETH。拍賣程序促使抵押借貸者在價格下跌時,及時將Dai還款,贖回抵押品。
那Dai如何能實現和美元錨定的目標呢?
首先要問的是,MakerDao智能合約怎么可能知道Dai和美元之間的匯率?MakerDao合約本身并不知道,但有人會給合約提供這類數據,這就是市場利率調節方。
MakerDao發行了一種幣,叫MKR。MKR持幣人享有合約運行收益(如Dai借貸的手續費)的分紅權。而抵押ETH借貸Dai的抵押率,爆倉線,等合約的參數是由MKR持幣人投票決定的。
MKR的分紅權讓持幣人有動力維持Dai和美元的穩定錨定。一個策略是調節抵押率和爆倉線。第二個策略是市場套利。
MKR持幣者是Dai和美元波動最大的套利者,他們是拍賣程序的最積極參與者,為的是套取其中的拍賣價和市場價的差額。如果1Dai低于1美元,MKR持幣者就贖返Dai,以降低Dai在市場上的供應。反之,1Dai高于1美元,MKR持幣者就會抵押ETH發行Dai,以提高Dai的供應。
以上設計就形成一個邏輯自洽的抵押發行穩定幣的系統。
MakerDao程序,就是一個智能合約。這個智能合約包含了比特幣挖礦這種“勞務合同”屬性,系統鼓勵參與者發現市場利率,從中套利;又包含了EOS-ICO智能合約的“商品出售合同”屬性,參與者可以使用ETH向合約“購買Dai”。
整個合約,同樣的,合約規則由代碼固定;參與合約無須授權;合約執行純自動;100%公開透明,不可篡改,不可刪除。
MakerDao已經穩定運行超過兩年了。市場抵押出1億Dai,即1億美元。沒出現問題。牛逼到爆炸。
從上面三個例子,我們可以看到將討論范圍限定的加密數字貨幣資產領域后,智能合約的定義。
智能合約是我們熟悉的經濟生活中的合同概念在互聯網上的一個延伸。智能合約,就是智能合同。
合同最重要的三大屬性是:金錢或財產;合同參與方的權力和責任;以及違約處置辦法。
智能合約最重要的三大屬性是:加密數字貨幣;參與合約的條件和收益;合約規則。
合同是依賴于現實生活世界的約定成俗,和法律保證,以及人的承諾信用等。
智能合約依賴于代碼規定,所以被廣泛地認定為,code is law。
智能合約的重要特性包括:在合約條款以代碼形式固定;參與無須授權;合約自動執行;公開透明,不可篡改,不可刪除歷史記錄。
最后,我沒能給出一個智能合約高度抽象的定義,可能就目前來說,這是時代的局限,整個行業都沒法給出清晰的定義。
責任編輯:ct
評論
查看更多