區塊鏈專案技術測評報告-CyberMiles分數測評
核心觀點
CyberMiles-電子商務領域的垂直領域公鏈
CyberMiles作為定位於電子商務領域的垂直領域公鏈。是一個針對商業和市場應用進行開發和最佳化的新區塊鏈協議,由區塊鏈研究室5xlab所開發的區塊鏈和智慧合約平臺。
開發目的在於改變商業和市場運作,將利用智慧合約在多個真實市場中應用到多個商業場景。
● CyberMiles程式碼可用性
目前因為主網尚未上線,程式碼無法進行相應測試,根據白皮書上的架構設計,未來的可用性需從底層區塊鏈網路、各種引擎以及IPFS網路的可用性等幾方面進行考察。
● CyberMiles程式碼安全性
對於定位於電子商務領域的垂直公鏈,涉及到業務資料上鍊、支付等一系列業務流程,對資料安全性有著極高的要求。
但是從白皮書或公開資料,並沒有看到對於安全性有過多的論述,其宣傳的驗證人機制也僅僅是經濟機制中的引進,而這部分程式碼還沒有實現。
此外,其架構設計包含規則引擎等技術方案,但白皮書並未提及相關呼叫細節,無法評估設計的安全性,如果不能很好的設計,智慧商業合約會存在比較大的安全隱患。
● CyberMiles程式碼架構清晰性
整體架構基於以太坊基礎之上,結合 Tendermint,規則引擎,業務流程引擎,IPFS,Cassandra 形成了一個混合式架構。
有一個比較完整的架構輪廓,但各個元件的連線方式並沒有一個清晰的定義,核心系統與外圍系統的互動沒有明確的規範,物理部署結構也沒有明確說明。
● CyberMiles挖礦公平性
官網宣稱採取DPOS機制,由投票人與驗證人分配獎勵。
但從程式碼上體現,整個挖礦流程使用的是 ethereum V1.8.12版本,挖礦流程整體和以太坊的一樣,與官網宣傳的採用DPOS並不相符。
此外,挖礦難度設計及一些挖礦流程等部分並未實現,需要後續關注最終主網上線的狀態。
● CyberMiles選舉公平性
基於DPOS演算法和CyberMiles協議,由投票人與驗證人分配獎勵,如果驗證人作惡,也會對投票人罰沒1.2%,增加了作惡的成本和避免了驗證人做大的情況,整體選舉設計相對公平。
但鑑於CyberMiles 系統中只有19個驗證人,仍存在驗證人被效能好的礦場壟斷,出現集體作惡的情況。
目前程式碼還沒有完全實現該部分功能,未來主網上線後存在對規則出現調整的可能性。
● CyberMiles程式碼原創程度
該專案程式碼大量重用了現有軟體庫特別是 tendermint 和 ethereum 的程式碼實現,在此基礎上新增了原創程式碼用以實現特有的業務邏輯,比如激勵機制。
目錄索引
一、專案概述
二、基本資訊
三、程式碼評審
3.0 結果總述
3.1 可用性
3.2 安全性
3.3 架構清晰度
3.4 挖礦公平性
3.5 選舉公平性
3.6 程式碼原創程度
3.7 程式碼其他維度測評
四、總結
1、專案概述
CyberMiles作為定位於電子商務領域的垂直領域公鏈,是一個針對商業和市場應用進行開發和最佳化的新區塊鏈協議,由區塊鏈研究室5xlab所開發的區塊鏈和智慧合約平臺,開發目的在於改變商業和市場運作。
其代幣為CMT,將在CyberMiles上作為貨幣,為智慧合約模組提供支援。
CMT會被開發為高流動性的貨幣,並與許多應用相容。它也將經由挖礦取得,以激勵生態系統內的參與者。
CyberMiles將利用智慧合約在多個真實市場中應用到多個商業場景,比如:房地產市場、電子商務以及線上拍賣。
相較於現實平臺如eBay與Uber,CyberMiles希望以智慧合約為基礎的模組解決方案,用區塊鏈技術的去中心化特質來達到效率與相容性的最佳平衡。
2、基本資訊
3、程式碼評審
3-1 可用性
可用性要求:可用性是一個區塊鏈專案可靠執行的基本要求。
根據白皮書描述,CMT 為了降低電商上鍊的門檻,在底層區塊鏈基礎之上整合了規則引擎 Rete 演演算法、商業流程管理器(BPM)、業務流程引擎等傳統軟體系統成熟解決方案。
採取DPOS共識機制設計,將這些解決方案與智慧合約結合在一起,構成自己的"Smart Business Contract"(智慧商業合約),並使用 IPFS 等去中心化儲存進行相關資料儲存。
這就意味著從架構設計來看,這個系統的可用性考察,不僅在於底層區塊鏈網路的可用性,還在於這些引擎的可用性,以及 IPFS 網路的可用性。
可用性測評:
● 目前CMT 主網尚未上線,只能從其架構設計上對其可用性考察的幾個方面進行推演。
透過檢視其最新的提交的程式碼,目前正在對go-ethereum進行修改,主要修改共識的演算法,現在整個程式碼處於編譯不透過的狀態,程式碼無法進行相應的測試。
● CyberMiles區塊鏈的交易確認速度為10秒,TPS達到上千應該沒有什麼問題,應該可以滿足電商日常的需求,實際情況還要看其他元件協同工作時的情況。
結論:目前因為主網尚未上線,程式碼無法進行相應測試,根據白皮書上的架構設計,未來的可用性需從底層區塊鏈網路、各種引擎以及IPFS網路的可用性等幾方面進行考察。
3-2 安全性
安全性要求:作為定位於電子商務領域的垂直公鏈,具有業務資料上鍊的需要,而如何保證業務資料的安全性和業務主體的隱私性應該是重點需要考慮的方面。
安全性測評:
● CMT的公開資料並沒有對安全性做過多的論述,所以只能假定其安全性依賴於底層區塊鏈固有的安全性保證。
● 經濟機制中引入了權益投票人和驗證人機制,如果驗證人有不當行為並試圖損害網路時,網路可能削減其投票的CMT。那麼就導致其權益投票人遭受損失,這有助於提高整個網路的安全性,但是這部分的程式碼還沒有實現。
● 投票權演算法可能會受到女巫攻擊的影響,一個權益投票人可能拆分成許多小賬戶並分時間進行權益投票,使利益最大化。
● 對於規則引擎、Webhook等在智慧商業合約裡面呼叫細節,白皮書並未提及,因此無法評估設計的安全性。如果不能做到很好的設計,智慧商業合約會存在比較大的安全隱患。
結論:對於定位於電子商務領域的垂直公鏈,涉及到業務資料上鍊、支付等一系列業務流程,對資料安全性有著極高的要求。
但是從白皮書或公開資料,並沒有看到對於安全性有過多的論述,其宣傳的驗證人機制也僅僅是經濟機制中的引進,而這部分程式碼還沒有實現。
此外,其架構設計包含規則引擎等技術方案,但白皮書並未提及相關呼叫細節,無法評估設計的安全性,如果不能很好的設計,智慧商業合約會存在比較大的安全隱患。
3-3 架構清晰度
架構設計要求:良好的架構設計不僅使得軟體系統能夠滿足客戶需求,它更為軟體系統帶來了安全性、穩定性、可擴充套件性等屬性。
而這些屬性在應對後續業務需求變更、提供可測試性與可維護性、提高開發效率等各方面都起著非常重要的作用。
架構測評:
● 該專案架構是基於ethereum的架構進行的修改,將重複使用的功能元件化,比如:智慧合約、規則引擎、BPM、非集中式資料庫、非集中式檔案及資料儲存服務、非集中式Webhook服務,結合Tendermint技術元件進行迭代開發。
● 整體架構比較清晰,有完整的架構體系,也確保了電子商務交易高效性和高擴充套件性。
● 但是內部模組和各個元件的連線方式並沒有一個清晰的定義,尤其是規則引擎、商業流程管理器等的設計和介面細節尚不清楚。
結論:整體架構基於以太坊基礎之上,結合 Tendermint,規則引擎,業務流程引擎,IPFS,Cassandra 形成了一個混合式架構。
有一個比較完整的架構輪廓,但各個元件的連線方式並沒有一個清晰的定義,核心系統與外圍系統的互動沒有明確的規範,物理部署結構也沒有明確說明。
3-4 挖礦公平性
挖礦機制:挖礦公平性體現了經濟機制是否合理公平,以及對礦工的激勵性。
挖礦測評:
● CyberMiles/go-ethereum程式碼整個挖礦流程使用的是ethereum V1.8.12版本,挖礦流程整體和以太坊的一樣,和官網宣傳的採用DPOS相異(官網宣稱採用DPOS方式,由投票人與驗證人分配獎勵,如果驗證人作惡,也會對投票人罰沒1.2%)。
結論:官網宣稱採取DPOS機制,由投票人與驗證人分配獎勵。
但從程式碼上體現,整個挖礦流程使用的是ethereum V1.8.12版本,挖礦流程整體和以太坊的一樣,與官網宣傳的採用DPOS並不相符。
此外,挖礦難度設計及一些挖礦流程等部分並未實現,需要後續關注最終主網上線的狀態。
3-5 選舉公平性
選舉機制:選舉的公平性決定了最終該專案是否會被部分驗證人所壟斷。
選舉測評:
● 基於DPOS演算法和CyberMiles協議,由投票人與驗證人分配獎勵,如果驗證人作惡,也會對投票人罰沒1.2%,增加了作惡的成本和避免了驗證人做大的情況,選舉相對公平。
● 由於CyberMiles 系統中只有19個驗證人,因此驗證人必須透過競爭獲取權益投票人的選票(即投票的CMT)。
這些競爭包括提供能夠執行最新的軟體的安全伺服器,提供足夠的計算能力和網路頻寬,為CyberMiles 的全球性區塊鏈網路提供動力。
故對於成為驗證人並不是人人都具有機會,沒有能力的權益投票人只能透過手裡持有的CMT 投票給具體的驗證人候選人,這就很有可能被效能好的礦場壟斷成為驗證人,存在集體作惡的情況。
● 這部分程式碼還沒有完全實現。
結論:基於DPOS演算法和CyberMiles協議,由投票人與驗證人分配獎勵,如果驗證人作惡,也會對投票人罰沒1.2%,增加了作惡的成本和避免了驗證人做大的情況,整體選舉設計相對公平。
但鑑於CyberMiles 系統中只有19個驗證人,仍存在驗證人被效能好的礦場壟斷,出現集體作惡的情況。
目前程式碼還沒有完全實現該部分功能,未來主網上線後存在對規則出現調整的可能性。
3-6 程式碼原創程度
程式碼原創度考察:一定程度上體現了專案的創新性。
程式碼原創程度測評:
● CMT程式碼基於
tendermint,robertkrimen,ethereum,spf13/cobra,mattn/go-sqlite3 等工程建立。
● 複用了大量go-ethereum模組,Block和賬戶結構與ethereum保持一致。
● 在DPOS部分沿用tendermint的PBFT共識演算法。
● 激勵機制由CMT實現。
結論: 該專案程式碼大量重用了現有軟體庫特別是 tendermint 和 ethereum 的程式碼實現,在此基礎上新增了原創程式碼用以實現特有的業務邏輯,比如激勵機制。
3-7 程式碼其他維度測評
4、總結
Cybermiles專案作為定位於電子商務領域的垂直公鏈專案,商業定位清晰,也有明確的電子商務合作方作為商業落地。
綜上所述,鑑於程式碼可用性、安全性、測試覆蓋度等均無法從目前提交的程式碼庫中測試或驗證,挖礦和選舉功能模組也尚未完全實現,建議後續密切關注最終主網上線時的狀態。