您的位置:首頁(yè) > 區(qū)塊鏈 >

路印協(xié)議3.0采用zkSNARK技術(shù) 鏈下?tīng)顟B(tài)可用四叉Merkle樹(shù)來(lái)表示

2019-10-22 11:48:56 來(lái)源: 區(qū)塊網(wǎng)

Loopring,路印,一直專注在高性能的去中心化交易協(xié)議。路印協(xié)議的目標(biāo)是想實(shí)現(xiàn)以太坊上基于訂單撮合的去中心化的交易協(xié)議。從2017年,路印

Loopring,路印,一直專注在高性能的去中心化交易協(xié)議。路印協(xié)議的目標(biāo)是想實(shí)現(xiàn)以太坊上基于訂單撮合的去中心化的交易協(xié)議。從2017年,路印從“環(huán)路撮合”的最初設(shè)計(jì),經(jīng)過(guò)了1.0,2.0以及3.0的三個(gè)大的版本的協(xié)議升級(jí)。1.0/2.0,相對(duì)來(lái)說(shuō),受限以太坊本身性能的限制,交易流程復(fù)雜,體驗(yàn)和中心化交易所相比,有較大的差距。路印協(xié)議3.0,是一種大膽的設(shè)計(jì)和嘗試,通過(guò)零知識(shí)證明技術(shù)(ZKP),兼顧去中心化和交易性能。

本文對(duì)比路印協(xié)議2.0/3.0,分析zkSNARK零知識(shí)證明技術(shù)如何在路印3.0協(xié)議中運(yùn)用。

1. 路印協(xié)議1.0/2.0

路印協(xié)議在2.0版本之前,雖然有一些細(xì)致的功能和改進(jìn),但是,從框架上來(lái)說(shuō),沒(méi)有本質(zhì)的改變:

鏈下主要由Relay維護(hù)訂單(Order Management)和完成訂單的撮合(Settlement Engine)。完成撮合的訂單,需要在鏈上記錄(由鏈上的智能合約實(shí)現(xiàn))。簡(jiǎn)單的說(shuō),2.0協(xié)議之前,采用的是“鏈下撮合,鏈上記錄“的方式。在這種方式下,所有的交易狀態(tài)記錄在鏈上,鏈上的智能合約需要實(shí)現(xiàn)很多邏輯:

· 檢查訂單的簽名信息

· 檢查訂單的填充率以及是否取消

· 檢查訂單的時(shí)間

· 計(jì)算費(fèi)率

· 在上述檢查和計(jì)算完成后,完成token之間的轉(zhuǎn)賬

往往一個(gè)撮合中包括多個(gè)訂單,完成這樣的一筆撮合大概需要20w~30w的GAS費(fèi)用。也就是說(shuō),在以太坊區(qū)塊最大GAS 800w,出塊速度是15秒的前提下,路印2.0協(xié)議的撮合性能大概是:每秒大約2筆撮合。

2. 路印協(xié)議3.0

采用零知識(shí)證明(ZKP)技術(shù),路印協(xié)議3.0所有的撮合邏輯都在鏈下完成。每一筆撮合(Settlement)都會(huì)生成證明并提交到鏈上,證明鏈下的撮合正確無(wú)誤。路印協(xié)議3.0的設(shè)計(jì)文檔發(fā)布在Github上:

https://github.com/Loopring/protocols/blob/master/packages/loopring_v3/DESIGN.md

路印協(xié)議3.0的框架如下:

2.1 鏈上/鏈下同步

路印協(xié)議采用和以太一致的“賬戶”模型,所有的賬戶的“狀態(tài)”(余額)都記錄在鏈下。

所有和狀態(tài)相關(guān)的操作,都是在鏈下更改,提交Proof到鏈上記錄。因?yàn)榇嬖阪溕湘溝碌臓顟B(tài)同步,賬戶的任何操作有三個(gè)狀態(tài):

1/ Committed (操作已經(jīng)提交)2/ Verified (該操作已經(jīng)提供了相應(yīng)的Proof)3/ Finalized(之前的所有的操作都已經(jīng)提交正確的Proof)

以用戶Deposit“充值”的操作為例:

