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