鍍金池/ 教程/ Linux/ 以太坊是什么?
創(chuàng)建安全多簽名錢包及高級設(shè)置
以太坊發(fā)展歷史回顧
如何使用CPU挖礦?
導(dǎo)入預(yù)售錢包,更新、備份、恢復(fù)賬號
錢包、以太幣、Gas介紹
公有鏈、聯(lián)盟鏈、私有鏈及網(wǎng)絡(luò)配置介紹
以太坊客戶端的選擇與安裝
以太坊社區(qū)、基金會、貢獻(xiàn)者介紹
以太坊賬戶管理
什么是挖礦和Ethash算法?
如何使用Homestead文檔及以太坊路線圖
如何使用GPU和礦池挖礦?
以太坊是什么?
Web 3:去中心化應(yīng)用平臺
什么是以太幣?如何獲???
以太坊Go、Java、Python、Ruby、JS客戶端介紹
搭建測試網(wǎng)絡(luò)和私有鏈
以太坊C++客戶端的安裝與定制(一)

以太坊是什么?

文章出于:http://wangxiaoming.com/blog/2016/05/23/ethereum-1/

以太坊是什么?

以太坊是一個全新開放的區(qū)塊鏈平臺,它允許任何人在平臺中建立和使用通過區(qū)塊鏈技術(shù)運行的去中心化應(yīng)用。就像比特幣一樣,以太坊不受任何人控制,也不歸任何人所有——它是一個開放源代碼項目,由全球范圍內(nèi)的很多人共同創(chuàng)建。和比特幣協(xié)議有所不同的是,以太坊的設(shè)計十分靈活,極具適應(yīng)性。在以太坊平臺上創(chuàng)立新的應(yīng)用十分簡便,隨著Homestead的發(fā)布,任何人都可以安全地使用該平臺上的應(yīng)用。

下一代區(qū)塊鏈

區(qū)塊鏈技術(shù)是比特幣的底層技術(shù),這一技術(shù)第一次被描述是在中本聰2008年發(fā)表的白皮書“比特幣:點對點電子現(xiàn)金系統(tǒng)”中。區(qū)塊鏈技術(shù)更多的一般性用途在原書中已經(jīng)有所討論,但直到幾年后,區(qū)塊鏈技術(shù)才作為通用術(shù)語出現(xiàn)。一個區(qū)塊鏈?zhǔn)且粋€分布式計算架構(gòu),里面的每個網(wǎng)絡(luò)節(jié)點執(zhí)行并記錄相同的交易,交易被分組為區(qū)塊。一次只能增加一個區(qū)塊,每個區(qū)塊有一個數(shù)學(xué)證明來保證新的區(qū)塊與之前的區(qū)塊保持先后順序。這樣一來,區(qū)塊鏈的“分布式數(shù)據(jù)庫”就能和整個網(wǎng)絡(luò)保持一致。個體用戶與總賬的互動(交易)受到安全的密碼保護(hù)。由數(shù)學(xué)執(zhí)行并編碼到協(xié)議中的經(jīng)濟激勵因素刺激著維持和驗證網(wǎng)絡(luò)的節(jié)點。

在比特幣中,分布式數(shù)據(jù)庫被設(shè)想為一個賬戶余額表,一個總賬,交易就是通過比特幣的轉(zhuǎn)移以實現(xiàn)個體之間無需信任基礎(chǔ)的金融活動。但是隨著比特幣吸引了越來越多開發(fā)者和技術(shù)專家的注意,新的項目開始將比特幣網(wǎng)絡(luò)用于有價代幣轉(zhuǎn)移之外的其他用途。其中很多都采用了“代幣”的形式——以原始比特幣協(xié)議為基礎(chǔ),增加了新的特征或功能,采用各自加密貨幣的獨立區(qū)塊鏈。在2013年末,以太坊的發(fā)明者Vitalik Buterin建議能夠通過程序重組來運行任意復(fù)雜運算的單個區(qū)塊鏈應(yīng)該包含其他的程序。

2014年,以太坊的創(chuàng)始人Vitalik Buterin, Gavin Wood和Jeffrey Wilcke開始研究新一代區(qū)塊鏈,試圖實現(xiàn)一個總體上完全無需信任基礎(chǔ)的智能合約平臺。

以太坊虛擬機

以太坊是可編程的區(qū)塊鏈。它并不是給用戶一系列預(yù)先設(shè)定好的操作(例如比特幣交易),而是允許用戶按照自己的意愿創(chuàng)建復(fù)雜的操作。這樣一來,它就可以作為多種類型去中心化區(qū)塊鏈應(yīng)用的平臺,包括加密貨幣在內(nèi)但并不僅限于此。

以太坊狹義上是指一系列定義去中心化應(yīng)用平臺的協(xié)議,它的核心是以太坊虛擬機(“EVM”),可以執(zhí)行任意復(fù)雜算法的編碼。在計算機科學(xué)術(shù)語中,以太坊是“圖靈完備的”。開發(fā)者能夠使用現(xiàn)有的JavaScript和Python等語言為模型的其他友好的編程語言,創(chuàng)建出在以太坊模擬機上運行的應(yīng)用。

和其他區(qū)塊鏈一樣,以太坊也有一個點對點網(wǎng)絡(luò)協(xié)議。以太坊區(qū)塊鏈數(shù)據(jù)庫由眾多連接到網(wǎng)絡(luò)的節(jié)點來維護(hù)和更新。每個網(wǎng)絡(luò)節(jié)點都運行著以太坊模擬機并執(zhí)行相同的指令。因此,人們有時形象地稱以太坊為“世界電腦”。

