1. 首页
  2. 区块技术

Swarm官方会议整理:运行主网和节点需要做什么?

原文标题:《Swarm官方披露大量信息》

Swarm主网已上线,然而许多人依然对这个项目一知半解,比如运行主网的硬件要求是什么,需要多少硬盘空间,测试网如何升级至主网,所谓Bonding Curve究竟是什么,存储与奖励机制如何运作,运行节点是否需要质押代币等。这篇文章或许可以为你答疑解惑。

(本文内容由蓝贝壳云储总结自官方视频会议,仅供参考,具体内容请以Swarm官方消息为准。)

Swarm主网节点的硬件要求是?

官方解答:对于具体的硬件要求,我们还未进行正式的测试,不过我们可以介绍一下我们自己运行节点的硬件参数。

启动节点(bootnodes)的要求更高一些,毕竟它们需要更高的性能表现。

普通用户不运行启动节点,因此普通的存储节点(storage nodes)只需要大概3GB内存,一到两个CPU(具体取决于用户想要自己的节点拥有多高的运行效率),这也是我们自己运行节点所用的硬件参数,当然还有就是用户需要足够的存储空间。另外如果用户使用SSD硬盘,则运行表现会更好。

用户具体需要多少硬盘空间?

官方解答:硬盘空间的大小很重要,Bee节点的存储包含两套系统,即“储备(reserve)”与“缓存(cache)”。

“储备”可以容纳2的23次方个块(chunk:Swarm中的标准数据存储单元),大概占34GB

“缓存(cache)”的大小可由用户自定义,不过它的默认大小为4GB

另外还需要一部分存储空间用来存储和运行Bee节点,大概需要5GB

所以具体需要的硬盘空间大概为34GB+4GB+5GB+一小部分空余空间=55GB左右

如何从测试网升级至主网?

Q:测试网升级到主网具体是怎么操作的,是否存在升级路径?还是说用户需要从零开始?用户的数据怎么办?部署的Docker-compose呢?

官方解答:简而言之,我们会发布一个全新的网络。

对于测试网用户而言,我们会准备一个升级路径,从v0.6升级至1.0-rc版本。不过如果用户想要运行一个连接至主网的节点,想要与真正的BZZ代币进行交互,那么用户所连接到的就是一个全新的网络。

事实上,主网上的邮戳(postage stamp)等新的内嵌机制是无法在测试网上直接进行改造升级的,因此主网就是一个全新的网络。

如果用户在测试网上存有一些想要保留的数据,那么我们只能建议用户将那些数据下载下来,然后再在主网上传。

至于docker-compose部署的节点,也和普通的节点升级一样,用户可以继续在测试网运行节点,也可以切换至主网,不过就像上面提到的,主网是个全新的网络,因此用户需要将存储的数据重新上传至主网。

Q:有用户目前在raspberry pi系统中应用SSD运行Swarm节点,请问主网上线时还可以继续使用该系统运行Swarm节点吗?是否会发生什么变化?

A:我们通过Swarm内置的激励机制鼓励用户运行Bee节点。作为开发团队我们并未使用过raspberry pi系统运行Swarm节点,所以如果主网上线后用户继续使用该系统,并发现可以继续正常运行Swarm节点,那么答案就是“可以”。我们是Swarm的开发团队,在开发领域是专家,但在节点的运营方面主要还是要靠用户。到时用户可以将自己的节点运营结果通过官方Discord上的相关频道反馈给我们,以帮助我们继续完善Swarm的开发。

Bonding Curve是什么?BZZ会增发吗?

官方解答:很抱歉目前关于BZZ增发与否的问题还无法详细说明,我们会在主网上线后在其它场合单独解释该问题。

关于Bonding Curve合约,它相当于一个可以买卖BZZ代币的市场,它可以桥接买家和卖家之间的时间差,用户可以将BZZ代币存入并得到抵押品(collateral),又或者反过来存入抵押品换取BZZ代币,即便当时并不存在交易对家。

所以说它相当于一个工具,用来确保BZZ代币的流通性,如果用户想要获得BZZ代币,那么只要通过Bonding Curve,就总是可以获得BZZ代币,又或者用户正在运行Swarm节点,并想要将自己手中的BZZ卖掉一些,那么也可以随时通过Bonding Curve做到。这样用户就并不需要一个实际的交易对家去完成自己的交易了。

