區塊鏈技術資源分享
追尋中本聰先生的腳步
?

智能合約以太坊的本質_降低準入門檻_自動化技術的應用_以太坊構建之初V神早期_區塊鏈大本營

本文在某種意義上是傳世孤本。

2014年2月24日,以太坊創始人Vitalik Buterin在Bitcoin Magazine上寫下了這篇文章??赡苓BV神都沒想到,這篇文章成為以太坊構建之初,自己唯一一篇系統介紹DAO(去中心化自治組織)的傳世文章。

可惜的是,這篇文章不僅是孤本還是殘本,至今國內無人翻譯過,堪稱滄海遺珠!

在完成本文前兩部分后,Vitalik突然投筆,不再繼續本系列的創作。

其間發生了什么,我們不得而知。然而僅這兩部分文字的價值,足以被奉為圭臬。

不同于后來區塊鏈玩家的探索乃至專家的研究,以太坊創始人的眼光與角度是無可比擬的。

本文中,Vitalik用簡短的幾行代碼揭示了智能合約的本質;以傳統行業的變更預測了自動化技術的應用。甚至,處在以太坊宣傳時期,他竟沒有分門別類地將DAO的優勢一條一條列出。他告訴讀者最本質的東西:降低準入門檻。

Vitalik在字里行間表露了他最真實的想法。你可以讀到他的期待、他的諷刺和他的擔憂。

讀完本文,你會發現,他就是那個技術宅,他就是那個理想主義者,他就是那個改變世界的人。

“將原有法律去中心化、近乎烏托邦式的追求、創造完全無信任的社會……”
——Vitalik Buterin

作者 |?Vitalik Buterin

譯者 |?Eli

譯者提示:

本文作于2014年初,其中部分區塊鏈術語目前已不再使用??赡苡捎谠擃愋g語使用時間較短,國內尚無對應翻譯,編譯時處理如下:

例如Factum Law、Factum Money以及Factum Society等,酌情將Factum翻譯為共識。再如Judge,在當時可能直接移用為區塊鏈術語,根據上下文語境翻譯為法官或第三方權威等。

智能合約:自我執行合同

宣傳以太坊的許多概念聽起來可能非常魔幻,有時甚至令人恐懼。

比如所謂的“智能合約”,它能在沒有任何人為干預或參與的情況下自我執行指令;

人類社會組成類似天網的“去中心化自治組織”,完全生活在云上;

然而其控制的強大財力又可以激勵人們在物質世界中做實事;將原有法律去中心化、近乎烏托邦式的追求、創造完全無信任的社會……等等。

對于不知情的用戶,尤其是那些比特幣都沒有聽說過的用戶,很難想象以上這些事物的實現,也無法理解這些想法的價值。本文旨在詳細剖析這些想法,說明每個想法的確切意義,并討論它們的屬性、優點和局限性。

本文的第一部分將討論“智能合約”。

智能合約是一個幾十年前就存在的想法,但是它在2005年才被Nick Szabo命名并引起密碼學領域的注意。

智能合約的定義很簡單:智能合約是一種能自我執行的合約。也就是說,普通合約好比是一份PDF文件,其中有要求第三方權威(judge)命令一方在某些條件下向另一方匯款的文字。而智能合約是一種計算機程序,可以在硬件上運行,自動執行這些條件。

Nick Szabo以自動售貨機為例:

“這是一個現實生活中的例子,我們可以認為自動售貨機是智能合約的鼻祖。在有限的潛在金額損失下(即收費金額低于違反機制的成本),該機器接收硬幣,并通過簡單的機制,根據既定價格分配和更改產品。自動售貨機等于是與交易方簽訂的合同:任何擁有硬幣的人都可以與賣家交易。同時,密碼箱和其他安全機制保護存儲的硬幣和內容,使它們免受攻擊者的影響。因此,自動售貨機可以在各地部署并盈利?!?/p>

智能合約這個概念可以被應用于很多事物。我們可以制定智能金融合約,根據某些程式和條件自動洗錢;智能域名銷售訂單能以200美元的價格自動銷售域名;控制銀行賬戶的智能保險合約能根據相關信息自動支付……等等。

智能財產