用戶轉(zhuǎn)賬到路印協(xié)議的智能合約,轉(zhuǎn)賬在鏈上確認(rèn)(鏈上完成充值)。該操作的狀態(tài)就是“Committed”。鏈下的Relay,監(jiān)測(cè)到“Committed”的狀態(tài)后,更改鏈下的狀態(tài),生成Proof,并將證明提交到鏈上,此時(shí)該“充值”操作的狀態(tài)為“Verified” - 鏈下也已經(jīng)完成充值。如果之前的所有操作都是Verified,那該操作的狀態(tài)就是Finalized(也就是這個(gè)狀態(tài)是確定的,不會(huì)被篡改的)。

2.2 鏈下?tīng)顟B(tài)和操作

為了支持DEX的業(yè)務(wù)場(chǎng)景,并結(jié)合ZKP的技術(shù)要求,路印3.0將鏈下的狀態(tài)用三層的四叉Merkle樹(shù)來(lái)表示:

第一層是N層的四叉樹(shù),維護(hù)DEX的所有賬戶信息(也就是能支持400w左右的用戶)。

第二層是M層的四叉樹(shù),支持一個(gè)賬戶下的所有Token信息。一個(gè)Token一個(gè)葉子節(jié)點(diǎn)。

第三層是K層的四叉樹(shù),一個(gè)賬戶下某個(gè)Token的Order信息。

所有的操作,都會(huì)更改這三層Merkle,完成狀態(tài)的變化。路印3.0協(xié)議支持如下的一些操作:

1/ On-chain Deposits (在線充值)

2/ On-chain Withdrawals(在線提幣)

3/ Off-chain Settlements (鏈下撮合)

4/ Off-chain Withdrawals (鏈下提幣)

5/ Off-chain Order Cancellation(鏈下取消訂單)

6/ Off-chain Transfers (鏈下轉(zhuǎn)賬)

大部分操作都比較容易理解,需要說(shuō)明的是2和4。因?yàn)槊總€(gè)操作都需要經(jīng)歷三個(gè)狀態(tài),需要鏈上鏈下的同步,所以, 用戶既可以從鏈上,也可以從鏈下發(fā)起提幣操作。

2.3 ZKP證明

路印3.0,采用的是zkSNARK的Groth16算法提供零知識(shí)證明。針對(duì)每種操作,Relay都會(huì)提供對(duì)應(yīng)的ZKP證明電路。以鏈下撮合為例,相應(yīng)的電路證明的邏輯如下:

假設(shè)Account X鏈下轉(zhuǎn)賬給Account Y。ZKP證明電路,包括:

1/ TradeHistory中Order Ox的變化導(dǎo)致TraderHistory的樹(shù)根的變化

2/ TradeHistory中Order Oy的變化導(dǎo)致TraderHistory的樹(shù)根的變化

3/ Balance Bx變化導(dǎo)致Balance的樹(shù)根的變化

4/ Balance By變化導(dǎo)致Balance的樹(shù)根的變化

5/ 兩個(gè)賬戶的Balance的變化一致

6/ Account X和Account Y賬戶的變化導(dǎo)致的Account樹(shù)根的變化

注意,不同的操作會(huì)有不同的電路對(duì)應(yīng)。簡(jiǎn)單的說(shuō),鏈下的狀態(tài)的變化,都會(huì)對(duì)應(yīng)不同的電路,并且,電路生成的證明會(huì)提交到鏈上。鏈下的狀態(tài)變化,“固化”成規(guī)則,并通過(guò)ZKP的電路表示。這種思路,和以太坊的zk Rollup的思路一致。

在鏈上,雖然智能合約不再需要驗(yàn)證和記錄撮合信息,但是,需要提供Order信息以及各種操作的證明。Order信息可以通過(guò)Calldata存儲(chǔ)在鏈上。在鏈上驗(yàn)證Groth16的Proof,還是比較昂貴的。一個(gè)Proof的驗(yàn)證,目前需要50w左右的GAS費(fèi)用。在君士坦丁堡升級(jí)后,可以降到原來(lái)1/4左右。

