MEMO云存储系统角色设计

MEMO是基于区块链的新一代分散式云存储系统,而MEFS是MEMO的文件存储系统。在MEFS系统中,系统有User、Keeper和Provider三方角色,每个用户可以根据自己的需要注册一个角色。如果是存储需求者,就注册成User;如果是设备提供者,就注册成Provider;如果只提供信息管理服务,就注册成Keeper。

本文将从系统整体运营角度来阐述每个角色的设计原理。

三方角色基本定位如下:

1.User:是系统中存储服务的消费者,提出存储需求并上传数据

2.Keeper:是系统中的管理协调者,承担信息中介和管理功能

3.Provider:是系统中的存储设备提供者,为User提供存储空间

这三方角色中,User是系统中的最终用户,User和Provider则是存储服务的供需双方。简而言之,即User在MEFS存储系统中使用存储空间,Keeper为 User寻找合适的存储节点,存储节点 Provider为 User存储数据。Keeper则相当于中间信息撮合者,为User和Provider提供居间服务,我们可以将Keeper理解成招聘平台上的猎头或者房地产交易平台中的中介。

角色设计

1User

由于系统中的最终用户是User,它需要为存储服务支付相应的存储费用,因此每一次的服务请求都是由User发起。

当User提出存储服务需求时,应当包含以下要素:存储空间大小、存储时长;Provider和Keeper的数量;要求的存储单价。

因为只有设置上述参数后,Keeper才能检索匹配相应的存储节点。同时,在分散式云存储系统中,存储节点越多,数据就越安全,但是存储节点越多,支付费用也就越高。因此,User需要自行确定存储节点Provider与中间管理者Keeper的数量,需要在费用和数据安全两者中间寻找一个平衡。

User不仅需要为存储服务付费,当需要从Provider下载数据时,同样需要为下载支付费用,因为下载操作会给Provider带来流量和机器设备的消耗。

由于User是最终付费者,所以系统没有为该角色设置特别的约束措施,因为User如果不付费,Provider和Keeper就会停止服务。但是另外两个角色,Provider和Keeper,系统都为其设置了相应的惩治措施,这在下文会讲到。

2Keeper

01 基本职能

Keeper是系统中的重要中间角色,它承担信息中介与管理职能,并从User支付的存储费用中提取管理佣金。

作为信息中介,其基本功能就是信息撮合,即对需求方和需求供给方进行信息匹配。当User提出存储需求后,Keeper将根据 User的要求,查找与自己相连的 Provider,并匹配出合适的存储节点。

除了基本的信息撮合外,Keeper的管理职能还体现在参与挑战上。Keeper定期发起并参与对 Providers的挑战,其目的是验证 Providers是否完整地存储数据,即对Provider的真实性和诚实性进行验证。根据挑战结果,得出每个Provider在这段时间内有效地为User存储了多少和多久的数据,以作为User后期的付费依据。

除此之外,Keeper还有一项重要职能是对存储费用触发支付。既不是由付费者User触发支付,也不是由收费者Provider触发支付,而是由中间人Keeper触发支付,这主要是出于增加系统公平性的考虑,由中间人Keeper触发能减少造假行为发生的概率。

02 惩罚机制

Keeper作为中间人参与到系统运营管理中,虽然能在一定程度上解决分散式云存储系统存储供需双方的信任问题,但是考虑到Keeper本身也存在诚信缺失的可能,比如不按期挑战存储数据、不按时触发支付等,MEFS系统因此为该角色设计了惩罚措施,惩罚机制能够保证系统正常运行和促进社区发展。

因此系统规定账户注册为Keeper时,需要质押一笔费用。这笔费用可以由账户申请退款,也可以在账户违反系统规定时扣除费用。如果账户质押的金额不足,或者没有质押金额,那么没有诚信背书,该账户的Keeper角色就不能成立。对于Keeper质押的金额,什么时候进行惩罚扣除以及扣除多少数量的问题可以在链下决定。

通常,当一个账户严重违反系统规定,将会给出封号的惩罚。如果一个Keeper长期不能够按时进行存储数据的时空挑战、同步时空挑战结果并且汇报时空挑战结果,那么系统将会禁止该账号。一旦账号被禁止,那么该账号将永不可能再成为Keeper。

当Keeper被禁用后,如果该Keeper质押的余额不为0,那么对于这笔余额的处理方式可以有:返还给该账户;转给部署角色合约的角色管理者;转给该Keeper违反系统规则所影响到的其他账户,包含User、Keeper、Provider。

3Provider

01 基本职能

Provider在系统中是提供存储空间的一方,它为User提供存储服务并获得User支付的费用。Provider上线之后,需要说明自己的存储情况,具体应当包含可提供的存储空间、存储时长、要求的存储单价等。当Provider说明自己的情况后,Keeper就可根据User与Provider双方的情况进行匹配,之后将匹配成功的Provider信息发给User,从而User与Keepers、Providers 组成一次存储服务。

同Keeper一样,Provider也具备触发支付功能,不同是的,Keeper是触发存储费用的支付,而Provider则是触发下载费用的支付,这是因为存储费用的验证需要中间管理者Keeper参与,而下载费用的验证则无须中间管理者的参与。

02 惩罚机制

上文提到对Keeper的违约惩罚措施,对于Provider,系统同样设计了奖惩措施,因为Provider可能会发生损坏数据却不恢复、长时间不响应User下载数据请求或者Keeper的挑战等问题,这样不仅会破坏User的数据,也会严重影响用户体验。

因此对于Provider角色,也需要在申请角色时质押一笔费用,一旦Provider违反了系统规则,那么系统就会触发相应的惩罚扣除其质押金额。

了解更多MEFS相关内容,欢迎关注:

l 官网:https://memolabs.org

l Twitter:Memo Labs

l Facebook:Memo Labs

l Medium:Memo Labs

l Discord:https://discord.gg/YG4Ydv2E7X

l Telegram:https://t.me/memolabsio

l GitHub: https://github.com/memoio

l MEMO技术文档:https://memolabs.org/#/zh/docs

l 加入MEMO测试网:https://docs.memolabs.org/testnet/

发表评论

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.