此篇文章由 Cobo 区块链安全团队供稿,团队成员来自知名安全实验室,有多年网络安全与漏洞挖掘经验,曾协助谷歌 、微软等厂商处理高危漏洞并获致谢,在微软 MSRC 最有价值安全研究员Top 榜单中取得卓越的成绩。团队目前重点关注智能合约安全、DeFi 安全等方向 ,研究并分享前沿区块链安全技术。
我们也希望对加密数字货币领域有研究精神和科学方法论的终身迭代学习者可以加入我们的行列,向行业输出思考洞察与研究观点!
此篇是 Cobo Labs 的第 20 篇文章。
随着加密货币的寒冬来临,黑客事件逐渐从传统的链上协议攻击转为对个人钱包的攻击,同时,由于处于强势的加息周期,在流动性大幅抽离的情况下,也造成越来越多的中心化机构爆雷,对用户资产造成了极大的损害。近期安全事故频发,经历越来越多的资产被盗事件后,保证自己资产安全就变得尤为重要,同时大家也更加重视各类去中心化的安全资产管理方案。
为什么要掌控自己的资产
一直以来,由于中心化机构提供与传统 Web 2.0
相似的操作体验,很多用户选择了使用中心化机构的服务来进入加密货币行业,但在区块链世界里有一句老话,Not your keys, not you coins(掌握自己的私钥才能掌控自己的资产)
。在用户为了便利而选择了中心化机构后,同样地也牺牲了一定的安全性,一旦中心化机构发生危机,用户资产将荡然无存。以最近的 FTX
事件为例,在本次的风波中,FTX
挪用用户资产导致了近60亿美金的缺口,在风险蔓延后,陆续有报道称有和 FTX
存在一定利益关系的其他中心化机构相继爆雷,此次全球受害群众估计多达百万人。在这次的风波中,如果用户一开始学会用自己的私钥管理资产,并将自己的大部分资产存储在去中心化的设施中(硬件钱包,多签合约等),就可以极大程度地避免自己在这次事件中的损失。
但是,管理私钥并不是一件容易的事情,这里面涉及到了私钥的生成、存储、管理、使用等多个方面的安全措施及最佳实践。
2022 年 9月22日,著名做市商机构 Wintermute
因为使用 Profanity
的私钥生成工具创建私钥导致其相关合约的 owner
私钥泄漏,造成将近 1.6 亿美元的损失。
无独有偶,2022年11月22日,分布式资本合伙人沈波 @boshen1011
也发推声称自己的钱包被盗,涉案金额在被盗时达 4200 万美金。经安全公司分析后,确认该事件核心问题在于用户使用的 Trust
钱包助记词的泄漏。从以上两次事件中,我们不难看出,私钥管理其实是一项很复杂的学问,但是在当前的环境下,使用中心化机构提供的服务又存在巨大的信任危机,那么是否存在一种方法,既可以安全管理自己的资产,又不需要担心因为担心单个私钥泄漏导致全部资产损失呢?
由于以太坊本身的账户结构并不支持多签名的模式,以太坊用户无法像类似比特币用户一样构建自己的多签地址。不过以太坊上支持智能合约实现各种复杂代码逻辑,因此可以通过编写智能合约的形式构建链上多签钱包。需要注意智能合约代码本身也可能存在安全风险,历史上针对合约代码漏洞的攻击层出不穷。因此我们在选择智能合约钱包时需要我们使用经过多次审计并经历过长期时间验证的方案。Gnosis Safe
无疑是较优的选择方案。
通过 Gnosis Safe
,用户可以将资产托管到多签合约中,并可根据自己的需求选择合适的签名规则。多签钱包的资产不再由单一地址的私钥所管理,而是由多个地址协同管理。每一笔交易的发起都需要多方地址进行签名,并要求有效总签名数达到预先设置的门限值(比如下图显示发送交易要求 3 个用户进行签名确认)。通过这种方式 Gnosis Safe
可以成功消除因单个私钥泄漏而导致全部资产损失的风险。
但是 Gnosis Safe
在提升资产安全性的同时,实际使用的便捷性上也存在一定不足,如:
那么,是否存在更好用的多签产品,在保持 Gnosis Safe
的原有安全性的同时解决以上不足呢?Cobo
给出的答案是 Cobo Safe
。
Cobo Safe
基于 Gnosis Safe
进行二次开发,利用 Gnosis Safe
的 module
扩展功能,实现了多签钱包与项目合约交互的灵活定制。
具体来说,Cobo Safe 可提供的服务包括如下几点。
Cobo Safe
目前支持粒度为函数级别的分权管理,即可针对特定用户角色配置不同的函数交互权限。只需要在网页界面上进行简单的配置,即可赋予用户角色(Role)对特定合约、特定函数的调用权限。如下配置的 harvesters
角色可以并仅能调用 Uniswap V3 NonfungiblePositionManager
合约的 collect 函数,即仅能完成
Uniswap V3 LP
交易费奖励的提取操作。
在 Cobo Safe
添加成员的同时,可指定前述限制的用户角色。被赋予某一角色的地址,就可使多签名钱包执行特定合约调用交易。如下即给 0x20XX
地址赋予 harvesters
角色,允许 0x20XX
地址以多签钱包的身份,代为发起 collect
函数调用的合约交易。
完成上述配置后, 0x20XX
用户则可通过 WalletConnect
与 Uniswap V3
DApp 交互,并执行收取 LP
手续费的操作。通过 Cobo Safe
的分权功能,当 collect
交易由 0x20XX
发起时,不再需要所有 Gnosis owners
一一进行签名确认,只提供0x20XX
自身的单签签名即可成功发起交易。从而规避了多签钱包使用上繁琐的签名收集过程。同时,由于 0x20XX
并不能执行 Uniswap V3
collect
函数以外的其他操作,即使 0x20XX
账户遭受黑客攻击或者私钥泄漏等风险,也不会直接对多签钱包的本金资产造成威胁,通过这种方式最小化了与外部协议之间的操作风险和私钥泄漏带来的风险。后续钱包 owners
只需要重新配置,移除 0x20XX
成员即可彻底消除风险。利用灵活的分权机制,可以将链上交互中的一些常见低风险操作授权给某个单签地址,在大幅提高操作效率的前提下,不对原有钱包安全造成威胁。
除了函数粒度分权机制外,Cobo Safe
还提供更为细粒度的 ACL(Access Control List)
合约风控机制。用户可以根据自身业务场景,定制化地制定任意分权与风控规则。通过 ACL
合约,可以灵活地设置各类分权及风控规则,如:
ACL
合约,可以灵活地设置各类分权及风控规则,如:token
资产)swap
滑点损失不高于某个百分比)值得说明的是 Cobo Safe
作为 Cobo
推出的去中心化托管方案 Argus(https://argus.cobo.com/
的重要组成部分,其链上合约源码均是开源的。因为用户方或其他第三方可对 Cobo Safe
及 ACL
合约源码进行审计,以保证托管功能不存在中心化做恶的风险。
近期安全事件也警醒着我们,不论是将资产存放在中心化机构或者自行管理私钥助记词,都仍存在一定资产安全风险。
这些安全风险推动着各方寻求更好的资产托管方案。各大中心化托管机构近期纷纷推出基于 MerkleTree 的储备金证明方案, Cobo 联合创始人蒋长浩博士也发表了一些对现有方案局限性与改进的讨论探究(https://mp.weixin.qq.com/s/mHydXy-EnZAkrkZppI3YzQ)。
Cobo Argus(https://argus.cobo.com/) 作为去中心化托管方案,其集成的 Cobo Safe 模块扩展了业界成熟的多签解决方案 Gnosis Safe
,提供了分权及 ACL
风控等更加灵活的可定制化功能,更好的平衡了资产安全性与钱包易性上的天然矛盾,是机构和个人度过资本寒冬迎接下一轮繁荣过程中资金管理工具的新选择。
Cobo 是一家全球领先的数字资产托管和区块链技术提供商,总部位于新加坡。作为一家以科技驱动为核心的创新公司,Cobo专注于构建可扩展的基础设施,推动 Web 3.0 领域的发展。
自2017年成立,Cobo 始终致力于打造专业、一站式的安全数字金融技术服务平台,服务全球机构客户超过500家(包括:知名家族办公室、上市公司、顶级对冲基金、交易所等),得到其持续的信任。目前,Cobo提供的产品服务包括:Cobo MPC WaaS (基于多方安全计算阈值签名技术的协管方案)、Cobo Argus(适用于团队进行DeFi的链上智能合约多重签名解决方案)以及Cobo Custody(中心化安全托管解决方案)。同时,Cobo 针对特定的机构与赛道,推出WaaS(钱包服务)与NaaS(NFT托管服务),满足机构对于资产托管的全方位需求。
Cobo 在合规方面,已获得SOC 2 Type I 认证、迪拜虚拟资产监管局(VARA)的原则性批准信 ,并持有美国、香港和立陶宛的牌照。