為了進(jìn)一步節(jié)省鏈上的GAS費(fèi)用,路印3.0設(shè)計(jì)了“Batching”的操作處理(批量處理),也就是多個(gè)同類操作,一起生成一個(gè)Proof。多個(gè)同類操作,被打包在一起,稱為“Block”(和區(qū)塊鏈中的Block不是一個(gè)含義)。

3. 性能對(duì)比

在足夠多的交易的情況下,路印3.0的TPS在目前的以太坊上達(dá)到了350。在君士坦丁堡升級(jí)后,TPS能達(dá)到1400。每筆交易平均下來(lái)的費(fèi)用大約在1美分。

總結(jié):

Loopring,路印,一直專注在高性能的去中心化交易協(xié)議。從2017年,路印從“環(huán)路撮合”的最初設(shè)計(jì),經(jīng)過(guò)了1.0,2.0以及3.0的三個(gè)大的版本的協(xié)議升級(jí)。路印協(xié)議3.0,通過(guò)零知識(shí)證明技術(shù)(ZKP),兼顧去中心化和交易性能。在鏈下維護(hù)Account模型的賬戶狀態(tài),每個(gè)操作都通過(guò)ZKP,生成證明并存儲(chǔ)到鏈上,保證鏈下的狀態(tài)可靠安全。在足夠多交易的情況下,目前路印3.0協(xié)議的TPS可以達(dá)到350。每筆交易平均下來(lái)的費(fèi)用大約在1美分。(Star Li)

關(guān)鍵詞: 路印協(xié)議3 0 zkSNARK Merkle樹(shù)

精選 導(dǎo)讀

募資55億港元萬(wàn)物云啟動(dòng)招股 預(yù)計(jì)9月29日登陸港交所主板

萬(wàn)科9月19日早間公告,萬(wàn)物云當(dāng)日啟動(dòng)招股,預(yù)計(jì)發(fā)行價(jià)介乎每股47 1港元至52 7港元,預(yù)計(jì)9月29日登陸港交所主板。按發(fā)行1 167億股計(jì)算,萬(wàn)

發(fā)布時(shí)間: 2022-09-20 10:39
管理   2022-09-20

公募基金二季度持股情況曝光 隱形重倉(cāng)股多為高端制造業(yè)

隨著半年報(bào)披露收官,公募基金二季度持股情況曝光。截至今年二季度末,公募基金全市場(chǎng)基金總數(shù)為9794只,資產(chǎn)凈值為269454 75億元,同比上

發(fā)布時(shí)間: 2022-09-02 10:45
資訊   2022-09-02

又有上市公司宣布變賣房產(chǎn) 上市公司粉飾財(cái)報(bào)動(dòng)作不斷

再有上市公司宣布變賣房產(chǎn)。四川長(zhǎng)虹25日稱,擬以1 66億元的轉(zhuǎn)讓底價(jià)掛牌出售31套房產(chǎn)。今年以來(lái),A股公司出售房產(chǎn)不斷。根據(jù)記者不完全統(tǒng)

發(fā)布時(shí)間: 2022-08-26 09:44
資訊   2022-08-26

16天12連板大港股份回復(fù)深交所關(guān)注函 股份繼續(xù)沖高

回復(fù)交易所關(guān)注函后,大港股份繼續(xù)沖高。8月11日大港股份高開(kāi),隨后震蕩走高,接近收盤(pán)時(shí)觸及漲停,報(bào)20 2元 股。值得一提的是,在7月21日

發(fā)布時(shí)間: 2022-08-12 09:56
資訊   2022-08-12

萬(wàn)家基金再添第二大股東 中泰證券擬受讓11%基金股權(quán)

7月13日,中泰證券發(fā)布公告,擬受讓齊河眾鑫投資有限公司(以下簡(jiǎn)稱齊河眾鑫)所持有的萬(wàn)家基金11%的股權(quán),交易雙方共同確定本次交易的標(biāo)的資

發(fā)布時(shí)間: 2022-07-14 09:39
管理   2022-07-14

央行連續(xù)7日每天30億元逆回購(gòu) 對(duì)債市影響如何?

央行12日再次開(kāi)展了30億元逆回購(gòu)操作,中標(biāo)利率2 10%。這已是央行連續(xù)7日每天僅進(jìn)行30億元的逆回購(gòu)縮量投放,創(chuàng)下去年1月以來(lái)的最低操作規(guī)

