從數(shù)據(jù)分析、密碼學(xué)角度看區(qū)塊鏈未來

可信系統(tǒng)研究組
區(qū)塊鏈技術(shù)是近年來的熱點(diǎn)話題。無論是比特幣、以太坊等密碼學(xué)貨幣價格的大幅波動,還是各國政府機(jī)構(gòu)對區(qū)塊鏈技術(shù)的大力研發(fā)投入,都預(yù)示著區(qū)塊鏈技術(shù)已經(jīng)處在時代的“風(fēng)口浪尖”。本文從數(shù)據(jù)分析及密碼學(xué)的角度,結(jié)合最近微軟亞洲研究院可信系統(tǒng)研究組發(fā)表的兩篇論文,向大家介紹區(qū)塊鏈技術(shù)的相關(guān)現(xiàn)狀以及技術(shù)趨勢。

區(qū)塊鏈?zhǔn)且粋€復(fù)雜的點(diǎn)對點(diǎn)系統(tǒng),其中既包含技術(shù)的部分(例如網(wǎng)絡(luò)、密碼學(xué)、虛擬機(jī)等),也包含對生態(tài)中各個角色的決策(例如攻擊者、共識維護(hù)者即礦工、交易所等)。例如,區(qū)塊鏈中的節(jié)點(diǎn)都需要按照技術(shù)的部分來運(yùn)行,同時根據(jù)自身的利益,也可以采取對應(yīng)的決策對區(qū)塊鏈系統(tǒng)產(chǎn)生正向或者反向的影響。

微軟亞洲研究院可信系統(tǒng)研究組多年來持續(xù)探索區(qū)塊鏈技術(shù)的前沿發(fā)展,對技術(shù)部分以及生態(tài)部分都有著長期的研究。因此,可信系統(tǒng)研究組的研究員們從技術(shù)和生態(tài)兩個角度分別闡述了區(qū)塊鏈技術(shù)的相關(guān)現(xiàn)狀及未來趨勢:1、生態(tài)部分,從數(shù)據(jù)分析的角度,研究共識維護(hù)者的行為以及發(fā)展趨勢;2、技術(shù)部分,通過研究目前最熱門的密碼學(xué)技術(shù)之一——零知識證明,探索其如何能更高效地服務(wù)于區(qū)塊鏈系統(tǒng)。

數(shù)據(jù)分析——以太坊頭部三大礦池?fù)碛?3%的算力

區(qū)塊鏈系統(tǒng)以其“不可偽造”、“全程留痕”、“可以追溯”、“公開透明”、“集體維護(hù)”等特征聞名業(yè)界,金融、供應(yīng)鏈管理、醫(yī)療健康等領(lǐng)域也在利用其特性,積極部署區(qū)塊鏈系統(tǒng)。但在基于工作量證明共識(Proof-of-work,PoW)的區(qū)塊鏈系統(tǒng)中,還存在“51%算力攻擊”威脅著系統(tǒng)安全,也就是說,如果有某種勢力擁有系統(tǒng)中的51%算力,那么就有可能“顛覆”系統(tǒng)。

在現(xiàn)實中,頭部礦池掌控大量算力,也擁有威脅系統(tǒng)安全的潛在力量。如圖1所示,以太坊的頭部三大礦池(Spark Pool,Ethermine,F2Pool)已掌握超過占全網(wǎng)53%的算力,已經(jīng)能夠發(fā)起”51%算力攻擊“。此外,其他PoW區(qū)塊鏈亦存在頭部礦池掌握大多數(shù)算力的情況。

360截圖16440809323970.png

圖1:以太坊算力分布圖(源自Etherscan,2021.03.22)

為了深入了解、分析區(qū)塊鏈系統(tǒng),微軟亞洲研究院和清華大學(xué)的科研人員提出了對以太坊礦池參與者的首次大規(guī)模研究。研究員們通過數(shù)據(jù)分析了解礦池參與者的算力分布和挖礦行為,進(jìn)一步刻畫以太坊算力去中心化程度,并將研究的分析見解發(fā)表了論文“Characterizing Ethereum’s Mining Power Decentralization at a Deeper Level”。該工作已被全球計算機(jī)網(wǎng)絡(luò)領(lǐng)域的重要會議INFOCOM 2021接收。

