引言:
“加密货币黑暗森林,曾是我无尽的梦魇, 但我在其中学习,摸索,破解安全感的锁链。 采用加密技术,制定安全阵线, 纵使乌云密布,亦可自我防范。
无数次的攻防演练,在大脑中上演, 知晓自己何时可能遭受深黑的侵犯。 尽管挑战重重,依然勇往直前, 因为我知道,星空终在眼前。”
在加密货币这个世界里,最悲惨的事情就是一息之间发现自己的资产被盗,此前辛辛苦苦付出的无数个日夜突然化为了乌有。曾经的我也经常在看到别人身上发生类似事件后感到非常后怕,深刻怀疑自己有没有资产被盗风险,会不会睡一觉醒来发现我的比特币、以太坊全没了。
在很长一段时间里,这几乎成为了我的梦魇。而这几年通过在加密货币这个黑暗森林中不断地学习,我慢慢的有了对抗这种不安全感的力量,采用了学习到的加密技术并根据自己的实际情况制定适合自己的钱包私钥安全管理策略并将不同的资产分级管理。在大脑中演练了无数次的攻防战争,知道自己在什么情况下才有可能遭受攻击,并损失多大的资产,发生这种情况的概率又有多大。明白了这些,我的心算是终于可以放到肚子里了,静静的看着监控账户里的币子,享受区块链世界给我带来的福利。
我的策略不一定是最安全的,而是一个持续改进和不断学习的过程,一家之言,欢迎有更好风险管理方式的小伙伴与我分享经验。在这里我先隆重推荐一下慢雾创始人COS余弦(@evilcos)的区块链暗黑森林自救手册,非常系统的介绍了有关加密货币安全的非常详尽的知识,这本手册可谓是“区块链安全宝典”,每个加密货币参与者都应该认真学习。
单刀直入,我所使用的硬件条件:
苹果笔记本MACBOOK PRO + Trezor 或其他种类硬件钱包
尽可能不要使用windows系统电脑,虽然苹果系统也不能保证不受电脑病毒攻击,但数量和概率上要少的多。
加下来是我的冷、热钱包风险管理分层结构:
1.撸空投最外层(google 账号1或电脑1)
作为安全级别最低的一些热钱包,他们存在的目的是交互各种潜在的空投项目,因为需要装各种各样的chrome钱包插件,或者是学习类,翻译类,AI类等,明显其中有些插件我无法保证其安全性,所以我专门新建了一个不太常用的google 账号,将这些插件都安装在这里。因为我撸空投的钱包没什么资金,纯属是为了体验其他钱包或者是Layer2交互,即使被盗也不会影响到整体资金安全。对于科学家级别的选手应该有另一套更为完善的风险管理方式,本文不做讨论。
此外如果你还有娱乐、游戏的需求,最好的方式是在另一台电脑中进行,尽量避免游戏与钱包在同一台电脑中交互混用。
2.交易最外层(google 账号2或电脑2)
这一层不同于撸空投最外层,是作为正经defi交易的几个热钱包,我自己使用的是metamask chrome浏览器插件,而这个google账号下,除了小狐狸(metamask)我就只有1password这个必须要用到的密码管理插件了,当然你更可以将其他所有插件一律清除掉,避免一些恶意插件或是漏洞对钱包造成攻击。因此这个账号下的chrome浏览器非常清爽,只用于钱包操作用。
资产量级<5%,用于各种defi操作,签名授权,NFT交易等等,把你认为够能承受损失的钱放在这几个交易最外层热钱包中。对于稳定币的无限授权,定期去revoke.cash进行检视并取消。最好的操作习惯是永远不要给无限授权,用多少资金就授权多少,除非是特别信任的defi蓝筹项目。
一般来说,这几个热钱包我也会有风险等级的排序,你可以有最无惧风险的土狗型钱包(当然我并没有),有做精品空投账号的钱包(交互最广泛的DEFI项目),和只交互大型蓝筹DEFI的钱包,如我个人比较信任的curve, convex, uniswap, liquity, lido等。但不管是什么项目,谨防钓鱼网站,我之前遇到过一个rocketpool的钓鱼网站,一模一样,可是一连接钱包就自动让你签名交易,再仔细查看交易内容,发现是把你的全部ETH转走。所以每签名一笔交易都务必要看清楚交易金额,目标地址等内容。
具体需要注意的类似细节还有很多,请自行学习,本文重点放在钱包的风险管理上。
以上两个层级是你日常生活99%的时间里所使用到的钱包,但里面的资金量最好在你的承受范围内,上面提到的每个需要注意的安全点都是前人犯过的错,流过的泪以及海量的再也无法追回的资金,务必要有清醒的认识。对于每一起安全事故,别人犯过的错,我们都应当做个举一反三,审视一下自己的资产管理有没有漏洞,不要在别人摔倒过的地方自己再摔一次。
接下来进入到资产管理的核心圈层——冷钱包资产。
3.冷钱包外层
所谓冷钱包,就是指你的钱包私钥从不触网,最原始的有纸钱包,脑钱包,钢板助记词,废旧手机等存储介质。个人认为比较稳妥又方便使用的方式是使用硬件钱包+纸钱包或钢板助记词的组合。单纯电子设备寿命没有那么长久,总有坏的时候,而纸张在妥善保存的情况下放个一千年不成问题,不锈钢钢板更是可以防火,上万年轻轻松松。
一直以来,对于私钥或助记词的线下保存存在着一个悖论,那就是你分散存储的份数越多,尽管越不容易丢失,但却最容易被单点攻破,更容易泄漏。
面对这个困局,密码学家们发明了一种基于密码学的私钥分片备份方案——shamir backup,shamir backup的牛逼之处在于,原本的一份私钥你可以将其分成若干片,并且只使用其中的几片完成私钥的恢复。这也正是最近比较火的DVT(分布式验证技术)所采用的密码学技术之一(Shamir's secret sharing),只不过后者分片的对象是以太坊质押的验证器密钥。
我所知道的目前支持shamir backup的硬件钱包只有Trezor model T这一个款。
举个例子,假如你想分散私钥存储的地缘政治风险,将私钥分别存放在世界五大洲的5个地方分别保管,通过shamir backup,你创建了5份分片的私钥,把它们安置妥当后,你完全可以高枕无忧了。因为当你需要恢复私钥时,你可以任选其中三份即可完成恢复。你私钥保管的冗余度大大增强,因为你知道不管是盗贼的入室盗窃还是动用国家力量强行开你的银行保险箱,都无法撼动你的私人财产,即使你丢掉或是被盗走了其中两份,也不影响你的资产安全性。当然你也可以使用2/3方案,4/7方案甚至多达16个分片的方案,总之,只要你还掌握私钥分片数量的大部分,你就始终保有资产的控制权。
shamir backup简洁而美丽,但却极大提升了你线下存储私钥的安全性和可靠性,在我看来是非常理想的私钥管理方案了。
Trezor官网对shamir backup的介绍(https://trezor.io/learn/a/what-is-shamir-backup)。
我在这一层的资金量级:<5%
操作策略:只与最大型蓝筹defi项目交互,而且尽量少交互,无无限授权,无NFT交互。
为什么私钥管理已经这么安全了,我仍然没有把大量资金放在其中呢?
一方面是预防万分之一的可能性,比如我的大部分私钥分片都在我不知情的情况下泄漏出去了,这个钱包也就不安全了。此外还有一个攻击向量无法预防,那就是5💲扳手攻击。
也就是当有人已经把刀架你脖子上了,逼你说出硬件钱包PIN码,你这时候是要命还是要钱呢?当然是老老实实交出密码了,所以在里面留点钱就当破财免灾吧。
为了避免这种情况下的发生,我们就知道平时应该如何应对这种危机了。比如,
第一点,不要没事带着硬件钱包到处晃。没有了这个攻击点,如果攻击者还需要挟持你去寻找你散落世界各地的几个分片时,恐怕他是没这个耐性和精力的。
Trezor硬件钱包有一个特性你或许需要知道,那就是可以提前设置WIPE CODE,一旦被输入,你硬件钱包里的所有数据都会被清除掉,包括恢复的种子信息。输入WIPE CODE并不需要你连接电脑,只要能加上电,不管是充电保,车载充电或是什么,都可以进行输入。
第二点,不要炫耀你有多少资产,攻击者一旦知道了你的底细,所谓的破财免灾也就无从谈起了,不把你吃干榨净恐怕你是难逃魔爪。
3.冷钱包中层
冷钱包外层并不装载你的核心资产,他充其量也就只是个幌子,你只要监控到冷钱包外层的资产始终保持安全,那么就意味着你的私钥始终保持了安全。即使一旦被盗,你的损失也不大,还有时间赶紧将冷钱包中层资产转移走。
那这个中层与外层冷钱包的区别在哪呢?那就是使用了基于passphrase技术的hidden wallet——你的隐藏钱包。这两篇官方的介绍非常详细,也有很意思。https://trezor.io/learn/a/passphrases-and-hidden-wallets
passphrase不光在Trezor可以使用,Ledger也是可以使用的。使用方式是通过在原有24个助记词(或12个)的基础上增加一个只有你自己知道的词或任何字符串(甚至包括一个空格),最长可以包括50个字符。这将引导硬件钱包在原有私钥的基础上派生出一个崭新的地址,因为这个passphrase并不存在在任何存储介质上,唯一保管他的介质就是你那肉长的大脑或者是你告诉家人的大脑里,不管是黑客还是现实中的强盗,都无从得知,这将是你和家人保守的永恒的秘密。
我在这一层的资金量级:~50%
资产类型:LSD资产,原生以太坊SAAS方式POS质押。
以太坊SAAS质押方式在我之前的文章里有讲,https://mirror.xyz/darkforest.eth/Y-fvJCbGdJN0aFkAIFWH1vf7j5rRVblVpXERglgfAUg
至于为什么我会去使用SAAS方式进行质押,那是因为这是真正让你掌握提款key和验证key这两把钥匙,也就是真正掌握自己资产的以太坊质押方式。
操作策略:无任何DEFI交互,授权,只和冷钱包外层地址进行转账(转账LSD资产)。唯一在这个钱包上做的操作就是质押以太坊过程中的签名和与以太坊POS存款合约的交互。并且以太坊质押的提款地址也是这个地址。
以太坊POS质押还有一个比较有意思的特性,就是你可以将执行层奖励使用另一个钱包进行接收,这意味着,只要你不在这层钱包中解除质押,那么在你另外指定的钱包中会每天不间断的收到质押收益,你可以使用热钱包接收,并把这笔钱当做你的日常消费零用钱,也可以不改变收益地址,等着若干年后攒出另一个32ETH质押节点。
这样的操作策略,黑客唯一攻破你的方式就只有1)拿到你私钥分片的大多数,2)知道你的真实资产底细,3)从你口中获取passphrase,4)了解到你有以太坊POS质押,5)签名退出质押序列,并且安安稳稳的等待4,5天时间解除质押。经过了上述五步才可能真正获取你的资产。
在我看来,这个冷钱包中层的安全性已经达到了一个新高度,技术上讲,除了以太坊存款合约被攻破,我不知道它还有什么可以被攻击的向量了。
以太坊POS质押作为一种安全的屯币手段,0xdog(@ivanstarbb)在他的文章中做了精彩的论述,个人深以为然(https://mirror.xyz/0x26DA4f747dD974f873Be9422918FAf1c3C0049D6/OY-mMHadkGKogrUg4_sDno-7vUOQBA3zS8MDEYqv4XI)。
不过这还没完……
4.冷钱包核心层
构建冷钱包核心层的方式与中层是一致的,只不过中层的防御弱点在于你的passphrase可能不够强大。在黑客直接掌握你私钥的情况下,破解一个位数不多的常用词passphrase的时间会非常短,这就是为什么我们还需要构建更深层安全性冷钱包的必要性。
上面这张表展示了你使用passphrase不同类型与长度在当下和2030年这两个时间维度下黑客破解密码的攻击成本对照表。
看到这张表,原本自信满满的我又开始焦虑了……虽然我知道攻击的发生是有前置条件的,而且冷钱包中层你质押的以太坊并不会马上被转走,你还有时间去与黑客进行一番争夺,但我还可以做得更好。
我可以在冷钱包中层passphrase1的基础上继续加长,也许我和我的家人的脑子里存储的不应该是一个词,而更应该是一串……咒语……?
此外,如果说LSD项目有可能会倒掉,以太坊POS存款合约也有可能被攻击,这个世界没什么代码是本质安全的。那么,我干脆在这一层只存原生资产,那就是原生比特币和以太币。除非宇宙尽头,私钥可以被量子计算机破解,那么加密货币也就一文不值,这一层的安全性也因此丧失任何意义了。
这一层的资金量级:~40%
资产类型:原生比特币和以太币
操作策略:只有钱包之间的转账。
总结
大道至简,正所谓最简单的就是最安全的,你的操作越少,花活越少,你的钱包才会越安全。当然你又不能过于陈腐,拒绝新事物,拒绝新体验。你所能做的就是像这篇文章描述的那样,风险分级,资产隔离,偶尔的一次资产被盗并不可怕,可怕的是你的所有资产被一锅端了。某种意义上讲,这样做也是一种每次都在all in的赌局,久赌必输,只要稍有差池,你之前赚到的钱最后属于谁那就还真不一定。
区块链技术赋予我们每个人“私人财产神圣不可侵犯”的权利与资本无障碍全球流动的自由,只不过这种权利与自由对很多人来说过于沉重了,这意味着无限的责任与担当。当你的资产安全与否仅仅取决于你的一念之间的时候,参与其中的每个人都只有不断地学习,吸取别人的经验与教训,举一反三,如此才能在这片血腥与残暴的黑暗森林中牢牢掌握住自己的命运,为那个迟早有一天可以通向自由世界的你做好充足的准备。