這個貫穿整個以太坊網(wǎng)絡(luò)的大規(guī)模并行運算并不是為了使運算更高效。實際上,這個過程使得在以太坊上的運算比在傳統(tǒng)“電腦”上更慢更昂貴。然而,每個以太坊節(jié)點都運行著以太坊虛擬機是為了保持整個區(qū)塊鏈的一致性。去中心化的一致使以太坊有極高的故障容錯性,保證零停機,而且可以使存儲在區(qū)塊鏈上的數(shù)據(jù)保持永遠(yuǎn)不變且抗審查。

以太坊平臺本身沒有特點,沒有價值性。和編程語言相似,它由企業(yè)家和開發(fā)者決定其用途。不過很明顯,某些應(yīng)用類型較之其他更能從以太坊的功能中獲益。以太坊尤其適合那些在點與點之間自動進(jìn)行直接交互或者跨網(wǎng)絡(luò)促進(jìn)小組協(xié)調(diào)活動的應(yīng)用。例如,協(xié)調(diào)點對點市場的應(yīng)用,或是復(fù)雜財務(wù)合約的自動化。比特幣使個體能夠不借助金融機構(gòu)、銀行或政府等其他中介來進(jìn)行貨幣交換。以太坊的影響可能更為深遠(yuǎn)。理論上,任何復(fù)雜的金融活動或交易都能在以太坊上用編碼自動且可靠地進(jìn)行。除金融類應(yīng)用外,任何對信任、安全和持久性要求較高的應(yīng)用場景——比如資產(chǎn)注冊、投票、管理和物聯(lián)網(wǎng)——都會大規(guī)模地受到以太坊平臺影響。

以太坊如何工作?

以太坊合并了很多對比特幣用戶來說十分熟悉的特征和技術(shù),同時自己也進(jìn)行了很多修正和創(chuàng)新。比特幣區(qū)塊鏈純粹是一個關(guān)于交易的列表,而以太坊的基礎(chǔ)單元是賬戶。以太坊區(qū)塊鏈跟蹤每個賬戶的狀態(tài),所有以太坊區(qū)塊鏈上的狀態(tài)轉(zhuǎn)換都是賬戶之間價值和信息的轉(zhuǎn)移。賬戶分為兩類:

外部賬戶(EOA),由私人密碼控制 合約賬戶,由它們的合約編碼控制,只能由外部賬戶“激活” 對于大部分用戶來說,兩者基本的區(qū)別在于外部賬戶是由人類用戶掌控——因為他們能夠控制私鑰,進(jìn)而控制外部賬戶。而合約賬戶則是由內(nèi)部編碼管控。如果他們是被人類用戶“控制”的,那也是因為程序設(shè)定它們被具有特定地址的外部賬戶控制,進(jìn)而被持有私鑰控制外部賬戶的人控制著。“智能合約”這個流行的術(shù)語指的是在合約賬戶中編碼——交易被發(fā)送給該賬戶時所運行的程序。用戶可以通過在區(qū)塊鏈中部署編碼來創(chuàng)建新的合約。

只有當(dāng)外部賬戶發(fā)出指令時,合約賬戶才會執(zhí)行相應(yīng)的操作。所以合約賬戶不可能自發(fā)地執(zhí)行諸如任意數(shù)碼生成或應(yīng)用程序界面調(diào)用等操作—只有受外部賬戶提示時,它才會做這些事。這是因為以太坊要求節(jié)點能夠與運算結(jié)果保持一致,這就要求保證嚴(yán)格確定執(zhí)行。

和比特幣一樣,以太坊用戶必須向網(wǎng)絡(luò)支付少量交易費用。這可以使以太坊區(qū)塊鏈免受無關(guān)緊要或惡意的運算任務(wù)干擾,比如分布式拒絕服務(wù)(DDoS)攻擊或無限循環(huán) 。交易的發(fā)送者必須在激活的“程序”每一步付款,包括運算和記憶儲存。費用通過以太坊自有的有價代幣,以太幣的形式支付。

交易費用由節(jié)點收集,節(jié)點使網(wǎng)絡(luò)生效。這些“礦工”就是以太坊網(wǎng)絡(luò)中收集、傳播、確認(rèn)和執(zhí)行交易的節(jié)點。礦工們將交易分組——包括許多以太坊區(qū)塊鏈中賬戶“狀態(tài)”的更新——分成的組被稱為“區(qū)塊”,礦工們會互相競爭,以使他們的區(qū)塊可以添加到下一個區(qū)塊鏈上。礦工們每挖到一個成功的區(qū)塊就會得到以太幣獎勵。這就為人們帶來了經(jīng)濟激勵,促使人們?yōu)橐蕴痪W(wǎng)絡(luò)貢獻(xiàn)硬件和電力。

和比特幣網(wǎng)絡(luò)一樣,礦工們有解決復(fù)雜數(shù)學(xué)問題的任務(wù)以便成功地“挖”到區(qū)塊。這被稱為“工作量證明”。一個運算問題,如果在算法上解決,比驗證解決方法需要更多數(shù)量級的資源,那么它就是工作證明的極佳選擇。為防止比特幣網(wǎng)絡(luò)中已經(jīng)發(fā)生的,專門硬件(例如特定用途集成電路)造成的中心化現(xiàn)象,以太坊選擇了難以存儲的運算問題。如果問題需要存儲器和CPU,事實上理想的硬件是普通的電腦。這就使以太坊的工作量證明具有抗特定用途集成電路性,和比特幣這種由專門硬件控制挖礦的區(qū)塊鏈相比,能夠帶來更加去中心化的安全分布。