查看原文
其他

安全聚焦 | CertiK已完成对Reserve Protocol(RSR)旗下RSV的审计

CertiK CertiK 2021-02-05

加密货币的不稳定性直接影响了它在全球范围内的使用频率在选择一种特定的加密货币进行投资之前,投资者们往往会认真地衡量它的风险及回报。因此对于大多数人来说,必定会选择一种价值稳定的货币,而这种货币在未来甚至有可能成为世界的标准支付方式。

Reserve

哪怕是持有诸如美元和瑞士法郎这样的避险币的国家,依旧在历史上经历了通货膨胀。2018年,委内瑞拉的通胀率同2017年相比竟然增长了789.5%(平均通胀率低于2%才可被视为是健康增长)。

但现在正在流通的法定稳定币在去中心化方面均有所欠缺,即便是加密性质的在稳定性方面依旧尔尔。而稳定币项目的目标大多也都是为了解决加密货币的波动性。关于稳定币的介绍,你可以点击阅读CertiK团队之前发布的干货科普文章【原摩根大通、英特尔员工都在玩的稳定币,了解一下?】。

Reserve旗下的RSV是一种稳定的货币,为高通胀国家普遍接受,且受到了多种稳定币(包括USDC、PAX和TUSD在内)的支持。RSV能帮助用户管理资产,进行跨境交易,在过程中也可避免通货膨胀的影响。Reserve团队通过提供去中心化的、稳定的、不基于美元的RSV,将它作为未来使用的加密货币,自根本上防范其波动性。鉴于美元的流通期限无法预期,因此Reserve将在第二阶段停止与任何法定货币建立联系。

CertiK十分荣幸能与Reserve合作,并帮助其保障RSV的Ownable, ReserveEternalStorage, Reserve, Vault, Basket, Proposal, 和Manager智能合约的安全。

系统描述

RSV稳定币背后有包括USDC, PAX和TUSD在内的各种稳定币支持。它本身是一个标准的ERC-20代币,由Manager智能合约附加到特定的Basket中。其中的后备稳定币储存在Vault智能合约中,直接与Manager关联。

发行新的RSV稳定币需要特定数量的稳定代币,Basket会将其从请求者帐户转移到Vault帐户。赎回RSV稳定币时,会将稳定币从Vault账户转回请求人的账户。RSV架构如下图所示:


担保额度保证

RSV代币与Basket稳定代币绑定,由Manager合约管理。下图显示了Manager合约、主要RSV合约、相关Basket和可信Vault之间关系的实现过程,可信Vault地址用于持有担保物:

根据具体情况,新RSV代币的发行都需要将足够数量的代币转移到Manager拥有的Vault地址中。简化版的逻辑如下图所示:


此种稳定币发行的担保额度由Vault提供,仅用于在交易之前和之后检查RSV是否有足够数量的代币供应:


与VaultCollateralized调试器相结合,isFullyCollateralized可确保在与当前Vault地址中有足够数量的代币存储。如果任何代币的担保不足,则整个交易取消。


Basket的实际使用单位需要特别注意。一般情况下,功能的实现相当于检查了以下内容:

赎回RSV代币时会将相应数量的Basket代币传输回msg. sender的帐户中。计算结果与上面的情况类似。

智能合约的开发需要特定的编码思维。初始构建时如果出现漏洞,一旦漏洞被利用,很难再进行修复,这将带来灾难性的后果。

因此Reserve团队为其精心设计了一个近乎完美的系统。每个RSV代币都与一揽子其他稳定代币相关联,并以此作为抵押。系统会对每个关键操作(如发行和赎回)进行仔细检查,以确保代币的安全。此外,每个操作步骤都设置了完备的访问限制,以防止被不受信任方利用。

了解更多

General Information: info@certik.org

Audit & Partnerships: bd@certik.org

Website: certik.org

Twitter: @certik.org

Telegram: t.me/certik.org

Medium:medium.com/certik

币乎:bihu.com/people/1093109


往期回顾

请点击“阅读原文”访问CertiK官网

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存