基于京東數(shù)字科技自主研發(fā)的區(qū)塊鏈底層引擎JD Chain介紹
國內(nèi)自主開源社區(qū)——分布式應(yīng)用賬本開源社區(qū)(DAppLedger)宣布新增京東數(shù)字科技已開源區(qū)塊鏈底層引擎JD Chain開源項目。JD Chain將同社區(qū)伙伴共同加速構(gòu)建自主的區(qū)塊鏈發(fā)展生態(tài)。
JD Chain是京東數(shù)字科技自主研發(fā)的區(qū)塊鏈底層引擎,于2019年3月宣布開源。JD Chain面向企業(yè)應(yīng)用而設(shè)計,適用于通用業(yè)務(wù)場景,具有簡單易用、靈活高效的特點(diǎn),向企業(yè)提供積木化按需定制的能力,在數(shù)據(jù)賬本、共識協(xié)議、密碼算法、存儲等方面引入新的研究成果和工程架構(gòu),能夠解決處理性能、伸縮性、擴(kuò)展性、安全性等基礎(chǔ)和關(guān)鍵的技術(shù)問題,讓企業(yè)快速接入?yún)^(qū)塊鏈?zhǔn)澜纾卣箻I(yè)務(wù)生態(tài),塑造商業(yè)未來。
區(qū)塊鏈?zhǔn)且环N新型分布式架構(gòu),以密碼學(xué)和分布式技術(shù)為核心,無需借助“第三方”就能在多個業(yè)務(wù)方之間進(jìn)行安全、可信、直接的信息和價值交換。在這種點(diǎn)對點(diǎn)的信息和價值的交換中,區(qū)塊鏈起到了“協(xié)議”的作用?;谶@一視角,JD Chain的目標(biāo)是實現(xiàn)一個面向企業(yè)應(yīng)用場景的通用區(qū)塊鏈框架系統(tǒng),能夠作為企業(yè)級基礎(chǔ)設(shè)施,為業(yè)務(wù)創(chuàng)新提供高效、靈活和安全的解決方案。
JD Chain團(tuán)隊圍繞區(qū)塊鏈的5個核心部分:密碼算法、共識協(xié)議、數(shù)據(jù)賬本模型、數(shù)據(jù)存儲、API(應(yīng)用編程接口Application Programing Interface,以下簡稱API),形成了JD Chain的設(shè)計思路:
密碼算法
密碼算法的選擇需要滿足安全和合規(guī)的要求,同時面臨源自實際業(yè)務(wù)場景的多樣性要求。JD Chain在密碼方面的關(guān)鍵任務(wù)是設(shè)計可插拔的密碼框架,定義標(biāo)準(zhǔn)的SPI(服務(wù)提供者接口Service Provider Interface,以下簡稱SPI)。系統(tǒng)默認(rèn)支持國密算法以滿足合規(guī)要求?;诿艽aSPI可以快速適配其它的密碼算法實現(xiàn),支持多密碼體系。JD Chain將提供具有隱私保護(hù)功能密碼算法和安全協(xié)議,來滿足具體應(yīng)用與業(yè)務(wù)的需求。
共識協(xié)議
共識協(xié)議的核心任務(wù)是保障區(qū)塊鏈網(wǎng)絡(luò)中有效節(jié)點(diǎn)的狀態(tài)一致性。另外在選擇共識協(xié)議時,還需要考慮業(yè)務(wù)場景中的安全性要求、時效性要求和節(jié)點(diǎn)規(guī)模等諸多因素。JD Chain在共識協(xié)議方面的關(guān)鍵任務(wù)是設(shè)計可插拔的共識框架,解耦共識協(xié)議與數(shù)據(jù)賬本模型,定義標(biāo)準(zhǔn)的共識協(xié)議SPI,以滿足業(yè)務(wù)場景的多樣化需求。
數(shù)據(jù)賬本模型
數(shù)據(jù)賬本的核心任務(wù)是對數(shù)據(jù)進(jìn)行有效地組織和管理,因此,需要定義數(shù)據(jù)的結(jié)構(gòu)和數(shù)據(jù)處理的操作模型。JD Chain的數(shù)據(jù)賬本模型以“鍵值”結(jié)構(gòu)來組織業(yè)務(wù)數(shù)據(jù),定義標(biāo)準(zhǔn)的讀寫操作,記錄數(shù)據(jù)變更歷史,維護(hù)數(shù)據(jù)完整性與不可否認(rèn)性,管理數(shù)據(jù)的存在性證明。
數(shù)據(jù)存儲
數(shù)據(jù)存儲的核心任務(wù)是把數(shù)據(jù)賬本高效地讀寫到持久化介質(zhì)中。JD Chain把數(shù)據(jù)賬本模型映射為“鍵值”結(jié)構(gòu),為數(shù)據(jù)的存儲提供更好的伸縮性。另外,還定義了標(biāo)準(zhǔn)的持久化服務(wù)SPI,能夠適配不同的數(shù)據(jù)庫引擎,更好地復(fù)用企業(yè)現(xiàn)有的IT基礎(chǔ)設(shè)施,滿足企業(yè)的多樣化需求。
API
JD Chain的API設(shè)計需要提供標(biāo)準(zhǔn)化的操作接口,考慮通訊協(xié)議和編程語言的廣泛性,支持端到端的離線密碼計算,向企業(yè)提供更安全可信和易用的編程接口。
關(guān)于分布式應(yīng)用賬本開源社區(qū)(DAppLedger)
分布式應(yīng)用賬本開源社區(qū)(DAppLedger)于2017年7月,由中國區(qū)塊鏈技術(shù)和產(chǎn)業(yè)發(fā)展論壇(CBD-Forum)發(fā)起,在工業(yè)和信息化部指導(dǎo)下成立。近兩年來,該社區(qū)內(nèi)開源項目活躍開發(fā)者不斷增加,已開發(fā)并提供的應(yīng)用種類及數(shù)量迅速攀升,社區(qū)活躍度持續(xù)上升,形成了對于國內(nèi)區(qū)塊鏈技術(shù)開發(fā)與應(yīng)用很好的平臺支撐,推動了我國區(qū)塊鏈開源技術(shù)的發(fā)展。
AppLedger開源社區(qū)架構(gòu)
當(dāng)前區(qū)塊鏈技術(shù)的發(fā)展面臨著缺乏統(tǒng)一標(biāo)準(zhǔn)、技術(shù)體系復(fù)雜、開發(fā)模式單一、應(yīng)用集成能力不足等問題,急需構(gòu)建面向具體行業(yè)、面向應(yīng)用場景、擁有組件化開發(fā)平臺的開源社區(qū),以開發(fā)針對特定場景和行業(yè)的解決方案,并在此基礎(chǔ)上促進(jìn)全行業(yè)范圍內(nèi)的優(yōu)秀應(yīng)用解決方案向其他領(lǐng)域的擴(kuò)散和推廣。DAppLedger通過打造統(tǒng)一的區(qū)塊鏈底層平臺,幫助應(yīng)用開發(fā)者針對不同的應(yīng)用場景和應(yīng)用需求選擇合適的核心模塊,快速構(gòu)建上層應(yīng)用,從而降低區(qū)塊鏈應(yīng)用開發(fā)難度,提高研發(fā)效率,同時實現(xiàn)高度的可維護(hù)性和可移植性,推動不同技術(shù)的選型和應(yīng)用走向成熟。未來,DAppLedger將繼續(xù)加強(qiáng)區(qū)塊鏈技術(shù)儲備,培育我國區(qū)塊鏈產(chǎn)業(yè)優(yōu)勢。
此外,中國區(qū)塊鏈技術(shù)和產(chǎn)業(yè)發(fā)展論壇還將召開第三屆中國區(qū)塊鏈開發(fā)大賽,大賽報名通道(www.cbdforum.cn)已開啟。大賽由工業(yè)和信息化部信息化和軟件服務(wù)業(yè)司、國家市場監(jiān)督管理總局標(biāo)準(zhǔn)技術(shù)管理司的指導(dǎo)下,以“標(biāo)準(zhǔn)引領(lǐng),應(yīng)用創(chuàng)新”為主題,同時將使用DAppLedger社區(qū)內(nèi)項目作為開發(fā)平臺設(shè)置為重要加分項,旨在促進(jìn)利用區(qū)塊鏈技術(shù)研發(fā)相關(guān)創(chuàng)意創(chuàng)新應(yīng)用,積極轉(zhuǎn)化創(chuàng)意設(shè)計為實際項目方案,孵化區(qū)塊鏈開源項目和推廣應(yīng)用。