一、簡介:
以太坊(英語:Ethereum)是一個(gè)開源的有智能合約功能的公共區(qū)塊鏈平臺(tái)。通過其專用加密貨幣以太幣(Ether,又稱“以太幣”)提供去中心化的虛擬機(jī)(稱為“以太虛擬機(jī)”Ethereum Virtual Machine)來處理點(diǎn)對點(diǎn)合約。
以太坊的概念首次在2013至2014年間由程序員維塔利克·布特林受比特幣啟發(fā)后提出,大意為“下一代加密貨幣與去中心化應(yīng)用平臺(tái)”,在2014年透過ICO眾籌得以開始發(fā)展。
截至2018年6月,以太幣是市值第二高的加密貨幣,以太坊亦被稱為“第二代的區(qū)塊鏈平臺(tái)”,僅次于比特幣。
二、特點(diǎn):
智能合約(smart contract):存儲(chǔ)在區(qū)塊鏈上的程序,由各節(jié)點(diǎn)運(yùn)行,需要運(yùn)行程序的人支付手續(xù)費(fèi)給節(jié)點(diǎn)的礦工或權(quán)益人。
代幣(tokens):智能合約可以創(chuàng)造代幣供分布式應(yīng)用程序使用。分布式應(yīng)用程序的代幣化讓用戶、投資者以及管理者的利益一致。代幣也可以用來進(jìn)行首次代幣發(fā)行。
叔塊(uncle block):將因?yàn)樗俣容^慢而未及時(shí)被收入母鏈的較短區(qū)塊鏈并入,以提升交易量。使用的是有向無環(huán)圖的相關(guān)技術(shù)。
權(quán)益證明(proof-of-stake):相較于工作量證明更有效率,可節(jié)省大量在挖礦時(shí)浪費(fèi)的電腦資源,并避免特殊應(yīng)用集成電路造成網(wǎng)絡(luò)中心化。(測試中)
支鏈(Plasma):用較小的分支區(qū)塊鏈運(yùn)算,只將最后結(jié)果寫入主鏈,可提升供單位時(shí)間的工作量。(尚未實(shí)現(xiàn))
狀態(tài)通道(state channels):原理類似比特幣的閃雷網(wǎng)絡(luò),可提升交易速度、降低區(qū)塊鏈的負(fù)擔(dān),并提高可擴(kuò)展性。尚未實(shí)現(xiàn),開發(fā)團(tuán)隊(duì)包括雷電網(wǎng)絡(luò)(Raiden Network)和移動(dòng)性網(wǎng)絡(luò)(Liquidity Network)。
分片(sharding):減少每個(gè)節(jié)點(diǎn)所需紀(jì)錄的數(shù)據(jù)量,并透過平行運(yùn)算提升效率(尚未實(shí)現(xiàn))。
分布式應(yīng)用程序:以太坊上的分布式應(yīng)用程序不會(huì)停機(jī),也不能被關(guān)掉。
三、功能應(yīng)用:
以太坊是一個(gè)平臺(tái),它上面提供各種模塊讓用戶來搭建應(yīng)用,如果將搭建應(yīng)用比作造房子,那么以太坊就提供了墻面、屋頂、地板等模塊,用戶只需像搭積木一樣把房子搭起來,因此在以太坊上建立應(yīng)用的成本和速度都大大改善。具體來說,以太坊通過一套圖靈完備的腳本語言(Ethereum Virtual Machinecode,簡稱EVM語言)來建立應(yīng)用,它類似于匯編語言。我們知道,直接用匯編語言編程是非常痛苦的,但以太坊里的編程并不需要直接使用EVM語言,而是類似C語言、Python、Lisp等高級語言,再通過編譯器轉(zhuǎn)成EVM語言。
上面所說的平臺(tái)之上的應(yīng)用,其實(shí)就是合約,這是以太坊的核心。合約是一個(gè)活在以太坊系統(tǒng)里的自動(dòng)代理人,他有一個(gè)自己的以太幣地址,當(dāng)用戶向合約的地址里發(fā)送一筆交易后,該合約就被激活,然后根據(jù)交易中的額外信息,合約會(huì)運(yùn)行自身的代碼,最后返回一個(gè)結(jié)果,這個(gè)結(jié)果可能是從合約的地址發(fā)出另外一筆交易。需要指出的是,以太坊中的交易,不單只是發(fā)送以太幣而已,它還可以嵌入相當(dāng)多的額外信息。如果一筆交易是發(fā)送給合約的,那么這些信息就非常重要,因?yàn)楹霞s將根據(jù)這些信息來完成自身的業(yè)務(wù)邏輯。
合約所能提供的業(yè)務(wù),幾乎是無窮無盡的,它的邊界就是你的想象力,因?yàn)閳D靈完備的語言提供了完整的自由度,讓用戶搭建各種應(yīng)用。白皮書舉了幾個(gè)例子,如儲(chǔ)蓄賬戶、用戶自定義的子貨幣等。