360截圖16440809323970.png

該文章作者中,曾麗儀來自清華大學(xué),現(xiàn)為微軟亞洲研究院實習(xí)生,與微軟亞洲研究院創(chuàng)新工程組郭眾鑫、可信系統(tǒng)研究組陳洋、陳碩、張憲等在區(qū)塊鏈研究上有長期的合作。

以太坊的挖礦生態(tài)結(jié)構(gòu)如圖2所示,區(qū)塊記錄礦工帳號,這些帳號來自礦池管理者或者獨(dú)立礦工,他們可直接獲得系統(tǒng)發(fā)放的挖礦獎勵,當(dāng)?shù)V池收到獎勵后再通過鏈上交易分發(fā)給礦池參與者。過去,分析算力去中心化的研究工作主要停留在分析頭部礦池的算力分布,忽略了其他挖礦參與者的算力情況。因此,微軟亞洲研究院的研究員們認(rèn)為研究以太坊算力去中心化情況不能僅僅局限于分析挖礦節(jié)點(diǎn)(礦池和獨(dú)立礦工)的算力分布,也應(yīng)該考慮礦池參與者的挖礦行為和算力分布情況,為度量算力去中心化程度和防止算力集中的解決方案提供更多洞悉。

360截圖16440809323970.png

圖2:以太坊挖礦生態(tài)結(jié)構(gòu)圖

然而,以太坊帳號都是去實名化的,單從鏈上交易無法準(zhǔn)確識別礦池參與者的帳號,目前學(xué)術(shù)界并沒有關(guān)于礦池參與者的真實數(shù)據(jù)集。所以,需要結(jié)合鏈上和鏈下的多個數(shù)據(jù)源才可以識別礦池參與者帳號和礦池分發(fā)獎勵交易。數(shù)據(jù)集識別流程如圖3所示。

360截圖16440809323970.png

圖3:以太坊挖礦數(shù)據(jù)集識別流程圖

由于部分礦池會在Etherscan(以太坊搜索引擎)公開帳號信息,部分大型礦池也會給挖礦參與者提供查詢挖礦收益信息的API,以用于識別某個以太坊帳號是否屬于其礦池參與者。因此,研究員們可以在Etherscan上爬取公開身份的礦池帳號,并從以太坊區(qū)塊鏈數(shù)據(jù)庫提取識別的礦池發(fā)出的交易,收集這些交易的接收帳號,從而用于礦池API識別。能被礦池API識別的帳號就可確認(rèn)為礦池參與者帳號,然后再相應(yīng)地提取識別的礦池發(fā)至礦池參與者的獎勵交易。

通過首個大規(guī)模對以太坊礦池參與者的識別和分析研究,微軟亞洲研究院和清華大學(xué)的研究員們創(chuàng)建了首個大規(guī)模以太坊挖礦數(shù)據(jù)集E-PAR。該數(shù)據(jù)集涵蓋了以太坊自上線(2015年7月30日)以來至2020年4月10日近5年的數(shù)據(jù),其中包含所有礦工帳號的獎勵交易、識別的礦池帳號、識別的礦池參與者帳號和礦池發(fā)至礦池參與者的獎勵交易,且覆蓋了近兩年內(nèi)占全網(wǎng)平均77%算力的挖礦行為。

E-PAR數(shù)據(jù)集揭示了礦池之下礦池參與者的算力分布情況、礦池參與者同時參與多個礦池或在多個礦池間跳轉(zhuǎn)的挖礦行為、礦工選擇加入礦池的多元原因,從而進(jìn)一步豐富了以太坊算力去中心化程度的評估,討論了礦池挖礦算力的可控性,推理思考了現(xiàn)有研究工作提出的阻止礦池集中算力的解決方案的可行性,給區(qū)塊鏈社區(qū)帶來了基于數(shù)據(jù)驅(qū)動的深層次的算力分布研究。想要了解更多詳細(xì)情況,可查看數(shù)據(jù)集。

密碼學(xué)——零知識證明提升區(qū)塊鏈性能和隱私

除了從數(shù)據(jù)分析角度解析區(qū)塊鏈生態(tài)的發(fā)展趨勢,微軟亞洲研究院的研究員們還從技術(shù)角度,探索了使用現(xiàn)代密碼學(xué)提升區(qū)塊鏈性能以及隱私保護(hù)的重要技術(shù)——零知識證明。

