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