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