零知識證明(Zero-Knowledge Proof)于20世紀(jì)80年代初被提出,是現(xiàn)代密碼學(xué)的重要基礎(chǔ)之一,也是現(xiàn)代密碼學(xué)研究的熱點(diǎn)。其在隱私性和可驗證性之間搭建起了一座橋梁,原理如下:證明者P能在不透露w的情況下,向驗證者V發(fā)送一個證明(proof),證明P本人知道一個w,使得給定公開輸入x、公開輸出y以及程序f,滿足f(x,w)=y。舉例而言,假設(shè)P為金融機(jī)構(gòu),V為監(jiān)管部門,w為涉及用戶交易的隱私數(shù)據(jù),f為交易是否合規(guī)的驗證程序,x為公開數(shù)據(jù),y為是否合規(guī)的結(jié)果,那么零知識證明將保證金融機(jī)構(gòu)能在不透露用戶隱私的情況下,向相關(guān)監(jiān)管部門證明其涉及到用戶的交易是合規(guī)的。

正是由于零知識證明獨(dú)特的性質(zhì),所以它被廣泛應(yīng)用于區(qū)塊鏈系統(tǒng)中,以增強(qiáng)區(qū)塊鏈的隱私保護(hù)、增加區(qū)塊鏈的交易吞吐:

增強(qiáng)隱私:由于區(qū)塊鏈的鏈上交易數(shù)據(jù)公開可見,所以各種交易數(shù)據(jù)容易被提取、分析,導(dǎo)致隱私泄露,這是業(yè)界認(rèn)為區(qū)塊鏈缺乏隱私保護(hù)機(jī)制的原因。而經(jīng)過零知識證明加持之后,區(qū)塊鏈中的用戶就可以將相關(guān)的鏈接關(guān)系以及交易金額等信息隱藏起來,并能讓區(qū)塊鏈礦工驗證交易的正確性,從而達(dá)到隱私保護(hù)的目的。目前,零知識證明已被廣泛應(yīng)用在各種隱私保護(hù)區(qū)塊鏈中,例如Monero、Zcash等(了解更多相關(guān)細(xì)節(jié),可參考文章《一文讀懂區(qū)塊鏈上的隱私與監(jiān)管問題》)。

提升吞吐:除了隱私問題,區(qū)塊鏈的低吞吐率也遭業(yè)界詬病。例如隨著以太坊上DeFi應(yīng)用的興起,以太坊交易數(shù)量猛增并造成擁堵,導(dǎo)致產(chǎn)生極高的交易費(fèi)用。運(yùn)用零知識證明技術(shù),用戶可以先將相關(guān)交易發(fā)送給交易聚合節(jié)點(diǎn),然后聚合節(jié)點(diǎn)再生成關(guān)于大量交易都是有效的零知識證明,并把對應(yīng)的證明發(fā)送至合約由礦工們進(jìn)行驗證,從而節(jié)省礦工對大量交易進(jìn)行重新計算的開銷,極大降低被聚合交易的交易費(fèi)用。這種技術(shù)被稱為zk-rollup,目前有很多項目都在進(jìn)行相關(guān)的開發(fā),例如zkSync,zkSwap。

回到零知識證明本身,證明者生成證明的過程往往涉及大量復(fù)雜的密碼學(xué)計算,這就使得生成證明的時間會特別長,大大超出了應(yīng)用可以接受的延遲范圍,并極大地限制了零知識證明的使用場景。例如由于Zcash之前生成證明的開銷太大,普通用戶大量使用了沒有隱私保護(hù)的交易方式,從而引發(fā)了隱私泄露;又例如現(xiàn)在的zk-rollup技術(shù)處理的交易所涉及到的程序復(fù)雜度都相對較低,一旦之后的復(fù)雜度有所提升,那么就會造成聚合節(jié)點(diǎn)生成證明的時間過長,進(jìn)而影響交易的實時性。

