本文为Swarm官方最新发布的白皮书全文,由蓝贝壳云储整理翻译,星球日报经授权发布。内容仅供参考,最终请以官方白皮书中内容为准。
1简介
Swarm的使命,是通过为去中心化的互联网提供可扩展的底层基础设施,去塑造自我主权的全球化社会和无需许可的开放市场。Swarm的愿景,是通过点对点的存储和通信系统来延展区块链,从而让“世界计算机”成为现实,这台“世界计算机”将可以作为去中心化应用程序的操作系统和部署环境。
Swarm可以提供不间断的服务,更有效地抵御网络中断或有针对性的DoS攻击。Swarm作为一个无需许可的发布平台,有效促进了信息自由。Swarm以其独特的隐私特性,如匿名浏览、可拒存储、不可追踪的消息传递和不泄漏元数据的文件格式等,响应了日益增长的网络安全需求。
Swarm内置的激励措施旨在优化带宽和存储资源的分配,使其在经济上能够自我维持。Swarm节点在与每个节点的连接中追踪它们的相应带宽贡献,并且通过BZZ来解决由于不平等消耗而产生的额外债务。Swarm中的发布者必须花费BZZ去购买向Swarm写入数据的权利,并对一些长期的存储预付租金。
Swarm的模块化设计由清晰可分的层组成。从技术上讲,层2“不可变存储的覆盖网络”和层3“通过API的高等级数据存取”构成了Swarm的核心。
2DISC:块的分布式不可变存储
DISC是Swarm的底层存储模型。它由存储和提供数据的节点组成,在这些节点之间的协作中,假设每个节点追求使其运营者利润最大化的策略,那么网络作为一个整体,其行为将显现出以下特性:
?隐私保护和无需许可的上传和下载?强大的防御措施,内容一经发布便很难再对其进行屏蔽或更改访问权限?随着需求的增加可自动扩展?得到完整性保护的内容?无需再保存的内容最终会被遗忘
金色午报|1月6日午间重要动态一览:7:00-12:00关键词:澳门特区政府、国务院、Coinlist、Alto
1.澳门特区政府:行政长官从未接受有关加密货币自动交易访谈或于任何访谈中发表相关言论;
2.国务院:研究制定区块链等新领域新业态知识产权保护规则;
3.Coinlist 发布首个NFT,3000名用户有空投领取资格;
4.国际文传电讯社:哈萨克斯坦央行暂停了该国的银行业务;
5.Alto完成4000万美元融资,Coinbase Ventures参投;
6.数字资产银行Sygnum以8亿美元估值完成9000万美元融资,新鸿基领投;
7.澳网公开赛进入元宇宙平台Decentraland;
8.TDX Strategies获得250万美元A轮融资 创见资本领投。[2022/1/6 8:28:51]
任何拥有多余存储空间及带宽的人,都可以以节点运营者的身份参与DISC,并由此获得奖励。当运营者安装并运行Swarm客户端软件时,会创建一个新节点并成为Swarm网络的一部分,基本上相当于负责照管Swarm这一全球硬盘的一小部分。
接下来,我们将进一步定义DISC,并解释它为何会产生上述特性。
2.1连接、拓扑和路由
DISC的最初职责是建立和维护一个节点网络,使得所有节点都可以在彼此之间发送消息。这种消息交换是通过使用p2p网络协议的节点之间存在的持久而安全的通信信道进行的。Swarm期望节点建立Kademlia连接:连接到其他特定的节点集时,节点对发送地址作出的本地决定,最终会让消息的传导找到全局最优路由。
Kademlia假设每个节点都分配了一个与其网络地址不同的Swarm地址。通过计算前缀位的数值中两个Swarm地址的共同值,我们可以定义它们的接近度。彼此最接近的节点们将形成一个完全连通的邻域。此外,每个节点连接到来自每个离散邻近类的多个对等节点。
11月4日公链数据一览:据Kingdata数据,Heco链上当前每日Gas消耗量为1149.81亿Wei、每日新增地址数1176个、每日链上交易次数为61.71万笔、累计总交易次数为5.08亿笔、独立地址总数为2299.55万个;
ETH链上当前每日Gas消耗量为973.82亿Wei、每日新增地址数16.23万个、每日交易次数为139.57万笔、累计总交易次数为13.44亿笔、独立地址总数为1.75亿个;
BSC链上当前每日Gas消耗量为18189.99亿Wei、每日新增地址数76.66万个、每日交易次数为1129.82万笔、累计总交易次数为15.9亿笔、独立地址总数为1.12亿个;
polygon链上当前每日新增地址数26.34万个、每日链上交易次数为419.76万笔、累计总交易次数为10.37亿笔、独立地址总数为1.05亿个。[2021/11/4 21:23:47]
由此产生的拓扑结构保证了中继在每次信息跃迁中至少将消息向其预期目的地移近一步。这种技术使消息能够在任意两个节点之间路由,即使这两个节点之间不保持直接连接。传递消息所需的跃迁数上限是节点总数的对数,这样即便在一个极其庞大的网络中,也能确保任意两个节点始终能够相互联系。
2.2块和存储
Swarm中的标准存储单元称为块。块最多由4千字节的数据组成,并且附有一个地址。由于块的地址与节点的地址来自同一地址空间,因此可以计算它们的接近度。Swarm的存储方案声明每个块都由节点存储,其地址接近块本身的地址。
为了方便数据的保密性,块可以在填充到4千字节后进行加密,使得没有密钥的人无法将其与其它随机数据进行区分。即使对于未加密的块,节点运营者也无法轻易确定每个块来自于哪些内容。由于Swarm节点无法自己选择存储、加密哪些数据块,这种来源的模糊性以及元数据的无法泄露都为它们提供了有效的保护,使它们免于承担与其所存储内容相关的责任。
金色晨讯 | 10月9日隔夜重要动态一览:21:00-7:00关键词:美国、深圳、Block.one、Square
1. 美国司法部长公布加密货币执法框架;
2. 深圳罗湖区派发1000万元数字人民币红包;
3. 日本副财长:中国在构建数字货币方面寻求先发优势;
4. 深圳市罗湖区开展数字人民币红包试点;
5. Block.one为EOS社区推出拟议资源模型的测试工具;
6. 天津自贸区中心商务片区通过区块链等实现司法仲裁线上处理;
7. 调查:多数以太坊挖矿项目不赞成EIP 1559提案;
8. 香港金发局行政总监:数字人民币推出 香港可作为一个很好的沙盒试行;
9. 支付巨头Square购买价值5000万美元比特币。[2020/10/9]
为了将块插入到Swarm中,节点通过同步推送协议将区块进行转送,直到到达它所属的邻域。然后,块的存储确认函将沿着相同的路径被传回。想要检索一个块,只需使用检索协议,将具有块地址的请求路由到相关邻域。如果途中的任何节点在其本地存有相应的块,则会将其以响应的形式发回。
节点们使用同步回送协议持续同步其块存储。这保证了每个邻域都冗余地存储属于其邻域的全部块。这种冗余增加了数据传输的弹性,在某邻域中的一些节点无法访问的情况下也能维持块的可用性。同步协议还确保邻域的存储内容在节点离线和新节点加入网络时能够保持一致。
2.3转发、隐私和缓存
在Swarm中,消息的路由通过将其递归地转发到更接近其目的地的位置,然后沿着相同的路由传回一个响应来实现。此路由算法具备两个重要属性:
?提出请求的人是模糊的。
?随着需求的增加自动扩展。
发起请求的节点发送的消息,与仅转发请求的节点发送的消息,从任何层面来看都相同。这种模糊性使得请求的发起人能够确保他们的隐私不受侵犯,从而促进无需许可的内容发布和私密浏览。
金色午报 | 8月14日午间重要动态一览:7:00-12:00关键词:商务部、赣州链、CRV、江西省
1. 商务部:在京津冀、长三角、粤港澳大湾区及中西部具备条件的试点地区开展数字人民币试点;
2. 赣州链正式启动;
3. CRV总市值接近900亿美元已超过以太坊;
4. 中国区块链智库正式成立;
5. 全国政协原副主席陈元:深入推进区块链创新发展 积小胜为大胜;
6. DeFi流动性耕种项目BASED遭黑客攻击 将重新部署“Pool1”;
7. 江西省工信厅厅长:认真贯彻政策部署 着力推动江西区块链产业发展;
8. 江西省委副书记:赣州将进一步打造区块链人才聚集区和技术高地;
9. 阿根廷下架主流数字货币购买交易指南。[2020/8/14]
由于参与路由检索请求的节点也许会选择存储由它们所转发出去的块,因此便要启用可自动扩展式分发系统。下面讨论的带宽激励机制为这种投机缓存提供了经济动力。
2.4Swarm记帐协议
Swarm记账协议确保节点运营者在对消息进行路由时会去协作,同时保护网络免于胡乱使用带宽。
当节点转发请求和响应时,它们会跟踪它们与每个节点之间的相对带宽消耗。在一定限度内,节点间以服务换服务。然而,一旦达到限度外,负债方既可以选择等待,直到其债务随着时间的推移被摊销,或者也可以通过发送支票来进行支付,这些支票可在区块链上兑现为BZZ。
这个协议能够确保那些下载或上传少量内容的人免费使用Swarm,还有那些愿意等待的人,在与各节点进行互惠服务直到获得足够的信用后,也可以免费使用Swarm。与此同时,当上传或下载更大的内容量时,为那些希望付费的人提供了一种更迅捷的体验。
在帮助每个节点转发消息时,节点存在经济动机,因为每个成功地将请求路由到更靠近目的地的节点,在该请求成功被送达时都可以获得BZZ。如果该节点本身没有存储数据,那么它只需支付少量的费用就可以从更近的节点请求数据块。通过这样的交易,节点在处理请求时可以获得一点利润。这意味着节点存在对块进行缓存的动机,因为在从较近的节点购入一次块之后,对同一块的任何后续请求都将获得纯利润。
金色晨讯|7月7日隔夜重要动态一览:21:00-7:00关键词:伊朗、Voice、Reddit、巴西
1. 伊朗要求加密货币矿工在一个月内向政府注册;
2. 用户反映Voice存在设计缺陷和访问延迟问题;
3. 外媒:Reddit等iPhone应用会定期读取剪贴板数据,或包含比特币地址;
4. 报告:以太坊Dapp活跃用户在今年第二季度翻了一番;
5. 区块链公司Bluzelle曾发现Tendermint共识算法存在危险漏洞;
6. 外媒:巴西监管机构禁止币安在该国提供加密衍生品;
7. 内部人士:詹克团未能按时发货是因为吴忌寒收走了客户货款;
8. DeFi生态中锁定的资产总价值接近20亿美元;
9. 全球区块链物联网市场将在2025年底增至近24亿美元。[2020/7/7]
2.5容量不足和垃圾收集
随着Swarm中新内容的添加,每个节点的有限存储容量迟早会被耗尽。此时,节点需要一个策略来决定应该删除哪些块,以便为新的块让路。
每个Swarm节点的本地存储内置两个子系统,即“储备”和“缓存”。
“储备”是一个固定大小的存储空间,专门用于存储属于节点邻域的块。一个块是否保留在“储备”内,取决于它所附的“邮戳”。区块链上的合约允许通过BZZ购买“邮批”。“批”的所有者有权发行数量有限的邮戳。然后,这些邮戳充当某种信托标志,向用户指明在Swarm中保存某相关内容的具体价值。通过使用这个值的大小来确定哪些在“储备”中的块要被优先删除,这样一来存储者的节点便能最大限度地提高DISC的效用。每个邮戳的价值会随着时间的推移而减少,就好像储存租金是定期从“批”的余额中扣除的一样;一旦邮戳的价值不足,相关的块就会被逐出“储备”并置入“缓存”。
“缓存”的作用是保留由于“批”值不足或距离节点地址太远而不受“储备”保护的块。当容量达到限度,缓存就会被定期修剪,最长时间未被请求的块将被删除。块的受欢迎程度可以通过最后一次收到请求的时间来预测,更多SWAP收入的块将优先得到保留。与投机缓存相结合,这种垃圾收集策略使运营者从带宽激励中获得的利润最大化,而在网络层面上,实现了受欢迎内容的自动扩展。
2.6块类型
在上面我们将块定义为DISC中数据的标准单位。Swarm中存在两种基本的块类型:内容寻址块和单一所有者块。
内容寻址块的地址基于其数据的哈希摘要。使用哈希作为块的地址可以验证块数据的完整性。Swarm在块数据的小部分上使用基于默克尔树的?BMT哈希算法。
单一所有者块的地址通过所有者地址和一个identifier进行哈希计算而得。单一所有者块数据的完整性由所有者的加密签名来保证,该签名证明任意块的数据与identifier之间的关联。换句话说,每个identity都拥有Swarm地址空间的一部分,他们可以在其中自由地将内容分配给一个地址。
3SwarmAPI的功能
除了块,Swarm还公开了用于应对实现更高等级概念的API,例如文件、具有各种元数据的文件的分层集合,甚至是inter-node消息传递等。这些API试图镜像那些已经在web上使用的API。更新颖的构想和数据结构可以绘制在这些更高的层级之上,从而为希望从DISC提供的隐私和去中心化的核心产品中获益的所有人带来丰富多样的可能性。
3.1文件和集合
大于单个块中允许的4千字节的数据会被拆分为多个块。一组同属的块由一个Swarm?哈希树表示,该哈希树对文件在上传过程中分割成块的方式进行编码。这棵树由一组叶节点块组成,包含数据本身,由一层或几层中间块引用,每个中间块包含对其子块的引用。
然后,整个文件的内容地址由根块的哈希摘要确定,即横跨整个文件的哈希树的默克尔根。这样,文件的地址就变成了它的校验和,从而可以验证内容的完整性。将文件表示为块的平衡默克尔树,还提供了对文件的高效随机访问,结果上可以高效地进行范围查询。
Swarm使用“清单”来表示集合。清单编码一个通用的字符串引用映射,允许它对目录树、键值存储或路由表进行模型构建。这些分别使Swarm能够实现文件系统,充当数据库,甚至为网站和dapp提供虚拟主机。
如果我们将URL的host部分解释为对清单的引用,那么清单提供基于URL的寻址,URL路径用作在由清单表示的映射中进行查找的键,只被用于抵达文件引用。
清单以紧凑默克尔前缀树的形式对它们所表示的映射进行编码,块将前缀树的节点序列化。当查找路径时,我们只需要沿着我们遍历的分支的节点相应的块进行检索。这样便可以确保高效查找文件/记录,其延迟和带宽为集合大小的对数。
文件中哈希树中间块中的子节点引用,和集合中清单前缀树节点,在位置上与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,一起完成赋予数字自由的使命。
本期投票上币活动已圆满结束,感谢广大用户的参与和支持。Gate.io投票上币活动将持续带来更多有潜力的优质项目,敬请期待.
1900/1/1 0:00:00一只新的狗狗诞生于新加坡南洋理工大学的实验室——DiamondDog。新加坡邮报当地时间6月9日披露,爱德华·萨维尔林加入了DiamondDog阵营.
1900/1/1 0:00:00美国得克萨斯州州长签署加密货币法案美国得克萨斯州州长GregAbbott发推表示,其已签署一项有关加密货币的法案,将加密货币置于得克萨斯州《统一商法典》之下,成为一种安全交易.
1900/1/1 0:00:00链闻消息,DeFi借贷协议Alchemix的alETH池在自动做市商SaddleFinance上线.
1900/1/1 0:00:00BTC分别于今年5月23日和6月8日两次下探31000美元,并且企稳反弹,通览整体行情来看,不仅构筑起标准W底形态,而且与5月26日也即首次触及31000反弹的高度41000美元上下呼应.
1900/1/1 0:00:00Gate.io上线Tenset(10SET)交易,瓜分$10,00010SET空投福利活动已圆满结束,根据活动规则,我们已为符合规则的用户发放了活动奖励。用户可进入“钱包—账单明细”查询奖励发放情况。活动详情及规则请点击查看.
1900/1/1 0:00:00