安全聚焦 | CertiK已完成对Reserve Protocol(RSR)旗下RSV的审计
加密货币的不稳定性直接影响了它在全球范围内的使用频率。在选择一种特定的加密货币进行投资之前,投资者们往往会认真地衡量它的风险及回报。因此对于大多数人来说,必定会选择一种价值稳定的货币,而这种货币在未来甚至有可能成为世界的标准支付方式。
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官网