針對這個問題,來自微軟亞洲研究院、北京大學(xué)、清華大學(xué)及上海樹圖區(qū)塊鏈研究院等機(jī)構(gòu)的科研人員聯(lián)合提出了名為“PipeZK”的高效硬件加速系統(tǒng),可將零知識證明的證明過程加速10倍以上,證明過程的延遲下降一個數(shù)量級。PipeZK系統(tǒng)可廣泛應(yīng)用于隱私保護(hù)以及區(qū)塊鏈Layer-2技術(shù)場景中,并可顯著增強(qiáng)區(qū)塊鏈的交易隱私保護(hù),提高交易吞吐率。相關(guān)論文“PipeZK:Accelerating Zero-Knowledge Proof with a Pipelined Architecture”已被計算機(jī)體系結(jié)構(gòu)領(lǐng)域的全球頂級學(xué)術(shù)會議ISCA’21接收。

zk-SNARK協(xié)議是近年來最流行且最高效的零知識證明協(xié)議之一,其證明過程主要由兩部分計算構(gòu)成(如圖4):一個是高次多項式的乘法(下文簡稱POLY),一個是大規(guī)模的橢圓曲線向量積(下文簡稱MSM)。通過深入研究,研究員們發(fā)現(xiàn)這兩部分都可以用一種高效的流水線(Pipeline)方式進(jìn)行并行加速,讓ASIC(application-specific integrated circuit,專用集成電路)的計算資源高效化并能協(xié)同CPU處理這兩部分的計算。

360截圖16440809323970.png

圖4:zksnark的主要計算部分:多項式乘法(POLY)及橢圓曲線向量乘(MSM)

針對POLY部分,研究員們主要采用了number theoretic transforms(NTT)算法進(jìn)行處理(如圖5)。為了處理zk-SNARK中POLY計算規(guī)模太大,從而造成ASIC片上計算資源及片下內(nèi)存訪問速度太慢的問題,研究員們設(shè)計了一種高效的流程來將大規(guī)模的NTT迭代分解為小規(guī)模NTT,并使用FIFO等數(shù)據(jù)結(jié)構(gòu)來提升內(nèi)存的訪問效率。除此之外,研究員們還使用了data tiling以及片上矩陣轉(zhuǎn)置等方式來提升片下內(nèi)存的效率。通過PipeZK系統(tǒng),POLY部分可以被加速20倍以上。

360截圖16440809323970.png

圖5:POLY部分的優(yōu)化設(shè)計

針對MSM部分,研究員們采用了高效的Pippenger算法處理橢圓曲線的向量乘,并分析了對應(yīng)標(biāo)量部分的數(shù)據(jù)分布,使用了與之適配的調(diào)度機(jī)制,從而優(yōu)化了片上資源利用,提升了并行度(圖6)。研究員們還進(jìn)一步使用了一種粗粒度的處理方式將ASIC上的計算單元進(jìn)行了解耦,使之能各自獨(dú)立地處理計算任務(wù),避免了計算單元的閑置。實驗結(jié)果表明PipeZK系統(tǒng)能將MSM部分的延遲降低77倍以上。

360截圖16440809323970.png

圖6:MSM部分的優(yōu)化設(shè)計

研究員們在多種測試集以及零知識證明的應(yīng)用上測試了PipeZK,其都能取得可觀的性能加速。例如在一系列密碼電路(如AES、SHA256等)的零知識證明上,PipeZK甚至比當(dāng)前最流行的GPU算法快(接近)20倍。在Zcash的交易證明生成上,PipeZK系統(tǒng)目前也能將證明過程的延遲加速5倍以上。經(jīng)分析,目前終端到終端的性能瓶頸已經(jīng)集中在了witness生成以及G2曲線計算上,相信通過后續(xù)的優(yōu)化,加速比將會得到進(jìn)一步的提升。

區(qū)塊鏈的研究方興未艾,數(shù)據(jù)分析以及密碼學(xué)相關(guān)的研究只是提供了兩個角度。其他方向例如區(qū)塊鏈的系統(tǒng)/共識性能優(yōu)化、合約安全、Layer-2技術(shù)、應(yīng)用創(chuàng)新等,近年來也都產(chǎn)生了大量的工作。微軟亞洲研究院在區(qū)塊鏈其他方向上也正在進(jìn)行著創(chuàng)新和探索,未來會給大家?guī)砀嗲把毓ぷ鞯慕榻B。

THEEND

最新評論(評論僅代表用戶觀點(diǎn))

更多
暫無評論