Polkadot是一種異構多鏈的跨鏈技術,主要由中繼鏈、平行鏈、轉接橋構成。其中,平行鏈負責具體的業務場景實現,其允許并行處理交易,且每條平行鏈都有一個獨特的狀態轉換函數。中繼鏈則負責整個網絡的共識驗證,只要一條鏈的邏輯代碼可以編譯為Wasm并遵守RelayChainAPI,那么其就可以作為平行鏈被接入到Polkadot網絡生態中。而轉接橋負責連接polkadot生態和外部的獨立區塊鏈。具體的系統架構如下圖所示:
混合共識
Polkadot整個網絡的共識出塊過程主要為:
平行鏈階段:
收集人會收集平行鏈上的交易打包生成候選區塊,將其發送給該平行鏈的驗證者。其中,候選塊可能是無效的,它必須經過有效性檢查才能被包含到中繼鏈中。
中繼鏈提交階段:
驗證者將通過平行鏈注冊代碼公開的驗證函數對候選區塊進行驗證。如果驗證成功,則該驗證者將其傳遞給網絡中的其他驗證者繼續進行驗證。否則,將該候選塊判定為無效塊。當該候選塊被超過一半的驗證者驗證通過時,驗證者會生成一個包含:平行鏈ID、收集人ID和簽名、候選塊執行前平行鏈的狀態根、候選塊執行后平行鏈的狀態根等信息的候選收據,該收據最終會被包含在中繼鏈的狀態中。
可用性和不可用性子協議
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]
二級GRANDPA批準有效性檢查
觀點:預計美聯儲12月將加息速度放緩至50個基點,終端利率在5%左右:金色財經報道,機構前瞻美聯儲12月利率決議,鮑威爾在11月2日的FOMC會議上向市場發出了一個明確的信息,即不要指望美聯儲繼續每次加息75個基點,但他們也沒有做出鴿派轉向。預計美聯儲將在12月會議上將加息速度放緩至50個基點,并發布新的點陣圖,顯示終端利率在5%左右。[2022/11/6 12:21:08]
調用拜占庭容錯終結性小工具來鞏固鏈條
在傳統的PoS系統中,區塊生成取決于代幣的持有量而不是算力,質押的代幣數量越多成為驗證者的概率就越大,對區塊鏈系統造成的影響也就越大。因此,必須采取一定的措施降低這種可能的中心化風險,而如果由專業的人員和設備來維護系統中驗證者候選人的數量,會增加運營成本。所以針對擁有大量驗證者的系統,則更傾向于在鏈下建立一個候選驗證者池并從候選隨機篩選出驗證者,Polkadot采用的驗證者選擇算法是NPoS。
首先介紹一下共識算法中的概率確定性和可證明的確定性,一個運行PoW的中本聰區塊鏈就只能實現概率確定性并達成最終的共識。其中,概率確定性是指在給定的區塊后,我們可以根據其后連接的區塊數量計算出其在最長鏈上的概率。
最終的共識指的是,在未來的某個時刻,所有節點都會就一組數據達成一致,但這種最終的共識可能需要很長時間,并且無法確定需要多少時間。但類似GRANDPA或以太坊的CasperFFG之類的確定性工具,可以為區塊的確定性提供更強大的保證。并且在經過拜占庭協議一些過程后,可以形成不可逆的共識,稱為可證明的確定性。
阿根廷稅務局通知約4000名加密貨幣持有者修改其稅務報表:10月31日消息,阿根廷稅務局正打擊加密貨幣相關逃稅行為,該組織近日已向3,997名納稅人發送通知,告知發現他們稅務報表與其加密貨幣持有量報告之間存在差異,要求他們及時更正,并支付額外的稅。[2022/10/31 12:00:28]
Polkadot為了同時保證概率確定性和可證明的確定性,而采用了BABE和GRANDPA算法相結合的混合共識算法。其中,BABE算法負責區塊的生成,GRANDPA算法則負責區塊鏈中區塊的確定。
GRANDPA
GRANDPA與其他拜占庭容錯算法的不同之處在于,驗證人是對區塊鏈投票,而不是對區塊投票,所以該算法每輪可以確定好幾個最終區塊。但與其他拜占庭算法一樣復雜度為O(n2),意味著如果節點增加一倍,系統中為了形成共識發送的消息將會增加四倍。Polkadot將區塊的生成和最終確定性分離,這種方式提高了整個共識系統的效率,提高了區塊生成的效率,并在一輪中可以最終確認鏈上的好幾個區塊。
GRANDPA會選擇驗證人投票數最多且可以被認為是最終區塊的最高區塊號,以Kusama節點中的日志為例:
發現上一輪中,GRANDPA最終確定了三個區塊,這三個區塊可能的情況如下:
英國央行行長:加密貨幣資產可能具有“外在”價值:7月11日消息,英國央行行長貝利表示,加密貨幣資產可能具有“外在”價值,加密資產沒有“內在”價值,人們喜歡收藏加密貨幣,賦予它價值。無擔保的加密貨幣資產“風險非常高”,金融科技創新與金融穩定之間不應該存在取舍。[2022/7/12 2:06:35]
上圖中左側深灰色方塊是之前被最終確定的區塊,右側的灰色橢圓形代表驗證人,驗證人給新一輪候選區塊投票,確定了其中三個候選區塊。可以發現,使用GRANDPA算法確定的區塊所在鏈可能包含分叉。
具體的算法過程為:
被指定為「主節點」的節點,將廣播該輪可以被最終確定的最高候選區塊;
每個驗證人為自己認為的最高候選區塊「預投票」;
每個驗證人將根據投票集,計算出最終確定的最高區塊。如果預投票集延長了之前已經被最終確認的區塊鏈,則所有驗證人將該鏈進行「預提交」;
所有驗證人等待接收到足夠數量的「預提交」,在新確定的鏈上提交消息。
注意,GRANDPA與其他拜占庭容錯算法相比,主要區別為:在關鍵路徑上沒有視圖的變化。盡管該算法每輪都會更新最高區塊,但是視圖更改是在異步網絡下開啟新一輪,因此在部分同步網絡中,即使在未分配最高區塊的情況下,協議也會不斷更新。
全球奢侈護膚品牌萊珀妮La Prairie發行首個NFT藝術收藏系列“Space Beyond”:金色財經報道,全球奢侈護膚品牌萊珀妮La Prairie發行首個NFT藝術收藏系列“Space Beyond”,
該NFT系列由數字藝術家 Carla Chan 設計,包含 365 + 1 個版本,NFT 根據天氣和人口數據實時生成,代表全球 31 個人口最多的城市一年中的一天。據悉,本次發行的 NFT 收益將用于保護世界各地的冰川。[2022/5/18 3:25:16]
BABE
BABE是一種概率確定性的區塊生成算法,該算法將時間劃分為多個epoch,每個epoch又分為多個slot,最后選擇一個或多個驗證人在每個solt間隔創建區塊。在Polkadot中,每個slot的持續時間為6秒,即Polkadot上的目標出塊時間。
每個solt由可由驗證隨機函數VRF生成一個主領導者,該函數將epoch隨機種子、slot編碼和創建者的私鑰作為輸入,使得每個節點可以為每個slot生成唯一的偽隨機值。如果存在低于某個指定閾值的slot,則驗證者有權在該slot中創建區塊。這種方式安全性較高,但是容易出現某些slot沒有領導者,而有些slot有多個主領導者的情況。
slot存在多個驗證人:所有驗證人都會產生一個候選區塊并將其廣播到網絡,最先被網絡中大部分節點接收到的區塊獲勝。
slot沒有驗證人:Polkadot會在后臺通過round-robin方法選擇一個驗證人,由其生成一個次級區塊。因此,solt必然存在一個區塊,主要區塊或者是次級區塊。在臨時性分叉的鏈中,既可能存在主要區塊,也有次級區塊。
分叉選擇算法
當系統中存在分叉時,BABE將在GRANDPA最終確定的鏈后繼續出塊,當最終確定的鏈上存在分叉時,BABE將選擇包含最主要區塊的鏈。
如上圖所示,黑色區塊代表已經被GRANDPA最終確認的區塊,黃色區塊代表為完全的區塊。其中,標記為「1」的塊是主要塊,標記為「2」的塊是次級塊。因此,即使最上面的鏈包含最多的區塊也不會被選擇,因為其包含的主要塊最少。但是最后那條鏈即使包含最多主要塊同樣不會被選擇,因為其沒有在GRANDPA最終確定后的鏈上繼續出塊。最終被選擇的鏈為倒數第二條,同時滿足上述兩個條件。
跨鏈消息傳遞
XCM
Polkadot擁有三種類型的跨鏈消息傳遞協議:UMP、DMP和XCMP。
其中,UMP允許平行鏈將消息發送到區塊鏈系統的中繼鏈;DMP允許中繼鏈將消息向下傳遞到其中一條平行鏈。而XCMP則允許平行鏈之間的消息傳遞。XCM是一種消息格式用于上述三種跨鏈消息的傳遞。
不使用鏈上原生消息格式是因為,鏈之間缺乏兼容性,如果用戶打算將消息發送到多個目的地系統,則需要針對每個目的系統編寫合約。而且如果目的系統的智能合約升級,區塊鏈可能會引入新功能或更改現有功能,并因此改變其交易格式。為了解決這些問題,Polkadot使用XCM作為一種通用的消息格式。XCM中包含的「消息」實際上只是在XCVM上運行的程序,該程序由一個或多個XCM指令構成。
跨鏈消息傳遞流程
下面以Moonbeam和Polkadot之間的資產傳遞為例,介紹生態中的跨鏈消息傳遞過程:
首先主要DApp以平行鏈的形式接入,此時中繼鏈上的原生代幣需要在平行鏈上注冊;
Alice通過一個XCM希望將其在Polkadot上一定數量的DOT轉移到Moonbeam上的賬戶;
Polkadot將執行XCM消息轉移相同數量的DOT到Moonbeam在Polkadot上的賬戶上;
當上述資產被成功存入后,XCM信息中的第二部分將被傳送至Moonbeam;
Moonbeam將執行XCM包含的指令,在該鏈上鑄造相同數量的xcDOT。
資產轉移
對于相互信任的鏈,可以使用Teleporting框架進行跨鏈資產轉移。基本過程為:在發送方銷毀資產,并在接收方鑄造相應數量的資產。
WithdrawAsset:只有一個參數,類型為MultiAssets,代表哪些資產必須從資產原產地登記冊的所有權中撤出,但未指定放置資產的位置。其中,撤回和未使用的資產都被臨時保存在持有登記冊中,并未永久存儲。
InitiateTeleport:代表中繼鏈在執行指令時,將創建一個全新的XCM消息,并將其發送到目標鏈。
BuyExecution:使用WithdrawAsset提取的資產換取XCM指令的計算時間。Polkadot社區中的大多數平行鏈為了避免「垃圾交易」和拒絕服務攻擊,都會要求與之交互的用戶支付一定的手續費。但是與以太坊交易模型不同,Polkadot中的手續費并未被包含在協議中,但對于一些確實需要支付手續費得到系統,XCM提供了使用資產購買執行資源的能力。主要包含以下三部分:
首先,需要提供部分資產
其次,必須協商資產交換獲取到的計算時間
最后,執行XCM操作
所以該函數包含以下兩個參數:
1、fees:應從持有登記冊中提取并用于支付費用的金額,這只是最大值,因為任何未使用的余額都會被立即返回。最終花費的金額由系統決定,該變量值只是限制它,如果解釋系統需要為其所需的執行操作支付更多的費用,那么BuyExecution指令將導致錯誤。
2、weight:指定要購買的執行時間兩,通常該值大于或等于XCM程序的總權重。
DepositAsset:將剩余的資金存入持有登記冊。實際上,扣除手續費后,我們不知道手上還剩余多少資產,可以在assets中使用通配符All.into(),將剩余資產全部存入beneficiary標識的賬戶中,此處該值為Parent.into(),代表中繼鏈的位置。
來源:金色財經
01 1984年:杰倫·拉尼爾提出“VirtualReality——虛擬現實”概念“VirtualReality——虛擬現實”這個詞兒,是1984年美國科技達人杰倫·拉尼爾最早提出來的.
1900/1/1 0:00:002022年上半年是GameFi行業的首個熊市周期,隨著BTC市值從近$900B下降到$450B,GameFi市值也從$19B下降到約$4B,市場下滑的主要原因是資產安全問題頻發,產品同質化嚴重.
1900/1/1 0:00:00高盛發出的一系列宏觀警告使比特幣面臨崩盤至1.2萬美元的風險。以JanHetzius為首的高盛經濟學家團隊對美聯儲基準利率的加息速度做出了預測.
1900/1/1 0:00:00DeFi已成為加密貨幣市場的狂歡,但由于市場情況,許多交易者對投資持懷疑態度。本文深入了解如何識別熊市中最賺錢的DeFi代幣.
1900/1/1 0:00:00Metaplex將啟動一個DAO來實現社區治理,非美國創作者將獲得MPLX代幣的獎勵。 簡單來說 同名SolanaNFT協議的創建者Metaplex將于今天推出MPLX代幣,并對NFT的創建者進.
1900/1/1 0:00:00正在構建ShibaInu的第2層解決方案Shibarium的公司Unificationxfund在一篇博客文章中透露,公共測試網將于2022年第三季度發布.
1900/1/1 0:00:00