以太坊是什么?
以太坊是一個全新開放的區塊鏈平臺,它允許任何人在平臺中建立和使用通過區塊鏈技術運行的去中心化應用。就像比特幣一樣,以太坊不受任何人控制,也不歸任何人所有——它是一個開放源代碼項目,由全球范圍內的很多人共同創建。
和比特幣協議有所不同的是,以太坊的設計十分靈活,極具適應性。在以太坊平臺上創立新的應用十分簡便,任何人都可以安全地使用該平臺上的應用。
下一代區塊鏈
區塊鏈技術是比特幣的底層技術,這一技術第一次被描述是在中本聰2008年發表的白皮書“比特幣:點對點電子現金系統”中。區塊鏈技術更多的一般性用途在原書中已經有所討論,但直到幾年后,區塊鏈技術才作為通用術語出現。
一個區塊鏈是一個分布式計算架構,里面的每個網絡節點執行并記錄相同的交易,交易被分組為區塊。一次只能增加一個區塊,每個區塊有一個數學證明來保證新的區塊與之前的區塊保持先后順序。
這樣一來,區塊鏈的“分布式數據庫”就能和整個網絡保持一致。個體用戶與總賬的互動(交易)受到安全的密碼保護。由數學執行并編碼到協議中的經濟激勵因素刺激著維持和驗證網絡的節點。
在比特幣中,分布式數據庫被設想為一個賬戶余額表,一個總賬,交易就是通過比特幣的轉移以實現個體之間無需信任基礎的金融活動。但是隨著比特幣吸引了越來越多開發者和技術專家的注意,新的項目開始將比特幣網絡用于有價代幣轉移之外的其他用途。
其中很多都采用了“代幣”的形式——以原始比特幣協議為基礎,增加了新的特征或功能,采用各自加密貨幣的獨立區塊鏈。在2013年末,以太坊的發明者Vitalik Buterin建議能夠通過程序重組來運行任意復雜運算的單個區塊鏈應該包含其他的程序。
2014年,以太坊的創始人Vitalik Buterin, Gavin Wood和Jeffrey Wilcke開始研究新一代區塊鏈,試圖實現一個總體上完全無需信任基礎的智能合約平臺。
以太坊虛擬機
以太坊是可編程的區塊鏈。它并不是給用戶一系列預先設定好的操作(例如比特幣交易),而是允許用戶按照自己的意愿創建復雜的操作。這樣一來,它就可以作為多種類型去中心化區塊鏈應用的平臺,包括加密貨幣在內但并不僅限于此。
以太坊狹義上是指一系列定義去中心化應用平臺的協議,它的核心是以太坊虛擬機(“EVM”),可以執行任意復雜算法的編碼。在計算機科學術語中,以太坊是“圖靈完備的”。開發者能夠使用現有的JavaScript和Python等語言為模型的其他友好的編程語言,創建出在以太坊模擬機上運行的應用。
和其他區塊鏈一樣,以太坊也有一個點對點網絡協議。以太坊區塊鏈數據庫由眾多連接到網絡的節點來維護和更新。每個網絡節點都運行著以太坊模擬機并執行相同的指令。因此,人們有時形象地稱以太坊為“世界電腦”。
這個貫穿整個以太坊網絡的大規模并行運算并不是為了使運算更高效。實際上,這個過程使得在以太坊上的運算比在傳統“電腦”上更慢更昂貴。然而,每個以太坊節點都運行著以太坊虛擬機是為了保持整個區塊鏈的一致性。去中心化的一致使以太坊有極高的故障容錯性,保證零停機,而且可以使存儲在區塊鏈上的數據保持永遠不變且抗審查。
以太坊平臺本身沒有特點,沒有價值性。和編程語言相似,它由企業家和開發者決定其用途。不過很明顯,某些應用類型較之其他更能從以太坊的功能中獲益。以太坊尤其適合那些在點與點之間自動進行直接交互或者跨網絡促進小組協調活動的應用。
例如,協調點對點市場的應用,或是復雜財務合同的自動化。比特幣使個體能夠不借助金融機構、銀行或政府等其他中介來進行貨幣交換。以太坊的影響可能更為深遠。
理論上,任何復雜的金融活動或交易都能在以太坊上用編碼自動且可靠地進行。除金融類應用外,任何對信任、安全和持久性要求較高的應用場景——比如資產注冊、投票、管理和物聯網——都會大規模地受到以太坊平臺影響。
以太坊如何工作
以太坊合并了很多對比特幣用戶來說十分熟悉的特征和技術,同時自己也進行了很多修正和創新。比特幣區塊鏈純粹是一個關于交易的列表,而以太坊的基礎單元是賬戶。以太坊區塊鏈跟蹤每個賬戶的狀態,所有以太坊區塊鏈上的狀態轉換都是賬戶之間價值和信息的轉移。
賬戶分為兩類:
1、外有賬戶(EOA),由私人密碼控制
2、合同賬戶,由它們的合同編碼控制,只能由外有賬戶“激活”
對于大部分用戶來說,兩者基本的區別在于外有賬戶是由人類用戶掌控——因為他們能夠控制私鑰,進而控制外有賬戶。而合同賬戶則是由內部編碼管控。如果他們是被人類用戶“控制”的,那也是因為程序設定它們被具有特定地址的外有賬戶控制,進而被持有私鑰控制外有賬戶的人控制著。
“智能合約”這個流行的術語指的是在合同賬戶中編碼——交易被發送給該賬戶時所運行的程序。用戶可以通過在區塊鏈中部署編碼來創建新的合約。
只有當外有賬戶發出指令時,合同賬戶才會執行相應的操作。所以合約賬戶不可能自發地執行諸如任意數碼生成或應用程序界面調用等操作–只有受外有賬戶提示時,它才會做這些事。這是因為以太坊要求節點能夠與運算結果保持一致,這就要求保證嚴格確定執行。
和比特幣一樣,以太坊用戶必須向網絡支付少量交易費用。這可以使以太坊區塊鏈免受無關緊要或惡意的運算任務干擾,比如分布式拒絕服務(DDoS)攻擊或無限循環 。交易的發送者必須在激活的“程序”每一步付款,包括運算和記憶儲存。費用通過以太坊自有的有價代幣,以太幣的形式支付。
交易費用由節點收集,節點使網絡生效。這些“礦工”就是以太坊網絡中收集、傳播、確認和執行交易的節點。礦工們將交易分組——包括許多以太坊區塊鏈中賬戶“狀態”的更新——分成的組被稱為“區塊”,礦工們會互相競爭,以使他們的區塊可以添加到下一個區塊鏈上。礦工們每挖到一個成功的區塊就會得到以太幣獎勵。這就為人們帶來了經濟激勵,促使人們為以太坊網絡貢獻硬件和電力。
和比特幣網絡一樣,礦工們有解決復雜數學問題的任務以便成功地“挖”到區塊。這被稱為“工作量證明”。一個運算問題,如果在算法上解決,比驗證解決方法需要更多數量級的資源,那么它就是工作證明的極佳選擇。
為防止比特幣網絡中已經發生的,專門硬件(例如特定用途集成電路)造成的中心化現象,以太坊選擇了難以存儲的運算問題。如果問題需要存儲器和CPU,事實上理想的硬件是普通的電腦。這就使以太坊的工作量證明具有抗特定用途集成電路性,和比特幣這種由專門硬件控制挖礦的區塊鏈相比,能夠帶來更加去中心化的安全分布。
Web 3:去中心化應用平臺
很多人相信像以太坊這樣一個公開、無需信任的區塊鏈平臺十分適合作為Web 3.0的共享“后端”,像Web3.0這樣去中心化、安全的互聯網,它的核心服務,比如DNS和數字身份是去中心化的,個體可以參與到經濟互動中。
正如以太坊開發者希望的那樣,以太坊是一張空白的帆布,你可以在上面創建任何你想要的東西。以太坊協議的目的是普遍化,以使其核心特征能夠以任意方式結合。理想狀態下,以太坊上的數據采集和處理程序會利用以太坊區塊鏈來建立解決方案,這些解決方案依靠去中心化的一致性提供以往無法實現的新產品和服務。
稱以太坊為一個生態系統再合適不過了:核心協議由不同的基礎設施、編碼和社群支持,他們共同構成了以太坊項目。你也可以通過觀察使用以太坊的項目來理解以太坊。現在已經有很多基于以太坊的項目已經非常引人注目了,比如Augur,Digix,Maker和其他很多項目(參見數據采集和處理程序)。
此外,還有開發團隊建立了人人皆可使用的開源組件。盡管這些組織都獨立于以太坊基金之外,有各自的組織目標,但他們無疑對整個以太坊生態系統是有益的。
智能合約
你愿意和從未謀面的人簽合約嗎?你會同意把錢借給埃塞俄比亞的農民嗎?你愿意投資一個戰亂地區由少數人管理的報紙嗎?你會不嫌麻煩為了網上一次5美元的購買簽一個有法律效力的合約嗎?
大多數的答案都是否定的,原因是合約需要的基礎太多了:有時需要雙方之間互相信任的工作關系,有時要依靠合法的工作體系、警察和律師費用。
在以太坊這些都不需要:如果合約所必需的要求都能放在區塊鏈中,那么就會放在區塊鏈中,這是一個無需信任基礎也幾乎不用任何成本的環境。
不要想將你現有的合約轉移到區塊鏈中會麻煩,想一想那些因為經濟上不可行或是沒有足夠法律保護而被你拒絕的成千上萬的小合約吧。
DAO
這里簡單地舉個例子:想象一下你和朋友有個小生意。律師和會計很貴,完全信任讓一個單獨的合伙人來看管賬簿可能讓你精神很緊張(這甚至可能是個詐騙的機會)。你可以嘗試一下多個合伙人共同看管賬簿,但只要協議沒有被嚴格遵守,就可能導致詐騙發生。
使用智能合約,公司的所有權和基金分配的條款可以在一開始就詳細規定。智能合約簽署的方式是,只有大部分擁有者批準,合約才可以變更。 這樣的智能合約可以像開源軟件一樣獲取,你甚至都不必雇傭自己的程序員來代替會計和律師。
這樣的智能合約可以立即按比例決定分配。幾個年輕人分配檸檬水站收入,可以像主權基金給擁有基金的億萬公民分配收益一樣透明。在這兩個案例中,這種透明性帶來的花費可能每美元連一美分都不到。
評論
查看更多