路印協(xié)議 3 0 有兩大主要優(yōu)勢(shì):1 大幅提高吞吐量降低成本2 支持即時(shí)結(jié)算整合以上兩個(gè)優(yōu)勢(shì)后,這個(gè)協(xié)議將徹底顛覆以往去中心化交易所的交易體
路印協(xié)議 3.0 有兩大主要優(yōu)勢(shì):
1. 大幅提高吞吐量降低成本
2. 支持即時(shí)結(jié)算
整合以上兩個(gè)優(yōu)勢(shì)后,這個(gè)協(xié)議將徹底顛覆以往去中心化交易所的交易體驗(yàn)。
完整的設(shè)計(jì)文檔:
https://github.com/Loopring/protocols/blob/master/packages/loopring_v3/DESIGN.md
基于區(qū)塊鏈的資產(chǎn)當(dāng)然要在區(qū)塊鏈上交易啦!不然真的會(huì)很迷。既然有了不建立在信任基礎(chǔ)上的密碼學(xué)貨幣,這么珍貴、這么神奇的資產(chǎn)為什么還要委托給需要信任的中間人來交易?為什么還要交易 IOU(欠條)?為什么還要將資產(chǎn)從滲透整個(gè)金融領(lǐng)域的開放平臺(tái)上移走?
很多人都禁不起這樣的靈魂拷問。與此同時(shí),中心化交易所狀況頻出,外部黑客攻擊或是交易所監(jiān)守自盜等問題讓我們防不勝防,甚至連交易量的真實(shí)性也無從考證(不過,有人正試圖弄清楚)。
坦白來說,在中心化交易所進(jìn)行數(shù)字貨幣和代幣交易確實(shí)有(過)優(yōu)勢(shì)——因?yàn)樵谌ブ行幕灰姿辖灰撞?總)是那么有趣且好上手的。通常會(huì)面臨用戶體驗(yàn)、流動(dòng)性及可擴(kuò)展性這三大障礙。不過我們這群小伙伴,特別是以太坊 DeFi 社區(qū)的開發(fā)者們,在加強(qiáng)流動(dòng)性及創(chuàng)建媲美 web 2.0 時(shí)代應(yīng)用的 dapp 方面,已經(jīng)取得長足的進(jìn)展。
然而可擴(kuò)展性問題依然有待解決,特別是涉及到免信任型交易。我們必須面對(duì)這樣一個(gè)現(xiàn)實(shí),如果無法大幅提升去中心化交易所的可擴(kuò)展性(或是從底層提升以太坊的性能),就無法解決這個(gè)問題??紤]到這一點(diǎn),路印協(xié)議開發(fā)團(tuán)隊(duì)在過去半年時(shí)間里正在著重解決可擴(kuò)展性問題。
我們最新發(fā)布的路印協(xié)議 3.0,直擊可擴(kuò)展性問題這一痛點(diǎn),并使用最有效的解決手段——零知識(shí)證明。
零知識(shí)證明概述
我們一直在思考如何解決可擴(kuò)展性問題。這一點(diǎn)從一開始就在影響我們的設(shè)計(jì)決策(從 1.0 到 2.0)—— 實(shí)現(xiàn)一種結(jié)合鏈下訂單消息傳遞及鏈上結(jié)算的混合模型,也就是說,盡可能將大部分事務(wù)放到鏈下,只在必要時(shí)使用區(qū)塊鏈來確保關(guān)鍵事務(wù)的正確性。
協(xié)議 3.0 有點(diǎn)像是把這種邏輯推向了極端?,F(xiàn)在,我們能在鏈下做更多事,包含結(jié)算 ......同時(shí)確保安全性。
為實(shí)現(xiàn)這一點(diǎn),我們?cè)趨f(xié)議 3.0 中引入了零知識(shí)證明(ZKPs)。它是一種密碼學(xué)工具,能夠讓某個(gè) 證明者 自證“已經(jīng)完成某項(xiàng)計(jì)算或知道某個(gè)密鑰”——同時(shí)無需將計(jì)算結(jié)果或密鑰透露給 驗(yàn)證方 。
零知識(shí)證明聽起來對(duì)隱私保護(hù)有很大作用對(duì)不對(duì)?舉例來說,某個(gè)投資俱樂部對(duì)于會(huì)員的要求是身家超過 X 美元,我可以通過零知識(shí)證明來證明自己達(dá)到了這個(gè)入會(huì)門檻,同時(shí)不需要透露具體的金額;這個(gè)俱樂部也能肯定我說的是事實(shí)。這聽起來有點(diǎn)復(fù)雜,不過該技術(shù)已經(jīng)被用于一些注重私密性的加密貨幣,如 ZCash 。
除了隱私保障,零知識(shí)證明也有助于提升復(fù)雜系統(tǒng)的可擴(kuò)展性。除了自證身家超過 X 美元之外,作為一個(gè)去中心化交易所的所有者,我還能夠證明用戶的賬戶余額是否正確(無需展示具體金額)、用戶的交易是否正確結(jié)算、用戶的轉(zhuǎn)賬是否完成等等——你能想到的一切關(guān)于去中心化交易所的操作。這些操作都不是通過智能合約完成,而是直接在鏈下進(jìn)行,然后生成一個(gè)能讓所有人都相信我所言屬實(shí)的證明。
這就是協(xié)議 3.0 的目標(biāo):以不犧牲安全性為前提進(jìn)行擴(kuò)容。
在協(xié)議 3.0 中,賬戶余額和歷史交易等相關(guān)數(shù)據(jù)都是通過默克爾樹保存在鏈下,讓用戶之間的交易結(jié)算能夠在鏈下以更新默克爾樹的方式完成,避免耗時(shí)又昂貴的鏈上交易。
同時(shí),這也不會(huì)造成安全性下降的問題,因?yàn)榱阒R(shí)證明能夠保證這些交易如宣稱那樣是真實(shí)且已執(zhí)行的。協(xié)議 3.0 仍然是 100% 無中間方,對(duì)終端用戶來說充分安全的——即使存在惡意的去中心化交易所運(yùn)營者,他們也無法偷走代幣。
所有計(jì)算都在鏈下完成的情況下,我們就能減少與以太坊主鏈的交互頻率,減輕網(wǎng)絡(luò)負(fù)載。事實(shí)上,去中心化交易所提交到以太坊區(qū)塊鏈上的東西就是前面提到的證明——證明去中心化交易所在鏈下所做的計(jì)算都是正確的。通過零知識(shí)證明,尤其是 zkSNARK (我們選用的一種零知識(shí)證明技術(shù)形式),驗(yàn)證者或者(在路印協(xié)議中)用于驗(yàn)證證明的智能合約都能夠高效快捷地進(jìn)行驗(yàn)證(毫秒級(jí))。
路印協(xié)議 3.0 概述
任何人都能在路印協(xié)議上創(chuàng)建一個(gè)新的交易所——由所有者負(fù)責(zé)處理業(yè)務(wù)相關(guān)的功能,比如注冊(cè)代幣、設(shè)置維護(hù)模式、設(shè)置運(yùn)營者等等;由運(yùn)營者負(fù)責(zé)創(chuàng)建、提交、驗(yàn)證區(qū)塊。
這里指的區(qū)塊不是以太坊鏈上的區(qū)塊,而是單指與去中心化交易所上的事務(wù)(如交易結(jié)算)相關(guān)的數(shù)據(jù)段。這類區(qū)塊會(huì)依據(jù)被打包的交易進(jìn)行狀態(tài)變更,將默克爾樹從當(dāng)前狀態(tài)更新為新狀態(tài)。接著需要證明區(qū)塊中打包交易的正確性并向以太坊主網(wǎng)提供證明,這一步是通過零知識(shí)證明實(shí)現(xiàn)的。
為了最大化吞吐量,協(xié)議 3.0 目前只支持鏈下結(jié)算。所有余額都保存在默克爾樹上;用戶給我們的智能合約存入代幣或者取出代幣,余額在默克爾樹上更新(注:你無需依賴中間方,因?yàn)檎麄€(gè)過程都是免信任的,沒有資金丟失的風(fēng)險(xiǎn))。
獨(dú)立運(yùn)行
區(qū)塊提交必須依序進(jìn)行,以便默克爾樹依序從已知舊狀態(tài)更新為新狀態(tài)。為了讓各自獨(dú)立的參與方可以同時(shí)進(jìn)行結(jié)算,協(xié)議 3.0 允許創(chuàng)建獨(dú)立的交易合約;也就是說,每個(gè)合約都是獨(dú)立運(yùn)行的,用戶的賬戶及訂單不能與其他合約共享。
聯(lián)合運(yùn)行
另外,去中心化交易所也能選擇共用一個(gè)交易合約,以便共享訂單和用戶帳戶——如果他們?cè)敢獾脑?。這樣一來,這些交易所就不用各自建立基礎(chǔ)設(shè)施來創(chuàng)建區(qū)塊并生成證明了。
運(yùn)營者可以是個(gè)簡單的以太坊地址,也可以是允許多個(gè)運(yùn)營者聯(lián)合 提交/驗(yàn)證 區(qū)塊的復(fù)雜合約,這些都能由交易所自行設(shè)置。
這種協(xié)作式的運(yùn)營者合約也能用于實(shí)施鏈下數(shù)據(jù)可得性系統(tǒng)——一個(gè)簡單的方案是,各個(gè)運(yùn)營者需要在區(qū)塊提交前進(jìn)行簽名,可以通過運(yùn)營者合約檢查其有效性。只要其中一個(gè)運(yùn)營者守信用并真正分享數(shù)據(jù),就能保證數(shù)據(jù)的可得性。
同樣的,交易所的所有者也可以是合約!例如,交易所所有者可以是某種治理合約或去中心化自治組織,能夠同時(shí)管理多個(gè)去中心化交易所。這些都是由去中心化交易所自己決定的,而且可以按需進(jìn)行更新迭代,同時(shí)不會(huì)擾亂交易所業(yè)務(wù)。
有狀態(tài)+用戶粘性
基于以上分析,我們的設(shè)想是,大多數(shù)交易會(huì)通過一個(gè)合約完成,其中,交易所 所有者/運(yùn)營者 均由合約來充當(dāng)。因?yàn)閰^(qū)塊內(nèi)包含了所有去中心化交易所的操作,所以這樣做既能增加資產(chǎn)流動(dòng)性,也能有效提升交易效率、降低延時(shí)、增加吞吐量。
還有很重要的一點(diǎn)是,這樣做極大地增加路印協(xié)議 “有狀態(tài)” 的可能性——能夠保存有價(jià)值的狀態(tài)、用戶、流動(dòng)性等等。一組良好協(xié)作、蓬勃發(fā)展的去中心化交易所很難被解散或分叉,這也增加路印協(xié)議的安全性,永續(xù)性,及價(jià)值。
[如何將一組去中心化交易所構(gòu)建在同一個(gè)合約上可以實(shí)現(xiàn)靈活的業(yè)務(wù)邏輯并分享 訂單/手續(xù)費(fèi),詳情請(qǐng)見此處。]
最后還有一點(diǎn),考慮到賬戶余額是在鏈下結(jié)算的,交易者使用(且喜歡)交易框架,會(huì)產(chǎn)生原生的用戶粘性。因此,性能良好的去中心化交易所、或是共用同一個(gè)合約的去中心化交易所群組,都能夠聚集一批忠實(shí)用戶。我們對(duì)此感到期待,因?yàn)槲覀兊哪繕?biāo)就是在此協(xié)議上支持成功的去中心化交易所 。
吞吐量及成本數(shù)據(jù)
讓我們聽聽好消息——究竟提升了多少性能?
根據(jù)目前的實(shí)現(xiàn)情況而言,在不提供鏈上數(shù)據(jù)可得性的情況下,在以太坊上可實(shí)現(xiàn)每秒 450 次交易;在提供鏈上數(shù)據(jù)可得性的情況下,在以太坊上可實(shí)現(xiàn)每秒 80 次交易。相比之下,前幾版路印協(xié)議(和其他去中心化交易所)只能達(dá)到每秒 2 次交易左右。
這只是個(gè)開端,吞吐量在短期內(nèi)還會(huì)大幅提升。近期還會(huì)引入更高效的哈希函數(shù)以及更簡單的費(fèi)用環(huán)路,在不提供鏈上數(shù)據(jù)可得性的情況下,我們能夠達(dá)到在每個(gè)以太坊區(qū)塊完成 10,000–20,000 個(gè)訂單環(huán)或是每秒完成 1000 次交易。
這非常令人興奮。我們終于有了能夠?qū)崿F(xiàn)去中心化交易所商業(yè)化的工具,幫助去中心化交易所與中心化交易所抗衡。
當(dāng)然,如果有數(shù)百萬計(jì)的資產(chǎn)實(shí)現(xiàn)代幣化,并且需要不斷轉(zhuǎn)手時(shí),我們離所需的吞吐量仍然還差幾個(gè)量級(jí)。不過,我們對(duì)此還是很有信心的,畢竟還有零知識(shí)證明等二層擴(kuò)展方案,和分片等一層(以太坊)擴(kuò)容改進(jìn)方案。
鏈上數(shù)據(jù)可得性指的是去中心化交易所的所有歷史紀(jì)錄都能在以太坊主網(wǎng)上查到,任何第三方都可以在任何時(shí)間點(diǎn)重構(gòu)交易所的狀態(tài);
其他功能
擴(kuò)展性是協(xié)議 3.0 的關(guān)注點(diǎn)及驅(qū)動(dòng)力,除此之外還有其他一些很棒的功能已經(jīng)實(shí)現(xiàn)。部分功能繼承/優(yōu)化自協(xié)議 2.0 ,還有一部分只適用于協(xié)議 3.0 。點(diǎn)擊這個(gè)文檔能看到整個(gè)功能列表;要查閱完整的說明則建議閱讀設(shè)計(jì)文檔。有以下幾個(gè)要點(diǎn):
· 可以選擇是否提供鏈上數(shù)據(jù)可得性——去中心化交易所可以選擇放棄這個(gè)功能,以此增加吞吐量并降低手續(xù)費(fèi)。
· 默認(rèn)支持所有 ERC20 代幣及 ETH ,ETH 不需要轉(zhuǎn)化為 WETH 。
· 所有代幣都能用作交易手續(xù)費(fèi),而 LRC 可以從中得到好處。(譯者注:因?yàn)椴还苁褂檬裁创鷰?,手續(xù)費(fèi)中都會(huì)有一部分交給合約,從市場(chǎng)上買來 LRC 并燒掉)
· 允許匹配部分訂單(即只吃某訂單中的一部分),并自動(dòng)縮放訂單。
· 加強(qiáng)雙重授權(quán)功能,避免 訂單/交易 被中間方竊取(基于協(xié)議 2.0 做的加強(qiáng))。
· 獨(dú)家支持訂單別名功能。
· 去中心化交易所的運(yùn)營者可以質(zhì)押 LRC “購買” 信譽(yù),也就是實(shí)現(xiàn)利益綁定。
· 支持 “維護(hù)模式”——去中心化交易所的運(yùn)營者能購買一定停機(jī)時(shí)間來升級(jí)后端。
· 保證去中心化交易所的運(yùn)營方能夠準(zhǔn)時(shí)完成任務(wù)(特別是處理存取款)的內(nèi)嵌機(jī)制。
LRC 的其他附加功用
上文提及的功能不會(huì)一一展開,我會(huì)講講最后三個(gè)。這三點(diǎn)很有趣,因?yàn)椋?/p>
A. 他們有助于確保去中心化交易所更加公平公正地運(yùn)轉(zhuǎn)。
B. 隨著機(jī)制優(yōu)化,LRC 會(huì)具備更多原生使用價(jià)值。
質(zhì)押
創(chuàng)建交易所需要質(zhì)押 LRC 。任何人(不只是所有者和運(yùn)營者)都能在交易所質(zhì)押 LRC;只有在交易所正常關(guān)閉且所有使用者的賬戶余額都取出之后,才可以取出押金。
押金能保證交易所正確運(yùn)行。之所以能做到這一點(diǎn),是因?yàn)?1)如果沒有及時(shí)生成區(qū)塊證明,押金就會(huì)被銷毀,2)交易所自動(dòng)將資金歸還給用戶后就會(huì)關(guān)閉,只有這時(shí)用戶才可以取回押金。如果繳納大量押金的交易所作惡,他們將損失慘重、一無所獲,因?yàn)檫\(yùn)營者無法監(jiān)守自盜。
注意:因?yàn)閰f(xié)議默認(rèn)具有安全性,所以不是強(qiáng)制要求質(zhì)押。不過,質(zhì)押能實(shí)現(xiàn)風(fēng)險(xiǎn)共擔(dān),而且用來區(qū)分不同的去中心化交易所;重要的是,質(zhì)押可以防止用戶遭遇數(shù)據(jù)可得性問題。當(dāng)不需要實(shí)施數(shù)據(jù)可得性的時(shí)候,即使只有運(yùn)營者能重構(gòu)默克爾樹,質(zhì)押機(jī)制依然能夠保證所有資金會(huì)正確返還給用戶,否則交易所就會(huì)失去押金。
維護(hù)模式
交易所所有者可以讓交易所暫時(shí) 處于暫停狀態(tài)。例如,在更新交易所后臺(tái)的時(shí)候就能使用這個(gè)功能。
交易所所有者能購買停工期,也就是通過銷毀 LRC 換取停工期;停工期還可以通過多次購買來得到延長。
這個(gè)功能是必需的,因?yàn)檫\(yùn)營者 必須 處理上鏈請(qǐng)求,否則交易所就會(huì)進(jìn)入不可逆的退款(關(guān)閉)模式。維護(hù)模式允許交易所暫時(shí)停止處理上鏈請(qǐng)求(避免處理不及時(shí))。不過,用戶請(qǐng)求旨在確保用戶可以在需要之時(shí)取款——因此,收取維護(hù)費(fèi)的目的是確保交易所不能無限期停留在維護(hù)模式。
及時(shí)執(zhí)行 存/取 款
每個(gè)人都討厭等待,特別是涉及到錢的時(shí)候。
如果交易所運(yùn)營者沒有及時(shí)處理用戶的存取款請(qǐng)求,手續(xù)費(fèi)就會(huì)直線下降;如果運(yùn)營者沒有在用戶發(fā)起取款請(qǐng)求后自動(dòng)將代幣轉(zhuǎn)入目標(biāo)地址,就會(huì)被罰款(從押金里扣)——其中 50% 的罰款用于獎(jiǎng)勵(lì)愿意處理該請(qǐng)求的其他運(yùn)營者(用戶可以選擇自己上),另外 50% 則銷毀。
事實(shí)上還有個(gè)功能
訂單別名非常酷,這里多做一點(diǎn)解釋。訂單別名允許交易者在多個(gè)訂單中重復(fù)使用相同的交易歷史時(shí)段。除了能夠更安全地更新訂單,避免新老訂單同時(shí)達(dá)成交易之外,還支持一些有趣的吃單邏輯。
舉例來說,用戶能夠在同一個(gè)交易 “時(shí)段” 內(nèi)創(chuàng)建一個(gè) “用 X 枚 代幣 Z 購買 N 枚 代幣 A 或 M 枚 代幣 B (或其他代幣)” 的買單;在這種規(guī)則情況下,用戶不會(huì)花費(fèi)超過 X 枚 代幣 Z,但是能買到 [0, N] 枚 代幣 A 且/或 [0, M] 枚 代幣 B 。
該功能的實(shí)際用例是使用某種代幣來購買任意一種穩(wěn)定幣,或是使用某種代幣來購買 ETH 或 WETH 。在這些情況下,用戶可能不在乎自己會(huì)買到哪種幣,只是想增加達(dá)成交易的概率。
手續(xù)費(fèi)模式依舊靈活
協(xié)議 3.0 依舊沿用了協(xié)議 2.0 中介紹的手續(xù)費(fèi)模式,交易者能夠繼續(xù)支付任意一種代幣作為手續(xù)費(fèi),去中心化交易所則賺取這些手續(xù)費(fèi),但 LRC 受到協(xié)議層通縮設(shè)定影響,總供給量會(huì)隨著網(wǎng)絡(luò)使用量的增加而減少。
如果去中心化交易所用起來像中心化交易所
如一開始提到的,去中心化交易所的交易體驗(yàn)會(huì)發(fā)生巨大變化;事實(shí)上,我們以后可能都不會(huì)刻意提到 “去中心化交易所”這個(gè)詞——未來,加密交易只會(huì)在去中心化交易所上進(jìn)行。協(xié)議 3.0 就是這項(xiàng)轉(zhuǎn)變的開端。
將來,基于路印協(xié)議 3.0 的去中心化交易所會(huì)帶來如去中心化交易所那樣快速便捷的交易體驗(yàn)。結(jié)算也能及時(shí)獲得簽驗(yàn)。
交易流程
用戶通過賬戶在交易所創(chuàng)建訂單,訂單會(huì)被記錄在去中心化交易所的訂單簿上。
去中心化交易所將會(huì)匹配訂單,并通過環(huán)形匹配私鑰和雙重授權(quán)密鑰簽署訂單。訂單環(huán)中訂單完成流程如下:
· 訂單環(huán)結(jié)算完成之后,去中心化交易所的圖形用戶界面會(huì)立即更新,訂單會(huì)顯示 “已完成” 狀態(tài),但還未得到驗(yàn)證。
· 去中心化交易所將訂單環(huán)發(fā)送給運(yùn)營者;收到訂單環(huán)之后,運(yùn)營者必須盡快提交區(qū)塊。
· 在最大容許時(shí)間限制內(nèi),運(yùn)營者會(huì)生成證明并驗(yàn)證區(qū)塊。
訂單交易完成之后,去中心化交易所會(huì)顯示“已驗(yàn)證”標(biāo)識(shí)。訂單有以下幾種狀態(tài)標(biāo)識(shí):
· 在訂單簿中 “未匹配”
· 由去中心化交易所 “完成匹配”
· “已提交” 入?yún)^(qū)塊
· 通過生成證明 “完成驗(yàn)證”
· 一旦該訂單所在區(qū)塊得到最終確定,即表明該訂單得到 “最終確定”(包含該訂單環(huán)的區(qū)塊以及之前的所有區(qū)塊均已被驗(yàn)證)
只有區(qū)塊得到最終確定之后,訂單環(huán)的結(jié)算結(jié)果才真正實(shí)現(xiàn)不可逆轉(zhuǎn)。
挑戰(zhàn)
我們依然面臨一些挑戰(zhàn),其中最值得注意的就是 SNARKs 需要進(jìn)行“可信設(shè)置”;我們不會(huì)在此深入探討,只要知道有些可信設(shè)置如果執(zhí)行不當(dāng)(隨機(jī)性不足),從理論上來說會(huì)帶來構(gòu)建虛假證明的風(fēng)險(xiǎn)。好消息是,這個(gè)問題已經(jīng)幾乎被解決——Sonic:近似免信任的啟動(dòng)設(shè)置。
相關(guān)思考
路印協(xié)議 3.0 前景非常鼓舞人心。這個(gè)世界似乎終于能夠開始正視去中心化交易所,認(rèn)識(shí)到它將在未來代幣化的世界中成為價(jià)值轉(zhuǎn)移的途徑;我們很榮幸能貢獻(xiàn)一份心力。
去中心化交易所領(lǐng)域的革新速度也讓我們非常吃驚。目前出現(xiàn)許多協(xié)議和項(xiàng)目,讓我們意識(shí)到自己雖然已經(jīng)是鏈圈的 “老人” 了,仍然要持續(xù)保持行動(dòng)及思考,不然就會(huì)被淘汰;對(duì)此我們?nèi)匀槐3种t遜且積極的心態(tài)。
再呼吁一次,請(qǐng)查閱我們協(xié)議 3.0 完整的設(shè)計(jì)文檔,下周我們將開源代碼庫,請(qǐng)保持關(guān)注。在未來一兩個(gè)月內(nèi),我們預(yù)計(jì)會(huì)部署測(cè)試網(wǎng)絡(luò),并在半年內(nèi)發(fā)布主網(wǎng)。(MatthewFinestone)
關(guān)鍵詞: 路印協(xié)議3 0 零知識(shí)證明