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