影響區(qū)塊鏈交易性能的有哪幾個環(huán)節(jié)?
主要影響區(qū)塊鏈的交易性能包括廣播通信、信息加解密、共識機(jī)制、交易驗(yàn)證機(jī)制等幾個環(huán)節(jié)。
廣播通信:
由于區(qū)塊鏈的核心技術(shù)之一就是P2P網(wǎng)絡(luò),因此P2P網(wǎng)絡(luò)通信的效率是對性能的影響非常重要。首先,為了能最大程度的改善交易性能,推薦你采用聯(lián)盟鏈而不是公鏈,假如你的應(yīng)用是高頻應(yīng)用,如果運(yùn)行基于比特幣或以太坊的公鏈,那用戶體驗(yàn)會比較差。由于公鏈必須保持高度的去中心化,節(jié)點(diǎn)軟件必須能夠在標(biāo)準(zhǔn)的消費(fèi)級電腦上運(yùn)行,并且每個節(jié)點(diǎn)機(jī)器的性能和網(wǎng)絡(luò)情況都是千差萬別的,導(dǎo)致交易性能形成一個天然的限制。而對于聯(lián)盟鏈,我們可以指定節(jié)點(diǎn)機(jī)器的物理配置和節(jié)點(diǎn)數(shù)量,并盡量以高速網(wǎng)絡(luò)進(jìn)行連接,則可以很大程度改善區(qū)塊鏈的交易性能。
信息的加解密:信息的加解密是區(qū)塊鏈的關(guān)鍵環(huán)節(jié),主要是哈希函數(shù)和非對稱加密兩部分的算法。哈希函數(shù)目前主要有SHA家族算法、MD5、SCRYPT、RIPEMD、WHIRLPOOL、CUCKOO HASH、HAVAL、TIger、LYRA2、Equihash、Hashimoto、Dagger、Ethash(以太坊目前Pow機(jī)制下的算法)等多種算法,還有其中算法的串聯(lián)和并聯(lián)使用。由于商業(yè)應(yīng)用一般都不考慮挖礦問題和更注重性能問題,更推薦大家采用常用的SHA256算法為主。而非對稱加密部分,主要有非對稱加密算法包括RSA、DSA、橢圓曲線算法等,區(qū)塊鏈一般使用橢圓曲線算法,包括ECDSA和SCHNORR,還有國密算法(SM2橢圓曲線公鑰密碼算法、SM3密碼雜湊算法、SM4分組密碼算法),其中,比特幣使用的簽名算法是ECDSA,而Schnorr簽名的驗(yàn)證速度比ECDSA簽名的快,而且這種簽名體積可以更小,還原生地支持多重簽名。
共識機(jī)制:共識機(jī)制是分布式賬本為了使得所存儲信息的準(zhǔn)確性與一致性設(shè)計的一套機(jī)制,機(jī)制的設(shè)計主要由業(yè)務(wù)與性能的需求決定,從PoW到PoS再到DPoS和各種拜占庭容錯算法,共識機(jī)制不斷創(chuàng)新,區(qū)塊鏈平臺性能也得到大幅提升。在類似DPoS或PBFT的共識機(jī)制下,區(qū)塊鏈上交易的確認(rèn)很迅速,交易吞吐量也滿足現(xiàn)有的金融交易規(guī)模,部分私鏈性能達(dá)到萬筆/秒,能夠滿足絕大多數(shù)業(yè)務(wù)需求。
交易驗(yàn)證:從交易驗(yàn)證機(jī)制角度出發(fā),目前有幾種優(yōu)化處理方式:
1.分片處理(sharding),總體思路是每個節(jié)點(diǎn)只處理一部分交易,比如一部分賬戶發(fā)起的交易,從而減輕節(jié)點(diǎn)的計算和存儲負(fù)擔(dān)。
2.閃電網(wǎng)絡(luò)(LightningNetwork)和狀態(tài)通道(State Channels),這兩種策略是保持底層的區(qū)塊鏈協(xié)議不變,盡可能將交易放到鏈外執(zhí)行,通過改變協(xié)議用法的方式來解決擴(kuò)展性問題。在這種策略下,分布式賬本上只是記錄粗粒度的賬本,而真正細(xì)粒度的雙邊或有限多邊交易明細(xì),則不作為交易記錄在分布式賬本上。
3.北航鏈設(shè)計了獨(dú)有的ABC(賬戶區(qū)塊鏈)和TBC(交易區(qū)塊鏈),當(dāng)有新的銀行成立或者原有銀行需要進(jìn)行擴(kuò)展時,可以設(shè)立ABC來解決;當(dāng)交易量較大時,系統(tǒng)可以增加TBC來增加處理速度,通過這兩種途徑來解決可擴(kuò)展性方面的需求。
從比特幣到以太坊,從Ripple到HyperLedger fabric或Corda,通過共識算法的創(chuàng)新以及聯(lián)盟鏈的部署使得吞吐量等性能得到大幅的提升,當(dāng)前延時已能夠控制在秒級別,吞吐量達(dá)萬筆每秒,單節(jié)點(diǎn)的存儲空間需求也能夠進(jìn)行相應(yīng)的優(yōu)化與壓縮,性能瓶頸已經(jīng)被逐步突破。





