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