PolkaWorld
波卡第一中文社區,帶你尋找Web3.0時代新機遇!
本文作者為Jenner@?PatractLabs?。
這篇文章基于Polkadot的6be14014提交,目的是介紹Polkadot在平行鏈角度上的系統架構。
角色
架構圖
鏈
Relaychain:中繼鏈,負責平臺安全性。Parachain:平行鏈,擁有自己獨立的狀態與業務邏輯,共享中繼鏈提供的安全性。節點
validator:驗證人,負責中繼鏈的出塊,同時驗證來自收集者的證明,與其他驗證人進行共識投票。中繼鏈全節點,需要抵押DOT。collator:收集者,為驗證人收集平行鏈的交易和狀態轉移證明。平行鏈全節點,同時內嵌中繼鏈全節點服務,不一定需要抵押DOT,可以由平行鏈自行激勵。注意,平行線程的collator需要持有DOT,以便參與出塊資格的拍賣。fishermen:漁民,監控驗證人和收集者,檢查無效的候選收據。collator或者validator都可以作為fishermen,需要抵押DOT。
平行鏈節點結構
平行鏈節點主要有以下兩點變動。
報告:2023年迄今被盜加密貨幣價值1.19億美元:金色財經報道,根據Crystal Blockchain的新報告,2023年迄今,黑客已經在19起違規事件中竊取了1.19億美元的加密貨幣,其中包括從2011年到2023年2月18日的Mt.Gox加密貨幣交易所黑客攻擊的數據。今年迄今為止最大的DeFi黑客攻擊是2月份的BonqDAO,從協議中竊取約8800萬美元的加密貨幣。與DeFi相關的第二大攻擊發生在Platypus Finance協議上,2月份的閃電貸攻擊導致穩定幣脫鉤,用戶損失約900萬美元的資金。[2023/3/25 13:25:58]
共識
collator在平行鏈上的角色類似于以往的獨立鏈上的validator。但是collator只提供候選區塊,然后交由中繼鏈上的validator進行共識。所以,平行鏈不再需要自己的共識機制。當然,可以保留對collator的選擇機制。
雙服務
平行鏈節點與以往單鏈節點的不同在于:需要啟動一個中繼鏈全節點服務。內嵌的中繼鏈全節點服務中,包含了overseer與子系統服務,并且將overseer_handle共享給collator,在collator_protocol上注冊為?collator_side。因此,collator能與validator通過overseer進行消息交互,例如傳遞候選區塊相關消息。另外,平行鏈全節點還需要通過內嵌的中繼鏈節點來“跟隨”中繼鏈的出塊。所謂“跟隨”,指的是平行鏈全節點的最佳區塊為中繼鏈上最佳區塊包含的相應平行鏈區塊,終結區塊亦如此。
Web3游戲創作者Pixelcraft Studios籌集3000萬美元代幣融資:金色財經報道,元宇宙游戲Aavegotchi創作者Pixelcraft Studios周一表示,他們在多年的代幣銷售中籌集了3000萬美元。據稱,該輪融資是今年迄今為止Web3游戲領域最大的一輪融資,沒有任何風險資本或投資者參與。Pixelcraft Studios表示,他們將獲得25%的資金,即750萬美元,而協議的去中心化自治組織資金將獲得剩余的2250萬美元。
Pixelcraft Studios于2020年9月開始銷售其原生Aavegotchi代幣GHST。使用以太坊創始人Vitalik Buterin創建的去中心化融資機制,用戶將穩定幣DAI存入智能合約,以便在代幣銷售結束前獲得GHST。[2023/3/21 13:15:51]
中繼鏈節點結構
relay_chain
中繼鏈上除了必須的基礎組件外,比較重要的就是overseer與子系統。
overseer
overseer
Overseer主要有以下功能:
啟動和關閉一系列子系統作為子系統之間的消息總線監聽外部事件,觸發子系統相應任務消息協議
Flare:代幣分發合約測試版已在Coston2部署:3月2日消息,Layer1區塊鏈Flare Network發推稱,FlareDrop代幣分發合約測試版本已部署在Coston 2上。為便于測試,Flare允許用戶每天領取一次代幣,而不是此前要求的每30天領取一次。[2023/3/2 12:38:37]
overseer向子系統發送兩種類型的消息:Communication,?Signal。
Communication:子系統之間交互的消息被封裝在Communication類型中,根據被封裝的消息類型傳遞到指定的子系統。例如子系統A向子系統B發送一個消息M:1.A向overseer發送AllMessages::B{M};2.overseer收到后,向B發送FromOverseer::Communication{M}。Signal:系統消息,例如塊導入、塊終結、關閉子系統,被封裝在Signal中。系統消息會被廣播到所有子系統。子系統
目前設計上共有18個子系統,其中3個未完全實現。
Collator相關
collation_generation_subsystem:collator在塊更新時生成collationcollator_protocol_subsystem:collation的請求與回應,根據validator/collator的角色執行對應的任務候選區塊共識
美國機構:銀行應該用現金支持加密貨幣客戶的存款:金色財經報道,美聯儲、聯邦存款保險公司(FDIC)和貨幣監理署(OCC)表示,企業已經被告知需要進行仔細的風險評估,但最新的聲明絕不是在制定新政策。周四發布的新聲明旨在 \"提醒銀行組織在涉及加密貨幣相關活動時應用現有的風險管理原則\"。銀行應該考慮整個存款的 \"集中性和相互關聯性 \"以及潛在的流動性風險。公司還應該完成對所有加密貨幣活動的 \"強有力的盡職調查和持續監測\"。監管機構表示,銀行不應該借出加密貨幣客戶的存款,應該持有現金來支持所有存款。[2023/2/25 12:28:29]
candidate_selection_subsystem:觸發對collation的請求,收到collation后請求投票candidate_backing_subsystem:對collation投票,簽署statementstatement_distribution_subsystem:廣播statementpov_distribution_subsystem:廣播PoVapporoval_subsystems(TODO):在finalize前對候選區塊的再次檢查可用性相關
availability_distribution_subsystembitfield_signing_subsystembitfield_distribution_subsystemavailability_recovery(TODO)工具類子系統
趙長鵬:幣安并沒有逢低買入101266枚BTC,相關報道有誤:6月20日消息,趙長鵬發推稱,媒體CoinGape發布的文章《幣安逢低買入101266枚比特幣》是錯誤的。當幣安冷錢包余額增加時,意味著更多的用戶將資金存入到幣安。這位記者似乎并不了解交易所“冷錢包”的概念。[2022/6/20 4:40:10]
candidate_validation_subsystem:驗證候選區塊provisioner_subsystem:提供平行鏈相關的出塊打包數據runtime_api_subsystem:調用runtimeapiavailability_store_subsystem:存儲可用性數據network_bridge_subsystem:與collation相關數據在節點間傳遞的網橋協議chain_api_subsystemmisbehavior_arbitration(TODO)Collator
以平行鏈上的Collator為例,介紹節點如何與子系統協作。
啟動
平行鏈啟動時,build_polkadot_full_node啟動一個中繼鏈全節點,包含overseer和子系統,并且在collator_protocol_subsystem注冊為collator_side。如果要以collator的身份啟動節點,啟動時需要設定--collator,類似于以往獨立鏈設定--validator啟動驗證人節點。follow_polkadot:根據中繼鏈的出塊來更新平行鏈初始化collation_generation_subsystem,在此時注冊collator.produce_candidate,用來生成collation。在collator_protocol_subsystem上注冊Collator所在的para_id。start_collator:polkadot_full_node.client.execute_with(StartCollator},collator和polkadot_full_node共享一個overseer_handler。準備候選區塊
collation_generation_subsystem?啟動后會循環handle_incoming。接受到ActiveLeavesUpdate后handle_new_activations。propose一個候選區塊build_collation:構建候選區塊的Collation開啟wait_to_announce任務,注冊成為StatementListener。當收到validator發來的Statement::Seconded就廣播當前候選區塊request_full_validation_data_ctx?在中繼鏈上獲取輔助驗證的數據ValidationData。task_config.collator?->?produce_candidatecollator_signature_payload簽名生成CandidateReceipt,發送CollatorProtocolMessage::DistributeCollation給collator_protocol_subsystem。通知validator
collator_protocol_subsystem監聽Communication(CollatorProtocolMessage),process_msg處理消息。收到DistributeCollation后,檢查para_id,然后distribute_collation向validator廣播。determine_core:計算當前平行鏈分配到的coredetermine_our_validators:計算分配到該平行鏈的validator集合,包括當前集合和下一次分配的集合connect_to_validators:同時連接當前validator集合和下一組validatordistribute_collation:檢查collation在active-leaves上,collation沒有在該relayparent上出現連接上新的validator后,在collatorprotocol子系統中handle_validator_connected發送一個CollatorProtocolMessage::Declare給validator,注冊collator如果validator是屬于該平行鏈的驗證人集合,那么advertise_collation,向validator發送CollatorProtocolMessage::AdvertiseCollation?,通知validator準備發送collation了。回應請求
收到validator消息CollatorProtocolMessage::RequestCollationsend_collation:回應validtor。回應的message中包含CandidateReceipt和PoV,發送CollatorProtocolMessage::Collation(request_id,receipt,pov)給validator。由于這是節點間通信,overseer的中繼只能作用于節點內的子系統之間,所以這個消息是被封裝在NetworkBridgeMessage::SendCollationMessage中的,通過network_bridge_subsystem向validator轉發消息。出塊
當中繼鏈上statement被checked后,collator在平行鏈上announce_block,此時為暫時同步。最佳區塊和終結區塊跟隨中繼鏈的出塊。
More
實際上,以上所描述的Collator與子系統的交互也可以說是以Collator角度的平行鏈出塊流程。關于以Validator角度的平行鏈出塊流程將在《平行鏈節點的出塊流程》中介紹。
MIEX米匯:外匯市場尾市的作用是什么?外匯市場的戰爭沒有一刻是停止的,從開市那一刻起,匯市就充滿了硝煙,甚至到尾市,硝煙都不曾停過.
1900/1/1 0:00:00由上海報業集團|界面新聞發起的2020終榜于12月22日在滬正式揭曉。艾路明、王志云、尹燁、朱小斌4位商業領袖上榜,碧桂園集團、科大訊飛、強生中國、貝殼找房、蘇寧易購等30家知名企業獲得年度臻善.
1900/1/1 0:00:00陽誠談幣:12.22日間比特幣行情分析與操作策略 吃別人所不能吃的苦,忍別人所不能忍的氣,做別人所不能做的事,就能享受別人所不能享受的一切.
1900/1/1 0:00:00DIPPERFORDAM,Thedecentralizedassetmanagementplaform,是DEFI領域全球第一個DAM平臺.
1900/1/1 0:00:00江山寄語得與失不是敵人,而是兄弟,如影隨形;得與失不是對立,而是統一,彼此依存。我們生命中的每一天都是在得失中度過,所以不必為自己得到的東西而沾沾自喜,更不必為自己失去的東西而黯然神傷,加油,幣.
1900/1/1 0:00:00消息面 A股收盤:上證指數報3382.32點,深證成指報14015.02點,深證區塊鏈50指數報3741.26點,同花順數字貨幣板塊收跌0.39%.
1900/1/1 0:00:00