可程式設計區塊鏈以太坊的未來
區塊鏈的火熱就不用說了,回看一下Vinay Gupta 2015年發表的文章《內容可程式設計的區塊鏈:以太坊的未來》,感受一下先行者的思想。
到本文結束時,你將瞭解一般的區塊鏈(特別是下一代區塊鏈平臺——以太坊),這足以確定它們對你未來生活的意義。
天網
以太坊帶有強烈的情感衝擊。有人將它與天網(SkyNet)進行了比較,後者是電影終結者中的分散式人工智慧系統。有些人曾經說,整件事情就是一個白日夢。但該網路已經持續了幾個月,並沒有表現出敵意的自我意識或完全要崩潰的跡象。
但是,如果你不是非常關注技術,或者是在不同領域的技術人員,很容易盯著所有這些東西然後想“我會稍後再琢磨這個問題”或者決定忽略它,直到衛報做了一個很好的功能(什麼功能你可以看這個文章:
但是,事實上,至少對於人們只是為了日常生活而產生的那些影響,理解以太坊,區塊鏈,比特幣和其他所有內容並不困難。即使是想要清楚細節的程式設計師也可以很容易地得到一個足夠好的模型。區塊鏈直譯器通常專注於一些非常機敏的低階細節,如挖掘,但這些東西確實無法幫助人們(除了實施者)瞭解正在發生的事情。相反,讓我們來看看區塊鏈如何去適應關於計算機是如何影響社會的更一般的故事吧。
通常情況下,為了理解現在,我們必須回顧歷史:區塊鏈是該劇的第三幕,我們也還只是在第三幕的開頭。所以我們必須回放一下。
SQL:昨天最好的主意
實際上區塊鏈的故事開始於20世紀70年代,我們知道當時它的資料庫這樣建立的:關係模型,SQL,旋轉磁帶驅動器的大機架等等。如果你想象中的是大型的白色房間裡有昂貴的米色巨石,戴著領帶的男人們看著它們,那麼你就是歷史的見證。在大型機時代,大型組織為IBM和其他大型資料庫支付了大筆資金,並將所有最寶貴的資料資產放在這些系統中如機構資料儲存和客戶關係。為執行網路的絕大多數內容,管理系統提供支援的SQL語言最初是磁帶驅動器的命令語言。固定欄位長度,有點像tweets上的140個字元限制,最初用於讓人不耐煩的程式以超高速快進磁帶去獲知位置,以便將磁帶頭準確地放在下一條記錄開始的地方。這一切都在我出生的時候進行。這是歷史,但它還不是古老的歷史。
在更高階,更語義化的層面上,我們如何看待現實世界的微妙扭曲:在資料庫中難以表現的東西變得輪番貶值和更加迷戀物化。多年過去了,人們通過知識管理,語義網路和許多其他抽象來努力將現實世界變成資料庫。其實並非一切都合適,但無論如何我們都在使用這些工具。在資料庫中不完全適應的東西都被邊緣化了,當然生活還在繼續。有一段時間,技術逆流將暫停,並試圖推翻資料庫的暴政,但總體趨勢卻很堅定:如果它不適合資料庫,它就不存在。
你可能不認為這是個資料庫世界,但你生活在其中。每當你看到一個帶有正方形的紙質表格,每個方框一個內容時,你就會與資料庫進行互動。每當你使用一個網站時,就會有一個潛伏在表面之下的資料庫(或者更可能是一大堆的資料庫)。亞馬遜,Facebook,所有它們這些網站,都是資料庫。每當客戶服務助理聳聳肩說“電腦系統說不行”或者組織部門有些變態,以不靈活的方式行事時,可能存在一個數據庫,其中有一個有限的,嚴格的現實檢視,而且修復軟體使組織更加智慧化的成本太高。我們生活在這些盒子裡,它像氧氣一樣普遍,而且像穿孔卡一樣靈活。
檔案和網際網路
第二幕是Tim Berners-Lee的到來和網際網路的出現。網際網路實際上是在他到來之前開始的。在20世紀80年代末和90年代初期,我們認真對待計算機網路。像Telnet,Gopher,Usenet和Email本身這樣的協議為早期網際網路的提供了使用者介面,但直到20世紀90年代我們才開始大規模採用聯網計算機,逐漸引導我們在Google Docs上輸入想要的,並在網路瀏覽器中閱讀它。這個加入“.”的過程,“網路就是計算機”正如Sun Microsystems所說的那樣,發展很快。在20世紀90年代早期,已經存在大量的機器,但它們基本上是獨立的裝置,或者連線到大學校園裡的幾百臺機器,而沒有太多進入外部世界的視窗。在任何地方軟體和硬體建立網路,無論是私有網路還是網際網路,需要很長時間才能建立,然後像野火一樣慢慢傳播。小塊鬆散地連線起來,然後緊緊地耦合到我們今天所知的網際網路中。隨著網路變得越來越智慧,硬體越來越小,越來越便宜,我們仍然在掀起技術浪潮,並開始有像“物聯網”這樣的名字出現在我們的燈泡之類的東西上。
官僚機構
但資料庫和網路人們從未真正學會過。機房中的大型機和無數的小型個人電腦散落在網際網路上,就像蜘蛛網上的露水一樣,找不到一個能讓它們順利互操作的通用世界模型。與單個數據庫互動非常簡單:你每天使用的表單和Web應用程式。但困難的問題是為了我們的利益,讓資料庫無形地協同工作,或讓資料庫與我們自己的膝上型電腦上執行的程序平滑地進行互動。
這些技術問題通常被官僚機構掩蓋,但我們每一天都會經歷這些問題。這是就是你的魔鬼般的工作,讓兩個大型組織代表和你一起工作,而在內心深處,這其實是一個軟體問題。也許你希望你的汽車保險公司獲得有關你的汽車被侵犯時警方的報告。很可能你必須以列印輸出的形式從一個數據庫中獲取資料,然後自己將它們郵件給保險公司,因為它們的系統中沒有真正可用的連線介面。除了填寫表格的愚蠢過程之外,你無法在膝上型電腦中完成這件事。沒有使用真正的計算機做事的意識,只是將計算機濫用為昂貴的紙張模擬器。雖然理論上資訊可以在你允許的情況下從一個數據庫流向另一個數據庫,但實際上連線資料庫的技術成本很高,而你的計算機也不會儲存你的資料,因此它無法為你完成所有這些工作。相反,它只是你填寫表格的機器。為什麼我們如此糟糕地利用這些機器的潛力呢?
資料哲學
答案一如既往地在我們自己的腦海裡。關於計算機系統世界幾乎不可能翻譯。人為因素即產生軟體的心態也並不適合。每個企業都以自己的形象構建自己的計算機系統,這些系統不關心的某些東西其實有時候是至關重要的,這不是偶然的,而事實也並不容易在它們之間流動。當我們需要從一個模型轉換到另一個模型時,只是將人類行為置於過程中,我們又回到了反映紙質形式而非真正數字化合作的過程。結果是同在一個世界,我們的系統卻分的七七八八的,從來沒有在同一頁面上,我們在平常生活中需要的東西似乎不斷的落在系統間的裂縫中,每一個過程都需要填寫同樣該死的名字和地址資料,一天二十次,如果你搬家,會更常見。你有多久因為他們知道你住在哪裡而經常從亞馬遜卻不是一些更專業的商店購物了?
還有很多其他因素可以保持我們計算機的理論潛力與我們日常使用技術的不斷加速變化,以及編寫軟體的費用之間的差距。但最終都歸結為心態。雖然它看起來像只是一和零,但軟體“建築師”正在圍繞預算擺動,你可以用它來建造一座摩天大樓,而改成一個類似的其他專案,就像拆一個半成品建築一樣。排成行的昂貴的工程師需要捨棄數月(或數年)的工作,這樣即使軟體不能用,世界也會繼續前進。只是每件事情總是感覺有點支離破碎罷了。
我們一遍又一遍地回顧紙張時代的紙張和隱含的資訊,原因是我們還無法正確使用軟體,而這個問題的核心是我們在20世紀90年代成功地將計算機聯網,但我們可能從未弄清楚如何真正的將資料庫聯網,讓他們一起工作。
那人們如何嘗試讓他們的網路和資料庫順利地協同工作,有三種經典模型。
第一方法:多元化的同步模型
第一種方法是直接將機器連線在一起,並隨時計算出lumps。你可以使用機器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%或更多。如果你想知道區塊鏈業務的經濟優勢可能是什麼,那麼只需考慮這個數字有多大就好。
協議,如果你能找到它們
該協議是終極“獨角獸”。它成立兩年後成為一家價值10億美元的公司,但這個想法非常好,讓人們不再爭論如何做事,只是繼續討論如何做好他們自己。
網際網路上有少數這樣的東西:Tim Berners Lee先生的HTTP和HTML標準就像魔術一樣,雖然當時他只是點燃了火種,無數的技術專家給了我們現在所知道的和喜愛的奇妙又複雜的世界。SMTP,POP和IMAP為我們的電子郵件提供支援。BGP對我們的大型路由器進行了整理。還有幾十個,它們越來越深奧,執行著我們擁有的大部分開放系統。
關於像Gchat或Slack這樣工具的一個常見抱怨是他們做的工作具有非常好的開放協議(IRC或XMPP),但實際上並不能提供這些協議。結果是無法在Slack和IRC或Skype或其他任何系統之間進行互操作,原因是提供強大系統效能的黑客可能會攻擊閘道器。結果是技術生態系統退化為一系列由不同公司擁有的花園圍牆,並持續的影響市場。
想象一下,如果WikiPedia是一個難以從其使用者群中獲利並讓其投資者退回資金的專案,那麼它現在會有多大吸引力。
但是當協議開始有效時,所創造的是巨大的真正財富,而不是金錢,是實際財富,因為世界通過恰當合作得到各種改善。當然,SOAP和JSON-RPC以及其他所有人都希望支援協議,甚至是變成協議本身,但是每個努力領域的語義定義往往會產生一種固有的複雜性,這種複雜性會導致回到集中輻射模型或其他模型。
區塊鏈是第四種方式?
你聽說過人們談論比特幣。酒吧裡的傳教士們絕對會說世界會發生一些根本性的變化,丟擲“網際網路中央銀行”和討論民族國家結束等術語。在播客上穿著鮮豔的女性談論著驚人的未來潛力。但究竟是什麼呢?什麼是技術,能把政治和未來潛力分開?
它下面的內容是通過打印出大量紙張並隨身攜帶來實現資料庫同步的替代方案。讓我們暫時來看看紙幣現金:我從一家銀行到另一家銀行拿走一沓紙,價值從一個銀行賬戶,通過一個計算機系統,轉移到另一個銀行賬戶。計算機再一次作為紙張模擬器。比特幣簡單地採用基於紙張的流程,即現金的基本表達,並用數字系統取代:數字現金貨幣。從這個意義上說,你似乎可以看到比特幣只是另一種紙張模擬器,但事實並非如此。
比特幣將該檔案從該系統中取出,並用比特幣網路中所有計算機之間的穩定協議(“共識”)替換它,該協議涉及交易中涉及的所有賬戶的當前價值。它採用了真正的協議式解決方案:沒有中間人提取租金,也沒有來自無數不同聯結器的指數級別的系統複雜性。區塊鏈體系結構本質上是一種協議,它可以像輪輻一樣工作,但是沒有中心可信賴的第三方可能選擇提取租金的責任。這真是一件好事。該系統具有一些神奇的屬性,最終在所有節點上達成一致的資料,這超出了紙張和資料庫之外的範圍。我們稱之為“分散式共識”,但這只是一種奇特的方式,表示每個人最終都同意事實真相(在你的銀行餘額中,在你的合同中)。
這是一件大事。
事實上,它打破了將計算機連線在一起做事的40年經驗。作為一項基本技術,區塊鏈是全新的。在這個技術分支中,真正的新想法可以帶來數十億美元,併為數十年的行業定下方向。它們很少見。
比特幣允許你將價值從一個賬戶轉移到另一個賬戶,而無需移動現金或通過銀行用於改組電匯傳輸流程,因為底層資料庫技術是新的,現代的和更好的,通過更好的技術提供更好的服務。就像現金一樣,它是匿名和分散的,比特幣採取一些貨幣政策併發行現金本身:一個“去中心化的銀行。”如果你願意,它就是網際網路的中央銀行。
一旦你認為現金是一種特殊的形式,而現金交易就像紙張在資料庫中移動一樣,很容易看明白比特幣。
可以毫不誇張地說,比特幣在我們資料庫技術極限造成40年深坑的出路探索上已經說明了這一點。能否在財政層面實現真正的變革還有待觀察。
好的,那麼以太坊呢?
以太坊採用這種“超越紙張的比喻”的方法讓資料庫比比特幣更進一步協同工作。以太坊不是替換現金,而是提出了一種新模式,第四種方式。你將資料推送到以太坊,它永久地繫結在公共儲存中(“區塊鏈”)。所有需要訪問這些資訊的組織,從你的堂兄到政府,都可以看到它。以太坊尋求替換所有其他你需要填寫表格的地方,讓計算機一起工作。起初這看起來有點奇怪。畢竟,你不希望你的健康記錄存在於這樣的系統中。這是對的,你不用擔心。如果你要線上儲存健康記錄,則需要使用額外的加密層來保護它們,以確保無法私自讀取它們,無論如何我們應該這樣做。對私人資料應用進行適當的加密其實並不常見,這就是為什麼你一直聽到這些巨大的黑客攻擊和洩密的原因。
那麼你喜歡什麼樣的公共資料呢?讓我們從一些顯而易見的事情開始:你自己的域名,你擁有的企業的域名,人們需要知道你的企業擁有該域名,而不是其他人擁有。這種獨特的名稱系統是我們如何在整個網際網路上導航:這是我們在永久公共資料庫中想要的一個明確的例子。我們也喜歡它,如果政府沒有繼續編輯這些公共記錄並根據當地法律將域名移到離線狀態,如果網際網路是一種全球性的公共產品,那麼讓政府不斷通過審查他們所做的事情來找漏洞是令人討厭的。誰都不喜歡。
眾籌可以作為試驗平臺
另一個很好的例子是專案眾籌,就像KickStarter,IndieGoGo等一樣。在這些系統中,有人將專案放在網上並收集資金,並且公開記錄了已經投入了多少資金。如果超過一定數量,該專案就會上線,我們希望他們記錄他們所做的事情花了多少錢,這是一個非常重要的步驟:我們希望他們對所投入的資金負責,如果資金不足,我們希望他們原路返回。我們擁有全球公益,組織人和資助專案的能力。透明度確實有幫助,所以這是區塊鏈應用的自然場景。
因此,讓我們更詳細地考慮眾籌案例。從某種意義上說,為眾籌專案提供資金是一個簡單的合約:
如果賬戶餘額超過10000美元,那麼為專案提供資金,如果我捐款超過50美元,請寄給我一件T恤。否則,退還所有的錢。
表達為虛擬碼,可能是:
如果你將此簡單協議表示為實際詳細程式碼,則會得到類似的結果。這是智慧合約的一個簡單示例,智慧合約是以太坊系統最強大的方面之一。
眾籌可能使我們能夠獲得深度技術情報支援的風險資本,並投資以創造真正的政治變革。比如說,如果Elon Musk能夠獲得所有相信他正在做的事情的人的資本儲備,那麼在未來的火星城專案上出售(比如說)股票,這對人類的未來是好還是壞?
建立實現這種大規模集體行動的機制可能對我們的未來至關重要。
智慧合約
所有這些花哨夢想的實施層都非常簡單:智慧合約設想採用某些簡單的紙質協議並將其表示為軟體。你不能輕易想象畫房子,“房子畫得好嗎?”,這不是電腦可以做的事情,但對於主要涉及數字產品的合約,想想手機合約或機票或類似產品,依靠計算機提供服務或向你傳送電子機票,軟體幾乎在所有情況下都能很好地代表這些合約。偶爾會出現問題,英語中的所有法律術語都會被啟用,而且一名人工法官會參與訴訟,但這確實是一個非常罕見的例外。我們主要處理網站,並向系統中的人員展示幫助我們(如航空公司門員)證明我們已完成與計算機的交易,例如向他們展示我們的登機牌。我們通過填寫一些表格來開展我們的業務,計算機出去為我們排序,除非出現問題,否則不需要人工。
為了使這一切成為可能,提供這些服務的公司維持著自己的技術基礎設施,網路公司的資金支付工程師隊伍和和伺服器群以及圍繞這些資產的物理安全需要。你可以從那些為你設定電子商務網站或其他簡單案例的人那裡購買現成的服務,但基本上達到這種複雜性是大公司的領域,因為在你有一個計算機系統付費和提供服務之前你需要所有的管理費用和技術技能。
它只是硬體就很昂貴。如果你要建立銀行或新航空公司,軟體是你預算中非常重要的一部分,聘請技術團隊是挑戰的重要組成部分。
智慧合約和世界計算機
所以以太坊提供的是一個“智慧合約平臺”,它需要將大量昂貴,困難的事務自動化。現在還處於初期階段,所以我們不能做所有事情,但即使從世界上第一個普遍可用的智慧合約平臺的第一個版本開始,我們也看到了驚人的功能。
那麼智慧合約平臺如何運作?就像比特幣一樣,很多很多人都執行這個軟體,然後得到一些代幣(以太)來做這件事。網路中的這些計算機一起工作並共享一個稱為區塊鏈的公共資料庫。比特幣的區塊鏈儲存金融交易。以太坊的區塊鏈儲存智慧合約。你不需要在資料中心租用空間並僱用一大堆系統管理員。相反,你使用共享的全域性資源,“世界計算機”以及你放入系統的資源將轉移給計算機構成此全域性資源的人員。該制度公平公正。
以太坊是開源軟體,以太坊團隊維護它(越來越多地得到許多獨立貢獻者和其他公司的幫助。)大多數網路執行在由類似團隊生產和維護的開源軟體上:我們知道開源軟體是生產和維護全球基礎設施的好方法。這確保了沒有集中的機構可以利用其市場力量來做一些事情,例如提高交易費用以獲取鉅額利潤:開源軟體(以及自由軟體)幫助保持這些全球公共產品的免費和適合每個人。
在以太坊平臺上執行的智慧合約本身是用簡單的語言編寫的:對於程式設計師來說並不難學。有一個學習曲線,但它與專業工作人員每隔幾年做的事情沒有什麼不同。智慧合約通常很短:500行就是很長的了。但是因為它們利用了密碼學和區塊鏈的巨大力量,因為它們跨組織和個體之間執行,即使是相對較短的程式也有巨大的力量。
那麼世界計算機是什麼意思呢?從本質上講,以太坊模擬了一臺完美的機器,由於物理定律,它本質上永遠不會存在,但可以通過足夠大的計算機網路進行模擬。網路的大小並不是為了生產最快的計算機(儘管可能會在稍後的區塊鏈擴充套件中出現),而是生產一臺可以從任何地方隨處訪問的通用計算機,並且(關鍵!)它總能給每個人帶來相同的結果。它是一個儲存答案的全球資源,不能被破壞,拒絕或審查。
我們認為這是一件大事。
智慧合約可以儲存誰擁有什麼的記錄。它可以儲存承諾支付,並承諾在沒有中間人或讓人們面臨欺詐風險的情況下交付。它可以根據過去很久的指示自動轉移資金,如遺囑或期貨合約。對於純數字資產,沒有“交易對手風險”,因為要轉移的價值在建立時可以鎖定在合約中,並在滿足條件和條款時自動釋放:如果合約清楚,則欺詐是不可能的,因為該計劃實際上對所涉及的資產有實際控制權,而不像ATM機或汽車租賃代理那樣需要值得信賴的中間人。
這個系統在全球範圍內執行,有數十臺,最終成千上萬臺計算機分擔工作量,更重要的是,備份了誰承諾向誰提供的文化記憶。是的,欺詐仍然是可能的,在數字的邊緣,但許多種類的徹頭徹尾的土匪可能會簡單地消亡:例如,你可以檢查區塊鏈並查明房屋是否已售出兩次。誰真的在布魯克林擁有這座橋?如果此貸款違約會發生什麼?在一個共享的全域性區塊鏈中,就像水晶一樣清晰。無論如何,這就是計劃。
民主化進入最先進的技術
所有這些都可能充分利用現代技術的力量,並將其交給程式設計師,他們的工作環境並不比編寫網站複雜得多。這些簡單的程式執行在極其強大的共享全域性基礎架構上,可以移動價值並代表財產的所有權。這會建立市場,域名註冊表以及我們目前尚未理解的許多其他內容,因為它們尚未構建。當網路被髮明以便於釋出文件供其他人看時,沒有人會猜到它會徹底改變它觸及的每個行業,並通過社交網路,交友網站和線上教育改變人們的個人生活。沒有人會猜到亞馬遜有朝一日會比沃爾瑪更大。我們無法確定智慧合約的去向,但很難不去看網路和夢想。
雖然需要大量深奧的電腦科學來建立一個程式設計環境,讓相對普通的網路技能在一個安全的全球生態系統中的財產中移動,但這項工作已經完成。雖然以太坊還不是一個計劃中的結果,但這主要是文件,培訓和技術生態系統逐漸成熟的問題。這些語言寫得很好:偵錯程式需要更多時間。但是,編寫自己的智慧合約基礎架構的令人髮指的複雜性已經消失:智慧合約本身比現代JavaScript更簡單,並且沒有任何網路程式設計師會害怕。結果是我們希望這些工具能夠在不久的將來,到處是因為人們開始想要新的服務,而團隊則需要提供這些服務。
未來?
我很興奮,因為我們不知道我們創造了什麼,更重要的是,你和你的朋友將用它創造什麼。我認為像“比特幣2.0”和“Web 3.0”這樣的術語是不合適的,這將是一個新事物,新的思想和新文化嵌入在一個新的軟體平臺中。每一個新媒體都改變了這個資訊:部落格帶來了長篇回寫,然後推特創造了一個環境,在這裡,簡潔不僅是智慧的靈魂,也是必要的。現在,我們可以將簡單的協議表示為言論自由,作為一個想法的出版,以及誰知道這導致了什麼。
Ethereum Frontier是第一步:它是程式設計師構建你可以通過Web瀏覽器或手機應用程式訪問的服務的平臺。稍後我們將釋出乙太網Metropolis,這將是一個類似於程式的網路瀏覽器,目前稱為Mist,它採用了以太坊固有的所有安全性和加密技術,並將其與任何人都可以使用的使用者介面很好地打包在一起。最近釋出的Mist展示了一個安全的錢包,這只是一個開始。Mist提供的安全性遠遠強於當前的電子商務系統和手機應用程式。從中期來看,合約生產系統將是獨立的,因此幾乎任何人都可以下載“分散式應用程式構建器”並載入它們的內容和想法並上傳它,對於簡單的事情,不需要程式碼,但是將提供網路的全部潛在能力。按照安裝嚮導的思路,但不是設定印表機,而是為貸款配置智慧合約的條款:多少錢,多長時間,還款率。單擊“確定”批准!
如果這聽起來不可能,歡迎接受我們的挑戰:技術已經遠遠領先於我們解釋或傳播技術的能力!
世界超級計算機?
我們還沒有完成創新。在一段時間內,我們談論一兩年,以太坊Serenity將把網路提升到一個全新的水平。現在,向以太坊網路新增更多計算機使其更安全,但速度更快。我們使用Ether來管理網路的有限速度,這是一個優先考慮網路等的代幣。在Serenity系統中,向網路新增更多計算機使其更快,這最終將使我們能夠構建真正具有網際網路規模的系統:數億臺計算機一起工作,共同完成我們需要完成的工作。今天我們可能猜測蛋白質摺疊或基因組學或人工智慧,但是誰會說這些精彩軟體會有什麼用途。
我希望這個關於以太坊生態系統的非技術性入門有用,一旦我們有一個使用者友好版本的系統可用於一般用途,你就會第一個知道!
======================================================================
分享一些以太坊、EOS、比特幣等區塊鏈相關的互動式線上程式設計實戰教程:
- java以太坊開發教程,主要是針對java和android程式設計師進行區塊鏈以太坊開發的web3j詳解。
- python以太坊,主要是針對python工程師使用web3.py進行區塊鏈以太坊開發的詳解。
- php以太坊,主要是介紹使用php進行智慧合約開發互動,進行賬號建立、交易、轉賬、代幣開發以及過濾器和交易等內容。
- 以太坊入門教程,主要介紹智慧合約與dapp應用開發,適合入門。
- 以太坊開發進階教程,主要是介紹使用node.js、mongodb、區塊鏈、ipfs實現去中心化電商DApp實戰,適合進階。
- C#以太坊,主要講解如何使用C#開發基於.Net的以太坊應用,包括賬戶管理、狀態與交易、智慧合約開發與互動、過濾器和交易等。
- EOS教程,本課程幫助你快速入門EOS區塊鏈去中心化應用的開發,內容涵蓋EOS工具鏈、賬戶與錢包、發行代幣、智慧合約開發與部署、使用程式碼與智慧合約互動等核心知識點,最後綜合運用各知識點完成一個便籤DApp的開發。
- java比特幣開發教程,本課程面向初學者,內容即涵蓋比特幣的核心概念,例如區塊鏈儲存、去中心化共識機制、金鑰與指令碼、交易與UTXO等,同時也詳細講解如何在Java程式碼中整合比特幣支援功能,例如建立地址、管理錢包、構造裸交易等,是Java工程師不可多得的比特幣開發學習課程。
- php比特幣開發教程,本課程面向初學者,內容即涵蓋比特幣的核心概念,例如區塊鏈儲存、去中心化共識機制、金鑰與指令碼、交易與UTXO等,同時也詳細講解如何在Php程式碼中整合比特幣支援功能,例如建立地址、管理錢包、構造裸交易等,是Php工程師不可多得的比特幣開發學習課程。
- tendermint區塊鏈開發詳解,本課程適合希望使用tendermint進行區塊鏈開發的工程師,課程內容即包括tendermint應用開發模型中的核心概念,例如ABCI介面、默克爾樹、多版本狀態庫等,也包括代幣發行等豐富的實操程式碼,是go語言工程師快速入門區塊鏈開發的最佳選擇。