以太幣(bi)(bi)的(de)(de)(de)(de)(de)系統是(shi)使(shi)用(yong)(yong)(yong)(yong)最廣泛的(de)(de)(de)(de)(de)支持完(wan)備(bei)應(ying)用(yong)(yong)(yong)(yong)開(kai)發(fa)的(de)(de)(de)(de)(de)公有區(qu)(qu)塊(kuai)(kuai)鏈系統。與比特(te)(te)(te)幣(bi)(bi)相比,以太幣(bi)(bi)的(de)(de)(de)(de)(de)系統以太坊屬于(yu)區(qu)(qu)塊(kuai)(kuai)鏈2.0的(de)(de)(de)(de)(de)范(fan)疇,是(shi)為了解決比特(te)(te)(te)幣(bi)(bi)網(wang)絡的(de)(de)(de)(de)(de)一(yi)(yi)些問(wen)題(ti)而重新設計的(de)(de)(de)(de)(de)一(yi)(yi)個區(qu)(qu)塊(kuai)(kuai)鏈系統。比特(te)(te)(te)幣(bi)(bi)的(de)(de)(de)(de)(de)設計只適(shi)合加密數(shu)字(zi)貨(huo)幣(bi)(bi)場景,不具(ju)備(bei)圖靈完(wan)備(bei)性,也缺乏保存(cun)實時狀(zhuang)態的(de)(de)(de)(de)(de)賬戶概念(nian),而且存(cun)在 PoW 機制帶(dai)來(lai)的(de)(de)(de)(de)(de)效率和資源(yuan)浪費的(de)(de)(de)(de)(de)問(wen)題(ti)。比特(te)(te)(te)幣(bi)(bi)的(de)(de)(de)(de)(de)區(qu)(qu)塊(kuai)(kuai)鏈網(wang)絡存(cun)在著擴展性不足的(de)(de)(de)(de)(de)缺陷。隨著比特(te)(te)(te)幣(bi)(bi)吸(xi)引越(yue)來(lai)越(yue)多開(kai)發(fa)者和技術人(ren)員的(de)(de)(de)(de)(de)注意,一(yi)(yi)些用(yong)(yong)(yong)(yong)戶嘗(chang)試(shi)使(shi)用(yong)(yong)(yong)(yong)比特(te)(te)(te)幣(bi)(bi)網(wang)絡用(yong)(yong)(yong)(yong)于(yu)其(qi)(qi)他數(shu)字(zi)貨(huo)幣(bi)(bi)或其(qi)(qi)他應(ying)用(yong)(yong)(yong)(yong)。但互(hu)聯網(wang)發(fa)展,獨立開(kai)發(fa)出(chu)區(qu)(qu)塊(kuai)(kuai)鏈應(ying)用(yong)(yong)(yong)(yong)的(de)(de)(de)(de)(de)難(nan)度比較大(da),用(yong)(yong)(yong)(yong)戶需要掌(zhang)握(wo)非(fei)常多的(de)(de)(de)(de)(de)軟硬(ying)件(jian)開(kai)發(fa)能力和加密算(suan)法,這使(shi)得區(qu)(qu)塊(kuai)(kuai)鏈的(de)(de)(de)(de)(de)應(ying)用(yong)(yong)(yong)(yong)對(dui)于(yu)一(yi)(yi)些用(yong)(yong)(yong)(yong)戶來(lai)說并沒(mei)有那么容易。
以(yi)(yi)(yi)太(tai)(tai)(tai)(tai)(tai)幣系統以(yi)(yi)(yi)太(tai)(tai)(tai)(tai)(tai)坊(fang)(fang)的(de)(de)(de)(de)(de)(de)出(chu)現就是(shi)(shi)幫助用(yong)(yong)(yong)(yong)戶更為(wei)(wei)(wei)容(rong)易(yi)地(di)利用(yong)(yong)(yong)(yong)區(qu)塊(kuai)(kuai)鏈(lian)技術進行(xing)應(ying)用(yong)(yong)(yong)(yong)設計。按照(zhao)巴特(te)林(lin)的(de)(de)(de)(de)(de)(de)說(shuo)法(fa),以(yi)(yi)(yi)太(tai)(tai)(tai)(tai)(tai)坊(fang)(fang)的(de)(de)(de)(de)(de)(de)目(mu)的(de)(de)(de)(de)(de)(de)是(shi)(shi)創(chuang)造(zao)一(yi)(yi)(yi)(yi)個(ge)更為(wei)(wei)(wei)一(yi)(yi)(yi)(yi)般化(hua)的(de)(de)(de)(de)(de)(de)區(qu)塊(kuai)(kuai)鏈(lian)平(ping)(ping)臺(tai)(tai)(tai),這一(yi)(yi)(yi)(yi)平(ping)(ping)臺(tai)(tai)(tai)可(ke)以(yi)(yi)(yi)允許用(yong)(yong)(yong)(yong)戶很容(rong)易(yi)創(chuang)造(zao)基于區(qu)塊(kuai)(kuai)鏈(lian)的(de)(de)(de)(de)(de)(de)應(ying)用(yong)(yong)(yong)(yong),避免用(yong)(yong)(yong)(yong)戶為(wei)(wei)(wei)創(chuang)建(jian)(jian)一(yi)(yi)(yi)(yi)個(ge)新的(de)(de)(de)(de)(de)(de)應(ying)用(yong)(yong)(yong)(yong)而不(bu)得不(bu)建(jian)(jian)立一(yi)(yi)(yi)(yi)個(ge)區(qu)塊(kuai)(kuai)鏈(lian)。通俗地(di)講(jiang),此(ci)前(qian)的(de)(de)(de)(de)(de)(de)區(qu)塊(kuai)(kuai)鏈(lian)(如比特(te)幣)只是(shi)(shi)一(yi)(yi)(yi)(yi)個(ge)單一(yi)(yi)(yi)(yi)的(de)(de)(de)(de)(de)(de)工(gong)具或(huo)最多(duo)是(shi)(shi)一(yi)(yi)(yi)(yi)個(ge)多(duo)功能(neng)的(de)(de)(de)(de)(de)(de)工(gong)具組合,而以(yi)(yi)(yi)太(tai)(tai)(tai)(tai)(tai)坊(fang)(fang)則是(shi)(shi)區(qu)塊(kuai)(kuai)鏈(lian)的(de)(de)(de)(de)(de)(de)智能(neng)手機(ji)(ji),用(yong)(yong)(yong)(yong)戶可(ke)以(yi)(yi)(yi)利用(yong)(yong)(yong)(yong)智能(neng)手機(ji)(ji)建(jian)(jian)立他(ta)所(suo)需(xu)要的(de)(de)(de)(de)(de)(de)任(ren)(ren)何“應(ying)用(yong)(yong)(yong)(yong)” 。因(yin)此(ci)巴特(te)林(lin)表示,區(qu)塊(kuai)(kuai)鏈(lian)的(de)(de)(de)(de)(de)(de)應(ying)用(yong)(yong)(yong)(yong)并不(bu)僅限于加(jia)密貨幣,它有著(zhu)(zhu)巨(ju)大(da)的(de)(de)(de)(de)(de)(de)潛力,適用(yong)(yong)(yong)(yong)于各行(xing)各業,能(neng)為(wei)(wei)(wei)各企業和各種規模的(de)(de)(de)(de)(de)(de)組織帶(dai)來顯著(zhu)(zhu)好處(chu)。通過提供(gong)這樣一(yi)(yi)(yi)(yi)個(ge)高度泛化(hua)的(de)(de)(de)(de)(de)(de)平(ping)(ping)臺(tai)(tai)(tai),以(yi)(yi)(yi)太(tai)(tai)(tai)(tai)(tai)坊(fang)(fang)允許用(yong)(yong)(yong)(yong)戶在不(bu)需(xu)要創(chuang)建(jian)(jian)自(zi)有區(qu)塊(kuai)(kuai)鏈(lian)的(de)(de)(de)(de)(de)(de)同時,建(jian)(jian)立使用(yong)(yong)(yong)(yong)廣泛的(de)(de)(de)(de)(de)(de)應(ying)用(yong)(yong)(yong)(yong)程序。以(yi)(yi)(yi)太(tai)(tai)(tai)(tai)(tai)坊(fang)(fang)的(de)(de)(de)(de)(de)(de)愿景成(cheng)為(wei)(wei)(wei)“世(shi)界計算機(ji)(ji)”:用(yong)(yong)(yong)(yong)戶就像使用(yong)(yong)(yong)(yong)計算機(ji)(ji)一(yi)(yi)(yi)(yi)樣簡(jian)單快捷(jie)建(jian)(jian)立基于區(qu)塊(kuai)(kuai)鏈(lian)的(de)(de)(de)(de)(de)(de)應(ying)用(yong)(yong)(yong)(yong),享受區(qu)塊(kuai)(kuai)鏈(lian)所(suo)帶(dai)來的(de)(de)(de)(de)(de)(de)分散化(hua)和安(an)全好處(chu)。這使得以(yi)(yi)(yi)太(tai)(tai)(tai)(tai)(tai)坊(fang)(fang)的(de)(de)(de)(de)(de)(de)應(ying)用(yong)(yong)(yong)(yong)前(qian)景廣闊。理論上,以(yi)(yi)(yi)太(tai)(tai)(tai)(tai)(tai)坊(fang)(fang)是(shi)(shi)一(yi)(yi)(yi)(yi)個(ge)通用(yong)(yong)(yong)(yong)的(de)(de)(de)(de)(de)(de)平(ping)(ping)臺(tai)(tai)(tai),可(ke)以(yi)(yi)(yi)用(yong)(yong)(yong)(yong)于各種各樣的(de)(de)(de)(de)(de)(de)應(ying)用(yong)(yong)(yong)(yong),但到(dao)為(wei)(wei)(wei)止大(da)部分的(de)(de)(de)(de)(de)(de)應(ying)用(yong)(yong)(yong)(yong)都與金融(rong)(rong)有關。不(bu)過,除金融(rong)(rong)應(ying)用(yong)(yong)(yong)(yong)程序之外,任(ren)(ren)何需(xu)要信任(ren)(ren)、安(an)全和永久存(cun)儲(chu)的(de)(de)(de)(de)(de)(de)環境(jing)都可(ke)能(neng)受到(dao)以(yi)(yi)(yi)太(tai)(tai)(tai)(tai)(tai)坊(fang)(fang)平(ping)(ping)臺(tai)(tai)(tai)的(de)(de)(de)(de)(de)(de)巨(ju)大(da)影(ying)響,例如資(zi)產注冊、選舉、政(zheng)府(fu)管理以(yi)(yi)(yi)及物聯網(wang)等。
相較(jiao)于(yu)較(jiao)大多數其他(ta)加密貨(huo)幣或區塊鏈技術,以太幣的特點包括下列:
Gavin Wood寫的《以太坊黃(huang)皮書》中(zhong)定(ding)義了以太虛(xu)擬機的運作流程(cheng)。智能(neng)合約(yue)(yue)可以專(zhuan)門(men)為此開發的Solidity編程(cheng)語言寫成,或是Python的一(yi)個變體Serpent,或是LLL。以太虛(xu)擬機也可以在(zai)Mutan上運行。智能(neng)合約(yue)(yue)之(zhi)后(hou)會編譯(yi)成字節(jie)碼,然后(hou)發布在(zai)以太坊區塊鍵上。
將(jiang)所有(you)(you)合約(yue)存在區塊鏈(lian)上每個(ge)結點(dian)(dian)(dian)的(de)(de)作法有(you)(you)好有(you)(you)壞(huai)。主要(yao)的(de)(de)缺點(dian)(dian)(dian)是所有(you)(you)的(de)(de)結點(dian)(dian)(dian)都(dou)同(tong)時要(yao)運算(suan)所有(you)(you)的(de)(de)合約(yue),因此(ci)速度較慢。開發(fa)人員正研究(jiu)將(jiang)數據切分(Sharding)的(de)(de)技術套用至(zhi)以(yi)太(tai)(tai)坊。2016年(nian)9月 Buterin 發(fa)表了改善可擴展性(xing)的(de)(de)企(qi)畫。截至(zhi)2016年(nian)1月,以(yi)太(tai)(tai)坊每秒可以(yi)處理25個(ge)交易。
存在一(yi)種(zhong)區(qu)(qu)(qu)塊(kuai)(kuai)(kuai)—叔塊(kuai)(kuai)(kuai)(uncle block),用于歸納那些因為(wei)速度較慢(man)而未及時(shi)被(bei)收(shou)入母鏈(lian)的(de)較短(duan)區(qu)(qu)(qu)塊(kuai)(kuai)(kuai)鏈(lian)。這個(ge)區(qu)(qu)(qu)塊(kuai)(kuai)(kuai)的(de)產生是因為(wei)以太幣的(de)區(qu)(qu)(qu)塊(kuai)(kuai)(kuai)時(shi)間(jian)是20秒左(zuo)右(you),相對(dui)于比(bi)特幣,更(geng)容易出(chu)現臨時(shi)分(fen)(fen)叉(cha)。而且較短(duan)的(de)區(qu)(qu)(qu)塊(kuai)(kuai)(kuai)時(shi)間(jian),也使得區(qu)(qu)(qu)塊(kuai)(kuai)(kuai)在整個(ge)網(wang)絡中更(geng)難以充(chong)分(fen)(fen)傳播,尤(you)其是對(dui)那些網(wang)速慢(man)的(de)礦工,這是一(yi)種(zhong)極(ji)大(da)的(de)不公(gong)平(ping)。為(wei)了(le)(le)平(ping)衡(heng)各方利益,設計了(le)(le)這樣一(yi)個(ge)叔塊(kuai)(kuai)(kuai)機制。叔塊(kuai)(kuai)(kuai)在全部挖掘出(chu)來的(de)區(qu)(qu)(qu)塊(kuai)(kuai)(kuai)中占的(de)比(bi)例叫叔塊(kuai)(kuai)(kuai)率。
智能(neng)(neng)(neng)合(he)(he)約賦予賬(zhang)本可(ke)編程的(de)(de)特(te)性,區塊鏈 2.0 通(tong)過(guo)虛擬機(ji)(ji)的(de)(de)方式運行(xing)代碼實現智能(neng)(neng)(neng)合(he)(he)約的(de)(de)功能(neng)(neng)(neng),比如(ru)以太(tai)幣(bi)的(de)(de)以太(tai)坊虛擬機(ji)(ji)(EVM)。同時,這一層通(tong)過(guo)在智能(neng)(neng)(neng)合(he)(he)約上添加能(neng)(neng)(neng)夠與(yu)用(yong)戶交互的(de)(de)前臺(tai)界(jie)面,形成(cheng)去中(zhong)心(xin)化的(de)(de)應用(yong)(DAPP)。當然,在某(mou)些(xie)技術文檔中(zhong)認為DAPP 應該(gai)在智能(neng)(neng)(neng)合(he)(he)約層之上單獨為應用(yong)層,也是有(you)一定道(dao)理(li),只要不(bu)影(ying)響理(li)解即可(ke)。
激勵(li)層主要實現以(yi)太幣(bi)的發(fa)行(xing)和分配機制,以(yi)太幣(bi)不是(shi)數字貨(huo)幣(bi),而是(shi)定(ding)位于平臺運(yun)行(xing)的燃料,運(yun)行(xing)智(zhi)能(neng)合約和發(fa)送交易都需要向礦工支付一定(ding)的以(yi)太幣(bi)。以(yi)太幣(bi)可以(yi)通過挖礦獲得,礦工每挖到(dao)一個(ge)(ge)區塊固定(ding)獎勵(li) 5 個(ge)(ge)以(yi)太幣(bi)。
共(gong)識層主要實現全網所有節點對交(jiao)易(yi)和數據(ju)達成一致,以太坊采(cai)用兩(liang)種共(gong)識機(ji)(ji)制(zhi),初期采(cai)用工作量證明機(ji)(ji)制(zhi)(POW),待網絡中的(de)以太幣充分流通和分散后,改為采(cai)用交(jiao)易(yi)速度更快、無資源消耗的(de)權(quan)益證明機(ji)(ji)制(zhi)(POS),從而有效地避免了(le)純 POS 機(ji)(ji)制(zhi)導(dao)致的(de)初期權(quan)益分配不公平的(de)情況。
網(wang)絡(luo)層主(zhu)要實現網(wang)絡(luo)節(jie)(jie)點的連(lian)接和通信(xin),又稱“點對點技術(shu)”,是沒(mei)有中(zhong)心服(fu)務器(qi)、依靠用戶群交換(huan)信(xin)息的互聯網(wang)體系。與有中(zhong)心服(fu)務器(qi)的中(zhong)央網(wang)絡(luo)系統不同,對等(deng)(deng)網(wang)絡(luo)的每個用戶端既是一個節(jie)(jie)點,也有服(fu)務器(qi)的功能,其(qi)具有去中(zhong)心化與健壯性(xing)等(deng)(deng)特點。
數(shu)據(ju)層(ceng)最(zui)底層(ceng)的(de)技術(shu),是一切(qie)的(de)基礎,主要(yao)實現了(le)兩個功(gong)能(neng),一個是相關(guan)數(shu)據(ju)的(de)存儲,另一個是賬戶和交易(yi)的(de)實現與安全。數(shu)據(ju)存儲主要(yao)基于 Merkle 樹,通過區塊的(de)方(fang)式和鏈式結構實現,大多以 KV 數(shu)據(ju)庫的(de)方(fang)式實現持久化,比如以太坊(fang)采用 LevelDB。賬號(hao)和交易(yi)的(de)實現基于數(shu)字簽(qian)名(ming)、哈希函數(shu)和非對稱加(jia)密技術(shu)等多種密碼(ma)學算(suan)法和技術(shu),保證了(le)交易(yi)在去中心化的(de)情況下能(neng)夠安全地進(jin)行。