<dl id="hhv55"></dl>
      <pre id="hhv55"></pre>

                <pre id="hhv55"></pre>

                <pre id="hhv55"></pre>
                收藏本站 網站導航 開放平臺 Tuesday, November 23, 2021 星期二

                一覽Swarm最新發布的官方白皮書

                來源 中金網 06-16 13:40
                摘要: 本文為 Swarm 官方最新發布的白皮書全文,由藍貝殼云儲整理翻譯,星球日報經授

                  區塊天眼APP訊 : 本文為 Swarm 官方最新發布的白皮書全文,由藍貝殼云儲整理翻譯,星球日報經授權發布。內容僅供參考,最終請以官方白皮書中內容為準。

                1 簡介

                  Swarm 的使命,是通過為去中心化的互聯網提供可擴展的底層基礎設施,去塑造自我主權的全球化社會和無需許可的開放市場。Swarm 的愿景,是通過點對點的存儲和通信系統來延展區塊鏈,從而讓“世界計算機”成為現實,這臺“世界計算機”將可以作為去中心化應用程序的操作系統和部署環境。

                  Swarm 可以提供不間斷的服務,更有效地抵御網絡中斷或有針對性的 DoS 攻擊。Swarm 作為一個無需許可的發布平臺,有效促進了信息自由。Swarm 以其獨特的隱私特性,如匿名瀏覽、可拒存儲(deniable storage)、不可追蹤的消息傳遞不泄漏元數據的文件格式等,響應了日益增長的網絡安全需求。

                  Swarm 內置的激勵措施旨在優化帶寬和存儲資源的分配,使其在經濟上能夠自我維持。Swarm 節點在與每個節點的連接中追蹤它們的相應帶寬貢獻,并且通過 BZZ 來解決由于不平等消耗而產生的額外債務。Swarm 中的發布者必須花費 BZZ 去購買向 Swarm 寫入數據的權利,并對一些長期的存儲預付租金。

                  Swarm 的模塊化設計由清晰可分的層(layer)組成(見圖 1)。從技術上講,層 2“不可變存儲的覆蓋網絡”層 3“通過 API 的高等級數據存取”構成了 Swarm 的核心。

                2 DISC: 塊的分布式不可變存儲

                  DISC (Distributed Immutable Storage of Chunks)是 Swarm 的底層存儲模型。它由存儲和提供數據的節點組成,在這些節點之間的協作中,假設每個節點追求使其運營者利潤最大化的策略,那么網絡作為一個整體,其行為將顯現出以下特性:

                  ?隱私保護和無需許可的上傳和下載

                  ?強大的防御措施,內容一經發布便很難再對其進行屏蔽或更改訪問權限

                  ?隨著需求的增加可自動擴展

                  ?得到完整性保護的內容

                  ?無需再保存的內容最終會被遺忘

                  任何擁有多余存儲空間及帶寬的人,都可以以節點運營者的身份參與 DISC,并由此獲得獎勵。當運營者安裝并運行 Swarm 客戶端軟件時,會創建一個新節點并成為 Swarm 網絡的一部分,基本上相當于負責照管 Swarm 這一全球硬盤的一小部分。

                  接下來,我們將進一步定義 DISC,并解釋它為何會產生上述特性。

                  2.1 連接、拓撲和路由

                  DISC 的最初職責是建立和維護一個節點網絡,使得所有節點都可以在彼此之間發送消息。這種消息交換是通過使用 p2p 網絡協議(libp2p)的節點之間存在的持久而安全的通信信道進行的。Swarm 期望節點建立 Kademlia 連接:連接到其他特定的節點集時,節點對發送地址作出的本地決定,最終會讓消息的傳導找到全局最優路由。

                  Kademlia 假設每個節點都分配了一個與其網絡地址不同的 Swarm 地址。通過計算前綴位(prefix bits)的數值中兩個 Swarm 地址的共同值,我們可以定義它們的接近度。彼此最接近的節點們將形成一個完全連通的鄰域(neighbourhood)。此外,每個節點連接到來自每個離散鄰近類(discrete proximity class)的多個對等節點(見圖 2)。

                 ?。ㄗ?1:Libp2p 是一個便于使用者開發去中心化點對點應用的網絡框架。)

                 ?。ㄗ?2:Kademlia 是由 Petar Maymounkov 與 David Mazières 所設計的 P2P 重疊網絡傳輸協議,以構建分布式的 P2P 電腦網絡。是一種基于異或運算的 P2P 信息系統。它制定了網絡的結構及規范了節點間通訊和交換資訊的方式。)

                  由此產生的拓撲結構保證了中繼(relaying)在每次信息躍遷中至少將消息向其預期目的地移近一步(見圖 3)。這種技術使消息能夠在任意兩個節點之間路由,即使這兩個節點之間不保持直接連接。傳遞消息所需的躍遷數上限是節點總數的對數,這樣即便在一個極其龐大的網絡中,也能確保任意兩個節點始終能夠相互聯系。

                  2.2 塊和存儲

                  Swarm 中的標準存儲單元稱為塊(chunk)。塊最多由4 千字節的數據組成,并且附有一個地址。由于塊的地址與節點的地址來自同一地址空間,因此可以計算它們的接近度。Swarm 的存儲方案聲明每個塊都由節點存儲,其地址接近塊本身的地址。

                  為了方便數據的保密性,塊可以在填充到 4 千字節后進行加密,使得沒有密鑰的人無法將其與其它隨機數據進行區分。即使對于未加密的塊,節點運營者也無法輕易確定每個塊來自于哪些內容。由于 Swarm 節點無法自己選擇存儲、加密哪些數據塊,這種來源的模糊性以及元數據的無法泄露都為它們提供了有效的保護,使它們免于承擔與其所存儲內容相關的責任。

                  為了將塊插入到 Swarm 中,節點通過同步推送協議(push-sync protocol)將區塊進行轉送,直到到達它所屬的鄰域。然后,塊的存儲確認函將沿著相同的路徑被傳回。想要檢索一個塊,只需使用檢索協議,將具有塊地址的請求路由到相關鄰域。如果途中的任何節點在其本地存有相應的塊,則會將其以響應的形式發回。

                  節點們使用同步回送協議(pull-sync protocol)持續同步其塊存儲。這保證了每個鄰域都冗余地存儲屬于其鄰域的全部塊。這種冗余增加了數據傳輸的彈性,在某鄰域中的一些節點無法訪問的情況下也能維持塊的可用性。同步協議還確保鄰域的存儲內容在節點離線和新節點加入網絡時能夠保持一致。

                  

                  2.3 轉發、隱私和緩存

                  在 Swarm 中,消息的路由通過將其遞歸地轉發到更接近其目的地的位置,然后沿著相同的路由傳回一個響應來實現。此路由算法具備兩個重要屬性:

                  ?提出請求的人是模糊的。

                  ?隨著需求的增加自動擴展。

                  發起請求的節點發送的消息,與僅轉發請求的節點發送的消息,從任何層面來看都相同。這種模糊性使得請求的發起人能夠確保他們的隱私不受侵犯,從而促進無需許可的內容發布和私密瀏覽。

                  由于參與路由檢索請求的節點也許會選擇存儲由它們所轉發出去的塊,因此便要啟用可自動擴展式分發系統。下面討論的帶寬激勵機制為這種投機緩存(opportunistic caching)提供了經濟動力。

                  2.4 Swarm 記帳協議

                  Swarm 記賬協議(Swarm Accounting Protocol,SWAP)確保節點運營者在對消息進行路由時會去協作,同時保護網絡免于胡亂使用帶寬。

                  當節點轉發請求和響應時,它們會跟蹤它們與每個節點之間的相對帶寬消耗。在一定限度內,節點間以服務換服務。然而,一旦達到限度外,負債方既可以選擇等待,直到其債務隨著時間的推移被攤銷,或者也可以通過發送支票來進行支付,這些支票可在區塊鏈上兌現為 BZZ (見圖 5)。

                  這個協議能夠確保那些下載或上傳少量內容的人免費使用 Swarm,還有那些愿意等待的人,在與各節點進行互惠服務直到獲得足夠的信用(credit)后,也可以免費使用 Swarm。與此同時,當上傳或下載更大的內容量時,為那些希望付費的人提供了一種更迅捷的體驗。

                  在幫助每個節點轉發消息時,節點存在經濟動機,因為每個成功地將請求路由到更靠近目的地的節點,在該請求成功被送達時都可以獲得 BZZ。如果該節點本身沒有存儲數據,那么它只需支付少量的費用就可以從更近的節點請求數據塊。通過這樣的交易,節點在處理請求時可以獲得一點利潤。這意味著節點存在對塊進行緩存的動機,因為在從較近的節點購入一次塊之后,對同一塊的任何后續請求都將獲得純利潤。

                  

                  2.5 容量不足和垃圾收集

                  隨著 Swarm 中新內容的添加,每個節點的有限存儲容量遲早會被耗盡。此時,節點需要一個策略來決定應該刪除哪些塊,以便為新的塊讓路。

                  每個 Swarm 節點的本地存儲內置兩個子系統,即“儲備(reserve)”和“緩存(cache)”。

                  “儲備”是一個固定大小的存儲空間,專門用于存儲屬于節點鄰域的塊。一個塊是否保留在“儲備”內,取決于它所附的“郵戳(postage stamp)”。區塊鏈上的合約允許通過 BZZ 購買“郵批(postage batch)”?!芭╞atch)”的所有者有權發行數量有限的郵戳。然后,這些郵戳充當某種信托標志,向用戶指明在 Swarm 中保存某相關內容的具體價值。通過使用這個值的大小來確定哪些在“儲備”中的塊要被優先刪除,這樣一來存儲者的節點便能最大限度地提高 DISC 的效用(見圖 6)。每個郵戳的價值會隨著時間的推移而減少,就好像儲存租金是定期從“批”的余額中扣除的一樣;一旦郵戳的價值不足,相關的塊就會被逐出“儲備”并置入“緩存”。

                  “緩存”的作用是保留由于“批”值不足或距離節點地址太遠而不受“儲備”保護的塊。當容量達到限度,緩存就會被定期修剪,最長時間未被請求的塊將被刪除。塊的受歡迎程度可以通過最后一次收到請求的時間來預測,更多 SWAP 收入的塊將優先得到保留。與投機緩存相結合,這種垃圾收集(garbage collecting)策略使運營者從帶寬激勵中獲得的利潤最大化,而在網絡層面上,實現了受歡迎內容的自動擴展。

                  2.6 塊類型

                  在上面我們將塊定義為 DISC 中數據的標準單位。Swarm 中存在兩種基本的塊類型:內容尋址塊(content-addressed chunks)單一所有者塊(single-owner chunks)。

                  內容尋址塊的地址基于其數據的哈希摘要(hash digest)(見圖 7)。使用哈希作為塊的地址可以驗證塊數據的完整性。Swarm 在塊數據的小部分上使用基于默克爾樹(Merkle tree)BMT (Binary Merkle Tree)哈希算法。

                  單一所有者塊的地址通過所有者地址和一個 identifier 進行哈希計算而得。單一所有者塊數據的完整性由所有者的加密簽名來保證,該簽名證明任意塊的數據與 identifier 之間的關聯(見圖 8)。換句話說,每個 identity 都擁有 Swarm 地址空間的一部分,他們可以在其中自由地將內容分配給一個地址。

                3 Swarm API 的功能

                  除了塊,Swarm 還公開了用于應對實現更高等級概念的 API,例如文件、具有各種元數據的文件的分層集合,甚至是 inter-node 消息傳遞等。這些 API 試圖鏡像那些已經在 web 上使用的 API。更新穎的構想和數據結構可以繪制在這些更高的層級之上,從而為希望從 DISC 提供的隱私和去中心化的核心產品中獲益的所有人帶來豐富多樣的可能性。

                  

                  3.1 文件和集合

                  大于單個塊中允許的 4 千字節的數據會被拆分為多個塊。一組同屬的塊由一個 Swarm 哈希樹(hash-tree)表示,該哈希樹對文件在上傳過程中分割成塊的方式進行編碼。這棵樹由一組葉節點塊(leaf node chunks)組成,包含數據本身,由一層或幾層中間塊引用,每個中間塊包含對其子塊的引用(見圖 9)。

                  然后,整個文件的內容地址由根塊的哈希摘要確定,即橫跨整個文件的哈希樹的默克爾根(Merkle root)。這樣,文件的地址就變成了它的校驗和(checksum),從而可以驗證內容的完整性。將文件表示為塊的平衡默克爾樹,還提供了對文件的高效隨機訪問,結果上可以高效地進行范圍查詢。

                  Swarm 使用“清單(manifests)”來表示集合。清單編碼一個通用的字符串引用映射,允許它對目錄樹(directory tree)、鍵值存儲(key-value store)路由表(routing table)進行模型構建。這些分別使 Swarm 能夠實現文件系統,充當數據庫,甚至為網站和 dapp 提供虛擬主機。

                  如果我們將 URL 的 host 部分解釋為對清單的引用,那么清單提供基于 URL 的尋址,URL 路徑用作在由清單表示的映射中進行查找的鍵(key),只被用于抵達文件引用。

                  清單以緊湊默克爾前綴樹(compacted Merkle trie)的形式對它們所表示的映射進行編碼,塊將前綴樹的節點序列化(見圖 10)。當查找路徑時,我們只需要沿著我們遍歷的分支的節點相應的塊進行檢索。這樣便可以確保高效查找文件 / 記錄,其延遲和帶寬為集合大小的對數。

                  文件中哈希樹中間塊中的子節點引用,和集合中清單前綴樹節點,在位置上與 BMT 哈希段是對齊的。結果上,Swarm 支持緊湊證明特定數據段是在位于給定 URL 的給定偏移量(offset)處的文件的一部分,這是可公開證明的數據庫索引和去信任化聚合的基礎。

                  

                  3.2 跟蹤更新:feeds 和域解析

                  feed 是一種允許可變資源顯示(impression of a mutable resource)的單一所有者塊示例。feed 能夠表示可變資源的版本化修訂、對主題的順序更新或一方在通信信道中發布的連續消息。

                  feed 的工作方式是將單一所有者塊的 identifier 定義為從主題和索引派生而來。當發布者和內容使用者就索引的更新方式和更新時間達成一致時,就可以構造和查找對該 feed 更新的特定引用。

                  類似于 DNS 將域解析為主機服務器的 IP 地址,Swarm 通過使用以太坊域名解析服務 ENS (Ehereum-Name Service)——區塊鏈上的一組智能合約,將其解析為引用以支持人類可讀的域名(例如 Swarm.eth)。

                  每當 web 應用程序或其所代表的網站由于更新而獲得新的 Swarm 引用時,就可以對在 ENS 中注冊的引用進行更新?;蛘?,當域名引用 feed 時,用戶可以受益于人類可讀的域名,同時也可以更新其內容,而無需在每次進行更改時與區塊鏈交互并支付相關交易成本。

                  

                  3.3 消息傳遞

                  PSS (Postal Service on Swarm)是 Swarm 中的一種直接節點間消息傳遞協議。它是通過加密目標收件人的消息,并在內容尋址塊中用主題將其包裝來實現的。由于塊的創建方式令其內容地址落在接收者的鄰域中,所以傳遞自然由同步推送協議來處理。

                  此外,對于任何第三方來說,消息都無法與隨機加密的塊進行區分,因此它也被稱為 **“特洛伊木馬(Trojan)”塊 **。一個期望接收 PSS 消息的節點將嘗試解密和打開到達其鄰域的所有塊。在成功地將特洛伊木馬塊解密和解包為合法收件人之后,客戶端節點可以將消息明文發送給使用 PSS API 訂閱該主題的應用程序。

                  PSS 還提供異步傳遞,因為塊會持續存在并最終同步到所有鄰域節點,即使這些節點在之后才上線。

                  由于 PSS 允許用戶從迄今為止未知的個體處接收消息,因此它是一種理想的通信原語(communication primitive),用于向公共個體(例如注冊)發送匿名消息,或通過 feeds 來設置安全通信信道來向聯系人發起信息流。由于 PSS 不需要收件人執行任何操作(例如輪詢 polling),因此它可以作為推送通知的推薦原語。

                  

                  3.4 釘住和恢復

                  DISC 最終會忘記很少被訪問和未被付費的內容。通過對塊進行“釘?。╬inning)”這一操作,節點可以確保它們在本地保留特定內容。同時,這種“在本地保存被釘住的內容的人(pinner)”可以參與內容的被動或主動恢復,以造福所有用戶。

                  被動恢復涉及一個恢復協議,當檢索失敗時,通過使用 PSS 發送恢復請求,以通知 pinner 丟失的塊。Pinners 會聽取恢復請求,并通過重新上傳丟失的塊進行響應,下載者便可以在重試時找到這些丟失的塊。此應對恢復功能還允許直接從發布者節點對原始內容做種,類似于某些現有文件共享解決方(BitTorrent、IPFS)中的主要操作模式。

                  相反,Swarm 也提供了主動恢復或數據維護(data stewardship),因此當 Pinner 主動檢查網絡中內容的可用性并發現某些塊丟失時,就可以主動重新部署這些丟失的塊。

                4 結論

                  Swarm 作為一個點對點網絡,其所有節點共同提供去中心化的存儲和通信服務。無需許可且隱私的 Swarm 滿足了言論自由、數據主權和網絡開放市場的需求,同時通過完整性保護、抗審查和防攻擊來確保其安全。本文介紹了 Bee1.0 的初始主網上線中所包含的功能。

                  這是個里程碑,而旅程才剛剛開始:加入 Swarm,一起完成賦予數字自由的使命。

                更多區塊鏈消息,請關注下載區塊天眼APP,全球區塊鏈監管查詢APP 。

                區塊鏈
                免責聲明:中金網發布此信息目的在于傳播更多信息,與本網站立場無關。中金網不保證該信息的準確性、真實性、完整性、有效性等。相關信息并未經過本網站證實,不構成任何投資建議,據此操作,風險自擔。
                相關新聞 更多

                天眼前瞻 | 鮑威爾的連任提名能否為比特幣注入新動力?

                因此,只要通貨膨脹仍然是市場的一個有效關注點,鮑威爾保持他在美聯儲的角色,從長遠來看,可能會對BTC的價格看漲。

                58分鐘前

                未來已來 一文帶你走進web3世界未來已來 一文帶你走進web3世界

                中本聰在2008年寫下的比特幣白皮書,是web3先驅意識的覺醒,呼喚著人們去追求一個更加自由、高效、真實的去中心化世界。

                1小時前

                ETH2.0啟動一周年 有哪些值得關注的信息?

                時隔一年,在以太坊2.0啟動一周年到來之際,讓我們回顧一下這一年來以太坊2.0所取得的成績,以及有哪些值得我們關注的信息。

                2小時前
                天眼經紀商 更多
                天眼交易所 更多
                猜你喜歡
                久播影院无码中文字幕_久草精品视频在线播放_久草精品视频在线观看