不过假设交易对家确实存在,那么在Bonding Curve上的交易就和其它交易场所上的交易没什么区别。用户的UI 界面和体验与其他的swap差不多。

Q:那么极端情况下,假设所有用户都将BZZ代币在Bonding Curve上卖出,会发生什么?

A:那种情况下用户将获取所有的抵押品(collateral),不存在流通中的BZZ代币,因为那种极端情况下所有BZZ都被用于置换了抵押品。

Q:那么反过来说,如果大量用户都通过Bonding Curve买入BZZ,那么是否存在任何限制?

A:这个问题可以从两方面作答。一方面,这种行为会导致BZZ的价格急速上升,那么在其它限制发挥作用之前,用户就已经会因为无法支付BZZ极其高昂的价格而无法买入BZZ。不过另一方面,Bonding Curve确实存在嵌于智能合约内的限制,以避免过量的交易行为,不过达到这种限制的过量交易行为发生的可能性微乎其微,在BZZ代币价格涨到大约5亿Dai的情况下,用户才会触及到这个限制,我们不认为这种情况会发生。

Q:在Bonding Curve中,代币价格与代币供应量之间的关系究竟是怎样的?

A:Bonding Curve运用的函数模型是单调递增的,也就意味着如果用户通过Bonding Curve买入BZZ代币,但是没人去卖BZZ代币,那么BZZ代币的价格就会迅速增长,反之如果用户通过Bonding Curve卖出BZZ代币,但是没人去买BZZ代币,那么BZZ代币的价格就会迅速下降。不过如果存在交易对家,即便交易中的买入和卖出并非同时发生的,只要买卖行为达到一定的平衡,那么BZZ代币的价格就会相对稳定。另外Bonding Curve还会发挥一定的价格惯性(inertia)作用,意味着由于Bonding Curve中存在大量抵押品,所以想要让BZZ价格发生变化,就需要大量的交易才能实现。这和其它许多新发布的代币不同,其它新发布的代币由于一开始缺乏流动性,因此其价格往往波动幅度非常大,我们希望Bonding Curve可以帮助避免这种情况的发生,以让BZZ代币的价格真正反映出市场上的供需关系。

Q:是否存在其它已经成功使用了Bonding Curve的项目呢?

A:是的,我们借鉴了Bancor,事实上我们使用的Bonding Curve和Bancor的很相似,由于各种各样的原因,我们更改了其中的一些参数。Bonding Curve虽然算是新兴技术,但我们也并非没有前车之鉴。Bonding Curve增加了Sawrm代币体系的稳定性,从而让Swarm的整个经济体系更健康,就像DeFi带来了很多的创新那样,我们认为越来越多的项目会采用和我们相似的机制去完善他们的经济体系。

为什么Swarm采用的是16个小数位?

Q:在所有ERC-20代币采用的都是18个小数位的情况下,为什么Swarm采用的是16个小数位?难道是为了特立独行么?

官方解答:其实存在一些技术上的原因让我们最终采取了16个小数位,这些原因和Bonding Curve也有关系,我们想要避免在大部分BZZ代币被卖出至Bonding Curve时一些代币价格归零的情况发生。这个完全是技术上的决定,希望这一点不会让部分用户感到不便。当然如果有用户看到市面上存在18个小数位的BZZ,那么它一定就是假的用于欺诈的代币。

扩容解决方案

Q:以太坊上的高昂gas费用如何解决,团队是否有计划链下(off-chain)或Layer2解决方案?

官方解答:我们对一些替代方案及Layer2方案进行了调查研究,目前我们基本上决定使用xDai侧链解决方案,它具有和以太坊完全一致的智能合约机制,一样的交易处理方式,互相兼容的各种API,这也就意味着主链和侧链间的转换非常轻松。

xDai已经成功运行了一段时间,它表现良好,而且很多项目都使用了xDai,因此社区对它也存在信任感,它比以太坊主网更便宜也更迅捷,因此也就可以处理Swarm需求的小额交易。

