一、 BlockEmulator 是什么?
BlockEmulator 1.0 是一個(gè)可支持多種共識(shí)協(xié)議與跨分片機(jī)制的區(qū)塊鏈協(xié)議驗(yàn)證平臺(tái),由 HuangLab (中山大學(xué) · InPlusLab · 黃華威研究組)開發(fā)并開源。
網(wǎng)站首頁(yè):https://www.blockemulator.com
該實(shí)驗(yàn)平臺(tái)主要面向區(qū)塊鏈研究人員,當(dāng)他們需要對(duì)提出的新型區(qū)塊鏈共識(shí)協(xié)議、新型跨分片機(jī)制進(jìn)行驗(yàn)證時(shí),可以幫助用戶快速搭建一個(gè)輕量化的區(qū)塊鏈底層協(xié)議的實(shí)驗(yàn)平臺(tái),并對(duì)實(shí)驗(yàn)數(shù)據(jù)進(jìn)行收集,方便繪制科研論文所需的實(shí)驗(yàn)圖。
BlockEmulator實(shí)現(xiàn)了區(qū)塊鏈的底層技術(shù),不僅可以幫助初學(xué)者快速入門及加深理解區(qū)塊鏈底層原理,也能為區(qū)塊鏈研究者提供一個(gè)完整的區(qū)塊鏈技術(shù)開發(fā)和測(cè)試環(huán)境。它可以降低開發(fā)和測(cè)試一個(gè)區(qū)塊鏈新協(xié)議的成本和難度,為開發(fā)人員和研究人員提供可定制化的二次開發(fā)環(huán)境,加速區(qū)塊鏈技術(shù)的創(chuàng)新和應(yīng)用。
二、 BlockEmulator 能用來(lái)做什么?
BlockEmulator 1.0 的設(shè)計(jì)目標(biāo)是為了幫助用戶(研究者、學(xué)生)快速驗(yàn)證他們提出的新型區(qū)塊鏈共識(shí)協(xié)議和分片機(jī)制。它被設(shè)計(jì)為一個(gè)采用輕量化區(qū)塊鏈系統(tǒng)架構(gòu)的實(shí)驗(yàn)平臺(tái)。它簡(jiǎn)化了工業(yè)級(jí)區(qū)塊鏈系統(tǒng)的實(shí)驗(yàn)環(huán)境的搭建流程,這是因?yàn)?blockEmulator 僅僅實(shí)現(xiàn)了區(qū)塊鏈核心功能,比如交易池、區(qū)塊打包、區(qū)塊共識(shí)、交易上鏈等核心環(huán)節(jié),并且支持常見的幾種主流共識(shí)協(xié)議,如拜占庭容錯(cuò) ( Practical Byzantine Fault Tolerance, PBFT ) 協(xié)議與工作量證明機(jī)制。
特別地,blockEmulator 對(duì)主流的“區(qū)塊鏈分片機(jī)制”進(jìn)行了系統(tǒng)底層級(jí)別的設(shè)計(jì)與實(shí)現(xiàn) 。其中,“跨分片交易”機(jī)制包含以下兩個(gè)具有代表性的分片協(xié)議:Monoxide (NSDI'2019) 方案中提出的 “Relay 交易機(jī)制”,以及 BrokerChain (INFOCOM'2022) 中的 “broker 機(jī)制” (基于“做市商賬戶”的區(qū)塊鏈跨分片協(xié)議 —— BrokerChain )。
因此,blockEmulator 支持對(duì)區(qū)塊鏈底層新協(xié)議的正確性進(jìn)行驗(yàn)證,尤其支持對(duì)區(qū)塊鏈新型分片機(jī)制與協(xié)議做功能測(cè)試。
三、BlockEmulator 有什么特點(diǎn)?
- 快速搭建:不僅可以在本地進(jìn)行實(shí)驗(yàn),還可以遠(yuǎn)程部署到云端運(yùn)行。
- 可定制化:BlockEmulator 1.0 采用 Go 語(yǔ)言實(shí)現(xiàn),能夠定制化二次開發(fā),滿足不同需求。
- 易于實(shí)驗(yàn):BlockEmulator 1.0 支持主流區(qū)塊鏈(如以太坊)歷史交易數(shù)據(jù)回放,可以自動(dòng)輸出、保存區(qū)塊鏈實(shí)驗(yàn)指標(biāo),如系統(tǒng)吞吐量、交易確認(rèn)時(shí)延、交易池?fù)砣潭鹊鹊取?/li>
- 容易上手:無(wú)需復(fù)雜設(shè)置,科研人員與學(xué)生就能進(jìn)行實(shí)驗(yàn)并收集數(shù)據(jù)繪制圖表。
四、BlockEmulator 的架構(gòu)設(shè)計(jì)
BlockEmulator 1.0 采用分層的方法進(jìn)行設(shè)計(jì),各層相對(duì)獨(dú)立且只與鄰近層交互,實(shí)現(xiàn)系統(tǒng)層面的功能解構(gòu),幫助用戶快速熟悉系統(tǒng)架構(gòu)并進(jìn)行代碼復(fù)用。

圖1. BlockEmulator 1.0 整體架構(gòu)設(shè)計(jì)
BlockEmulator 1.0 提供了詳細(xì)的用戶使用文檔,如下圖所示。

圖2. BlockEmulator 1.0 開源文檔 github 頁(yè)面
五、BlockEmulator 的未來(lái)版本
本次我們暫且開源 BlockEmulator 1.0 版本。目前研究團(tuán)隊(duì)在持續(xù)對(duì) BlockEmulator 更新版本,后續(xù)會(huì)推出可操作性更高、交互界面更友好的后續(xù)版本。注:BlockEmulator 已經(jīng)申請(qǐng)了專利保護(hù)。
六、已使用 BlockEmulator 的相關(guān)論文
如下幾篇論文使用了 BlockEmulator 1.0 作為實(shí)驗(yàn)工具。歡迎了解。
- BrokerChain: A Cross-Shard Blockchain Protocol for Account/Balance-based State Sharding (INFOCOM 2022)
- Achieving Scalability and Load Balance across Blockchain Shards for State Sharding (SRDS 2022)
- tMPT: Reconfiguration across Blockchain Shards via Trimmed Merkle Patricia Trie (IWQoS 2023)
- MVCom: Scheduling Most Valuable Committees for the Large-Scale Sharded Blockchain (ICDCS 2021)
歡迎您反饋!反饋意見收集wx: Qinglinyang
學(xué)者網(wǎng)

評(píng)論 0