譯者序:MUD v2於近日發布穩定版,使以太坊離「世界電腦」的願景又更近了一步。原文寫於2015 年10 月,作者回顧了半個多世紀以來,電腦、網路如何深刻影響人類社會的大規模協作。分析此協作模式中存在的問題,並提出區塊鏈(以太坊)作為解決該問題的最佳方案,以及區塊鏈(以太坊)作為世界電腦的巨大潛力,文中幾乎不涉及任何技術細節,對非技術背景的讀者非常友善。
瞧,Skynet!
以太坊帶來強烈的情緒。有些人將其與《魔鬼終結者》電影中的分散式人工智慧Skynet 進行比較。也有人曾經認為整件事只是一個白日夢。該網路已經運行了幾個月,沒有表現出敵對的自我意識或完全崩潰的跡象。
但是,如果你的技術水平不是很高,或者在不同領域的技術水平不是很高,那麼很容易盯著所有這些東西並想著“我稍後會解決這個問題”,或者決定忽略它。
事實上,要理解以太坊、區塊鏈、比特幣和其他所有技術並不難,至少對人們日常工作和生活的影響是如此。即使是想要清晰了解情況的程式設計師也可以相當輕鬆地獲得足夠好的模型來了解這一切如何組合在一起。區塊鏈解釋者通常會專注於一些非常聰明的底層細節,例如挖礦,但這些東西實際上並不能幫助人們(除了挖礦者)理解正在發生的事情。因此,讓我們看看區塊鏈如何適應電腦、如何影響社會的更普遍的故事。
通常情況下,要理解現在,我們必須從過去開始:區塊鏈是戲劇的第三幕,而我們正處於第三幕的開始。所以我們必須回顧一下。
SQL:昨天最好的想法
真正的區塊鏈故事始於20 世紀70 年代,當時我們所知的資料庫被創建:關係模型、SQL、旋轉磁帶驅動器的大型機架,所有這些東西。如果你想像白色的大房間,裡面有昂貴的米色巨石,由打領帶的男人看守,那麼你就站在歷史的正確角落。在「大鐵時代」(譯者註:大鐵時代指的是電腦科技發展的早期階段,特別指使用大型主機(Mainframe)和大型主機(Supercomputer)的時代。這些大型電腦通常被稱為”大鐵”,因為它們通常非常龐大、笨重,需要大量的實體空間和能源來運作),大型組織向IBM 和其他公司支付大筆費用來購買大型資料庫,並將所有最寶貴的資料資產放在這些系統中:他們的機構記憶體和客戶關係。
為絕大多數運行Web 的內容管理系統提供支援的SQL 語言,最初是磁帶磁碟機的命令語言。固定字段長度,有點像推文的140 個字元限制,最初是為了讓不耐煩的程式以超高速快轉磁帶已知距離,以便將磁帶頭準確地放置在下一記錄開始的位置。這一切都發生在我出生的時候,這是歷史,但還不是古老的歷史。
在更高級、更語義的層面上,我們感知現實的方式發生了微妙的轉變:難以在資料庫中表示的事物變得被貶低和神秘化。多年來,人們努力使用知識管理、語義網絡和許多其他抽象概念將現實世界納入資料庫,但並非所有東西都適合用資料庫來管理,但實際上我們都是靠這些工具來管理社會的。那些與資料庫不完全相符的東西被邊緣化了,生活還在繼續。偶爾會出現技術逆流,並試圖反擊資料庫的“暴政”,但總體趨勢保持不變:如果它不適合資料庫,它就不存在。
你可能認為你不了解這個資料庫世界,但你確實生活在其中。每當你看到帶有方塊的紙質表格(每個框表示一個字母)時,你就在與資料庫互動。每次使用網站時,都會有一個資料庫(或更可能是一堆亂七八糟的資料庫)潛伏在表面之下。亞馬遜、Facebook,所有這些網路產品的背後都是資料庫。每當客服聳聳肩並說「電腦說不」或一個組織以瘋狂、不靈活的方式行事時,很可能在背後存在一個資料庫,它對現實的看法是有限的、僵化的,而且修復軟體的成本太高了。需要讓組織更智能,我們生活在這些盒子裡,像氧氣一樣無所不在,又像穿孔卡一樣僵化。
文件和萬維網
第二幕是由蒂姆·伯納斯·李的到來和Web 的出現開始的。實際上,在他到來之前,事情就開始了。在20 世紀80 年代末和90 年代初,我們開始認真對待電腦網路。像Telnet、Gopher、Usenet 和電子郵件這樣的協議,本身為早期互聯網的跨越弧線提供了一個用戶界面,但直到20 世紀90 年代,我們才大規模採用聯網計算機,逐漸導致我在Google Docs 上輸入此內容,而你正在網頁瀏覽器中閱讀它。這個連接點的過程是:“網路就是電腦”,就像Sun Microsystems 過去所說的那樣:速度很快。
在1990 年代初期,已經存在大量機器,但它們大多是獨立設備,或連接到大學校園中的數百台機器,沒有太多通往外界的窗口。無所不在的網路軟體和硬體、網路的網絡,網路花了很長時間才被創建出來,然後像野火一樣傳播。這些小塊變得鬆散地連接起來,然後緊密地耦合到我們今天所知道的網路中。隨著網路變得更聰明、更小、更便宜,並開始以「物聯網」之類的名稱出現在我們的燈泡等東西中,我們仍在乘著科技浪潮。
官僚機構與機器
但資料庫和網路從來沒有真正學會如何相處。機房裡的「大鐵」和無數像蜘蛛網上的露珠一樣分散在網路上的微型個人電腦,無法找到一個共同的世界模型來讓它們順利地互通。與單一資料庫互動非常簡單:你每天都在使用的各種表單和Web 應用程式就是在跟資料庫互動。但困難的是:讓資料庫在無形中為我們的利益協同工作,或讓資料庫與我們自己的筆記型電腦上運行的程式順利互動。
這些技術問題通常被官僚主義所掩蓋,但我們每天都會感受到它們的影響。讓兩個大型組織為你的利益合作起來,簡直是件麻煩的事,而根本原因在於這是一個軟體問題。也許你希望你的汽車保險公司能夠取得有關你的車被撬開的警方報告。很可能你需要從一個資料庫中提取數據,列印一些紙張,然後自己郵寄給保險公司:系統之間沒有真正的連結。
你不能透過笨拙的填寫表格來驅動這個過程,除非你坐在電腦前。沒有使用真正的計算機來處理事務的感覺,只有把計算機當作昂貴的紙張模擬器。儘管從理論上講,只要你同意,資訊就可以從一個資料庫流向另一個資料庫,但在實踐中,連接資料庫的技術成本巨大,而且你的電腦並沒有儲存你的資料以便為你完成所有這些工作。相反,它只是一個你填寫表格的工具。為什麼我們這樣嚴重地浪費了所有這些潛力?
數據哲學
答案,一如既往,就在我們自己的頭腦中。嵌入電腦系統中的組織性假設幾乎不可能被轉換。創造軟體的人類因素:塑造軟體的心態,彼此不相容。每個企業都按照自己的意願建構他們的電腦系統,而這些意願對於什麼是重要的、什麼是次要的存在分歧,而真相在它們之間並不容易流動。當我們需要從一個世界模型翻譯到另一個世界模型時,我們讓人類參與其中,結果我們回到了反映填寫紙本表格的流程,而不是真正的數位化合作。結果是一個世界,在這個世界裡,我們所有的機構似乎都各行其是,永遠無法完全達成一致,我們在日常生活中需要的事物似乎總是掉到了縫隙之間,而每一個流程都需要填寫相同的該死的姓名和地址數據,一天填寫二十次,如果你搬家的話更頻繁。你有多常從亞馬遜購物,而不是一些更專門的商店,只是因為他們知道你住在哪裡?
還有許多其他因素,導致我們電腦的理論潛力與我們日常使用之間存在巨大差距:技術加速、不斷變化、編寫軟體的巨大開銷等。但歸根結底,一切都取決於心態。儘管看起來只是一些二進位數據,但軟體的「架構師」手中掌握的預算足以建造摩天大樓,而在專案的後期更改類似於拆除一座半成品建築的成本。一排又一排的昂貴工程師們拋棄了數月(甚至數年)的工作:軟體被凍結在原地,而世界卻不斷變化。一切都有些微妙地出了問題。
一次又一次,我們回到了紙張和來自紙張時代的隱喻,因為我們無法正確處理軟體,而這個問題的核心是,我們在1990年代設法將電腦聯網,但我們從未真正搞清楚如何將資料庫進行真正的網路化,並讓它們全部協同工作。
人們嘗試使網路和資料庫順利協同工作的經典模型有三種。
第一種範式:多元化同儕模型
第一種方法是將機器直接連接在一起,然後邊操作邊解決問題。你使用機器A,透過網路將其連接到機器B,然後透過網路觸發交易。理論上,機器B 捕獲它們,將它們寫入自己的資料庫,並且工作順利。在實踐中,這裡存在一些問題。
這種認識論問題相當嚴重。在我們的組織中通常部署的資料庫儲存事實。如果資料庫顯示庫存為31,那對整個組織來說就是真相,除非可能有人去貨架下數了一遍,發現真實數量是29個,並將其作為更正輸入到資料庫中:資料庫是機構現實。
但是當資料從一個資料庫流向另一個資料庫時,它就跨越了一個組織的邊界。對組織A來說,資料庫A的內容是操作性的現實,真實的直到有證據證偽為止。但對組織B來說,通訊是一種觀點的陳述。例如一個訂單:訂單是一個請求,但在支付清算過程中超過退款點之前,它並不成為確認的事實。一家公司可能相信訂單已經發生,但這只是對他人意圖的猜測,直到冷硬的現金(或比特幣)消除了所有疑慮。在那之前,「錯誤訂購」的訊號可以重置整個過程。訂單存在於假設之中,直到現金支付將其從它所處的投機性緩衝區中清除,並將其牢固地置於固定的過去作為事實記錄的一部分:這個訂單存在,已發貨,已接受,並且我們已經為此付款。
但在此之前,該指令只是一種猜測。
一個簡單的要求,例如從一個組織流向另一個組織的新畫筆,從意向性的陳述逐漸清晰地變成了事實性的陳述,這種意義的變化通常不是我們會仔細考慮的事情。但當我們開始考慮到有多少世界、我們生活中的系統運作方式就像這樣:食品供應鏈、電力網路、稅收、教育、醫療系統,我們會覺得奇怪的是,這些系統為什麼不常引起我們的注意。
事實上,我們只有在出現問題時才會注意到它們。
與對等連接的第二個問題是,每個對等連接的不穩定性。對一端或另一端的軟體進行微小更改,就會引入錯誤。這些微妙的錯誤可能直到資料傳輸深入組織B的內部記錄才會變得可見。一個典型的例子是:一個訂單總是以12個一組下單,並作為一個箱子處理。但由於某種原因,有一天下了一個13個的訂單,在組織B的內部某個地方,一個庫存處理的電子表格崩潰了。無法運送1.083個箱子,於是整個系統就停止了運作。
這種不穩定性又受到另一個因素的影響:需要將一個組織的哲學假設:實際上是企業的知識論,轉化為另一個組織的私人內部語言。例如我們討論將預訂飯店和租車作為一個單獨的行動:飯店希望將客戶視為信用卡號,但租車處希望將客戶視為駕駛執照。一個小錯誤導致客戶身份識別錯誤,搞笑的是客戶被錯誤地要求提供他們的駕駛執照號碼來確認酒店房間預訂,但所有人都只知道錯誤信息是“電腦顯示不支持”,當客戶沒有意識到電腦現在想要的是其他資訊時,他們讀回他們的信用卡資訊。
如果你覺得這個例子很荒謬,那麼1999年美國國家航空暨太空總署(NASA)丟失了火星氣候軌道飛行器,原因是其中一個團隊使用英寸,而另一個團隊使用厘米。這些事情經常發生。
但在兩個商業組織之間的通信中,一個人不能簡單地查看對方的原始碼來找出錯誤。每當兩個組織會面並希望自動化它們的後端連接時,所有這些問題都必須手動解決。這很困難、很昂貴,而且容易出錯,以至於在實踐中,公司通常更願意使用傳真機。這是荒謬的,但這確實是當今世界的運作方式。
當然,有人試圖處理這個混亂:引入標準和程式碼可重複使用性,以幫助簡化這些操作,使業務互通成為事實。你可以選擇使用EDI、XMI-EDI、JSON、SOAP、XML-RPC、JSON-RPC、WSDL以及其他很多標準來輔助你的整合流程。
不用說,之所以有這麼多標準是因為沒有一個能夠正常工作。
最後,還有合作規模的問題。假設我們兩個人已經支付了合作的前期成本,並實現了無縫的技術集成,現在第三個合作夥伴加入我們的聯盟。然後是第四個,第五個,到了第五個合作夥伴,我們就有13個連線需要除錯。第六個、第七個……到了第十個,這個數字就是45。隨著每個新夥伴加入我們的網絡,合作的成本就會不斷上升,結果就是一些無法擴展的小型合作團體。
請記住,這不僅僅是一個抽象問題:這是銀行業,這是金融業、醫藥、電網、食品供應和政府都面臨的問題。
我們的電腦一團糟。
中心輻射:迎接新老闆
對於這個困境的常見解決方案是:透過直接連接對等方,來削減編寫軟體的指數(或二次方)複雜性,並簡單地讓某個人負責。基本上有兩種方法來解決這個問題。
第一種方法是我們選擇一個組織,例如VISA,並且都同意我們將使用他們的標準介面連接到VISA。每個組織只需要確保連接器正確,而VISA會從中抽取1%的費用,並確保一切順利結算。
這種方法存在的問題,可以用「自然壟斷」一詞來概括。成為其他人的中心或平台的業務,實際上是為任何在該職位上獲得現任地位的人印鈔票的許可證。可以以製定服務條款和與監管機構談判的形式發揮政治權力,總而言之,一種最初可能是為了建立一個中立骨幹的安排,很快就會變成一個全能龐然大物的客戶,沒有這個龐然大物,一個人就無法實現這一目標。不能做生意。
從鐵路、光纖、機場跑道分配到金融機構的流動性管理,這種模式以不同的複雜程度和規模在不同的行業中一次又一次地出現。
在資料庫的背景下,存在一個微妙的問題:平台經濟學。如果「中心與輻射」模型是每個人都運行Oracle 或Windows 伺服器或其他類似系統,然後依賴這些盒子無縫連接彼此,因為畢竟它們都是克隆的豆莢,那麼我們就有了與之前相同的基本經濟命題:要成為網路的成員,你依賴一個中介,他們可以隨意收取你的會員費,這種費用偽裝成技術成本。
VISA從這個遊戲中獲得了,世界範圍內相當大比例的交易的1%或更多收益。如果你曾經想過區塊鏈業務的經濟上升空間可能有多大,那就想想這個數字有多大。
協議,如果你能找到它們
該協議是終極「獨角獸」。這不是一家成立兩年後就價值十億美元的公司,而是一個非常好的想法,它讓人們不再爭論如何做事,而是繼續做下去。
互聯網依靠少數幾種東西運行:蒂姆·伯納斯·李的HTTP和HTML標準像魔法一樣運作,儘管當然他只是點燃了火種,無數的技術人員為我們提供了我們現在所知道和熱愛的奇妙混合。 SMTP、POP和IMAP驅動我們的電子郵件。 BGP解決了我們的大型路由器問題。還有幾十種越來越難以理解的技術/協議,它們驅動著我們大部分的開放系統的運作。
常見的抱怨是,諸如Gchat 或Slack 之類的工具執行的任務,在開放式協定中已經有了完全有效的解決方案(例如IRC 或XMPP),但它們實際上並沒有使用這些協定。結果是,沒有辦法在Slack 和IRC 或Skype或其他任何東西之間進行互通,只能透過可能提供不穩定係統效能的網關,將這一切拼湊在一起。結果是,技術生態系統退化為一系列由不同公司擁有的圍牆花園,並受到市場的擺佈。
試想一下,如果Wikipedia現在是一家刻意推動利用用戶基礎來獲利,並讓投資人回本的新創公司,那麼它現在會是多麼糟糕。
但是,當協議策略成功時,所創造的是巨大的真實財富,不是金錢,而是實際財富,因為世界由於能夠愉快地協同工作而得到改善。當然,SOAP和JSON-RPC以及所有其他協議都渴望支持協議的形成,甚至成為協議,但是每個領域的定義性語義傾向於產生內在複雜性,從而導致回到中心與輻射或其他模型。
區塊鏈,第四種方式?
你聽過人們談論比特幣。酒吧裡的傳教士們絕對確定某些基本的事情已經改變,他們滔滔不絕地說著「網路中央銀行」的話,並討論國家的終結。播客上的衣著光鮮的女士們談論著驚人的未來潛力。但這一切的底層是什麼?如果將科技與政治和未來潛力分開,那麼實際上又是什麼?
背後是一種將資料庫同步的替代方法,而不是透過列印一疊紙張並將其傳遞。讓我們思考一下現金:我從一家銀行取出一疊紙,然後價值從一個銀行帳戶(一個電腦系統),轉移到另一個銀行帳戶。再次將電腦視為紙張模擬器。比特幣簡單地採用了一種基於紙張的流程,即現金的基本表示形式,並用數位系統取代了它:數位現金。從這個意義上說,你可以將比特幣視為另一種紙張模擬器,但實際上它不是。
比特幣將該系統中的紙張,替換為所有比特幣網路中的電腦之間,關於交易涉及的所有帳戶當前價值的穩定協議(「共識」)。它透過真正的協議式解決方案實現了這一點:沒有中間人在其中提取佣金,也沒有來自各種不同連接器的指數級系統複雜性。區塊鏈架構本質上是一種協議,它像中心輻射一樣有效地完成任務,但沒有中心化的受信任第三方可能選擇提取佣金的問題,這真的是一件好事!這個系統具有一些神奇的屬性:所有節點上的資料最終一致,這些屬性超越了紙張和資料庫的範疇。我們稱之為“分散式共識”,但這只是一種花哨的說法,實質上是指最終所有人對於銀行餘額、合約等方面的內容達成一致。
這是一件大事。
事實上,它打破了40 年來將電腦連接在一起做事的既有經驗。作為一項基本技術,區塊鏈是一項新技術。在這個技術分支中,真正的創新想法可以帶來數十億美元的價值,並在幾十年內確定行業的方向,它們很罕見。
比特幣讓你能夠將價值從一個帳戶轉移到另一個帳戶,而無需移動現金或透過銀行使用的複雜電匯流程來調整餘額,因為底層的資料庫技術是新的、現代的和更好的:透過更好的技術提供更好的服務。就像現金一樣,它是匿名和去中心化的,比特幣內建了一些貨幣政策,並發行了「現金」本身:一種「去中心化銀行」。如果你願意,這是網路的中央銀行。
如果你將現金視為一種特殊形式,並將現金交易視為在資料庫中移動資料的紙張,就很容易清楚地了解比特幣。
可以毫不誇張地說,比特幣已經幫助我們擺脫了資料庫技術限製造成的,長達40 年的深淵。它是否能在財政層面帶來真正的改變還有待觀察。
好吧,那以太坊呢?
以太坊採用這種「超越紙張隱喻」的方法來讓資料庫協同工作,甚至比比特幣更進一步。以太坊並沒有取代現金,而是提出了一種新模式,即第四種方式。你將資料推送到以太坊,它會永久綁定在公共儲存(「區塊鏈」)中。所有需要存取該資訊的組織:從你的表弟到你的政府,都可以看到它。以太坊試圖取代所有其他必須填寫表格才能讓電腦協同工作的地方。乍看之下這可能有點奇怪,畢竟你不希望自己的健康記錄存在於這樣的系統中。沒錯,你不希望這樣做。如果你要在線上儲存健康記錄,則需要使用額外的加密層來保護它們,以確保它們無法被讀取,無論如何我們都應該這樣做。對私人資料應用適當的加密並不常見,這就是為什麼你不斷聽到這些駭客攻擊和洩漏的大新聞。
那麼你希望什麼樣的東西作為公共資料呢?讓我們從一些顯而易見的事情開始:你的網域。您的企業擁有自己的域名,人們需要知道是你的企業而不是其他人擁有該域名。這個獨特的名稱系統,是我們在整個網路上衝浪的方式:這是我們想要在永久公共資料庫中,得到的東西的一個明顯例子。我們也希望政府不要根據其本地法律不斷編輯這些公共記錄,並將域名下線:如果互聯網是全球公共產品,那麼政府不斷通過審查不喜歡的事物來打破它是很煩人的。
眾籌(Crowdfunding)作為試驗台
另一個很好的例子是眾籌項目,像是Kickstarter、IndieGoGo等網站所做的。在這些系統中,有人將項目發佈在線並集資,有一個公開記錄顯示資金流入的金額。如果超過一定金額,專案就會啟動:我們希望他們記錄他們用資金做了什麼。這是一個非常重要的步驟:我們希望他們對所獲資金負責,如果籌集資金不足,我們希望將投入的資金原路退回。我們有一個全球公共產品,人們可以共同組織和資助計畫的能力。透明度確實對該場景有幫助,所以這是一個區塊鏈的自然應用場景。
讓我們更詳細地考慮一下眾籌的例子。從某種意義上說,向眾籌項目提供資金是一個簡單的合約:
如果帳戶餘額大於10000 美元,則為該專案提供資金,如果我的捐款超過50 美元,請寄給我一件T 卹。否則,退回所有錢。
表達為偽代碼,可能是:
如果你將這個簡單的協議表示為實際的詳細程式碼,你會得到類似這樣的結果。這是智能合約的一個簡單範例,智能合約是以太坊系統最強大的方面之一。
群眾募資有可能讓我們獲得由深厚技術智慧支持的風險資本,並投資於創造真正的政治變革。比如說,如果伊隆馬斯克可以訪問所有相信他所做的事情的人的資本儲備,毫不費力地出售(比如)未來火星城市的股份,這對人類的未來是好是壞呢?
建立實現這種大規模集體行動的機制可能對我們的未來至關重要。
智能合約
所有這些奇特夢想的實現層都非常簡單:智能合約設想將某些簡單的書面協議表示為軟體。你不太可能輕易想像到為房屋粉刷做到這一點, “房子是否粉刷得恰到好處?” ,目前還不是計算機可以做到的事情。但對於主要與數位事物有關的合約(例如手機合約或機票或類似合同,它們依賴電腦提供服務或向你發送電子機票),軟體在幾乎所有情況下都已經很好地代表了這些合約。偶爾會出現問題,所有英語法律術語都會被激活,人類法官會捲入訴訟,但這確實是一個非常罕見的例外。大多數情況下,我們與網站打交道,並向系統中幫助我們的人員(例如航空公司登機口工作人員)展示我們已完成與計算機的交易的證據,例如向他們展示我們的登機證。我們透過填寫一些表格來處理我們的業務,然後電腦會為我們整理一切,除非出現問題,否則不需要人類。
為了使這一切成為可能,提供這類服務的公司維護自己的技術基礎設施:網路公司的資金支持維持了工程師團隊、伺服器農場以及這些資產周圍的實體安全。你可以購買現成的服務,由人們為你建立電商網站或其他簡單的案例,但基本上,這種複雜性是大公司的領域,因為在讓電腦系統處理資金並提供服務之前,你需要具備所有這些開銷和技術技能。
這是困難且昂貴的。如果你要創辦一家銀行或一家新航空公司,軟體是你預算中非常重要的一部分,而僱用技術團隊是你面臨的人員配置挑戰的主要部分。
智能合約與世界計算機
因此,以太坊提供的是一個“智能合約平台”,它需要大量昂貴、困難的東西並使其自動化。現在還處於早期階段,所以我們還不能做所有事情,但即使在世界上第一個通用智能合約平台的第一個版本上,我們也看到了令人驚嘆的能力。
那麼智慧合約平台是如何運作的呢?就像比特幣一樣,很多人運行該軟體,並獲得一些代幣(以太幣)。網路中的這些電腦一起工作並共享一個稱為區塊鏈的公共資料庫。比特幣的區塊鏈儲存金融交易。以太坊的區塊鏈儲存智能合約。你不需要租用資料中心的空間,並僱用一群系統管理員。相反,你使用共享的全球資源,即“世界計算機”,並且你投入系統的資源將歸屬於構成這一全球資源的人們,這個系統是公平和公正的。
以太坊是開源軟體,以太坊團隊維護它(在許多獨立貢獻者和其他公司的幫助也越來越多)。大多數網路都在由類似團隊製作和維護的開源軟體上運行:我們知道開源軟體是生產和維護全球基礎設施的好方法。這確保了沒有一個中心化機構,可以利用其市場力量來做諸如抬高交易費用以賺取巨額利潤之類的事情。開源軟體(以及稍微清教徒一點的自由軟體)有助於保持這些全球公共產品的自由和對每個人都公平。
在以太坊平台上運行的智能合約本身是用簡單的語言編寫的:對於正在工作的程式設計師來說並不難學習。雖然有一個學習曲線,但這與專業人士每隔幾年就會做的事情並沒有什麼不同。智能合約通常很短:500 行就很長。但因為它們利用了密碼學和區塊鏈的巨大力量,因為它們橫跨組織和個人運行,所以即使是相對較短的程式也有巨大的力量。
那麼「世界計算機」是什麼意思呢?從本質上講,以太坊模擬了一台完美的機器——由於物理定律,這種機器在自然界中永遠不可能存在,但可以透過足夠大的電腦網路來模擬。網路的規模並不是為了產生盡可能快的計算機(儘管稍後可能會隨著區塊鏈擴展而出現),而是為了產生任何人都可以從任何地方訪問的通用計算機,並且(至關重要的是!)它總是為每個人提供相同的結果。它是一個儲存答案的全球資源,不能被顛覆、否認或審查(請參閱從賽博朋克到區塊鏈YouTube 上的影片)。
那麼「世界計算機」是什麼意思呢?從本質上講,以太坊模擬了一個完美的機器:一個在自然界中永遠無法存在的東西,因為受到物理定律的限制,但是可以透過足夠大的電腦網路進行模擬。這個網路的規模並不是為了產生最快的計算機(儘管這可能會在區塊鏈擴展後實現),而是為了產生一個普遍的計算機,任何人都可以從任何地方訪問它,而且(非常重要! )它始終向所有人提供相同的結果。這是一個儲存答案的全球資源,無法被顛覆、拒絕或審查。
我們認為這是一件大事。
智能合約可以儲存誰擁有什麼的記錄。它可以儲存付款承諾,並承諾交付,無需中間人或讓人們面臨詐欺風險。它可以根據很久以前給出的指示(例如遺囑或期貨合約)自動轉移資金。對於純數位資產來說,不存在“交易對手風險”,因為要轉移的價值可以在創建時鎖定到合約中,並在滿足條件和條款時自動釋放:如果合約明確,則不可能存在欺詐,因為該計劃實際上對所涉及的資產擁有真正的控制權,而不需要像ATM 機或汽車租賃代理商這樣需要信任的中間人。
這個系統在全球範圍內運行,有數萬甚至數十萬台電腦分擔工作負載,更重要的是,支持誰向誰承諾什麼的文化記憶。是的,在數位化的邊緣,詐欺仍然是可能的,但許多類型的赤裸裸的盜匪行為可能會消失。例如,你可以檢查區塊鏈,並找出房子是否已出售兩次。誰真正擁有布魯克林這座橋?如果這筆貸款違約怎麼辦?一切都在一個共享的全球區塊鏈中,清晰如水晶。無論如何,這就是計劃。
民主化地獲得最先進的技術
所有這一切都可能充分利用現代技術的力量,並將其交到在比網站編碼複雜不了多少的環境中工作的程式設計師手中。這些簡單的程式運行在極其強大的共享全球基礎設施上,這些基礎設施可以轉移價值,並代表財產的所有權。這創造了交易市場、網域等註冊機構,以及許多我們目前不了解的其他事物,因為它們尚未建立。當網路的發明是為了方便發布文件供其他人查看時,沒有人會想到它會徹底改變它所涉及的每個行業,並透過社交網路、約會網站和線上教育改變人們的個人生活。沒有人會想到亞馬遜有一天會比沃爾瑪更大。智能合約將走向何方,現在還很難說,但免不了會對網路進行觀察,並夢想著未來。
儘管需要大量深奧的電腦科學來創建一個程式設計環境,讓相對普通的網路技能在安全的全球生態系統內的財產中移動,但這項工作已經完成。儘管以太坊的程式設計還不是輕而易舉,但這很大程度上是一個文件、培訓和技術生態系統逐漸成熟的問題。這些語言是編寫好的並且很好:調試器需要更多時間。但是,編寫智慧合約基礎架構的令人髮指的複雜性已經消失了:智慧合約本身比JavaScript 更簡單,對於網路程式設計師來說並不可怕。結果是,隨著人們開始需要新的服務,並且組建團隊來提供這些服務,我們預計這些工具很快就會無處不在。
未來?
我很興奮,正是因為我們不知道我們創造了什麼,更重要的是,你和你的朋友會用它創造什麼。我相信「比特幣2.0」和「Web 3.0」這樣的術語是不夠的,它將是一個新事物,新的想法和新的文化嵌入到新的軟體平台中。每一種新媒介都會改變訊息:部落格帶來了長篇寫作,然後推特創造了一個環境,在這個環境中,簡潔不僅是智慧的靈魂,而且必然也是智慧的主體。現在我們可以將簡單的協議表示為言論自由、想法的發布,誰知道這會導致什麼結果。
以太坊前沿是第一步:它是一個供程式設計師構建,可透過網頁瀏覽器或手機應用程式存取服務的平台。稍後我們將發布以太坊“大都會”,它將是一個類似網絡瀏覽器的程序,目前稱為Mist,它採用了以太坊固有的所有安全性和加密技術,並將其與任何人都可以使用的使用者介面完美地打包在一起。最近發布的Mist 展示了一個安全錢包,而這只是一個開始。 Mist 提供的安全性遠遠強於目前的電子商務系統和手機應用程式。從中期來看,合約生產系統將是獨立的,因此幾乎任何人都可以下載“分散式應用程式建構器”,加載他們的內容和想法並上傳。對於簡單的事情,不需要任何程式碼,但網路的全部底層力量將可用。按照安裝精靈的思路思考,但你不是在設定印表機,而是在配置貸款智慧合約的條款:多少錢、多久、還款率是多少。點擊“確定”即可批准!
如果這聽起來不可能,歡迎接受我們的挑戰:科技已經遠遠超出了我們解釋或溝通科技的能力!
世界超級電腦?
我們的創新還沒結束。不久之後,我們說的是一兩年後,以太坊Serenity 將會把網路提升到一個全新的水平。目前,為以太坊網路添加更多電腦可以使其更安全,但速度並不會更快。我們使用以太幣來管理有限的網路速度,以太幣是一種賦予網路優先權的代幣。在Serenity 系統中,為網路添加更多電腦可以使其速度更快,這最終將使我們能夠建立真正的互聯網規模的系統:數億台電腦協同工作,完成我們共同需要完成的工作。今天我們可能會猜測,這種出色的軟體可能被用於蛋白質折疊、基因組學或人工智慧等領域的研究,但誰又能說出這些軟體將被用於何種用途呢?
原文連結:https://consensys.io/blog/programmable-blockchains-in-context-ethereum-smart-contracts-and-the-world-computer