本文为Swarm官方最新发布的白皮书全文,由蓝贝壳云储整理翻译,星球日报经授权发布。内容仅供参考,最终请以官方白皮书中内容为准。
1简介
Swarm的使命,是通过为去中心化的互联网提供可扩展的底层基础设施,去塑造自我主权的全球化社会和无需许可的开放市场。Swarm的愿景,是通过点对点的存储和通信系统来延展区块链,从而让“世界计算机”成为现实,这台“世界计算机”将可以作为去中心化应用程序的操作系统和部署环境。
Swarm可以提供不间断的服务,更有效地抵御网络中断或有针对性的DoS攻击。Swarm作为一个无需许可的发布平台,有效促进了信息自由。Swarm以其独特的隐私特性,如匿名浏览、可拒存储、不可追踪的消息传递和不泄漏元数据的文件格式等,响应了日益增长的网络安全需求。
Swarm内置的激励措施旨在优化带宽和存储资源的分配,使其在经济上能够自我维持。Swarm节点在与每个节点的连接中追踪它们的相应带宽贡献,并且通过BZZ来解决由于不平等消耗而产生的额外债务。Swarm中的发布者必须花费BZZ去购买向Swarm写入数据的权利,并对一些长期的存储预付租金。
Swarm的模块化设计由清晰可分的层组成。从技术上讲,层2“不可变存储的覆盖网络”和层3“通过API的高等级数据存取”构成了Swarm的核心。
2DISC:块的分布式不可变存储
DISC是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]
任何拥有多余存储空间及带宽的人,都可以以节点运营者的身份参与DISC,并由此获得奖励。当运营者安装并运行Swarm客户端软件时,会创建一个新节点并成为Swarm网络的一部分,基本上相当于负责照管Swarm这一全球硬盘的一小部分。
接下来,我们将进一步定义DISC,并解释它为何会产生上述特性。
2.1连接、拓扑和路由
DISC的最初职责是建立和维护一个节点网络,使得所有节点都可以在彼此之间发送消息。这种消息交换是通过使用p2p网络协议的节点之间存在的持久而安全的通信信道进行的。Swarm期望节点建立Kademlia连接:连接到其他特定的节点集时,节点对发送地址作出的本地决定,最终会让消息的传导找到全局最优路由。
Kademlia假设每个节点都分配了一个与其网络地址不同的Swarm地址。通过计算前缀位的数值中两个Swarm地址的共同值,我们可以定义它们的接近度。彼此最接近的节点们将形成一个完全连通的邻域。此外,每个节点连接到来自每个离散邻近类的多个对等节点。
金色晨讯 | 7月13日隔夜重要动态一览:21:00-7:00关键词:NFT、新西兰、以太坊、富达
1.美洲杯奖杯将被铸造为NFT;
2.Gemini联合创始人竞得美国职业棒球大联盟首个官方授权的NFT;
3.Coinbase Pro对英国用户开放Ren交易;
4.新西兰议会委员会计划对加密货币进行调查;
5.中关村科学城党工委委员:将加快建设区块链等重大创新平台及基础设施;
6.四项虚拟资产相关法案今日将在韩国国会上提出;
7.以太坊DeFi用户数量超过300万;
8.印度或在季风会议期间提交《2021年加密货币和官方数字货币法规》;
9.富达数字资产计划将服务扩展至以太坊。[2021/7/13 0:46:42]
由此产生的拓扑结构保证了中继在每次信息跃迁中至少将消息向其预期目的地移近一步。这种技术使消息能够在任意两个节点之间路由,即使这两个节点之间不保持直接连接。传递消息所需的跃迁数上限是节点总数的对数,这样即便在一个极其庞大的网络中,也能确保任意两个节点始终能够相互联系。
2.2块和存储
Swarm中的标准存储单元称为块。块最多由4千字节的数据组成,并且附有一个地址。由于块的地址与节点的地址来自同一地址空间,因此可以计算它们的接近度。Swarm的存储方案声明每个块都由节点存储,其地址接近块本身的地址。
为了方便数据的保密性,块可以在填充到4千字节后进行加密,使得没有密钥的人无法将其与其它随机数据进行区分。即使对于未加密的块,节点运营者也无法轻易确定每个块来自于哪些内容。由于Swarm节点无法自己选择存储、加密哪些数据块,这种来源的模糊性以及元数据的无法泄露都为它们提供了有效的保护,使它们免于承担与其所存储内容相关的责任。
金色晨讯 | 4月3日隔夜重要动态一览:21:00-7:00关键词:英国FCA、佛罗里达州、新加坡、Handshake
1.英国FCA:新集团正伪装成合法公司加密货币投资者;
2.佛罗里达州联邦法院驳回UAC针对Roger Ver等人的操纵市场指控;
3.美国国税局正寻求获得Kraken客户记录;
4.新加坡总理个人信息被盗用以推销加密货币;
5.FinCEN任命前Chainalysis首席技术官为新代理总监;
6.数据:NFT每周交易量正在稳步下降;
7.Handshake团队已修复可使HNS代币出现通胀的漏洞;
8.1.61亿美元的以太坊期权合约将于4月9日到期。[2021/4/3 19:42:20]
为了将块插入到Swarm中,节点通过同步推送协议将区块进行转送,直到到达它所属的邻域。然后,块的存储确认函将沿着相同的路径被传回。想要检索一个块,只需使用检索协议,将具有块地址的请求路由到相关邻域。如果途中的任何节点在其本地存有相应的块,则会将其以响应的形式发回。
节点们使用同步回送协议持续同步其块存储。这保证了每个邻域都冗余地存储属于其邻域的全部块。这种冗余增加了数据传输的弹性,在某邻域中的一些节点无法访问的情况下也能维持块的可用性。同步协议还确保邻域的存储内容在节点离线和新节点加入网络时能够保持一致。
2.3转发、隐私和缓存
在Swarm中,消息的路由通过将其递归地转发到更接近其目的地的位置,然后沿着相同的路由传回一个响应来实现。此路由算法具备两个重要属性:
?提出请求的人是模糊的。
?随着需求的增加自动扩展。
发起请求的节点发送的消息,与仅转发请求的节点发送的消息,从任何层面来看都相同。这种模糊性使得请求的发起人能够确保他们的隐私不受侵犯,从而促进无需许可的内容发布和私密浏览。
金色晨讯|7月13日隔夜重要动态一览:21:00-7:00关键词:多省市、区块链应用、DeFi、
1.江苏省区块链产业发展集聚区正式成立。
2.上半年6省市出台区块链专项发展政策涉及多个方向。
3.杭州:推动区块链等技术在中枢系统融合应用。
4.湖南:到2022年推动3万家企业“上链”。
5.贵州:到2022年引进培育区块链企业超百户。
6.当前DeFi中锁定资产总价值达25.10亿美元。
7.二季度全球最大的加密货币交易所的交易量净下降7%。
8.前高盛高管:以太坊可能会带动下一次牛市反弹。
9.美国特勤局成立网络欺诈工作组 将调查暗网等问题。[2020/7/13]
由于参与路由检索请求的节点也许会选择存储由它们所转发出去的块,因此便要启用可自动扩展式分发系统。下面讨论的带宽激励机制为这种投机缓存提供了经济动力。
2.4Swarm记帐协议
Swarm记账协议确保节点运营者在对消息进行路由时会去协作,同时保护网络免于胡乱使用带宽。
当节点转发请求和响应时,它们会跟踪它们与每个节点之间的相对带宽消耗。在一定限度内,节点间以服务换服务。然而,一旦达到限度外,负债方既可以选择等待,直到其债务随着时间的推移被摊销,或者也可以通过发送支票来进行支付,这些支票可在区块链上兑现为BZZ。
这个协议能够确保那些下载或上传少量内容的人免费使用Swarm,还有那些愿意等待的人,在与各节点进行互惠服务直到获得足够的信用后,也可以免费使用Swarm。与此同时,当上传或下载更大的内容量时,为那些希望付费的人提供了一种更迅捷的体验。
在帮助每个节点转发消息时,节点存在经济动机,因为每个成功地将请求路由到更靠近目的地的节点,在该请求成功被送达时都可以获得BZZ。如果该节点本身没有存储数据,那么它只需支付少量的费用就可以从更近的节点请求数据块。通过这样的交易,节点在处理请求时可以获得一点利润。这意味着节点存在对块进行缓存的动机,因为在从较近的节点购入一次块之后,对同一块的任何后续请求都将获得纯利润。
金色晨讯 | 3月17日隔夜重要动态一览:21:00-7:00关键词:俄罗斯、美国、星巴克、Bakkt
1.俄罗斯央行法律高管:俄罗斯法案将禁止发行和流通加密货币;
2. 美国货币监察长办公室任命Coinbase高管为首席运营官;
3. 星巴克为部分应用程序用户集成Bakkt付款;
4. 意大利红十字会发起加密货币筹款以对抗疫情;
5. Bakkt B轮融资筹集3亿美元 微软、Pantera参与投资;
6. Bitfinex CTO:随着全球央行政策的失败 比特币将证明其价值;
7. 中保协:区块链等发展为互联网非车险场景化产品创新等提供技术支持;
8. BTC现报4983美元,日内跌幅2.99%,前十主流币普跌。[2020/3/17]
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,一起完成赋予数字自由的使命。
标签:TMAMARDISCBIT为什么自己启动bitmartmarscoinDisCas Visionbitopro交易所排名
亲爱的BitMart用户:根据JustLiquidity官方消息,JustLiquidity已经开启向JulSwapDEX的迁移计划。用户需要将JULB代币兑换为JULD代币.
据Cointelegraph消息,总部位于纽约的非营利组织Charity:water,在其比特币水信托基金启动的三周内,已经收到了超过100万美元的BTC捐款.
親愛的BithumbGlobal用戶:BithumbGlobal將在GEM上線TYC數位資產服務.
尊敬的虎符用户: 根据KyberNetwork官方消息,KyberNetwork已经开启代币升级和迁移,虎符将会支持此次迁移,并为用户提供置换服务,平台内的用户无需进行任何操作即可完成兑换.
尊敬的用户: 币虎将上线Hamster(HAM),并在创新区开通HAM/TCH,HAM/SUSDT交易市场.
亲爱的CoinW用户: 币赢CoinW将于2021年6月17日14:00在DeFi专区上线BabyDoge,开通BABYDOGE/USDT交易对.