今年5月份,實驗室發(fā)布了自研區(qū)塊鏈實驗平臺 BlockEmulator。目前,已經(jīng)得到了來自29個國家或地區(qū)超過1600 名區(qū)塊鏈研究者的關(guān)注或使用。Github project 頁面已經(jīng)得到了96個 stars。
雖然我們已經(jīng)在 BlockEmulator.com 的主頁與 Github 代碼倉庫詳細地介紹了該實驗平臺的設(shè)計理念與使用手冊,但是仍然缺少一個更加嚴謹易懂的介紹文檔。為此,我們近日整理了一篇技術(shù)論文,已上傳至 arXiv 預(yù)印本網(wǎng)站。歡迎大家參閱。
論文題目為《 BlockEmulator: An Emulator Enabling to Test Blockchain Sharding Protocols 》
arXiv鏈接:https://arxiv.org/abs/2311.03612
論文介紹
區(qū)塊鏈仿真器對于區(qū)塊鏈體系架構(gòu)方向的研究者是必備的實驗工具。目前常見的區(qū)塊鏈仿真器通常被用于模擬主流區(qū)塊鏈或運行區(qū)塊鏈的各種協(xié)議機制。現(xiàn)有的區(qū)塊鏈仿真器各有優(yōu)點。但我們經(jīng)過詳細的調(diào)研,卻沒有發(fā)現(xiàn)有任何一個區(qū)塊鏈仿真器能夠支持區(qū)塊鏈分片機制。為了填補這方面的空白,我們設(shè)計并開發(fā)了BlockEmulator。它被設(shè)計為一個區(qū)塊鏈新協(xié)議/新機制的實現(xiàn)與性能測試平臺。特別地,研究者用戶可以借助它來實現(xiàn)和驗證區(qū)塊鏈分片機制。
BlockEmulator 采用了輕量化的模塊化架構(gòu)設(shè)計。與復(fù)雜的現(xiàn)有區(qū)塊鏈架構(gòu)不同,它僅有數(shù)千行代碼,且采用了多層級的架構(gòu)設(shè)計。這種設(shè)計可以使研究者們將精力集中于自己需要二次開發(fā)的模塊,而不用耗費大量時間精力在其他部分。通過 BlockEmulator 提供的現(xiàn)有機制和接口,研究者們能夠快捷且方便地設(shè)計新型區(qū)塊鏈協(xié)議、網(wǎng)絡(luò)消息分發(fā)機制、共識算法等等。更重要的是,BlockEmulator 提供了豐富的編程接口支持實驗指標(biāo)的測量以及實驗數(shù)據(jù)的收集,可支持的常見實驗指標(biāo)包括交易吞吐量、交易確認時延、跨分片交易的比例、各個分片交易池內(nèi)交易動態(tài)變化的情況等等。
為了驗證 BlockEmulator 的有效性,我們做了兩組實驗。第一組實驗中,我們將理論推導(dǎo)結(jié)果與從 BlockEmulator中觀測到的實驗結(jié)果相比較,驗證了 BlockEmulator 產(chǎn)生實驗數(shù)據(jù)的正確性。在第二組實驗中,我們在BlockEmulator可擴展代碼模塊中實現(xiàn)了四種現(xiàn)有分片機制,并利用 BlockEmulator 對多種指標(biāo)進行了測量;展示了 BlockEmulator 在收集各種豐富實驗指標(biāo)方面的實用功能。
BlockEmulator的設(shè)計理念
研究者可根據(jù)自己的需求進行二次開發(fā),只需對 BlockEmulator 的可擴展代碼模塊進行修改和重新配置,然后一個定制化的區(qū)塊鏈系統(tǒng)就可以開始運行了。隨著系統(tǒng)運行,實驗結(jié)果也將會自動記錄保存在本地日志文檔中,方便研究者后續(xù)繪制實驗圖。
希望 BlockEmulator 可以成為一個有用的實驗工具。我們還設(shè)置了一個BlockEmulator用戶群,歡迎反饋遇到的問題與使用心得。