發(fā)布時(shí)間: 2022-07-13 09:38
資訊   2022-07-13

美元指數(shù)創(chuàng)近20年新高 黃金期貨創(chuàng)出逾9個(gè)月新低

由于對(duì)美聯(lián)儲(chǔ)激進(jìn)加息的擔(dān)憂,美元指數(shù)11日大漲近1%創(chuàng)出近20年新高。受此影響,歐美股市、大宗商品均走弱,而黃金期貨創(chuàng)出逾9個(gè)月新低。美

發(fā)布時(shí)間: 2022-07-13 09:36
資訊   2022-07-13

美股三大股指全線下跌 納斯達(dá)克跌幅創(chuàng)下記錄以來(lái)最大跌幅

今年上半年,美股持續(xù)回落。數(shù)據(jù)顯示,道瓊斯指數(shù)上半年下跌15 3%,納斯達(dá)克綜合指數(shù)下跌29 5%,標(biāo)普500指數(shù)下跌20 6%。其中,納斯達(dá)克連續(xù)

發(fā)布時(shí)間: 2022-07-04 09:51
推薦   2022-07-04

融資客熱情回升 兩市融資余額月內(nèi)增加超344億元

近期A股走強(qiáng),滬指6月以來(lái)上漲4%,融資客熱情明顯回升。數(shù)據(jù)顯示,截至6月16日,兩市融資余額1 479萬(wàn)億元,月內(nèi)增加344 67億元,最近一個(gè)半

發(fā)布時(shí)間: 2022-06-20 09:41
資訊   2022-06-20

4個(gè)交易日凈買入超百億元 北向資金持續(xù)流入A股市場(chǎng)

北向資金凈流入態(tài)勢(shì)延續(xù)。繼6月15日凈買入133 59億元后,北向資金6月16日凈買入44 52億元。自5月27日至今,除6月13日以外,北向資金累計(jì)凈

發(fā)布時(shí)間: 2022-06-17 09:37
推薦   2022-06-17

熱門(mén)TAG

more
美聯(lián)儲(chǔ)今年已將基準(zhǔn)利率從接近零大幅上調(diào)至略高于3% EIA報(bào)告:美國(guó)原油庫(kù)存及戰(zhàn)略儲(chǔ)備減少,汽油及精煉油庫(kù)存輕微波動(dòng) 美國(guó)政府更廣泛推動(dòng)從汽油動(dòng)力汽車轉(zhuǎn)向電動(dòng)汽車的一部分 數(shù)據(jù)顯示:今年9月日本船企接單量延續(xù)8月下跌下跌趨勢(shì) 公告顯示:2022年前三季度TCL中環(huán)研發(fā)投入為27億元 占比營(yíng)業(yè)收入5.42% 新的111.75億英鎊注資列在“對(duì)金融機(jī)構(gòu)的援助—支付給英格蘭銀行”標(biāo)題下 本次政府儲(chǔ)備肉投放面向北京18家主要連鎖超市門(mén)店及相關(guān)零售終端投放 有交易員預(yù)計(jì):如果LME不采取措施 接下來(lái)可能將有數(shù)十萬(wàn)噸鋁流入LME 據(jù)報(bào)道:繼德國(guó)最大釀酒商拉德貝格啤酒公司9月宣布漲價(jià) 據(jù)報(bào)道:澳大利亞礦商Pilbara的鋰礦拍賣價(jià)再創(chuàng)新高 折算后的碳酸鋰成本 中集天達(dá)首次公開(kāi)發(fā)行A股股票 招股書(shū)顯示此次擬公開(kāi)發(fā)行股數(shù)不超過(guò)103, 多家銀行加強(qiáng)綠色金融頂層設(shè)計(jì) 致力于為經(jīng)濟(jì)社會(huì)綠色低碳轉(zhuǎn)型貢獻(xiàn)力量 萊特幣 比特幣 數(shù)字資產(chǎn) 火幣 以太經(jīng)典 比特股 EOS 比特幣現(xiàn)金 量子鏈 Hcash 泰達(dá)幣 瑞波幣 Qcash 比特幣鉆石 超級(jí)比特幣 優(yōu)幣 硬分叉 加密貨幣