加入PolkaWorld社區,共建Web3.0!
平行鏈是如何從研究論文,變成代碼實現的?
平行線程、嵌套中繼鏈等,未來將如何發展?
平行鏈可擴展性的極限在哪里?
在2021PolkadotDecoded的圓桌討論“解析平行鏈:誰做了平行鏈?平行鏈是什么?為什么要有平行鏈?”中,研究員Jeff、代碼實現者Rob和主持人Joe一起討論了一些對于平行鏈發展很重要的問題。PolkaWorld在本文中總結了該圓桌主要內容。
Jeff:JeffBurdges,W3F密碼學研究員,做了很多平行鏈開發方面的研究
Rob:RobertHabermeier,波卡聯合創始人/Parity核心開發者,帶領實現團隊讓平行鏈能夠在實際中運行起來
Joe:JoePetrowski,W3F技術集成負責人,本場圓桌主持人
Joe:大約一年半以前,Jeff帶領著一個團隊發表了一篇關于可用性和有效性的論文。在實現時,這個方案已經改變了很多。Jeff,你可以簡單談一談這篇論文的想法是如何產生的嗎?
ENS將推出區塊鏈原生的、可通過域名解析系統路由的頂級域名.box:6月7日消息,ENS開發者nick.eth發推稱,ENS將推出區塊鏈原生的、可通過域名解析系統路由的頂級域名.box。該域名系統中所有注冊和轉移都將在鏈上進行,NFT的所有者將同時擁有DNS和ENS域名。
據悉,.box域名可用于DID配置文件和錢包、去中心化的網站和消息傳遞、Web2網站和電子郵件、收藏與交易等。[2023/6/7 21:21:43]
Jeff:我們從以太坊生態那里獲得了一些想法,比如使用糾刪碼的想法。但是圍繞這些想法的一些具體的東西,比如如何優化分片,都沒有正式確定下來。
在2019年末,我們決定要把這些想法正式化,提出更精確的方法。一般來說,我們設計復雜協議的方式是,我會寫下所有可能的設計選項,然后用排除法。
在2020年初,我寫下了這個設計,并且和大家討論,我們注意到了一些問題,我想出了一個叫“Two-phaseinclusion”的技巧。也就是說在真正開始之前,平行鏈中繼鏈必須知道一個區塊,驗證人必須說這個區塊是有效的。
之后我們開始做糾刪碼,然后開始做真正的檢查它的工作。這樣做的好處之一是,因為有人在這個過程中投入了很多切身利益,從而會限制其可以嘗試的次數。從而做到如果你要攻擊它,那么你也會毀掉你自己。它不是加密學安全性,而是分布式系統安全性,但是是合理的。
SPACE ID與ENS合作實現.bnb.eth和.eth.bnb的相互解析:金色財經報道,Web3域名和身份平臺SPACE ID與以太坊域名服務ENS達成合作,通過ERC-3668(CCIP讀取)將.bnb域名引入以太坊網絡,實現.bnb.eth和.eth.bnb的相互解析。在MetaMask上輸入xxx.bnb.eth,會在以太坊上解析為用戶的BNB Chain地址。[2023/5/5 14:44:15]
Joe:對于不熟悉分片的人來說剛剛說的可能有點抽象。其實就是,我們有一千個驗證人,當你想要包含這些平行鏈區塊中的一個時,你其實需要把數據塊發給所有驗證人,涉及到費用、復雜性、網絡、存儲等,讓所有人都得處理這個消息,所以你想要真正確保這些消息是有效消息,而且是有理由的。
Jeff:是的。糾刪碼其實挺老了,有不同類型的糾刪碼。不過一般來說當如果你用密碼學的話,一般是使用一些基于拉格朗日插值法或者里德-所羅門碼之類的。原因是它的閾值很陡峭,所以我們可以從任何三分之一的碎片,來恢復全貌。
那我們怎么做呢?我們有平行鏈區塊,叫做候選區塊,我們有3f+1個驗證人。那么我們把這些東西糾刪碼為3f+1個碎片,你只要有了任何的f+1個碎片,就可以重構原始區塊。也就是說只要比1/3多一點點的碎片,你就可以重構原始區塊。
這是一種很古老的數學方法,實際上是讓我們的速度更快。根據我們目前的驗證人數量,我們必須找到一些比較新的論文,來進行優化。這就是我們今年做的事——去大大優化糾刪碼。我們讓它的運行速度快了400倍,漸進地看其實更快。從O(N2)?算法到了O(logn)算法。這讓計算變得沒有那么的有負擔。之后我們可能還會做得更好。這是我們最近的一個突破,當然了如果我們能在更早就解決的話就好了哈哈哈。
Beosin:Avalanche鏈上Platypus項目損失850萬美元攻擊事件解析:2月17日,據區塊鏈安全審計公司Beosin旗下Beosin EagleEye安全風險監控、 預警與阻斷平臺監測顯示,Avalanche鏈上的Platypus項目合約遭受閃電貸攻擊,Beosin安全團隊分析發現攻擊者首先通過閃電貸借出4400萬USDC之后調用Platypus Finance合約的deposit函數質押,該函數會為攻擊者鑄造等量的LP-USDC,隨后攻擊者再把所有LP-USDC質押進MasterPlatypusV4合約的4號池子當中,然后調用positionView函數利用_borrowLimitUSP函數計算出可借貸余額,_borrowLimitUSP函數會返回攻擊者在MasterPlatypusV4中質押物品的價值的百分比作為可借貸上限,利用該返回值通過borrow函數鑄造了大量USP(獲利點),由于攻擊者自身存在利用LP-USDC借貸的大量債務(USP),那么在正常邏輯下是不應該能提取出質押品的,但是MasterPlatypusV4合約的emergencyWithdraw函數檢查機制存在問題,僅檢測了用戶的借貸額是否超過該用戶的borrowLimitUSP(借貸上限)而沒有檢查用戶是否歸還債務的情況下,使攻擊者成功提取出了質押品(4400萬LP-USDC)。歸還4400萬USDC閃電貸后, 攻擊者還剩余41,794,533USP,隨后攻擊者將獲利的USP兌換為價值8,522,926美元的各類穩定幣。[2023/2/17 12:12:32]
Joe:把這些研究變成代碼,其實也是很大的挑戰。我們去年年中上線了Rococo測試網,Rob可以談談這個協議的實現早期遇到的一些挑戰嗎?
1inch Network:已向解析器激勵計劃發放超150萬枚INCH:2月12日消息,DEX聚合器1inch Network在社交媒體發布項目數據更新,截止目前已向解析器激勵計劃發放1,507,992 INCH代幣,按照當前價格計算超過80萬美元。1inch Network于1月底啟動解析器激勵計劃代幣發放,總計為1000萬枚INCH。
此外,1inch Network還公布了當前主流鏈上數據,按交易額排名:以太坊(2406億美元)、BNB(326億美元)、Polygon(181億美元)、Avalanche(33億美元)、Arbitrum(32億美元)、Optimism(16億美元)、Fantom(7.291億美元)、Gnosis(1.92億美元)。[2023/2/12 12:02:19]
Rob:我記得第一次跟平行鏈相關的代碼提交是在2018年下半年,2019年中有了我們所說的V0協議的初稿,在最初的幾年中,我們更多地投入在BABE、GRANDPA共識上,也就是出塊和區塊確認方面,那時候其實還沒有真的深入研究平行鏈的東西,因為平行鏈的部分更復雜,需要更多的開發時間。
從2019年中后期到2020年初左右,事情有了很大的進展,就像剛剛Jeff提到的,研究團隊開始真正把協議確定下來了,像是可用性確保了平行鏈區塊仍然存在,以便其他人可以檢查它們,來進行額外的檢查,從而確保安全性。
Cobo區塊鏈安全團隊公開0xDAO潛在盜幣漏洞發現過程及技術細節解析:4月2日消息,0xDAO v2原計劃上線前的幾個小時,Cobo區塊鏈安全團隊啟動對該項目的DaaS投前例行安全評估工作,隨后在github開源的項目代碼中發現了一個嚴重的安全漏洞。經評估,如果 0xDAO v2此時繼續上線,該漏洞預計會造成數億美金的資產損失。Cobo區塊鏈安全團隊立即啟動應急預案,快速通過多個渠道聯系到0xDAO項目方,提交該漏洞的完整攻擊流程,緊急叫停了項目上線,隨后協助0xDAO項目方對該漏洞進行了修復。
日前,0xDAO官方發布推文向Cobo區塊鏈安全團隊表示了感謝,并且表示會按照嚴重漏洞級別給予Cobo區塊鏈安全團隊漏洞賞金獎勵。[2022/4/2 14:00:31]
我覺得實現所有的這些研究其實非常困難。如果你在構建任何類型的系統,那么你每向系統添加一點額外的復雜性,那么創建該系統所需的時間就會指數級增加。這個規則也同樣適用于代碼,因為一旦你達到了一定的代碼量,其實真的很難再添加更多的東西,因為新的東西一定會擾亂、破壞之前做好的一些東西。
所以說有一個好的設計和規劃是很重要的,在我們迭代協議的時候,我們肯定會來來回回做一些研究。但是2020年的時候,我們把精力放在了《實現者指南》上,在那里面進行迭代,而不是在代碼里。我可以和Jeff和Al通話,來討論論文草案里的內容,然后寫一個頁面來說明“我們會這樣寫代碼”,而不是直接就去寫代碼,我們用這種方法節省了幾周的時間,之后我可以把這些寫代碼的工作分配給很多個開發者。
所以我覺得在建設這樣的系統的時候,有一個很好的計劃很重要。還有就是有一個模塊化的系統,這樣的話你可以添加一個獨立部分的代碼,你可以把這些代碼整理成小的包,而不是一整個系統,因為一個人很難搞定一整個龐雜的系統。
Joe:說到目前的階段。現在Kusama已經上線了Shell空白鏈,Rococo上已經有了12條平行鏈,但是Kusama的出塊時間在12秒左右,我們正在解決這個問題。為了將出塊時間提高到6秒,并且在Kusama上上線更多的鏈,短期內我們面臨的挑戰是什么?
Rob:我覺得這一切本質上說都歸結到網絡。Kusama有900個驗證人,這些驗證人都是一些擁有KSM的人,在全球部署了節點來同步鏈。這件事很酷,這可能是全球最大的驗證人集之一。
但是當你向這個網絡添加一些復雜性,比如添加平行鏈的時候,肯定就會增加很多負載。其實我們之前也在Rococo上用相同的參數測試過,但是在Kusama上的效果卻完全不同,因為在Kusama上驗證人節點在全球各地運行,所以最主要的挑戰就是讓網絡代碼盡可能平穩地運行。我們寫網絡代碼的時候,做了很多反作弊的機制,這種東西就是,如果沒人搗亂的時候你都注意不到它的存在,但是如果有人作惡,你就會發現這些防御機制非常重要。
Jeff:沒錯。當我們添加越來越多的平行鏈的時候,會出現更多的計算負載,我們會看看到時候會如何發展,我們會如何在這個過程中成長。其實觀察這些操作會如何影響網絡,也是一個漸進的學習過程。
Joe:這就是Kusama存在的意義,不是嗎?
Rob:沒錯。隨著平行鏈變多,驗證人的負載肯定會變多的。因為驗證人要驗證一個區塊,并且要把自己的幣抵押在區塊背后,其他的一些驗證人就會自我選擇去做檢查。平行鏈越多,你要做的計算就會越多,雖然計算量應該比平行鏈增加的數量慢,這也是為什么這個網絡是可擴展的,而不是像其他一些區塊鏈一樣不可擴展。但是作為驗證人,你可能還是需要在每秒內驗證幾十個區塊。
Joe:我們聊點更實際的吧,聊下接下來一年波卡和Kusama的計劃吧。我們有一個平行線程的規劃,其實現在在UI里面已經能看到了,因為鏈在升級為平行鏈之前,都是以平行線程的形式注冊的。但是之后我們會讓平行線程更加的實用,你們可以談談平行線程的設計、實現,為了實現它還剩下哪些工作待完成嗎?
Rob:平行線程跟平行鏈差不多,主要區別在于它被調度的方式不同。我們有一個調度程序,如果你是平行鏈,那么每個區塊都會被安排到;如果你是平行線程,那么你需要進行拍賣,平行線程收集人可以互相競爭,來獲得寫入區塊的的權利。這會帶來收集方面的網絡改變,當你是平行線程出塊人的時候,你需要讓驗證人知道你有區塊要提交。
所以總的來說挑戰有三點:調度程序、拍賣、網絡方面的改變。
Jeff:其實當時做平行線程有種設計,但是最后我們選擇了有拍賣的這個。因為這個設計可以更好地防止作弊,但是對于平行線程來說,如果它們出于某些原因無法提交區塊的話,它們可能會丟失資源。所以我們還得再看看一些經濟方面的問題。
Joe:我們說過會把一些核心功能從中繼鏈中釋放出來,下放到平行鏈中,來進一步實現可擴展性,和實現嵌套中繼鏈的想法。你們想談談為什么要這樣做嗎?
Jeff:其實相比“嵌套中繼鏈”的說法,我更愿意稱其為“中繼鏈分片”,因為嵌套中繼鏈聽起來像是某一條鏈是主導地位。
從某種意義上說,中繼鏈的分片比我們現在已經做到的還要簡單一些。不過我覺得可能會在超過3000個驗證人的時候來做這個事,我想告訴大家現在還不用急著去實現它。在這之前,我們希望能先讓中繼鏈的功能盡可能簡單,我覺得這樣對于開發者來說工作量是最小的。
Rob:目前來看,Staking和選舉模塊和一些治理功能其實是比較重的,會給中繼鏈帶來較大的負載。所有中繼鏈上發生的事,中繼鏈驗證人都需要去執行。而根據設計,發生在平行鏈上的事情只需要驗證人的子集來處理。所以這就是可擴展性的來源,把每個驗證人機器都需要執行的事變得盡可能少。
我覺得安全地去提煉出Staking和治理之類的東西其實挺難的。因為波卡有一些故障模式,比如一個機制是在進行爭議分析的時候的時候,鏈可能會被阻止出塊。你可能無法進行Slash交易,驗證人集無法更新交易等。這些都是很棘手的挑戰。
不過這個其實也不是很緊急。在這之前,我們應該會優化節點那邊,比如如何處理平行鏈和網絡消息,來獲得更高的擴展性,和運行更多的平行鏈。
Jeff:我覺得我們的目標應該是,雖然這個目標可能無法達到,但是目標應該是達到同等水平,讓每條平行鏈有一個驗證人。這個可能無法實現,但是當我們到達這個情況的時候,我們應該知道這個極限的存在,然后朝其他的方向努力。
Joe:剛剛你說3000個驗證人,意味著3000條平行鏈。Rob你作為實現者,怎么評價這個目標?
Rob:暫時還做不到,這是肯定的。我覺得代碼經過一輪優化之后能運行80-100條平行鏈,我就很開心了,而且這對社區來說也綽綽有余了。
Jeff:是的。最終我們可能會到達一個點,用戶耗盡了,我們得開始說服更多的人來使用,所以我猜可能會有很多次這樣的爆發。
Rob:我想是的,我覺得這有點像波卡治理遇到的挑戰——拍賣計劃的長尾效應是什么?因為在某些時候,如果所有的技術進展順利,那么我們可能有能力運行更多的平行鏈,甚至可能超出市場對平行鏈的需求。但是我們也不希望平行鏈的資源被一些垃圾項目填滿,占用個兩年,當然之后社區的發展趕上來了,肯定會有這種來來回回的發展過程。
頭條 ▌Coinbase已上線狗狗幣金色財經報道,據官方公告消息,從今天開始,Coinbase在Coinbase網站以及CoinbaseAndroid和iOS應用程序中支持狗狗幣(DOGE).
1900/1/1 0:00:006月9日,歷史性時刻來臨。薩爾瓦多以“絕對多數”投票贊成正式通過法案,使比特幣在該國成為法定貨幣,這意味著薩爾瓦多成為了史上第一個正式將比特幣定為法定貨幣的國家.
1900/1/1 0:00:001.比特幣重挫10%仍不能妨礙“國家隊”入場從馬斯克的“嘴”到中國的監管,再到特朗普的“比特幣是騙局,我不喜歡它”,比特幣接連遭受打擊而頻頻下跌.
1900/1/1 0:00:00金色財經訊,6月8日,《區塊鏈應用操作員國家職業技能標準(2021年版)》日前已由人社部辦公廳、工信部辦公廳正式頒發施行.
1900/1/1 0:00:00上個月發生了一些有趣的事情,卻被忽視了。VitalikButerin寫了一份使用Uniswap創建鏈下預言機的提案,由UNI代幣保護。預言機是加密貨幣的重要基礎設施.
1900/1/1 0:00:00本文視頻由陳默Bitouq原創,授權金色財經獨家發布。Bonfida是Serum的「旗艦前端」,可以為DEX提供更好的交易體驗.
1900/1/1 0:00:00