然而,同時我們也面臨一個重要問題:這些合約如何有效實施?就像傳統合約一樣,除非有一個第三方權威,并擁有強制執行合約的法律權力,否則它們沒有價值。智能合約需要被“插入(plug in)”某個系統才能真正有權做任何事情。

最簡單,最老套的解決方案是使用硬件,這個想法也被稱為“智能財產”。Nick Szabo的自動售貨機就是典型的例子。在自動售貨機中,有一種原型智能合約,包含以下計算機代碼:

if?button_pressed?==?"Coca?Cola"?and?money_inserted?>=?1.75:?release("Coca?Cola")?
return_change(money_inserted?-?1.75)
else?if?button_pressed?==?"Aquafina?Water"?and?money_inserted?>=?1.25:?release("Aquafina?Water")?
return_change(money_inserted?-?1.25)
else?if?...

合約有四個“鉤子(hook)”連接外部世界:button_pressed和money_inserted變量作為輸入,release和return_change命令作為輸出。所有這四個“鉤子”都依賴于硬件。我們僅研究最后三個,因為人類輸入通常不成問題。

如果合約在一臺2007年的Android機上運行,它將毫無用處。因為該Android機無法獲悉有多少錢被放入投幣口,當然也無法釋放可口可樂或返回更改。而在自動售貨機中,合約能自我執行,并且其物理安全性阻止人們在違約的情況下獲取可口可樂。

智能財產的另一個更具未來感的應用是租賃汽車:想象在未來世界中,每個人的智能手機都有對應的私鑰,當你向某個地址支付100美元后,一輛汽車會自動響應你的私鑰指令一天。

房屋也同理。大部分辦公樓都是智能財產:訪問權限由訪問卡控制,每扇門的訪問權限由一段代碼控制并連接到數據庫。如果公司有一個自動處理雇傭合同,并激活新員工訪問卡的人力資源系統,那么該雇傭合同在某種程度上就是一份智能合約。

智能貨幣與共識社會

然而,智能合約的物理屬性使其作用非常有限。其物理屬性的安全性較低,所以即便你擁有數萬美元,其智能屬性設置也讓你無法完成任何大筆交易。

合約最終涉及轉移資金,但是我們怎樣才能真正做到讓合約轉移資金呢?目前幾乎不可能。

理論上,我們可以將合約的詳細登錄信息提供給我們的銀行賬戶,然后讓合約在某些條件下匯款,但問題在于這種合約并非真正的“自我執行”。簽訂合約的一方總是可以在付款到期之前關閉合約,或者用盡他們的銀行存款,甚至只是更改賬戶密碼。因此,無論合約怎樣與系統結合,總有人有能力將其關閉。

我們如何解決這個問題?該答案在我們目前的社會背景下可能較為激進,但在比特幣領域已經人盡皆知:我們需要一種新的貨幣。

到目前為止,貨幣經歷了三個階段的演變:商品貨幣,商品支持貨幣和法定貨幣。

關于商品貨幣的理解很簡單:該類貨幣本身很有價值,因為它同時也是一種具有某種“內在”使用價值的商品。金銀就是典型的例子。在更傳統的社會中,我們也使用茶,鹽和貝殼等。

接下來是商品支持貨幣,比如銀行簽發的票券很有價值,因為它們可以兌換黃金。

最后是法定貨幣(fiat money),其中的“法定(fiat)”就像“要有光(fiat lux)”一樣。上帝說“讓那里有光”,聯邦政府就說“讓那里有錢”(譯者注:Vitalik此處提及此典故顯然有諷刺意味)。

法定貨幣的價值主要在于發行它的政府接受了這種貨幣,它也成為支付稅費及其他幾項法律特權的唯一指定貨幣。

然而,比特幣的出現使我們有了一類新的貨幣:共識貨幣。

法定貨幣與共識貨幣之間的區別在于:法定貨幣由政府(或其他類型的代理機構)制造并維護。共識貨幣只是一個資產負債表,其中有一些關于如何更新資產負債表的規則。

比特幣是第一個例子,但還有更多衍生的例子。例如,人們可以有一個替代規則,該規則規定只有來自某個“起源交易(genesis transaction)”的比特幣才算作資產負債表的一部分。這種貨幣被稱為“彩色硬幣”,它也是一種共識貨幣。

