Polkadot是一種異構多鏈的跨鏈技術,主要由中繼鏈、平行鏈、轉接橋構成。其中,平行鏈負責具體的業務場景實現,其允許并行處理交易,且每條平行鏈都有一個獨特的狀態轉換函數。中繼鏈則負責整個網絡的共識驗證,只要一條鏈的邏輯代碼可以編譯為Wasm并遵守RelayChainAPI,那么其就可以作為平行鏈被接入到Polkadot網絡生態中。而轉接橋負責連接polkadot生態和外部的獨立區塊鏈。具體的系統架構如下圖所示:
混合共識
Polkadot整個網絡的共識出塊過程主要為:
平行鏈階段:
收集人會收集平行鏈上的交易打包生成候選區塊,將其發送給該平行鏈的驗證者。其中,候選塊可能是無效的,它必須經過有效性檢查才能被包含到中繼鏈中。
中繼鏈提交階段:
驗證者將通過平行鏈注冊代碼公開的驗證函數對候選區塊進行驗證。如果驗證成功,則該驗證者將其傳遞給網絡中的其他驗證者繼續進行驗證。否則,將該候選塊判定為無效塊。當該候選塊被超過一半的驗證者驗證通過時,驗證者會生成一個包含:平行鏈ID、收集人ID和簽名、候選塊執行前平行鏈的狀態根、候選塊執行后平行鏈的狀態根等信息的候選收據,該收據最終會被包含在中繼鏈的狀態中。
可用性和不可用性子協議
Melo Token代碼存在公共鑄造漏洞,其代幣MEL已下跌100%:金色財經報道,PeckShield監測數據顯示,Melo Token代碼存在公共鑄造漏洞,其代幣MEL已下跌100%。[2023/5/6 14:46:19]
二級GRANDPA批準有效性檢查
調用拜占庭容錯終結性小工具來鞏固鏈條
在傳統的PoS系統中,區塊生成取決于代幣的持有量而不是算力,質押的代幣數量越多成為驗證者的概率就越大,對區塊鏈系統造成的影響也就越大。因此,必須采取一定的措施降低這種可能的中心化風險,而如果由專業的人員和設備來維護系統中驗證者候選人的數量,會增加運營成本。所以針對擁有大量驗證者的系統,則更傾向于在鏈下建立一個候選驗證者池并從候選隨機篩選出驗證者,Polkadot采用的驗證者選擇算法是NPoS。
首先介紹一下共識算法中的概率確定性和可證明的確定性,一個運行PoW的中本聰區塊鏈就只能實現概率確定性并達成最終的共識。其中,概率確定性是指在給定的區塊后,我們可以根據其后連接的區塊數量計算出其在最長鏈上的概率。
最終的共識指的是,在未來的某個時刻,所有節點都會就一組數據達成一致,但這種最終的共識可能需要很長時間,并且無法確定需要多少時間。但類似GRANDPA或以太坊的CasperFFG之類的確定性工具,可以為區塊的確定性提供更強大的保證。并且在經過拜占庭協議一些過程后,可以形成不可逆的共識,稱為可證明的確定性。
BNB Chain社區發起Greenfield可執行性設計提案:4月30日消息,BNB Chain社區發起Greenfield可執行性設計提案,并正就此征集討論。該提案由區塊鏈基礎設施NodeReal提出。BNB Greenfield系BNB Chain開發團隊推出的去中心化存儲基礎設施。
該提案將為Greenfield引入“數據操作”能力,有助于增強其靈活性并使其能夠更好地支持生態系統中的各種數據用例。該方案包括:支持Greenfield上的“可執行”數據并具有訪問控制、從編程語言層面助力Greenfield生態建設、鞏固Greenfield數據運營安全、執行證明機制等。[2023/5/1 14:36:23]
Polkadot為了同時保證概率確定性和可證明的確定性,而采用了BABE和GRANDPA算法相結合的混合共識算法。其中,BABE算法負責區塊的生成,GRANDPA算法則負責區塊鏈中區塊的確定。
GRANDPA
GRANDPA與其他拜占庭容錯算法的不同之處在于,驗證人是對區塊鏈投票,而不是對區塊投票,所以該算法每輪可以確定好幾個最終區塊。但與其他拜占庭算法一樣復雜度為O(n2),意味著如果節點增加一倍,系統中為了形成共識發送的消息將會增加四倍。Polkadot將區塊的生成和最終確定性分離,這種方式提高了整個共識系統的效率,提高了區塊生成的效率,并在一輪中可以最終確認鏈上的好幾個區塊。
GRANDPA會選擇驗證人投票數最多且可以被認為是最終區塊的最高區塊號,以Kusama節點中的日志為例:
Nansen報告:Solana在第二季度的日交易優于以太坊:9月20日消息,據Nansen季度狀況報告顯示,在整個第二季度,Solana的日交易量持續增加,日交易量超過4000萬筆。其中,Solana每天大約1億到2億筆交易,錢包總數從約40萬個錢包增加到2022年5月底的近100萬個,Solana的爆炸式增長也得益于對GameFi、DeFi和NFT生態系統的支持。(Cointelegraph)[2022/9/20 7:08:14]
發現上一輪中,GRANDPA最終確定了三個區塊,這三個區塊可能的情況如下:
上圖中左側深灰色方塊是之前被最終確定的區塊,右側的灰色橢圓形代表驗證人,驗證人給新一輪候選區塊投票,確定了其中三個候選區塊。可以發現,使用GRANDPA算法確定的區塊所在鏈可能包含分叉。
具體的算法過程為:
被指定為「主節點」的節點,將廣播該輪可以被最終確定的最高候選區塊;
每個驗證人為自己認為的最高候選區塊「預投票」;
每個驗證人將根據投票集,計算出最終確定的最高區塊。如果預投票集延長了之前已經被最終確認的區塊鏈,則所有驗證人將該鏈進行「預提交」;
美SEC執法主管:不會放慢針對加密貨幣的法律行動:9月9日消息,美國證券交易委員會執法部門主管 Gurbir Grewal 在由法律教育非營利組織執業法律研究所主辦的論壇上表示,無論使用什么技術,都將繼續采取行動,不會放慢針對加密貨幣的法律行動。他還稱:不執行我們監管結構中最基本的規則——這將是對信任的背叛。[2022/9/9 13:20:17]
所有驗證人等待接收到足夠數量的「預提交」,在新確定的鏈上提交消息。
注意,GRANDPA與其他拜占庭容錯算法相比,主要區別為:在關鍵路徑上沒有視圖的變化。盡管該算法每輪都會更新最高區塊,但是視圖更改是在異步網絡下開啟新一輪,因此在部分同步網絡中,即使在未分配最高區塊的情況下,協議也會不斷更新。
BABE
BABE是一種概率確定性的區塊生成算法,該算法將時間劃分為多個epoch,每個epoch又分為多個slot,最后選擇一個或多個驗證人在每個solt間隔創建區塊。在Polkadot中,每個slot的持續時間為6秒,即Polkadot上的目標出塊時間。
每個solt由可由驗證隨機函數VRF生成一個主領導者,該函數將epoch隨機種子、slot編碼和創建者的私鑰作為輸入,使得每個節點可以為每個slot生成唯一的偽隨機值。如果存在低于某個指定閾值的slot,則驗證者有權在該slot中創建區塊。這種方式安全性較高,但是容易出現某些slot沒有領導者,而有些slot有多個主領導者的情況。
去中心化游戲社區Saga完成360萬美元融資,Animoca Brands領投:6月16日消息,去中心化游戲社區 Saga 宣布完成 360 萬美元融資,本輪融資由 Animoca Brands 領投,Delta Blockchain Fund、Genblock Capital、Moonchain Capital、Compute Ventures、NGC Ventures、Highstreet Ventures、M31 Capital、TsingTing Capital、Metal VC、PANONY、Rainmaker Games、Everest Ventures Group、vEmpire、SL2 Capital 和 AAG Ventures 參投。Saga 通過跨游戲 NFT 來支持新興項目以及釋放全球元宇宙所有者、建設者和玩家的力量來擴展和豐富元宇宙世界。[2022/6/16 4:30:49]
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(),代表中繼鏈的位置。
來源:金色財經
Tags:DOTPOLPOLKPolkadotdot幣挖礦poloniex官網PolkaExpolkadotstingray樂隊
合并是加密貨幣行業最大的升級之一,變成了一個新聞事件。雖然期待已久的過渡并沒有在以太幣的價格下點燃火焰,但許多專家認為它將在未來提供一些強勁的順風。 盡管如此,投資者仍謹慎行事.
1900/1/1 0:00:009.19BTC行情分析 比特幣昨日白盤試探箱體上方壓制但未能突破,晚間走出震蕩下行,直到早間空頭加速放量,低位跌至18670一線接近前低附近,目前幣價暫時止跌.
1900/1/1 0:00:00區塊鏈開發工具Infura計劃在明年初推出去中心化基礎設施協議,以解決對其產品過于集中而無法支撐以太坊生態系統的去中心化應用程序的擔憂去中心化基礎設施協議的引入是Infura逐步去中心化其Web.
1900/1/1 0:00:009.18BTC行情分析 比特幣自前期大跌之后一直處于一個低位震蕩的階段,昨晚行情連陽上行突破20000關口,最高至20200附近承壓回落,昨日文中給出的空單小幅獲利可以先離場.
1900/1/1 0:00:00近日,一款名為《羊了個羊》的小程序游戲火爆全網,短短幾天登上微博熱搜11次,話題閱讀量達25億,玩家超過100萬人.
1900/1/1 0:00:00技術分析: 以目前凌晨0點小時線來看,幣價剛剛觸碰高點之后,即刻反彈下跌。同時,也觸碰到了布林帶的上軌位置。然后上漲無力,因此無法進入超買區。另外從MACD來看,目前陽柱乏力,隨時會轉為陰柱.
1900/1/1 0:00:00