不过它并不是一个长期解决方案,它目前只是用于解决燃眉之急,因为以太坊的扩容跟不上目前各种项目的开发速度,我们希望以太坊能尽快找到更好的扩容方案,也许是以太坊2,也许是Rollup,目前还不知道具体答案,不过一旦这种扩容方案上线,Swarm就能迅速适应其中。

xDai是实现了完全桥接的侧链,意味着BZZ可以从主网和侧链之间安全地来回转换,虽然它不是扩容的终极解决方案,但就目前而言它足以完成其使命。

Swarm的存储和奖励机制

官方解答:对于每个Bee节点来说“储备(reserve)”的大小是固定的,而“缓存(cache)”的大小则可以调节,它的大小也和整个Swarm网络的数据容量相关,当缓存达到一定大小以后,并不意味着缓存越大就能得到越多的奖励,因此也可以说,从收益的角度讲,在一个节点上布置特别大的容量并不具有什么优势。

此外Swarm中还有一个名为“钉住(pinning)”的功能,它可以将特定数据钉在用户的本地节点上,这些被钉住的数据会成为用户存储的一部分,无法被Swarm网络删除。如果这些被钉住的内容不在“储备(reserve)”之内,则需要额外的存储空间去储存它们,换言之,如果用户想要钉住邮戳(postage stamp)过期的内容,就需要为它们准备额外的存储空间,负责专门存储这些邮戳过期的内容。

总的来讲,“储备(reserve)”是维持Swarm网络的必要组成部分,而“缓存(cache)”则是为加快数据传输及减少支出费用而存在,因此即便没有节点进行“缓存(cache)”,只要“储备(reserve)”还存在,Swarm网络便可成立。

无挖矿的覆盖网络

Q:什么是无挖矿的覆盖网络(non-minable overlay)?它是如何运作的?

官方解答:Swarm的节点随机选择它们的覆盖地址(overlay address)——定义用户所存储块的地址,我们总是假定覆盖地址均匀分布在Swarm网络中,不过实际上,由于此前覆盖地址完全取决于用户的以太坊地址,用户在所谓的“挖矿(mining)”过程中,进行了多次尝试后其覆盖地址就会落在某个“邻域(neighborhoood)”中,这就有可能导致一些不良情况的发生,比如某区域的网络比另一区域的网络拥有更高的容量,又比如一些用户只在某一特定“邻域”进行反复挖矿,导致该“邻域”从网络中被完全孤立,因此我们才采用了无挖矿的覆盖网络(non-minable overlay)。为了实现这种覆盖网络,我们加入了另一种要素,以定义一个用户的覆盖地址,如果用户想要选择“邻域”,就需要在Dai侧链上进行交易,即需要花费真金白银。这种机制下,节点运营者依然可以选择“邻域”,但是必须付费。事实上,除了覆盖地址有所不同以外,大部分节点运营者不会感受到什么改变,这个更多的是一小部分内部机制的改变。

运行节点需要质押BZZ吗?

官方解答:不需要,目前用户无需质押BZZ以运行Bee节点,用户可以在0BZZ的情况下运行Bee节点,然后有可能通过服务于网络的形式赢取奖励。想要以0BZZ加入Swarm网络是完全可能的,用户可以在不部署支票簿(chequebook)的情况下成为节点运营者,不过如果用户想要部署支票簿,将支票兑现(cash out)或购买邮戳等,那么用户就需要xDai与BZZ。当然,目前的版本中无需质押,并不意味着今后也绝对无需质押,关于Swarm接下来的激励机制,未来还会进行多次迭代更新,请大家持续关注。

为什么不提倡运行云节点

Q:虽然可以在AWS等云端运行Bee节点,但是从意识形态上来讲为什么Swarm的节点不适合在云端运行?

官方解答:基本上来讲,Swarm鼓励用户掌握自己的节点,当用户将节点托付给云端时,也就在一定程度上放弃了自己的控制权,将其交给了云端这一第三方,虽然它可以在云端完美运行,但这对去中心化不利。Swarm基金会支持并鼓励用户运行自己的节点。

申明:本站所发布文章仅代表个人观点,不代表链嗅网立场。

提示:投资有风险,入市须谨慎。本资讯不作为投资理财建议。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

联系我们

联系微信:anyxbd

联系邮箱:chainxiu@163.com