事實上,共識貨幣的主要優點恰恰是它與智能合約融合得非常好。

智能合約的主要問題在于其執行力:如果合約規定當X發生時就向Bob發送200美元,那么我們如何確保將200美元發送給Bob?

使用共識貨幣的解決方案非常完美:該貨幣的定義,或者更確切地說是當前資產負債表的定義,是執行所有合約的結果。因此,如果X確實發生了,那么每個人都會同意Bob獲得額外的200美元。反之,如果X沒有發生,那么每個人也會同意Bob保有他之前的財產。

這是一個令人難以置信的革命性創造。

事實上,我們為合約甚至法律創造了一種有效的工作方式,卻不需要依賴任何形式的機制。想要罰款亂扔垃圾的人100美元嗎?那么定義一種貨幣,如果亂扔垃圾就扣除100個貨幣單位,并讓人們接受這個方案。

如果沒有下面討論的一些重要注意事項,這個例子很可能是難以實現的。但它顯示了一般規律,該規律在其他許多領域是適用的。

智能合約有多智能?

智能合約顯然適用于任何類型的金融應用,甚至是兩種不同共識資產之間任何類型的交換。

比如域名銷售,像google-com這樣的域名是一種共識資產,因為它由服務器上的數據庫支持并被人們接受,而購買它的資金也可以是共識貨幣。目前,銷售域名是一個復雜的過程,往往需要專業化服務。而在未來,你可以將銷售報價打包成智能合約并將之放在區塊鏈上,如果有人接受,交易將自動進行,并且不存在欺詐的可能性。

在貨幣領域,去中心化交易所是另一類應用。此外,我們還可以制作對沖和杠桿交易等金融合約。

然而,在某些領域智能合約并不是那么適用。

以雇傭合同為例:A同意為B完成某項任務并獲取X單位的貨幣C作為報酬。智能合約可以輕易處理支付環節。但是,有一個環節卻非常困難:確認工作完成。

如果該工作是在物質世界中完成的,就幾乎無法確認,因為區塊鏈沒有任何方式來訪問物質世界。即使工作是在線上完成的,仍然會存在評估質量問題。當然,在某些情況下,計算機程序可以使用機器學習算法有效地判斷一些特征。

綜上,很多時候一個完全由算法運行的社會是存在問題的。

幸運的是,有一個穩健的解決方案可以結合兩個世界的優點:法官(judge)。

法院的法官擁有極大的權力去做他們想做的事情。人們需要提起訴訟,等待相當長的審判時間,最終法官根據法律制度做出判決。整個過程本身并不高效。私人仲裁往往比法院更便宜、更快捷,但仍然存在問題。

然而,共識世界中的法官完全不一樣。一份雇傭智能合約可能如下:

if?says(B,"A?did?the?job")?or?says(J,"A?did?the?job"):?send(200,?A)
else?if?says(A,"A?did?not?do?the?job")?or?says(J,"A?did?not?do?the?job"):?send(200,?B)

says是簽名驗證算法;says(P,T)主要檢查是否有人提交了攜帶文本T的信息和使用p的公鑰驗證的數字簽名。

那么這份合約是如何運作的呢?首先,雇主會將200個貨幣單位放入合約并讓合約托管。在大多數情況下,雇主和雇員都是誠實的,所以A退出并通過簽署信息說“A沒有完成工作”將資金釋放回B。B驗證A是否完成了工作,并決定合約是否將資金釋放給A。但是,如果A完成了工作,而B不同意,那么由J來判斷A是否完成了工作。

請注意,這里將詳細描述J的權力。J有權判決A是否完成了這個工作。更復雜的合同還可能賦予J在兩個極端間作出判決的權力。但J無權判決A應該得到600個貨幣單位、或者J應該得到200個單位貨幣、或者原有定義邊界之外的其他任何東西。

J的權力由包含J的公鑰的合同執行,因此資金根據其邊界自動轉到A或B。合約甚至可以要求來自3名法官中的2名的判決,或者它還可以讓法官各自評判該工作的不同部分,并讓合同基于這些評級自動為B的工作打分。任何合約都可以隨心所欲地與任何法官合作(plug in),判斷特定事實真實與否、提供某些變量的度量、或者成為推進進度的一方。

