Bee 主网软启动在即,社区关于Swarm的运行原理、核心机制、矿工如何获取收益的讨论也越加热烈。
IPFS是一个存储系统,旨在于存储全人类的珍贵数据,以实现数据的永存,因此,无论是IPFS还是Filecoin,其特点在于存储。但是,Swarm不一样,Swarm主要是服务于以太坊网络上的DApp数据的存储,重点在于热数据的存储,因此,Swarm的重点在于流量。
流量奖励机制,正是Swarm的核心机制之一。今天,我们就尽量用通俗易懂的语言来谈谈Swarm的流量机制——SWAP。
SWAP—Swarm的流量奖励
SWAP协议是Swarm的核心协议,是点对点的记账协议,其主要特点是数据交换(流量流通),分为记账和结算两大部分,正如白皮书上所说:“SWAP协议允许直接连接的节点互相付款,或者提供付款承诺”。
SWAP有四大特点:
• 用于节点相互付款和提供付款承诺的账户服务
• 当超过付款阈值时发送支票,使用自动付款结算
• 以未兑现支票的形式免除债务
• 支持以零质押的方式启动节点
简单来说,当矿工加入Swarm网络,成为Swarm节点之后,就会有一个Owner地址(这是一个ETH地址),同时,该地址会自动生成一个chequebook—支票簿。
例如,你是节点A,我是节点B。
当节点A往节点B里传输或者存储数据时(当数据传输的流量达到一定的阀值),A就会向B签发支票,我们可以将之称为settle,Swarm网络目前拥有几十万个节点左右,每个节点之间的每一笔数据的交互和往来都会同步到支票簿(Chequebook)中。
要理解整个流程,我们先要理解下面三个概念。
链上:即数据上链,比如说,当A向B签发支票时,B收到支票可以选择上链结算。
链下:即数据不上链,在链下保存,比如说,当B收到A签发的支票时,先不上链,等积攒了一定的支票数量再上链结算。
阀值:SWAP有一个阀值的概念,当积累的支票到了一定的阀值,就会使用自动结算付款功能,如果A不给与B结算,A就会被拉入B的黑名单,A就无法再和B相连接。
在上面这张图中也有做相关标注,绿色为链上,粉色为链下,链上和链下是可以自主转换的。
如上图,当节点B积累了一定量的A的支票,B就向A的智能合约发出结算支票所对应的BZZ的要求(这时,就从链下到了链上),那么,A的支票簿就会扣除相对应的BZZ(例如是0.5个BZZ),然后这0.5个BZZ就会出现在B的支票簿上,也就是这0.5个BZZ的收益归属于B owner地址。
然后,链下也会同步结算状态。
由上,我们讲述了Swarm的流量奖励机制。
Swarm的流量奖励机制核心在于,节点提供宽带传输数据所获得的流量奖励,节点每传输一次数据都能获得一个支票,支票数量到了相对应的阀值就会自动结算(也可以主动结算),那么,节点就能获得相对应的奖励奖励。
关于SWAP的相关QA
Q: 为什么要有一个支票簿,而不是直接结算?
A: Swarm网络是一个庞大的流量网络,节点和节点之间无时无刻都在传输数据。可能这一秒节点A向节点B传输数据,A需要向B支付费用,下一秒,节点B就向节点A传输数据,这时,B就要向A支付费用。
这一来一回,A和B之间,不久扯平了吗?
此外,如果所有小额交易都直接上链并且进行兑付,那么,网络可能一天就需要兑付几百万次,这无疑会加重网络的负担,并且产生大量GAS费。
而采用支票簿的方式,能够做到完美地实现链下记账、链上结算,既提高了效率,又不会对矿工的收益产生影响。
Q: 如果节点不支付会有什么惩罚,如何保障网络的完全性?
A: SWAP协议中设置了自动支付结算系统,即超过阀值时,智能合约会自动发送支票。如下图我们可以看得到,系统中设置了“Zero balance”,如果有一方“负债”严重,那么,就会与正在连接中的节点断开连接。
如上图, 如果B不支付,B就会被贴上“不诚信”的标签,如果持续出现不愿意付费的情况,B将于越来越多的节点失去连接,那么,B就会被“孤立”,接订单的概率会持续下降。
Q: 为什么说,SWAP协议为Swarm网络创造了生态闭环?
A: 正如上文所说,如果一个节点选择了“作恶”、“不支付费用”,那么,该节点就会与其他节点断开连接,如果持续如此,该节点就会相继和诸多节点失去连接,甚至被“孤立”。
如果一个节点在网络上被“孤立”了,那就意味着该节点在Swarm网络无法获得订单,那便无法获得区块奖励,既然无法获得区块奖励,那节点存在的意义又在哪里呢?
综上,Swarm网络本身就设置了一个相对完善的生态闭环。
而这,也就是为什么推断Swarm节点所需质押量不大的核心逻辑。