InternetComputer使開發者可以開發Canisters組成面向C端用戶的Dapp,任何開發者都可以在IC上重新構想去中心化網絡服務、DeFi、社交Dapp、NFT、游戲等應用,因此在InternetComputer在最初設計時就考慮到自身承載泛平臺所需的安全、可靠、和可拓展性。
可拓展性一直是一個非常重要的因素,它主要依賴于IC網絡中的消息分發的效率。網絡越大,承載的Dapp越多,分發的消息就越多。為此InternetComputer采用分片技術將網絡劃分為多個子網,每個子網都可以被視為是一個IC區塊鏈,它們通過選定節點組成子網運行組成Dapp的Canisters,ICP2P層是同一子網節點之間實現安全、可靠、可擴展通行的Layer。
InternetComputer協議有四個主要Layer組成:
執行管理層用于確定性軟件消息的安全環境;消息路由層在子網之間的路由用戶和系統生成的消息,管理應用程序的輸入和輸出隊列,并調度消息以供執行;共識層選擇和排序從用戶和不同子網接收的消息,以創建可以在竄地到消息路由層之前進行公正和最終確定的區塊;點對點層從用戶以及同一子網中的其他節點收集和發布消息,P2P層將接收到的消息廣播到子網的其他節點,以確保平臺的安全、可靠和彈性。
ICP2P層要實現的是安全性、性能和可擴展性:InternetComputer的設計是即使是存在惡意節點時也能確保安全運行,因此ICP2P層和協議皆在確保即使存在最多有三分之一惡意節點的情況下也能保持運行。ICP2P層與其他傳統區塊鏈的P2P層設計不同,IC的P2P層增加了復雜性和性能的權衡。在以下會說到ICP2P層如何以最小的性能開銷實現安全目標,同時使子網能夠擴展。
看多MATIC的某鯨魚通過幣安買入397萬枚MATIC:7月11日消息,據鏈上分析師余燼監測,看多MATIC的鯨魚地址degentradinglsd3.eth今日通過幣安買入397萬枚MATIC(292萬美元),均價約0.74美元。
該地址在6月21日從Coinbase提出994萬枚USDC,今日將500萬枚USDC轉入幣安,隨后提出397萬枚MATIC。[2023/7/11 10:47:47]
此外ICP2P層為消息提供了獨特的優先級機制,這樣不僅可以更快的傳送重要消息,并通過不發送不需要的消息來節省帶寬。
在這篇博文中,將涉及ICP2P層的以下幾個方面:
要求;基本原則;與Dapp程序組件的交互;數據結構;Gossip分布式協議;寬帶和內存注意事項。
IC?P2P層負責發送上面Layer創建的Artifacts,并負責接受、驗證、處理和分發來自同一子網中其他節點以及來自用戶的Artifacts。ICP2P層保證,如果有正確節點想其對點節點發送Artifacts,則該Artifacts最終被子網中需要它的所有正確節點接收,這可以看作是可靠廣播的一種特殊情況。這是為IC共識算法量身定制的,具有優先級,在某些網絡假設下,它提供限時交付。
Dfinity希望ICP2P層在以下要求下提供這種保證:
盡管存在拜占庭故障,但保證限時/最終交付;為不同的Dapp程序組件/對點保留資源;有界資源;不同Artifacts的優先級;高效率;DOS/垃圾郵件彈性;加密、真實性和完整性;ICP2P層使用Gossip分布式機制在子網中分發消息,gossip協議的原理就是將收到的消息或創建的消息發送給子網中的對點方,P2P中的對點方由覆蓋網絡拓撲確定,一切都保證在Ohops中傳遞,如果覆蓋是無向連接的,則所有節點遵循協議,并且不會丟棄任何消息。
分析師:根據FDIC的恢復流程, Circle的損失很容易被利息收入覆蓋:3月11日消息,據加密分析師Adam Cochran分析,根據FDIC(美國聯邦存款保險公司)的恢復流程,參考2003年倒閉的Southern Pacific Bank,FDIC會先一次性支付預付股息(約62% ),并在最終付款時支付了94%的資金。如果硅谷銀行與這情況類似,那么Circle的最大損失是33億美金中的1.98億美元,這一金額很容易被Circle的利息收入所覆蓋。[2023/3/11 12:56:21]
ICP2P層被設計為在即使在拜占庭節點存在的情況下也具有容錯能力,IC?P2P層在設計時就考慮了在子網中會出現此類節點的可能性,所以IC?P2P層保證即使子網中多大三分之一的節點是拜占庭節點也能正確有效的運行:如果一個節點表現出惡意或者如果它表現出一些錯誤行為,基于ICP2P層的容錯能力只要不超過三分之一的是拜占庭節點該子網也能正確有效運行。
在考慮拜占庭節點時,Dfinity希望避免幾個問題,第一種是所謂的eclipse攻擊,其中某個節點的所有對點方是惡意或是有故障的。惡意節點可以串通并選擇正確節點看到的Artifacts,并將該節點與網絡的其余部分斷開。因為會驗證消息的真實性,惡意節點無法用欺騙消息欺騙誠實節點,但連接性問題仍然存在。為了避免這種情況,必須使用覆蓋來保證與足夠多的對點節點的連接,一個節點可以連接子網中的所有其他節點,形成一個完整的圖,從而提供完美的eclipse攻擊保護。對于較大的子網,例如托管NNS的子網采用稀疏覆蓋。
比特幣礦業公司Core Scientific的股價在過去48小時內翻了一倍:金色財經報道,在B. Riley投資7200 萬美元后,比特幣礦業公司Core Scientific的股價在過去 48 小時內翻了一倍,從 0.15 美元的低點漲至 0.46 美元的高點。[2022/12/16 21:49:13]
因為想保證在一定時間內所有依賴它們的節點都收到Artifacts,所以gossip分布式協議需要確保這些Artifacts被交付,盡管可能存在故障鏈接和節點問題,但是gossip分布式協議通常基于傳播模式會導致帶寬的亢余和浪費,因此減少這些開銷的方式設計此類協議非常重要。
Artifacts可能會很大,如果這些Artifacts從多個對點多次發送,則會導致嚴重的帶寬浪費,這類似于不得不從多個朋友那里一遍又一遍的聽到相同的謠言,在這個比喻中,你的朋友可以先問你是否聽說過最新消息,而不是告訴你謠言,在上下文中,這對應于發送廣告,廣告是小消息,僅包含Artifacts的元數據和一些驗證它們的方法,但不包含其內容。每個節點從至少一個對點方請求它需要的Artifacts。在IC的設計中,將從詢問一個對點開始,但是如果遇到問題,可能會向另一個對點詢問相同的Artifacts,這可能會重復,直到找到一個沒有故障的誠實對點節點。
廣告包括由gossip分布式協議及其應用程序組件用于完整性驗證和用于決策的字段。
動態 | ProgPOW核心開發者卸任Core Scientific的CTO,將專注于ProgPOW算法:ProgPOW核心開發者Kristy-Leigh Minehan卸任Core Scientific的首席技術官,將專注于確保ProgPOW算法在以太坊上實現。Minehan表示,我認為ProgPoW對ETH向ETH 2.0的過渡非常重要,消除任何潛在的沖突很重要。(cryptoslate)[2019/9/25]
一個節點可能會收到多個廣告,因此必須選擇首先請求哪些Artifacts,每個廣告都包含一些創建它客戶端組件提供的屬性。例如共識Artifacts包含一個height屬性,它告訴相應Artifacts的區塊高度。共識還為gossip提供了優先功能,它接受一個廣告并返回一個優先級值。如果現在共識現在處于高度10,它可能更喜歡該高度10的Artifacts而不是高度11和12的Artifacts,這取決于它們的類型以及可能的其他狀態參數。IC的P2P層采用這些優先級值來確定應該首先請求哪個Artifacts。
P2P商店在Artifacts中接收Artifacts。它通知共識和其他客戶端組件有關Artifacts池中的更改,然后應用程序組件確定其關于Artifacts池內容的下一步操作。Artifacts池中包含每一個應用程序組件的所有可用Artifacts。
通過將Artifacts分類為已驗證或未驗證,后一類用于尚未驗證的Artifacts。驗證意味著由客戶端組件檢查Artifacts,例如通過驗證簽名。如果需要可以將客戶端的Artifacts池持久化到非易失性存儲中,這樣做的目的是為了共識Artifacts。
動態 | 工作量證明算法ProgPoW 縮小與專用ASIC的效率差距:ProgPoW是一種工作量證明算法,旨在縮小與專用ASIC的效率差距。它幾乎利用了商用硬件(GPU)的所有部分,并針對Bticoin網絡中使用的最常見硬件進行了預調整。剛推出時,支持Nvida GPU,并且在路線圖上,將會支持AMD GPU。
?[2018/7/11]
在上面可以看到一個節點為gossip分布式協議保存了哪些數據結構。左側是Artifacts池,它分為已驗證和未驗證部分,未驗證部分包含那些尚未驗證的Artifacts。每個未驗證部分的大小是有界的,以防阻止惡意節點填滿Artifacts池從而導致資源泄漏和拒絕服務攻擊,但足夠大以確保協議在正常情況下正確運行。
此外對于每個對點,維護其上下文,這有助于跟蹤了收到了哪些廣告,向誰請求了哪些廣告:
廣告隊列是從該對點方接收到的所有廣告的優先隊列,它們按照優先級排序;請求的集合包含已經從該對點請求相應Artifacts的所有廣告;接收檢查緩存用于阻止對最近收到的Artifacts的請求。以下是gossip分布式協議處理的主要事件:
Artifacts池中的新Artifacts;處理從對點方收到的新廣告;處理從對點方收到的新Artifacts;恢復和重新連接問題。
Artifact池中的新工件:
當一個節點從客戶端組件接收到一個新的Artifacts時,它會為它創建一個廣告,并將這個廣告發送給它所有的對點方。
處理從對點方收到的新廣告:
當節點從對點節點收到廣告時,它首先檢查相應Artifacts是否已由節點本身下載或創建,如果不是,此廣告的優先級高于?drop?,則會將廣告添加到發送它的對點方的廣告隊列中。如果Artifacts池的未驗證部分中有足夠的空間供對點方使用,會專門為此對點方i調用一個名為?download_next(i)的函數。該函數獲取最高優先級的廣告,并從該對點方請求相應的Artifacts。因此,沒有必要請求剛剛收到廣告的Artifacts,只請求具有最高優先級的Artifacts。
請求Artifacts后,相應的廣告會從廣告隊列移動到向其請求Artifacts的對點方的請求集合。
可能在多個對點方的廣告隊列中會擁有相同的廣告,因為多個對點方可能發送了相同的廣告。廣告將會保留在其他對點方的廣告隊列中,直到收到實際的Artifacts件為止。在Artifacts請求上設置超時是為了防止無響應或緩慢的對點方。這有助于保證有限的時間交付。我們將避免從我們已經提出請求的對點請求Artifacts,因為它可能行為不端,在這種情況下,我們可以看到其他對點方是否已經發布了相同的Artifacts,如果是,我們將在嘗試無響應的對點方之前嘗試從它們哪里獲取它。
處理從對點方收到的新Artifacts:
當我們從對點方收到Artifacts時,我們首先通過檢查相應的廣告是否在對點方的請求集中來確保它是被請求的。然后我們使用相應的完整性哈希驗證其完整性。如果這些檢查中的任何一項失敗,則意味著該對等方行為不端。最終,我們從所有廣告隊列和請求的集合中刪除該廣告。我們將Artifacts添加到發送它的對點方的未驗證池中。我們將把它留在那里讓客戶端組件檢查和驗證它。我們還將工件的散列添加到稱為接收檢查的小緩存中,每個對點維護,以忽略同一Artifacts的進一步廣告。這樣做是為了應用程序組件提供一些寬限期來更新它們的優先級函數,這樣即使Artifacts從Artifacts池中的未驗證部分中刪除,它們也不會再次請求相同的廣告。如果我們在未經驗證的Artifacts池中仍有空間供此對點體使用,我們將根據優先級使用?download_next(i)?函數從中請求下一個Artifacts。
傳輸和連接管理:
在gossip組件下方,有一個傳輸組件,用于維護對點之間的實際網絡連接。傳輸組件負責保持連接穩定。對于瞬態連接問題和擁塞情況,它有自己的緩沖區。它有一個內部機制來確保連接不會掛起并檢測比平常更長的延遲。這對于提供限時交付很重要。具有自己的第7層標頭的傳輸幀gossip消息,其中包含一些由傳輸組件用于維護流和報告錯誤的元數據字段。目前,傳輸在對點之間使用多個TCP流。
傳輸以適應這種分布式對點網絡的方式使用TLS1.3,沒有證書頒發機構層次結構作為信任根。相反,信任根是為節點提供自簽名證書的注冊表,以便節點可以對其對點方進行身份驗證。
如果TCP連接中斷,Transport會定期嘗試重新連接。當重新建立連接時,我們會清空相應的傳輸隊列并開始接收新消息。
由于所有數據結構都有大小限制,這也適用于傳輸緩沖區。如果這樣的緩沖區已滿,或者如果我們一直在等待重新連接,傳輸最終會通知接收器gossip組件潛在的消息丟失。然后接收方可以發送重傳請求。重傳請求是gossip分布式協議的消息,它有一個過濾器來告訴接收者請求的發送者看到的最新Artifacts。可能是在發送此請求時其它對點已經成功發送了相同的廣告,因此節點可能不需要在它錯過的所有消息上趕上相應的對點。
收到重傳請求后,發送方節點根據請求中包含過濾器發送所有相關廣告。傳輸這些廣告發送給接收者。如果在此過程中隊列再次變滿,則會將發送剩余廣告的另一個重傳請求。
總而言之,ICP2P層保證了子網中Artifacts的有限交付。它使用廣告-請求-Artifacts模式和覆蓋拓撲來減少帶寬開銷,并為客戶端組件提供優先級API,以確保首先交付最高優先級的Artifacts。該協議具有容錯性,并且考慮到了拒絕服務攻擊和其他威脅。
文|消費界,作者|妮蔻 三年前斯皮爾伯格的《頭號玩家》讓我第一次感受到一個神秘的“空間”,好像真實生活的平行空間一樣。?但很難形容這個空間是什么?今天,我覺得這應該就是“元宇宙”了.
1900/1/1 0:00:00美國首只比特幣期貨ETF「ProSharesBitcoinStrategyETF」今日在紐約證券交易所上市交易,受到熱烈歡迎.
1900/1/1 0:00:00元宇宙正在擴大。一個充滿互動體驗的沉浸式世界正在我們面前打開,而且由于新興的PlaytoEarn模式和NFT,經濟機會已經出現.
1900/1/1 0:00:00長久以來,海外社交巨頭們對于加密領域驚人的執著。海外社交媒體巨頭Facebook最新動向顯示,其已在部分地區推出其Novi數字錢包的小型試點,旨在推出其規劃已久的、一種以穩定幣作為支付工具的新用.
1900/1/1 0:00:00據Newsbitcoin10月19日消息,伊朗中央銀行新任行長AliSalehabadi透露,CBI正準備在不久的將來開始其數字貨幣項目的試點階段.
1900/1/1 0:00:00鏈集市?·讓區塊鏈落地更簡單 《區塊鏈行業觀察》專欄·第55?篇作者丨SaskiaHillmann&NicolRosenkranz 圖片丨來源于網絡 瑞士酒店協會主席兼瑞士區塊鏈初創企業.
1900/1/1 0:00:00