這比現有系統好多少?簡而言之,這里引入的是“判決即服務”機制。

當前,為了成為“法官”,你需要在私人仲裁公司或政府法院任職,或者自主創業。在加密的共識法律系統中,做一名法官只需要一個公鑰和一臺可以訪問互聯網的計算機。雖然聽起來不太靠譜,但并非所有法官都需要精通法律。例如,一些法官可以專注于核查產品是否正常發貨;其他法官可以核實勞動合同的完成情況;其他人可以評估保險合同的損害賠償金。

這一切需要合約作者在合約的各個部分安置合適的法官,而這一環節又可以完全使用計算機代碼完成。

這一切就是這么簡單。

最終優勢:降低準入門檻

兩個行業的故事

我們可以看到在互聯網時代,特別是在通信領域和商業領域,使用因特網驅動(internet-driven)技術促進自動化的最大好處是:它提高了工作效率并降低了準入門檻。該技術為傳統世界帶來了許多積極影響,其中一個典型的例子就是出版業。

在20世紀70年代,如果你想寫本書,那么在書到達消費者手中之前,你需要經過大量不透明的、中心化的中介機構。首先,你需要一家有能力編輯和營銷你的書、并為消費者提供質量保證的出版社。其次,印好的書需要進行分發,最后在每個書店出售。銷售鏈的每個環節都需要大量的支出。最后,幸運的話,你能夠獲得每本書10%以上的收益作為版稅(royalty)。

請注意“版稅”這一術語的用法,這意味著你作為這本書的作者只是銷售鏈中一個無關緊要、消耗幾個百分點收益的部分,而不是決定這本書存在的重要人物。

時至今日,情況有了很大的改善。我們現在擁有分工明確的印刷公司、營銷公司和書店,每個行業都有清晰準確的定位,并且面臨著大量的競爭。此外,如果你不介意僅發行電子書的話,你可以直接在Kindle上出版并獲得其70%的盈利額。

現在,讓我們看一個完全不同的行業中非常相似的例子:消費者保護,更具體地講是托管(escrow)。

托管是商業貿易中非常重要的功能,尤其是在線貿易。

當你從小型網上商店或Ebay上的商家購買商品時,你是在參與雙方都沒有實質聲譽的交易。因此,當你默認發送款項時,你無法確保收到對應的商品。而托管可以提供解決方案:你不是直接將錢匯給商家,而是首先將錢匯給托管代理,然后托管代理會等待你確認收到該商品。如果你確認,那么托管代理將錢匯給商家;如果商家確認無法發送該商品,則托管代理會退還款項;如果存在爭議,則啟動裁定程序,托管代理會根據具體情況做出裁定。

然而,在當前托管的應用方式中,它由中心化實體控制,并附帶大量其他功能。

例如,在Ebay的在線市場中,Ebay為賣家提供服務器并托管他們的產品頁面、為產品提供搜索和比價功能、以及為買賣雙方提供評級系統。Ebay還控股Paypal(大型電子支付平臺),它實際上是將錢從賣方轉移到買方。從本質上講,這與20世紀70年代的出版業沒有差別。

那么我們如何利用加密貨幣智能合約建立一個理想的市場呢?

極端一點,我們可以使整個市場去中心化。例如,使用類似Diaspora的模型,允許賣方在專門的網站上、在他們自己的服務器上、或在去中心化的Dropbox實現上托管他們的產品;使賣家在類似Namecoin的系統中存儲他們的身份,并在區塊鏈上運行信任網絡。然而,我們現在有了一個更穩健和簡單的目標:將托管代理功能從支付系統中分離。

比特幣為此提供了一種解決方案:多重簽名交易。

多重簽名交易的介紹

多重簽名交易允許用戶將資金發送到具有三個私鑰的地址,這樣你需要其中兩個私鑰才能解鎖資金(多重簽名也可以是1-of-3、6-of-9或其他任何類型,但是在實踐中,2-of-3是最有用的)。

