原文鏈接 https://medium.com/eosio/eosio-dawn-3-0-now-available-49a3b99242d7
我懷著無比激動(dòng)的心情戈毒,謹(jǐn)代表Block.one公司在此宣布,第一個(gè)全功能預(yù)發(fā)布版本的EOSIO炸客,Dawn 3.0版已經(jīng)發(fā)布。本次的預(yù)發(fā)布版本是預(yù)計(jì)2018年6月正式發(fā)布的EOSIO 1.0正式版前的一個(gè)重要里程碑姜骡。我們遍布全球的開發(fā)團(tuán)隊(duì)夜以繼日的努力工作來讓EOSIO成為最強(qiáng)大的區(qū)塊鏈應(yīng)用平臺(tái)。EOSIO Dawn 2.0版本發(fā)布已經(jīng)過去4個(gè)月了,我們有太多新進(jìn)展想要和大家分享析二。
構(gòu)建一個(gè)世界頂級(jí)的區(qū)塊鏈架構(gòu)是一個(gè)不斷演進(jìn)發(fā)展的過程,隨著我們不斷學(xué)習(xí)到新的知識(shí)务嫡,我們也在修正調(diào)整我們的設(shè)計(jì)甲抖。我們?cè)贒awn 3.0版本里實(shí)現(xiàn)了許多甚至在原來白皮書未曾預(yù)想到的新功能漆改,這些新功能是在設(shè)計(jì)建設(shè)高性能心铃、高靈活、簡(jiǎn)單易用的開發(fā)平臺(tái)的過程中被逐步發(fā)現(xiàn)的挫剑。
擴(kuò)展性功能
可擴(kuò)展性意味著擁有靈活擴(kuò)展規(guī)模的能力來快速適應(yīng)市場(chǎng)需求去扣。我們?cè)谠O(shè)計(jì)的每個(gè)環(huán)節(jié)都把未來可擴(kuò)展的需求融入到設(shè)計(jì)當(dāng)中。也就是說樊破,Dawn 3.0目前只實(shí)現(xiàn)了部分的潛在優(yōu)化項(xiàng)來支持EOSIO的規(guī)模擴(kuò)展愉棱。另外,EOSIO設(shè)計(jì)充分考慮到哲戚,未來在無須硬分叉的前提下奔滑,也可以升級(jí)系統(tǒng)來利用并行計(jì)算技術(shù)加大系統(tǒng)吞吐率。
跨鏈通信
跨鏈通信是屬于終極目標(biāo)的可擴(kuò)展性功能——圣杯顺少,業(yè)界已經(jīng)在尋覓各類解決方案朋其,譬如側(cè)鏈王浴,plasma和分片技術(shù)∶吩常跨連通信使得一個(gè)區(qū)塊鏈能夠以一種可信安全的機(jī)制來驗(yàn)證在另一個(gè)區(qū)塊鏈上發(fā)生的事件氓辣。跨連通信的目標(biāo)是使得鏈間的通信能夠變得和鏈內(nèi)智能合約之間通信一樣安全袱蚓,我們認(rèn)為我們已經(jīng)實(shí)現(xiàn)了這個(gè)目標(biāo)钞啸。
在我們看來,實(shí)現(xiàn)跨連通信只需要擁有把一個(gè)輕量級(jí)客戶端(譯者注:下簡(jiǎn)稱輕客戶端)作為智能合約的能力喇潘。一個(gè)輕客戶端能夠驗(yàn)證驗(yàn)證區(qū)塊鏈上的交易且無需處理全部鏈上交易体斩。這意味著我們需要使用高效安全的輕客戶端驗(yàn)證機(jī)制來構(gòu)筑一個(gè)PoS區(qū)塊鏈。輕客戶端驗(yàn)證機(jī)制因此必須作為協(xié)議設(shè)計(jì)的必要因素颖低,而不可能在現(xiàn)成方案后追加進(jìn)去硕勿。
稀疏頭部驗(yàn)證
傳統(tǒng)輕客戶端一般期望需要處理每個(gè)區(qū)塊的頭部然后驗(yàn)證對(duì)應(yīng)的證據(jù)。由于EOSIO每秒產(chǎn)出兩個(gè)區(qū)塊枫甲,其他的區(qū)塊鏈需要至少具備每秒2筆交易的處理能力來處理EOSIO產(chǎn)出的區(qū)塊頭源武。這對(duì)于低頻跨連通信的場(chǎng)景來說是不可擴(kuò)展的。為了解決這個(gè)問題想幻,我們創(chuàng)造了首個(gè)使用拜占庭容錯(cuò)(BFT)稀疏頭部驗(yàn)證機(jī)制的區(qū)塊鏈粱栖。具體來說,只有多于2/3(譬如21里大于15個(gè))的區(qū)塊生產(chǎn)者聯(lián)合腐敗才能欺騙輕客戶端脏毯。進(jìn)一步地闹究,輕客戶端只需要處理區(qū)塊生產(chǎn)者集合發(fā)生變更或者包含跨連消息的區(qū)塊頭部。這樣就能極大減小維護(hù)BFT輕客戶端的開銷食店,從而極大低提高跨連通信的效率渣淤。
上下文無關(guān)動(dòng)作
上下文無關(guān)動(dòng)作是實(shí)現(xiàn)跨連通信的關(guān)鍵技術(shù)之一,這類特殊的動(dòng)作包含了一個(gè)不依賴于區(qū)塊鏈狀態(tài)的交易吉嫩,因此被稱為上下文無關(guān)价认。一個(gè)例子的例子是驗(yàn)證merkle proof或者簽名。因?yàn)檫@些計(jì)算是上下文無關(guān)的自娩,所以它們能夠很容易的并行驗(yàn)證用踩,并且計(jì)算結(jié)果能夠從replay中被裁剪。
每個(gè)上下文無關(guān)動(dòng)作還能引用一個(gè)交易中的特殊的可裁剪數(shù)據(jù)區(qū)域忙迁,這意味著大的merkle proof能夠被刪除脐彩,而那些昂貴的計(jì)算任務(wù)能夠在區(qū)塊鏈replay過程中被跳過。
上下文無關(guān)動(dòng)作使得跨連通信相關(guān)的大部分計(jì)算可以被并行化姊扔,同樣地可以并行化和裁剪掉那些計(jì)算昂貴的隱私相關(guān)技術(shù)惠奸,譬如機(jī)密交易,bullet proof和zkSNARKs恰梢。
為了激勵(lì)上下文無關(guān)動(dòng)作的采用佛南,區(qū)塊生產(chǎn)者只向用戶收取上下文無關(guān)動(dòng)作所花費(fèi)的部分CPU開銷证九,而不是作為普通的交易。
上下文無關(guān)內(nèi)聯(lián)動(dòng)作事件
EOSIO Dawn 2.0的開發(fā)者們想要的一種高效的事件生成機(jī)制共虑,使得事件能夠在源頭以外被處理愧怜。在以太坊平臺(tái)事件被用來報(bào)告關(guān)于智能合約內(nèi)部操作的結(jié)構(gòu)化信息。在引入上下文無關(guān)動(dòng)作后妈拌,我們也可以執(zhí)行上下文無關(guān)內(nèi)聯(lián)動(dòng)作拥坛。一個(gè)內(nèi)聯(lián)動(dòng)作是指由合約代碼產(chǎn)生并且被作為當(dāng)前交易一部分而被執(zhí)行。上下文無關(guān)內(nèi)聯(lián)動(dòng)作能夠被低成本的并行處理尘分。由于所有內(nèi)聯(lián)動(dòng)作都會(huì)被包含在merkle root里猜惋,因此很有可能可以使用這些動(dòng)作作為可證明的通告來通知外部服務(wù)和其他區(qū)塊鏈。
交易壓縮
許多交易上有大量可壓縮數(shù)據(jù)培愁,一個(gè)最顯然的例子是智能合約的WebAssembly代碼本身著摔,其他例子包括ABI規(guī)范、關(guān)聯(lián)賬戶和合約的Ricardian合約定续。有一些應(yīng)用譬如社交媒體也可能希望能夠壓縮由用戶生成的連上內(nèi)容谍咆。
使用交易壓縮技術(shù)后,一方面區(qū)塊鏈能夠更高效地存儲(chǔ)和傳輸更大數(shù)量的交易私股,另一方面也可以降低用戶費(fèi)用摹察。
解析器和Just-In-Time編譯
相比Dawn 2.0版的一個(gè)最大的變化是,我們對(duì)WebAssembly運(yùn)行環(huán)境進(jìn)行了抽象倡鲸。Dawn 3.0現(xiàn)在默認(rèn)使用Binaryen WebAssembly解析器供嚎,而非更快的Just-In-Time編譯器。這個(gè)決定一定程度降低了性能峭状,但增大了穩(wěn)定性和標(biāo)準(zhǔn)一致性克滴,讓我們能夠按需更方便的升級(jí)替換使用更高性能的JIT環(huán)境。同時(shí)解析器也解決了我們?cè)贒awn 2.0遇到的一個(gè)最大的挑戰(zhàn)优床,那就是編譯合約引發(fā)的延遲劝赔。在未來我們能夠使用解析器來獲得一個(gè)慢一點(diǎn)但更低延遲的合約部署執(zhí)行體驗(yàn),與此同時(shí)智能合約在后臺(tái)被編譯和優(yōu)化羔巢。這樣的雙重實(shí)現(xiàn)意味著我們所有的單元測(cè)試都需要經(jīng)過編譯測(cè)試和解釋測(cè)試的檢驗(yàn)望忆,這樣我們能夠在部署混合機(jī)制前發(fā)現(xiàn)潛在的非確定或非標(biāo)準(zhǔn)一致的行為罩阵。
資源計(jì)費(fèi)和限速
在Dawn 3.0版本我們有了全新的資源限速系統(tǒng)竿秆,也許其中最大的變化是引入了一種客觀的指令計(jì)數(shù)算法。我們建立EOSIO之初有一個(gè)目標(biāo)稿壁,就是采用完全主觀的限速和約束機(jī)制幽钢。后來我們發(fā)現(xiàn)主觀約束的付出代價(jià)和更客觀的機(jī)制的代價(jià)幾乎一樣。所以我們現(xiàn)在采用一種混合的解決方案傅是,用戶賬單按客觀使用量計(jì)費(fèi)匪燕,但是區(qū)塊生產(chǎn)者可以在合約上主觀設(shè)定運(yùn)行時(shí)間限制蕾羊。這些主觀限制可以有效預(yù)防對(duì)客觀計(jì)費(fèi)機(jī)制的濫用。
我們采用這種方法的一個(gè)主要原因是允許單獨(dú)的交易可以比以前進(jìn)行更多計(jì)算帽驯,現(xiàn)在理論上一個(gè)區(qū)塊可以包含一個(gè)跑100ms的交易龟再,而在舊模型下每個(gè)交易被限制在只能跑1ms以下。
限速機(jī)制還有一處變化是不再必須定義一個(gè)token尼变,這樣允許EOSIO能夠被私人使用利凑,譬如準(zhǔn)入機(jī)制的區(qū)塊鏈中即使沒有使用任何token也能實(shí)現(xiàn)限速。而公有鏈可以采用系統(tǒng)合約嫌术,通過權(quán)益份額來實(shí)現(xiàn)限速哀澈,社區(qū)可以動(dòng)態(tài)升級(jí)資源分配方式。
500ms 區(qū)塊間隔和BPF DPOS
在Dawn 3.0我們從每3秒?yún)^(qū)塊間隔改為0.5秒間隔度气,這極大地縮短了確認(rèn)延遲割按。結(jié)合BFT DPOS共識(shí)機(jī)制,交易在不到1秒的時(shí)間內(nèi)即可達(dá)到不可逆確認(rèn)狀態(tài)磷籍。不可逆確認(rèn)延遲對(duì)于跨連通信有著重要意義适荣,因?yàn)閰^(qū)塊鏈在采用確認(rèn)外鏈的證明前必須先等待外鏈交易不可逆。兩個(gè)基于EOSIO的區(qū)塊鏈應(yīng)該能夠在3秒以內(nèi)完成一次往返通信院领。而類似的通信模式在以太坊網(wǎng)絡(luò)上需要9分鐘束凑,在比特幣網(wǎng)絡(luò)上需要3+小時(shí)。
BFT DPOS目前還沒實(shí)現(xiàn)因?yàn)樗鼘儆诜怯卜植鎯?yōu)化栅盲,我們計(jì)劃在正式發(fā)布EOSIO 1.0以前實(shí)現(xiàn)這個(gè)功能汪诉。
BIOS架構(gòu)
BIOS架構(gòu)是區(qū)別于Dawn 2.0版本架構(gòu)上最大的改變,在新版本下大部分區(qū)塊鏈業(yè)務(wù)邏輯被移動(dòng)到一個(gè)智能合約內(nèi)部谈秫,這樣社區(qū)無須硬分叉即可動(dòng)態(tài)升級(jí)扒寄。一個(gè)裸的EOSIO區(qū)塊鏈現(xiàn)在只有區(qū)塊生產(chǎn)者,不帶任何token拟烫,投票或者委托權(quán)益證明该编。在核心區(qū)塊鏈代碼上只實(shí)現(xiàn)了權(quán)限系統(tǒng),包括創(chuàng)建賬戶硕淑、部署合約课竣、資源份額分配。所有DPOS的特性包括代幣置媳、投票于樟、權(quán)益以及資源分配,現(xiàn)在都是由基于WebAssembly的系統(tǒng)合約來定義拇囊。
在這種新架構(gòu)下迂曲,我們能夠?qū)W㈤_發(fā)區(qū)塊鏈上非WebAssembly的靜態(tài)部分。這些部分對(duì)于穩(wěn)定性至關(guān)重要——也是最難以升級(jí)的部分寥袭。在本次Dawn 3.0和正式EOSIO 1.0發(fā)布之間路捧,我們會(huì)完成系統(tǒng)合約关霸、權(quán)益、投票等方面的最終細(xì)節(jié)杰扫。
安全特性
對(duì)于任何計(jì)算系統(tǒng)而言队寇,安全是至關(guān)重要的,我們以市場(chǎng)上最安全的區(qū)塊鏈作為目標(biāo)來設(shè)計(jì)EOSIO章姓。安全是一個(gè)多維度的問題英上,需要同時(shí)考慮被黑客入侵的風(fēng)險(xiǎn)、硬件失效啤覆、硬件丟失胶台、密碼丟失等等器贩。硬件錢包可以很好的保護(hù)用戶免受黑客攻擊,但同時(shí)也能在損壞失效的時(shí)候?qū)⒛銖馁~戶中拒之門外。進(jìn)一步地裸影,紙錢包備份和硬件錢包有丟失和被盜的風(fēng)險(xiǎn)盛霎。
安全延遲交易
EOSIO Dawn 3.0版本的一個(gè)最顯著特征是加入了一種用戶可配置的動(dòng)作延遲機(jī)制申窘。通過動(dòng)作延遲婶希,一個(gè)交易必須先提前廣播到整個(gè)區(qū)塊鏈,延遲若干小時(shí)或者若干天后再被執(zhí)行见剩。在延遲的過程中用戶可以采取措施去提升交易所需的賬戶權(quán)限閾值要求從而取消掉交易杀糯。在其他區(qū)塊鏈上,往往在已經(jīng)到了無法挽回的情況下用戶才知曉自己被黑客攻擊苍苞,相比之下固翰,EOS的延遲機(jī)制能夠有效保護(hù)用戶,這是一個(gè)非常大的進(jìn)步羹呵。
密碼恢復(fù)
每個(gè)賬戶擁有至少兩級(jí)權(quán)限:“owner”權(quán)限和"active"權(quán)限骂际。owner權(quán)限應(yīng)該是N-M多簽名,如果沒有所有者的秘鑰,這里就沒有N冈欢。 當(dāng)active的私鑰丟失或者被盜時(shí)歉铝,owner權(quán)限可以隨時(shí)重置active權(quán)限。
如果你丟失了owner私鑰或者你的多簽名伙伴不配合凑耻,那么賬戶active權(quán)限可以在owner權(quán)限沉寂30天候申請(qǐng)重置owner權(quán)限太示。之前的owner權(quán)限有7天期限可以更新active權(quán)限來取消掉這個(gè)重置申請(qǐng)。
在這個(gè)模型下香浩,有一個(gè)或多個(gè)硬件錢包控制的賬戶的owner權(quán)限能夠有效抵御黑客攻擊和設(shè)備失效的風(fēng)險(xiǎn)类缤。如果設(shè)備是一個(gè)蘋果iPhone,使用了硬件和指紋/Face ID來保護(hù)私鑰弃衍,那么攻擊者需要同時(shí)做到搞定你的多簽名伙伴呀非,物理上盜取你的手機(jī)和你的指紋或臉部。理想情況下镜盯,你的多簽名伙伴也同樣使用生物統(tǒng)計(jì)學(xué)安全的硬件設(shè)備岸裙。
交易提案系統(tǒng)
如果用戶能夠獨(dú)立增加和移除權(quán)限,不用在交易限定期限內(nèi)等待收集所有簽名的話速缆,多簽名會(huì)更簡(jiǎn)單易用降允。采用提案系統(tǒng),任何人可以發(fā)起一個(gè)交易提案艺糜,交易權(quán)限關(guān)聯(lián)的其他伙伴可以簡(jiǎn)單地表決同意與否剧董。在同意提案后,只要提案未達(dá)到必要閾值破停,參與方可以隨時(shí)撤銷同意翅楼。
為了實(shí)現(xiàn)這個(gè)提案系統(tǒng),我們?cè)黾恿艘恍┬碌腁PI來允許智能合約評(píng)估賬戶權(quán)限是否足夠充分來對(duì)交易授權(quán)真慢。這使得我們能夠通過部署新的WebAssembly合約來升級(jí)多簽名機(jī)制毅臊,從而避免執(zhí)行硬分叉。
簡(jiǎn)化合約開發(fā)
EOSIO的眾多目標(biāo)之一是讓智能合約開發(fā)盡可能的簡(jiǎn)單無痛黑界。一個(gè)開發(fā)者只要會(huì)寫C++類和方法管嬉,他就有能力參照著很簡(jiǎn)單的模板來編寫智能合約。
我們很高興能夠做到讓我們的簡(jiǎn)版"hell world"合約只需幾行簡(jiǎn)單代碼朗鸠,我們的工具鏈能夠把生成合約ABI接口蚯撩、映射用戶動(dòng)作到類方法這些瑣碎過程全自動(dòng)化起來。開發(fā)智能合約從未如此簡(jiǎn)單烛占。
Hello Wold智能合約樣例
#include <eosiolib/eosio.hpp>
#include <eosiolib/print.hpp>
using namespace eosio;
struct hello : public contract {
using contract::contract;
void hi( name user ) {
print( “Hello, “, user );
}
};
EOSIO_ABI( hello, (hi) )
浮點(diǎn)支持
簡(jiǎn)化智能合約開發(fā)的一部分工作在于使開發(fā)者更方便地實(shí)現(xiàn)數(shù)學(xué)算法胎挎,區(qū)塊鏈開發(fā)最難的一個(gè)方面是缺乏浮點(diǎn)數(shù)以及相關(guān)的冪次、開方和三角函數(shù)等運(yùn)算忆家。很多算法譬如Bancor呀癣,如果直接使用浮點(diǎn)運(yùn)算能夠更容易實(shí)現(xiàn),而無需強(qiáng)制轉(zhuǎn)成容易出錯(cuò)和耗內(nèi)存的定點(diǎn)運(yùn)算弦赖。
我們通過引入一個(gè)軟件浮點(diǎn)運(yùn)算庫(kù)來解決了硬件浮點(diǎn)運(yùn)算非確定性的問題项栏,這個(gè)庫(kù)的使用對(duì)WebAssembly智能合約透明無感知。通過軟件浮點(diǎn)數(shù)蹬竖,我們能夠在復(fù)雜情況下以不大于定點(diǎn)運(yùn)算的代價(jià)同時(shí)獲得確定性和開發(fā)易用性的好處沼沈。在很多情況下,定點(diǎn)運(yùn)算比確定性浮點(diǎn)表達(dá)運(yùn)算要么更容易出錯(cuò)币厕,要么更耗費(fèi)內(nèi)存列另。
C++ 標(biāo)準(zhǔn)模塊庫(kù)支持
在EOSIO Dawn 3.0版本,我們花了很大功夫來增加支持C++標(biāo)準(zhǔn)模板庫(kù)大部分功能旦装,這意味著開發(fā)者能夠使用透明熟悉的工具页衙、庫(kù)和算法,同時(shí)免于引入非標(biāo)準(zhǔn)算法實(shí)現(xiàn)導(dǎo)致的bug。
預(yù)定交易
有了預(yù)定交易功能店乐,開發(fā)者現(xiàn)在可以編寫自動(dòng)永續(xù)運(yùn)行的智能合約艰躺,只要合同有充足的抵押帶寬。相比之下眨八,其他區(qū)塊鏈平臺(tái)需要一定的鏈外解決方案腺兴,以在適當(dāng)?shù)臅r(shí)候喚醒合同。有了預(yù)定交易功能廉侧,我們就獲得了效率和易用性页响,而無需開發(fā)者自行安裝服務(wù)器以保持合同的正常運(yùn)行。
自動(dòng)范圍監(jiān)測(cè)
在EOSIO Dawn 2.0段誊,每一筆交易都需要定義它需要訪問的數(shù)據(jù)范圍闰蚕,這對(duì)開發(fā)者來說是容易出錯(cuò)和冗余的。在EOSIO Dawn 3.0连舍, 區(qū)塊的生產(chǎn)者負(fù)責(zé)決定訪問的數(shù)據(jù)范圍没陡,并解決沖突。
這使得所有交易變的更小烟瞧,將調(diào)度開銷轉(zhuǎn)移到塊生產(chǎn)者诗鸭,而不是將其推回到用戶、開發(fā)者或全節(jié)點(diǎn)参滴。
多級(jí)索引的數(shù)據(jù)庫(kù)編程接口
EOSIO Dawn 3.0引入了一個(gè)以boost庫(kù)的multi_index_container為鏡像的新數(shù)據(jù)庫(kù)API强岸。 使用此API,天然支持按多鍵排序的數(shù)據(jù)庫(kù)表砾赔,查找項(xiàng)目蝌箍,使用下限/上限,以及在數(shù)據(jù)庫(kù)上前后反復(fù)遍歷暴心。這個(gè)新的API使用迭代器接口妓盲,可極大提高掃描表的性能。
現(xiàn)在也可以在64位专普,128位悯衬,256位和512位整數(shù)以及64位浮點(diǎn)(雙精度)上使用索引。 在發(fā)布EOSIO 1.0之前檀夹,會(huì)添加對(duì)字符串索引的支持筋粗。 這是靈活性和開發(fā)簡(jiǎn)便性的顯著改進(jìn),因?yàn)楝F(xiàn)在可以在同一個(gè)表上擁有幾乎無限數(shù)量的索引字段炸渡。
性能
真實(shí)世界的表現(xiàn)是我們團(tuán)隊(duì)一直密切關(guān)注的事情娜亿,我們現(xiàn)在對(duì)結(jié)果非常滿意。 我們通過幾種不同的配置對(duì)我們的軟件進(jìn)行了基準(zhǔn)測(cè)試蚌堵,以了解未來優(yōu)化時(shí)性能的上限和下限买决。 所有這些測(cè)試都假設(shè)令牌傳輸在計(jì)算復(fù)雜度方面與比特幣或Ethereum ERC20令牌傳輸相當(dāng)沛婴。
最差的情況——1000 TPS
這是我們沒有任何優(yōu)化的基準(zhǔn)性能。 我們能夠使用運(yùn)行具有單線程簽名驗(yàn)證的解釋器的多節(jié)點(diǎn)網(wǎng)絡(luò)來支持超過1000 TPS督赤。
平均性能——3000TPS
打開JIT編譯器后嘁灯,我們可以使用運(yùn)行具有單線程簽名驗(yàn)證的解釋器的多節(jié)點(diǎn)網(wǎng)絡(luò)來維持3000 TPS。
最好的情況——6000TPS
一旦我們實(shí)現(xiàn)了并行簽名驗(yàn)證够挂,我們可以假設(shè)壁時(shí)鐘每簽名將接近0旁仿,因?yàn)椴⑿卸群秃灻麛?shù)量增加藕夫。 我們可以通過禁用簽名驗(yàn)證來模擬此環(huán)境孽糖。 在這個(gè)模型下,我們可以用JIT編譯器在多節(jié)點(diǎn)網(wǎng)絡(luò)上達(dá)到6000 TPS毅贮。
理論值上限——8000TPS
如果我們從等式中刪除網(wǎng)絡(luò)代碼办悟,并只關(guān)注CPU在關(guān)閉簽名驗(yàn)證和使用JIT時(shí)能夠執(zhí)行的操作,那么我們可以達(dá)到每秒8,000個(gè)單線程事務(wù)滩褥。 要在單一鏈上走得更高病蛉,需要實(shí)現(xiàn)WebAssembly的并行執(zhí)行和更高級(jí)的調(diào)度程序。 在這種情況下瑰煎,使用解釋器而不是JIT铺然,我們可以看到2700 TPS。 這表明啟用JIT的相對(duì)簡(jiǎn)單的改變將使我們的轉(zhuǎn)移性能提高約3倍酒甸。 這些測(cè)量是在MacBook 2.8Ghz i7上進(jìn)行的魄健。
無上限每秒交易
通常每個(gè)人對(duì)“每秒交易次數(shù)”的定義有不同的理解。 通過區(qū)塊鏈交流插勤,我們可以根據(jù)需要在區(qū)塊鏈之間分配工作量沽瘦。 令牌可以可靠和安全地在不同的鏈之間傳輸。 由于相同(或不同)塊生產(chǎn)者并行運(yùn)行1000條鏈农尖,我們可以看到每秒數(shù)百萬的交易析恋。 這代表了其他區(qū)塊鏈提出的理論擴(kuò)展方案的實(shí)際實(shí)現(xiàn)。
我們強(qiáng)烈鼓勵(lì)基于EOSIO的區(qū)塊生產(chǎn)者 根據(jù)公共網(wǎng)絡(luò)去運(yùn)行盛卡,盡可能多的滿足用戶需求助隧。 所有的鏈都可以使用相同的標(biāo)記作為獲取和資源分配的基礎(chǔ)。 這將圍繞單個(gè)令牌創(chuàng)建最大可能的網(wǎng)絡(luò)效應(yīng)滑沧,并利用高度市場(chǎng)化的代幣形成經(jīng)濟(jì)激勵(lì)的信任和安全性并村。
像交易所,貨幣和社交媒體這樣的應(yīng)用程序可以很容易的在很多并行鏈上平衡其負(fù)載嚎货。
后續(xù)
EOSIO Dawn 3.0 主要聚焦在核心平臺(tái)的穩(wěn)定性上,接下去幾個(gè)月我們將準(zhǔn)備最后的系統(tǒng)合約,這一部分將實(shí)現(xiàn)權(quán)益橘霎,投票以及管理機(jī)制所有功能,另外會(huì)完成代幣標(biāo)準(zhǔn)的制定.
一旦系統(tǒng)合約如期實(shí)現(xiàn),我們將會(huì)啟動(dòng)一個(gè)新的公開測(cè)試網(wǎng)絡(luò).那時(shí)啟動(dòng)你自己的測(cè)試網(wǎng)絡(luò)和開發(fā)應(yīng)用將變得非常簡(jiǎn)單。同時(shí)在接下來的兩個(gè)星期內(nèi),為了在準(zhǔn)備新的測(cè)試網(wǎng)絡(luò)時(shí)減少對(duì)開發(fā)者的影響,我們會(huì)關(guān)閉當(dāng)前的公開測(cè)試網(wǎng)絡(luò)殖属。
總結(jié)
EOSIO Dawn 3.0 是一個(gè)開發(fā)者發(fā)布的版本, 這個(gè)版本功能相對(duì)完備并且有著穩(wěn)定的API.我們相信目前這個(gè)平臺(tái)對(duì)應(yīng)用開發(fā)者來說已經(jīng)足夠穩(wěn)定.相對(duì)于一年前的構(gòu)想來說,EOSIO已經(jīng)強(qiáng)大很多并且開發(fā)更加容易姐叁。
我們的團(tuán)隊(duì)日漸壯大并且在開發(fā)上也不斷有著新的突破.我們代碼倉(cāng)庫(kù)的活躍程度在過去一個(gè)月內(nèi)成為了github上前10的C++庫(kù).為了6月份EOSIO 1.0高質(zhì)量的發(fā)布,一切都在穩(wěn)步推進(jìn)!
翻譯&校驗(yàn):一臣(Ansen Yu),Louis Jin,F(xiàn)rank Wu