來源:藍貝殼云儲
翻譯:藍貝殼云儲
本文為Swarm官方最新發布的白皮書全文,由藍貝殼云儲整理翻譯,內容僅供參考,最終請以官方白皮書中內容為準。
1簡介
Swarm的使命,是通過為去中心化的互聯網提供可擴展的底層基礎設施,去塑造自我主權的全球化社會和無需許可的開放市場。Swarm的愿景,是通過點對點的存儲和通信系統來延展區塊鏈,從而讓“世界計算機”成為現實,這臺“世界計算機”將可以作為去中心化應用程序的操作系統和部署環境。
Swarm可以提供不間斷的服務,更有效地抵御網絡中斷或有針對性的DoS攻擊。Swarm作為一個無需許可的發布平臺,有效促進了信息自由。Swarm以其獨特的隱私特性,如匿名瀏覽、可拒存儲、不可追蹤的消息傳遞和不泄漏元數據的文件格式等,響應了日益增長的網絡安全需求。
Swarm內置的激勵措施旨在優化帶寬和存儲資源的分配,使其在經濟上能夠自我維持。Swarm節點在與每個節點的連接中追蹤它們的相應帶寬貢獻,并且通過BZZ來解決由于不平等消耗而產生的額外債務。Swarm中的發布者必須花費BZZ去購買向Swarm寫入數據的權利,并對一些長期的存儲預付租金。
Swarm的模塊化設計由清晰可分的層組成。從技術上講,層2“不可變存儲的覆蓋網絡”和層3“通過API的高等級數據存取”構成了Swarm的核心。
圖1
2DISC:塊的分布式不可變存儲
DISC是Swarm的底層存儲模型。它由存儲和提供數據的節點組成,在這些節點之間的協作中,假設每個節點追求使其運營者利潤最大化的策略,那么網絡作為一個整體,其行為將顯現出以下特性:
?隱私保護和無需許可的上傳和下載
?強大的防御措施,內容一經發布便很難再對其進行屏蔽或更改訪問權限
去中心化交易所AirSwap推出其最新的V4版本:5月10日消息,去中心化交易所AirSwap發文稱已實現超過35億美元的交易量。現推出最新版本的 AirSwap:V4。此更新包括新的用例、協議和合約,現在部署在 6 個 EVM 上,包括 Ethereum、BSC、Polygon、Avalanche、Arbitrum 和 RSK——即將推出的 Linea 和 Base。[2023/5/10 14:55:23]
?隨著需求的增加可自動擴展
?得到完整性保護的內容
?無需再保存的內容最終會被遺忘
任何擁有多余存儲空間及帶寬的人,都可以以節點運營者的身份參與DISC,并由此獲得獎勵。當運營者安裝并運行Swarm客戶端軟件時,會創建一個新節點并成為Swarm網絡的一部分,基本上相當于負責照管Swarm這一全球硬盤的一小部分。
接下來,我們將進一步定義DISC,并解釋它為何會產生上述特性。
2.1連接、拓撲和路由
DISC的最初職責是建立和維護一個節點網絡,使得所有節點都可以在彼此之間發送消息。這種消息交換是通過使用p2p網絡協議的節點之間存在的持久而安全的通信信道進行的。Swarm期望節點建立Kademlia連接:連接到其他特定的節點集時,節點對發送地址作出的本地決定,最終會讓消息的傳導找到全局最優路由。
Kademlia假設每個節點都分配了一個與其網絡地址不同的Swarm地址。通過計算前綴位的數值中兩個Swarm地址的共同值,我們可以定義它們的接近度。彼此最接近的節點們將形成一個完全連通的鄰域。此外,每個節點連接到來自每個離散鄰近類的多個對等節點。
圖2
由此產生的拓撲結構保證了中繼在每次信息躍遷中至少將消息向其預期目的地移近一步。這種技術使消息能夠在任意兩個節點之間路由,即使這兩個節點之間不保持直接連接。傳遞消息所需的躍遷數上限是節點總數的對數,這樣即便在一個極其龐大的網絡中,也能確保任意兩個節點始終能夠相互聯系。
Uniswap交易量占以太坊DEX總交易量近80%:12月2日,據Dune Analytics數據顯示,Uniswap交易量占以太坊DEX總交易量的79%。Uniswap創始人Hayden Adams表示,Uniswap與其他使用Uniswap代碼的DEX交易量總和約占以太坊主網的90%,而AMM占以太坊主網DEX交易量的95%。[2021/12/2 12:46:13]
圖3
2.2塊和存儲
Swarm中的標準存儲單元稱為塊。塊最多由4千字節的數據組成,并且附有一個地址。由于塊的地址與節點的地址來自同一地址空間,因此可以計算它們的接近度。Swarm的存儲方案聲明每個塊都由節點存儲,其地址接近塊本身的地址。
為了方便數據的保密性,塊可以在填充到4千字節后進行加密,使得沒有密鑰的人無法將其與其它隨機數據進行區分。即使對于未加密的塊,節點運營者也無法輕易確定每個塊來自于哪些內容。由于Swarm節點無法自己選擇存儲、加密哪些數據塊,這種來源的模糊性以及元數據的無法泄露都為它們提供了有效的保護,使它們免于承擔與其所存儲內容相關的責任。
為了將塊插入到Swarm中,節點通過同步推送協議將區塊進行轉送,直到到達它所屬的鄰域。然后,塊的存儲確認函將沿著相同的路徑被傳回。想要檢索一個塊,只需使用檢索協議,將具有塊地址的請求路由到相關鄰域。如果途中的任何節點在其本地存有相應的塊,則會將其以響應的形式發回。
圖4
節點們使用同步回送協議持續同步其塊存儲。這保證了每個鄰域都冗余地存儲屬于其鄰域的全部塊。這種冗余增加了數據傳輸的彈性,在某鄰域中的一些節點無法訪問的情況下也能維持塊的可用性。同步協議還確保鄰域的存儲內容在節點離線和新節點加入網絡時能夠保持一致。
Uniswap社區提案:計劃籌資2500萬美元交由委員會管理,旨在激勵社區及開發者:8月19日,Uniswap社區發起最新的社區提案,該提案計劃籌集價值2500萬美元的UNI,通過自動化投資策略獲取收益,并將50%的收益分發給社區成員或Dune Analytics等行業機構,以促進Uniswap社區的共同繁榮。
另外50%的收益將撥付給加密行業機構Flipside,用于為Uniswap提供基礎設施開發服務。此提案建議將全部資金交由10人組成的委員會管理,其中3人為Flipside的成員。目前這一提議遭到Dune Analytics的強烈反對,他們指出這一提案將使高達2500萬美元的UNI被Flipside機構操縱,而這對于整個Uniswap生態的軟件開發商都會造成重大影響。[2021/8/19 22:25:02]
2.3轉發、隱私和緩存
在Swarm中,消息的路由通過將其遞歸地轉發到更接近其目的地的位置,然后沿著相同的路由傳回一個響應來實現。此路由算法具備兩個重要屬性:
?提出請求的人是模糊的。
?隨著需求的增加自動擴展。
發起請求的節點發送的消息,與僅轉發請求的節點發送的消息,從任何層面來看都相同。這種模糊性使得請求的發起人能夠確保他們的隱私不受侵犯,從而促進無需許可的內容發布和私密瀏覽。
由于參與路由檢索請求的節點也許會選擇存儲由它們所轉發出去的塊,因此便要啟用可自動擴展式分發系統。下面討論的帶寬激勵機制為這種投機緩存提供了經濟動力。
2.4Swarm記帳協議
Swarm記賬協議確保節點運營者在對消息進行路由時會去協作,同時保護網絡免于胡亂使用帶寬。
當節點轉發請求和響應時,它們會跟蹤它們與每個節點之間的相對帶寬消耗。在一定限度內,節點間以服務換服務。然而,一旦達到限度外,負債方既可以選擇等待,直到其債務隨著時間的推移被攤銷,或者也可以通過發送支票來進行支付,這些支票可在區塊鏈上兌現為BZZ。
SushiSwap在監管壓力下暫停融資提案:8月9日消息,SushiSwap發布了最新周報,該周報指出,Sushi項目方在監管壓力下決定暫停之前的融資提案。據此前報道,7月11日,SushiSwap社區治理人 0xMaki 曾發起財庫多元化融資提案,提議從財政部撥出6000萬美元代幣給機構投資者和社區成員,其中最多1000萬美元分配給社區成員。確定的21個戰略投資者有 Lightspeed Capital、Breyer Capital、Spartan、Divergence、Dragonfly Capital、Polychain、True Ventures、Blockchain.com、Pantera Capital、Jump、3AC、DeFiance、ParaFi、Hashed、Zee Prime、Multicoin Capital、Blockchain Capital、Future Fund、Rockaway、Coinfund,及 CMS Holding。[2021/8/9 1:43:12]
圖5
這個協議能夠確保那些下載或上傳少量內容的人免費使用Swarm,還有那些愿意等待的人,在與各節點進行互惠服務直到獲得足夠的信用后,也可以免費使用Swarm。與此同時,當上傳或下載更大的內容量時,為那些希望付費的人提供了一種更迅捷的體驗。
在幫助每個節點轉發消息時,節點存在經濟動機,因為每個成功地將請求路由到更靠近目的地的節點,在該請求成功被送達時都可以獲得BZZ。如果該節點本身沒有存儲數據,那么它只需支付少量的費用就可以從更近的節點請求數據塊。通過這樣的交易,節點在處理請求時可以獲得一點利潤。這意味著節點存在對塊進行緩存的動機,因為在從較近的節點購入一次塊之后,對同一塊的任何后續請求都將獲得純利潤。
2.5容量不足和垃圾收集
隨著Swarm中新內容的添加,每個節點的有限存儲容量遲早會被耗盡。此時,節點需要一個策略來決定應該刪除哪些塊,以便為新的塊讓路。
LinkSwap質押YFL數量超過1萬枚,占YFL總供應量的20%:YF LINK官方發推稱,LinkSwap治理金庫(Governance Vault)中質押的YFL超過10000枚,達到YFL總供應量的20%。
據悉,LinkSwap是由社區管理的Chainlink生態系統自動做市商。[2020/12/13 15:03:34]
每個Swarm節點的本地存儲內置兩個子系統,即“儲備”和“緩存”。
“儲備”是一個固定大小的存儲空間,專門用于存儲屬于節點鄰域的塊。一個塊是否保留在“儲備”內,取決于它所附的“郵戳”。區塊鏈上的合約允許通過BZZ購買“郵批”。“批”的所有者有權發行數量有限的郵戳。然后,這些郵戳充當某種信托標志,向用戶指明在Swarm中保存某相關內容的具體價值。通過使用這個值的大小來確定哪些在“儲備”中的塊要被優先刪除,這樣一來存儲者的節點便能最大限度地提高DISC的效用。每個郵戳的價值會隨著時間的推移而減少,就好像儲存租金是定期從“批”的余額中扣除的一樣;一旦郵戳的價值不足,相關的塊就會被逐出“儲備”并置入“緩存”。
“緩存”的作用是保留由于“批”值不足或距離節點地址太遠而不受“儲備”保護的塊。當容量達到限度,緩存就會被定期修剪,最長時間未被請求的塊將被刪除。塊的受歡迎程度可以通過最后一次收到請求的時間來預測,更多SWAP收入的塊將優先得到保留。與投機緩存相結合,這種垃圾收集策略使運營者從帶寬激勵中獲得的利潤最大化,而在網絡層面上,實現了受歡迎內容的自動擴展。
圖6
2.6塊類型
在上面我們將塊定義為DISC中數據的標準單位。Swarm中存在兩種基本的塊類型:內容尋址塊和單一所有者塊。
內容尋址塊的地址基于其數據的哈希摘要。使用哈希作為塊的地址可以驗證塊數據的完整性。Swarm在塊數據的小部分上使用基于默克爾樹的BMT哈希算法。
圖7
單一所有者塊的地址通過所有者地址和一個identifier進行哈希計算而得。單一所有者塊數據的完整性由所有者的加密簽名來保證,該簽名證明任意塊的數據與identifier之間的關聯。換句話說,每個identity都擁有Swarm地址空間的一部分,他們可以在其中自由地將內容分配給一個地址。
圖8
3SwarmAPI的功能
除了塊,Swarm還公開了用于應對實現更高等級概念的API,例如文件、具有各種元數據的文件的分層集合,甚至是inter-node消息傳遞等。這些API試圖鏡像那些已經在web上使用的API。更新穎的構想和數據結構可以繪制在這些更高的層級之上,從而為希望從DISC提供的隱私和去中心化的核心產品中獲益的所有人帶來豐富多樣的可能性。
3.1文件和集合
大于單個塊中允許的4千字節的數據會被拆分為多個塊。一組同屬的塊由一個Swarm哈希樹表示,該哈希樹對文件在上傳過程中分割成塊的方式進行編碼。這棵樹由一組葉節點塊組成,包含數據本身,由一層或幾層中間塊引用,每個中間塊包含對其子塊的引用。
然后,整個文件的內容地址由根塊的哈希摘要確定,即橫跨整個文件的哈希樹的默克爾根。這樣,文件的地址就變成了它的校驗和,從而可以驗證內容的完整性。將文件表示為塊的平衡默克爾樹,還提供了對文件的高效隨機訪問,結果上可以高效地進行范圍查詢。
Swarm使用“清單”來表示集合。清單編碼一個通用的字符串引用映射,允許它對目錄樹、鍵值存儲或路由表進行模型構建。這些分別使Swarm能夠實現文件系統,充當數據庫,甚至為網站和dapp提供虛擬主機。
如果我們將URL的host部分解釋為對清單的引用,那么清單提供基于URL的尋址,URL路徑用作在由清單表示的映射中進行查找的鍵,只被用于抵達文件引用。
圖9
清單以緊湊默克爾前綴樹的形式對它們所表示的映射進行編碼,塊將前綴樹的節點序列化。當查找路徑時,我們只需要沿著我們遍歷的分支的節點相應的塊進行檢索。這樣便可以確保高效查找文件/記錄,其延遲和帶寬為集合大小的對數。
圖10
文件中哈希樹中間塊中的子節點引用,和集合中清單前綴樹節點,在位置上與BMT哈希段是對齊的。結果上,Swarm支持緊湊證明特定數據段是在位于給定URL的給定偏移量處的文件的一部分,這是可公開證明的數據庫索引和去信任化聚合的基礎。
3.2跟蹤更新:feeds和域解析
feed是一種允許可變資源顯示的單一所有者塊示例。feed能夠表示可變資源的版本化修訂、對主題的順序更新或一方在通信信道中發布的連續消息。
feed的工作方式是將單一所有者塊的identifier定義為從主題和索引派生而來。當發布者和內容使用者就索引的更新方式和更新時間達成一致時,就可以構造和查找對該feed更新的特定引用。
類似于DNS將域解析為主機服務器的IP地址,Swarm通過使用以太坊域名解析服務ENS——區塊鏈上的一組智能合約,將其解析為引用以支持人類可讀的域名。
每當web應用程序或其所代表的網站由于更新而獲得新的Swarm引用時,就可以對在ENS中注冊的引用進行更新。或者,當域名引用feed時,用戶可以受益于人類可讀的域名,同時也可以更新其內容,而無需在每次進行更改時與區塊鏈交互并支付相關交易成本。
3.3消息傳遞
PSS是Swarm中的一種直接節點間消息傳遞協議。它是通過加密目標收件人的消息,并在內容尋址塊中用主題將其包裝來實現的。由于塊的創建方式令其內容地址落在接收者的鄰域中,所以傳遞自然由同步推送協議來處理。
此外,對于任何第三方來說,消息都無法與隨機加密的塊進行區分,因此它也被稱為“特洛伊木馬”塊。一個期望接收PSS消息的節點將嘗試解密和打開到達其鄰域的所有塊。在成功地將特洛伊木馬塊解密和解包為合法收件人之后,客戶端節點可以將消息明文發送給使用PSSAPI訂閱該主題的應用程序。
PSS還提供異步傳遞,因為塊會持續存在并最終同步到所有鄰域節點,即使這些節點在之后才上線。
由于PSS允許用戶從迄今為止未知的個體處接收消息,因此它是一種理想的通信原語,用于向公共個體發送匿名消息,或通過feeds來設置安全通信信道來向聯系人發起信息流。由于PSS不需要收件人執行任何操作,因此它可以作為推送通知的推薦原語。
3.4釘住和恢復
DISC最終會忘記很少被訪問和未被付費的內容。通過對塊進行“釘住”這一操作,節點可以確保它們在本地保留特定內容。同時,這種“在本地保存被釘住的內容的人”可以參與內容的被動或主動恢復,以造福所有用戶。
被動恢復涉及一個恢復協議,當檢索失敗時,通過使用PSS發送恢復請求,以通知pinner丟失的塊。Pinners會聽取恢復請求,并通過重新上傳丟失的塊進行響應,下載者便可以在重試時找到這些丟失的塊。此應對恢復功能還允許直接從發布者節點對原始內容做種,類似于某些現有文件共享解決方中的主要操作模式。
相反,Swarm也提供了主動恢復或數據維護,因此當Pinner主動檢查網絡中內容的可用性并發現某些塊丟失時,就可以主動重新部署這些丟失的塊。
4結論
Swarm作為一個點對點網絡,其所有節點共同提供去中心化的存儲和通信服務。無需許可且隱私的Swarm滿足了言論自由、數據主權和網絡開放市場的需求,同時通過完整性保護、抗審查和防攻擊來確保其安全。本文介紹了Bee1.0的初始主網上線中所包含的功能。
這是個里程碑,而旅程才剛剛開始:加入Swarm,一起完成賦予數字自由的使命。
經過數月的社區合作,KeepNetwork與NuCypher于上周五完成了合并提案RC0的投票,合并后的項目代號為KEANU,這意味著雙方將進行鏈上網絡升級以結合兩個去中心化網絡.
1900/1/1 0:00:002021年6月9日,南美薩爾瓦多通過立法將比特幣作為國家的法定貨幣,隨后,巴拿馬以及巴拉圭國家領導人也在當天宣布讓比特幣成為法定貨幣.
1900/1/1 0:00:00在比特幣過去十多年的發展歷程中,雖然價格總體向上,但過程曲折,牛熊交替中,很多早期參與者被清洗出局.
1900/1/1 0:00:00過去幾個月來,以太坊核心開發者正在忙于“倫敦”升級,即4月上線的柏林升級之后的下一次升級。雖然激活的時間尚未確定,但是“倫敦”升級中包含的EIP已經確定.
1900/1/1 0:00:00日前,戴姆勒汽車集團高調宣布:戴姆勒移動出行公司決定將戴姆勒移動出行區塊鏈平臺的運營許可授予新成立的初創公司bloXmove.com.
1900/1/1 0:00:006月19日中午,一位礦工在微博上感慨:“四川800萬負荷,今天0點,集體關閉,區塊鏈歷史上,礦工最慘烈和最壯觀的一幕要發生,這里究竟有多深遠的影響,未來才會知道.
1900/1/1 0:00:00