將之應用于托管的方式很簡單:在買方、賣方和托管代理之間創建2-of-3托管,讓買方向其匯入資金,當交易完成時,買方和賣方簽署交易完成托管。如果存在爭議,托管代理會進行裁定,并與買賣雙方簽署交易以向他們發送資金。在技術層面上,這有點復雜。但幸運的是,Bitrated創建了一個網站,使普通用戶可以輕松完成整個過程。

當然,就目前的形式而言,Bitrated并不完美,也沒有那么多比特幣貿易使用它。它的操作可能也沒有那么容易,特別是因為,大多數人不習慣連續幾周存儲每個交易的特定鏈接。

如果將它與一個完全成熟的商業程序結合,它會更加強大。一種設計是與類似KryptoKit的網絡應用程序結合,向每個用戶顯示“開放”購買和銷售列表,并為每個用戶提供“完成”、“接受”、“取消”和“爭議”四種按鈕。接著,用戶就可以與多重簽名交易系統進行交互,就好像它是標準的支付處理器一樣,但用戶會在幾周后收到通知以最終確定或返回他們的購買。

但是,如果Bitrated完善它的交互界面,并且該系統被大規模采用,將會帶來什么樣的變化?答案還是降低準入門檻。

目前,進入消費者托管和仲裁業務很困難。為了做成一個托管服務,你必須構建一個完整的平臺和一個生態系統,以便消費者和商家在你的平臺上交易。你也不能只托管資金,你首先需要轉移資金。

比如,為了保護消費者權益,Ebay需要擁有并控制Paypal。有了Bitrated,所有這一切都會發生變化。任何人都可以成為托管代理人和仲裁員,而類似Ebay的市場可以為仲裁員以及買賣雙方提供評級系統。

或者,系統可以在后臺處理仲裁,類似于Uber處理出租車司機事務:任何人都可以在通過審查后成為仲裁員,系統會自動獎勵評級較高的仲裁員并解雇評級較差的仲裁員。中介手續費會下降,甚至可能大大低于Paypal收取的2.9%。

智能合約

智能合約采用同樣的基本理念,甚至走得更遠。

人們可以使用基于區塊鏈的金融衍生合約與去中心化的訂單簿,而不是依靠像Bitfinex這樣的平臺對沖比特幣持股、或者以高杠桿率投機。這樣做不會讓中心化機構收取任何費用。維護交易的持續成本,包括操作安全性、服務器管理、DDoS保護、營銷和法律費用,都可以替換為一次性編寫的合同,其代碼可能少于100行。此外,一個完美的交互界面也能一次性構建出來。

從那時起,除了網絡費用外,整個系統將是免費的。像Dropbox這樣的文件存儲平臺同樣會被替換。雖然硬盤需要花錢,并且系統也不免費,它仍會比目前費用便宜得多。智能合約還可以通過簡化供應方參與流程來幫助平衡市場:任何擁有大硬盤、甚至是帶有額外空間的小硬盤的人,都可以輕松地安裝應用程序并通過出租多余的硬盤空間賺錢。

商務關系可以由智能合約管理,而不再需要昂貴的法院系統和私人仲裁服務,當然其中需要人類解釋的合同部分可以分為許多專業化類別。

可能有專門決定是否發運產品的裁判(judge);專門確定網絡應用程序設計是否合格的裁判;專門檢查衛星圖像,并以0.75美元的費用裁定某類財產保險索賠的裁判;也會有能串聯以上每一個類別的合同作者。

專業化有其優勢,也是社會進步的原因之一,但其缺點之一是它始終需要中介管理和運作,包括專門管理中介關系的中介。智能合約幾乎可以完全消除這一類別中介,允許更大程度的專業化,同時降低其他類別的準入門檻。

原文鏈接:

【part1】https://bitcoinmagazine.com/articles/daos-scary-part-1-self-enforcing-contracts-factum-law-1393297672/

【part2】https://bitcoinmagazine.com/articles/daos-scary-part-2-reducing-barriers-1393728451/

區塊鏈大本營Vitalik Buterin

分享到:更多 ()
0
區塊鏈神吐槽
pi幣注冊流程教程圖解中文版

來評論吐槽 搶沙發

評論前必須登錄!

 

區塊鏈資源分享聯系我

區塊鏈資源分享聯系我首頁更多新聞
做滴滴代驾还是开滴滴那个赚钱