摘要
我們提出了一種新的Layer-2可擴展技術“zkPorter”,可以將zkRollup和分片結合在一個高度可擴展且原子化可組合的區塊鏈網絡中。
問題#1:交易吞吐量≠可擴展性???
交易吞吐量是用全網處理的總交易數量來度量的;而可擴展性是單個節點處理的交易數量。zkRollup可以被認為是滿足了安全性和有用性的終極Layer-2擴展方案。但是zkRollup相對于主網僅僅提供了約100倍的可擴展性提升,因為交易數據還是需要廣播到所有全節點。有人可能會說,zkRollup只是線性提升了吞吐量,但并沒有提供指數級的可擴展性。
zkRollup在Eth1上的處理速度可達3000TPS,但保守估計——取決于Eth2實現的細節——在分片化的Eth2上的處理速度至少是20000TPS。相比于Visa最高可達24kTPS的吞吐量,這已經是個巨大的成就了,但因為我們想要幫助今天還不能享受到銀行服務的數十億人,我們還要爭取更多。
問題#2:孤立的可擴展性是死胡同?
DeFi的崛起意味著可組合性是成功的關鍵。作為可以自由組合的“貨幣積木”,DeFi應用證明了把免信任的協議層層疊加可以解鎖的潛在價值。如果一個項目只盯著自己的擴展方案,最終他們會發現自己孤立于由社區共享的、可組合的擴展機制所創造的安全性和網絡效應之外。
介紹zkPorter?
在本文中,我們要演示一種新的、基于零知識證明的擴展方案,它有望能解決上述所有問題:zkPorter。
解釋zkPorter?
zkPorter是一個賬戶模式的、基于簡潔的零知識證明來保障安全性的免信任型擴展協議。類似于zk家族的其它擴展方案,zkPorter中的計算可以指數級擴展:任意多的交易都可以用幾乎恒定的開銷來驗證。每一筆交易都會由Layer-1上的智能合約來驗證,所以zkPorter中的賬戶狀態的正確性與Layer-1上的狀態有同樣的安全性保證。
Solidity發布0.8.10版本,為純Yul模式啟用新的EVM代碼生成器:11月10日消息,以太坊智能合約編程語言Solidity發布0.8.10版本,為純Yul模式引入了一個新的EVM(以太坊虛擬機)代碼生成后端,用于通過Yul進行Solidity的實驗編譯流程,以及優化Yul輸入的編譯。Solidity表示,在其基準測試中,新的代碼轉換可明顯節省Gas成本,不過代碼大小會略有增加。[2021/11/10 6:44:05]
另一方面,基于零知識證明的擴展方案仍不能直接解決數據可用性問題:如果狀態數據變得不可用,資金就會被凍結。zkRollup和Validium是用不同的方法來處理數據可用性問題的。
zkPorter使用了一個結合zkRollup理念和分片理念的混合方法來解決數據可用性問題。它可以支持任意多數量的分片,每一個分片都有自己的數據可用性方案。同時,對分片的選擇是在個體賬戶層面上控制的。
zkPorter將對狀態有效性和數據可用性的顧慮分離開來。狀態有效性——有效的狀態轉換才能發生——由零知識證明工具來統一實現,這就能提供指數級的可擴展性,同時繼承Layer-1的安全性保證。另一方面,數據可用性則委托給各分片自己解決,可以自由實驗不同的解決方案。必要之處求聯合,未決之事任自由!
zkPorter中的可組合性:打了激素的區塊鏈互聯網?
同步的跨分片互操作性公認是非常難的。這就是為什么現有的分配解決方案都選擇了更簡單的異步互操作性,用交易收據方法來實現。但是從同步模式轉變成異步互操作性,會在協議交互和用戶體驗上產生許多令人頭疼的麻煩,尤其是對那些對時間敏感的應用。
那就讓zkPorter來試試!zkPorter里面的所有賬戶都共享同一個地址空間,而且可以通過運行在zkPorter中的基礎分片shard0上的zkRollup與其它賬戶互操作。一個對流量有很高要求以及/或者特定數據可用性需求的協議可以將自己的協議接口放在自己的分片里面。其中的安全性、成本和吞吐量權衡,我們下文再說。
動態 | 佛山市通過區塊鏈等金融科技創新的應用促進汽車消費升級:金色財經報道,近日,廣東省佛山市政府官方網站發布《佛山市人民政府辦公室關于印發佛山市促進汽車市場消費升級若干措施試行的通知》。《通知》提出鼓勵汽車消費的舉措。同時,當地政府還將加強加強汽車金融產品創新、優化汽車金融服務,通過創新汽車金融消費信貸產品以及對大數據、人工智能、云計算、區塊鏈等金融科技創新的應用促進汽車消費升級。[2020/2/18]
zkPorter讓任意數量的協議都可以平滑地互操作。單筆原子交易可以在不同的zkPorter分片上調用任意數量的智能合約。不僅如此,分片內的交易將可以訪問整個zkPorter的狀態?——包括其它分片上的數據。這一特性可被用于讀取來自某個信息輸入機制的信息。
你可以把zkPorter模式想象成打了zk激素的區塊鏈互聯網。
zkPorter分片:安全性與開銷?
zkPorter的Shard0就是一個zkRollup,有完整的數據可用性和以太坊的安全性保證。Shard0會成zkPorter內部運行的分片中最貴的一個,交易成本大約是主網交易的1/100。
Shard0以外的分片會在自己的智能合約中定義自己的數據可用性方案。這些其它分片,犧牲了鏈上數據可用性,換來了進一步的10~100倍的交易成本節約和吞吐量提升。zkPorter會引入一個可選的驗證者機制,我們稱之為“zkPorter衛士”,它讓協議可以邀請協議的利益相關者作為協議分片的數據可用性保證人而參與進來。使用衛士機制的分片會運行一種權益證明共識機制,因此,只要1/3的參與驗證者保持誠實,該分片的用戶就能隨時帶著自己的數據退出。
各協議可以自由選擇自己的數據可用性方案,可以包括zkPorter衛士,也可以不使用這種機制。協議所選數據可用性方案的效率就會影響到所在分片的吞吐量和交易成本。
靈活的數據可用性就是zkPorter的核心設計目標。允許了各協議自行設計方案,zkPorter就能支持非常多不同的方案,可以適應每個人的需要。安全假設以受信任的中心化參與者作為保證人的應用可以實現權威證明共識機制。而帶有治理代幣的應用可以實現自己的權益證明共識機制來保護自己的分片——只不過要避免讓分片內的資金體量超過已鎖定的驗證者押金體量。糾刪碼機制可以用于證明驗證者沒有刪除數據。比如,考慮到比特幣網絡相對比較簡單、交易數量也低,一個zkPorter分片的驗證者完全可以在他們的分片內創造一個比特幣實現,運行基于工作量證明的中本聰共識。所有這些都可以與zkPorter的衛士驗證者設置相結合,也都可以與之獨立運行。
動態 | 加密托管提供商BitGo將為其機構客戶推出新的清算和結算服務:據coindesk報道,加密托管提供商BitGo正在為其機構客戶推出新的清算和結算服務。根據一份新聞稿,根據新聞稿,BitGo的新清算和結算服務將提供給受監管的BitGo信托公司客戶,并確保資產在轉讓時不會脫離托管,而實際的結算是“快速、合規和安全的”。在交易中,BitGo將作為任何一方的托管人,該公司聲稱這將降低交易對手的風險。[2019/5/14]
zkPorter在一開始設計時就把擴展當成目標。zkPorter協議將每一個分片的數據可用性和有效性開銷降低到了一個很低的水平。增加新分片的邊際成本比起在基礎的zkRollup上包含嵌套數據所引起的成本是對數級別的。這就讓zkPorter可以高效地擴展到支持數億個賬戶。
最后,用戶的隱私可以得到零知識證明技術的保護。使用一個zkRollup作為zkPorter的基本元素有一個內在的優勢,就是狀態轉換的有效性是可以被證明的,而且可以不用公開這些交易的內容。
架構?
究其實,zkPorter很像zkRollup和Validium。一個放在Layer-1上的智能合約托管著資金、保存著一份對賬戶狀態默克爾根的記錄。實際狀態數據由zkPorter驗證者和各分片的數據保證人保存在鏈下:我們也管它叫“狀態樹”。
一個分片的智能合約定義了自己的狀態轉換規則。當一個zkPorter區塊被接受的時候,該塊會引起一次狀態轉換:一筆在Layer-1上的交易會把默克爾根替換成新值。這筆交易必須驗證用于證明新值有效的零知識證明:即,要驗證該區塊中的每一筆交易都是有效的。
在zkPorter中,每個分片的賬戶都必須存儲狀態樹的一棵獨立的子樹中。此外,每一個分片子樹都必須包含關于自身分片類型的信息,并引用定義其狀態可用性策略的智能合約賬戶。
假設一個分片的類型是zkRollup,那么該分片中每一筆改變賬戶狀態的交易都必須把對狀態的更改作為Layer-1的calldata發布出來。
聲音 | 比特幣支持者Max Keiser:比特幣將成為新的全球儲備貨幣:據The Daily Hodl消息,華爾街金融分析師、比特幣支持者 Max Keiser近日表示,他相信比特幣將成為新的全球儲備貨幣。他稱,比特幣的價格、哈希值和難度調整等規則使其具有比任何中央銀行更強大的貨幣政策。[2019/1/3]
所有會同時修改兩個及以上分片狀態的交易都必須用zkRollup模式來執行。
而所有其它僅會影響特定一個分片內賬戶的交易都可以用正常的分片模式來執行。如果一個區塊包含了分片S內的一些分片交易,那必須遵循下述規則:
分片S子樹的根哈希必須公開一次,作為calldata放到Layer-1上。這是為了讓所有其它分片的用戶能夠重構自己的狀態
該分片配套的智能合約必須被調用來執行額外的要求
案例分析?
我準備用4個案例來展示zkPorter的潛能,演示它是如何無縫組合不同的應用、同時擴展交易量來滿足每個應用的需要的。
案例1:Reddit社區積分
2020年6月,Reddit啟動了TheGreatRedditScalingBake-Off計劃,讓各個社區有機會通過一個社區積分系統來主持自己的子論壇,也讓各Layer-2方案能一展身手。顯然,社區積分系統的解決方案必須是安全的、去中心化的和易用的,同時還能保持與其它第三方應用的互操作性,還有,能處理數以十萬計的交易。社區積分可以用zkPorter來實現,有三種不同的方式。
選項1:運行在zkSync上
為讓社區積分連接到以太坊主網,Reddit可以直接在zkSync上使用現有的zkRollup功能。zkSync在Eth1上可達到3000TPS。假設所有5億Reddit月活用戶都踴躍參與。再假設平均每個用戶在每個月里要發送一筆鑄幣交易、一筆銷毀交易和兩筆轉賬,則社區積分系統要求的平均負載是:
動態 | 比特現金壓力測試創下新的記錄:9月1日BCH網絡進行了一場由社區主導的壓力測試,當天BCH支持者們向網絡發起上百萬筆交易。礦工在24小時內處理了220萬筆交易。但是,壓力測試活動并未結束,很多BCH支持者們仍在不斷向網絡發起大量交易。第二天,又增加137萬筆交易,到9月4日,數據顯示,參與者們仍在持續發起交易,9月5日又處理167萬筆交易。[2018/9/6]
5億×4/約等于700TPS
這只占zkRollup當前吞吐量的1/4。
選項2:放到一個Reddit專屬的分片上,由zkPorter衛士來驗證
若有意提高交易吞吐量的彈性并降低用戶的使用成本,Reddit可以將Reddit交易從基礎分片下放到一個Reddit專屬的分片上。Reddit可以自己選擇向用戶提供數據可用性保證的方案。最簡單的辦法就是現有的zkSync衛士實現,向用戶提供由權益證明實現的數據可用性保證。我們會建議Reddit除了使用衛士模板,還要把數據存儲在Reddit的服務器里。在這種模式下,即使衛士遭受2/3多數攻擊,Reddit也能應付下來,這樣用戶就高枕無憂了。相應地,用戶的數據也不會因Reddit服務器出錯、被攻擊而傾覆。
選項3:放到一個Reddit專屬分片上,使用專屬的數據可用性策略
第三種方法是,Reddit可以選擇最大化交易吞吐量、最小化用戶成本,就是將Reddit社區放到一個專屬分片上,同時使用一個定制化的數據可用性方案,而不用衛士機制。一種基于權益證明共識的可行方案是,基于社區驅動的數據可用性,再加上2/3的多簽名機制。
設想一種可能的方案實現:Reddit和Reddit的用戶會發送簽名來見證每一個狀態轉換的有效性。Reddit可以,比如說,占據1/3的總簽名權重,把2/3分發給用戶。再加上一個簽名權重的2/3多數機制,足以保證Reddit分片上的狀態轉換是有效的。可以激勵用戶發布關于自己所見無效轉換的證明,比如扣減該無效狀態轉換的發布者的押金。
交易成本在這種方案中會變成僅覆蓋零知識證明的生成所需的成本
互操作性
在所有這些場景中,Reddit社區積分的持有者都能夠:
容易地與其它分片上的智能合約互動,比如使用部署在zkSync上的DeFi協議來交易/出借/貸款
把他們的社區積分轉移給一個zkRollup分片上的用戶
快速取出他們的代幣到以太坊主網上,與zkSync以外的智能合約互動
案例2:智能錢包/密碼學貨幣銀行
智能錢包就是用智能合約來實現的錢包,可以幫助用戶獲得隱私功能和互操作功能。一些智能錢包比如Argent,甚至在引導新用戶的過程中會選擇性地為用戶補貼一定比例的交易手續費。以當前的GasPrice和以太坊價格來算,一筆交易就是0.5美元。智能錢包可以使用智能合約調用zkRollup函數來降低整體的Gas開銷。
這里提供一種可能的實現方案,分3個簡單的步驟。
步驟1:zkRollup分片
智能錢包的賬戶可以遷移到一個zkRollup解決方案上。zkSync內部的錢包之間的轉賬是很便宜的,雖然從zkSync發送到主網的交易會稍微貴一點,而且耗時也更久。
步驟2:zkSync衛士錢包運營者分片
在引入足夠多的新用戶之后,在zkRollup上運營的成本可能會讓錢包運營者考慮開啟一個專屬分片。在上文的Reddit部分中,我們就詳細講解過這種方案:把用戶基礎遷移到一個獨立的、由zkSync衛士和錢包運營者來保證其數據可用性。只要錢包運營者或者zkSync衛士中的大部分沒有被攻破,分片就是安全的。這一選項也為錢包運營者的靈活手續費分享方案打開了可能性。
步驟3:錢包DAO分片
到了某一刻,錢包的用戶基礎可能會變得非常大,達到錢包需要遷移到一個由治理代幣來治理的分片上。這個分片仍會是zkSync網絡的一部分,而且可以用zkRollup模式訪問所有其它分片上的服務。
隱私考慮
還需進一步說明的是:隱私功能在上述任一步中都很容易實現。沒有零知識證明,就很難實現隱私性。但zkRollup的好處就在于,賬戶可以即時獲得隱私性、大幅降低參與網絡的費用,而且無需犧牲安全性和去中心化。
案例3:DeFi協議和DEX
預見到了未來會出現的吞吐量瓶頸,多個主流的DeFi應用都投資于部署自己的可擴展性解決方案。這是很聰明的一步,因為這一方面給了他們在GasPrice高企時候的競爭優勢,另一方面也給了他們對可擴展性技術/犧牲的更深刻理解。
不僅如此,對于渴望支持高頻交易的去中心化交易所來說,單筆交易的費用必須盡可能小,因為吃下一個單需要非常高的交易數量。
不過,這一方法面前橫亙著兩大問題:
孤立的可擴展性缺乏可組合性,或者說網絡效應。
隨著零知識證明技術的潛力完全展現,越來越多人意識到,零知識證明是大規模普及的關鍵。與此同時,ZKP領域的創新速度很快,以至于要跟上節奏必須有自己專門的研究開發團隊。但是,如果不能很好地審計和實現復雜的密碼學算法,等待他們的可能是嚴重的安全漏洞。密碼學領域的黃金法則還是對的:不要閉門造車搞一套只有你自己知道的密碼學。
zkPorter就解決了這個問題。DeFi協議可以建立在先進的可擴展性技術和強大的網絡效應上,同時控制交易成本。要擁有這些,一個協議可以在zkPorter內創建一個自己的分片,用協議代幣持有者的共識來保護它。這也為靈活的手續費共享提供了機會。
案例4:微交易
需要處理大量低價值轉賬的協議可以實現一個類似于Validum的分片,讓交易手續費低到彌補零知識證明的生成成本即可。
如此整合微交易平臺,則用戶還可以在余額超過一定額度之后自動將余額轉移到一個zkRollup分片中。
前進的道路?
zkPorter將作為zkSync路線圖的一部分而初步實現。
對于這一愿景,接下來我們要做的有:
為zkSync提供對通用的智能合約的支持
實現一種多驗證者的共識機制
分發zkSync代幣來啟動衛士保護型分片
zkSync已經上線以太坊主網,現在就可以使用免準入的zkRollup模式了。我們相信它的吞吐量對于滿足以太坊社區接下來兩年內的需要是足夠的了。不過,我們歡迎大家討論和實現定制化的分配解決方案、締結密切的合作伙伴關系。
請在這里聯系我們。
提醒
zkSync現在還沒有發行過代幣,暫時也沒有銷售和分發計劃。請警惕騙局。
原文鏈接:
https://medium.com/matter-labs/zkporter-composable-scalability-in-l2-beyond-zkrollup-2a30c4d69a75
作者:?AlexGluchowski
翻譯:?阿劍
Tags:TERZKPRTEORTClear WaterzkProofUncharted3X Short Cardano Token
尊敬的XT用戶: 為了給用戶提供更好的交易體驗感,提升平臺的服務質量,XT將于2020年8月5日00:00-2020年8月5日06:00進行系統維護升級,本次升級維護時間預計為6個小時.
1900/1/1 0:00:00導讀 自由共識是基于中本聰框架演化形成的密碼共識系統,是由點對點電子現金系統向密碼經濟基礎設施的進化,從去中心化的自由現金延伸到去中心化的身份、關系、信譽、協議、存儲等領域,為密碼經濟奠基.
1900/1/1 0:00:00相較于前兩年進度“龜速”的窘境,今年的Filecoin取得了實質性進展。公開的線路圖顯示,Filecoin已經進入了測試網第二階段的收尾階段,這意味著現在已經進入主網上線倒計時.
1900/1/1 0:00:00尊敬的T網用戶: 根據項目方的運營現狀,經過和項目方溝通,T網將于2020年7月1日18:00起啟動YLCT、GAP的下架公示.
1900/1/1 0:00:00尊敬的用戶: 為了給社區用戶營造更好的合約保險交易環境,合約保險交易功能將于2020年8月5日16時進行全新升級,預計升級時長為2天,升級期間該功能將暫停使用.
1900/1/1 0:00:00再大的傷痛,睡一覺就把它忘了。背著昨天追趕明天,會累壞了每一個當下。邊走邊忘,才能感受到每一個迎面而來的幸福。煩惱不過夜,健忘才幸福.
1900/1/1 0:00:00