抗转生的备份 - 鲁克西翁计划

资料备份的究极,就是:即使与世界远方的另一个人交换身体,也能找回自己的大部分资料。

在中国,因为政治问题遭遇调查取证等危险时,有必要丢掉一切,并在安全后重新获得。

鲁克西翁是《女性向游戏世界对路人角色很不友好》中的一艘遗产飞船,在开篇处,男主角里昂想起了自己前世的记忆,因而去探险,获得了自己前世在游戏中的飞船「鲁克西翁」。这种获得自己遗产的剧情与计划具有相似性,所以将这种备份命名为「鲁克西翁计划」(Project Luxon)。

这里真的没有剧透哦,这可是第一卷开篇的内容。

抗转生备份的关键点

有 3 点非常重要。

  • 转生后可以下载资料
  • 资料被安全地加密了
  • 资料的云存储是稳定的

很多账号现在都要求** 2FA**,而且,有的人的密码是随机生成的。这对于备份密码带来了挑战。

密码的备份对于永久性要求更高,一个建议是备份到区块链的智能合约上,并且要存在方便读取的方式(例如 dapp)。我正在开发的 Astral Mask 套件 是一个解决方案。

Astral Mask 也提供安全的、完善保密性的、密码容易记忆的加密方式。

Web3 不适合存储大量数据,而且 Astral Mask 无法加密大量的数据。加密大量数据的最佳方法还是压缩包上加密。压缩包的加密可以认为是足够安全的,只需要随机生成密码,然后把随机密码利用 Astral Mask 存储就可以。

大量数据组成的压缩包可以存放在云存储服务商中,比如 MEGA 和 Drop Box。但是,不要订阅,因为订阅需要费用,但你等待转生时无法支付费用,这会使得订阅过期。

尽量使用免费服务能让资料的云存储更稳定。有些东西可以利用 Github 和 Cloudflare Page 等免费方法存储。我的 Astral Mask 和这个博客就是一个例子。这个博客目前是用的 Cloudflare Page 托管的,不需要支付任何费用。不过免费的服务未来可能收费,或者清退不活跃用户。这对于长转生会产生威胁,而且这种威胁是无法预防的。编程随想的博客就即将因为长期不活跃而停止运行。

Astral Mask 套件

Astral Mask 套件是为了存储「永久化抗转生备份」(以下称作「鲁克西翁计划」)的关键数据而开发的加密套件。

Astral Mask 套件包括 3 部分:加密(Astral Mask Encrypt)、存储(Astral Mask Storage)、交互(Astral Mask Dashboard)。

Astral Mask Encrypt

Astral Mask Encrypt 使用了独特的加密算法。底层是 Three Fish 加密算法,但加密密钥的产生使用了特殊机制。

Astral Mask Encrypt 的密钥产生类似于区块链的 PoW(工作量证明)机制。它迭代进行哈希,直到前若干位为 0。每获得一个满足条件的哈希值,就进行一次迭代 Three Fish 加密。哈希迭代次数取决于用户给定的密钥,而 Three Fish 迭代次数取决于哈希迭代的结果。也就是说,这种加密的密钥空间大小打破了 Three Fish 的密钥长度限制,以至于可以认为是完善保密的。不过,为了更安全的加密,仍然建议使用长且容易记忆的密码。

Astral Mask Encrypt 可以单独生成密钥而不加密,但一般来说没必要这么做。

一次加密可能消耗几分钟到数十小时的时间,极大地增加了字典破解难度。而且,Astral Mask 使用了 2 个密码,一个任意字符串密码,一个任意长度数字密码。即使字典命中了字符串密码,也可能需要几亿甚至几万亿次尝试才能猜中数字密码。在泄漏一个密码的情况下,仍然能期望起到几年的保护作用。

Astral Mask Storage

Astral Mask Storage 是一个 EVM 兼容的智能合约,用于永久存储一些短字符串,使用 Solidity 语言编写。

Solidity 是真 tm 难写,比 C 写起来还难受。

用智能合约存储字符串(尤其是长字符串)是奢侈的,所以部署在了 Polygon 这种 gas 费便宜的链上。部署这个合约的是管理钱包,但管理钱包无法通过合约修改用户存储的数据。修改数据的凭据为一个NFT.

Astral Mask Dashboard

高度去中心化的 dAPP,用于和上面的 Astral Mask Storage 合约交互提供界面。

因为域名注册期限不长,所以,这个不但会部署在域名上,还会部署在 IPFS 上并利用 IPNS 方便访问。

查询一个钱包内的加密字符串不需要有这个钱包的私钥,只需要知道地址。钱包的地址不方便记忆,所以建议购买长期 ENS 或者 Unstoppable Domain 来方便记忆。

纯前端项目,使用 Web3.js 进行交互,兼容 Wallet Connect,使用 Solid.js 作为前端框架。

资料的存储位置

坏消息是,能永久存储的云存储不能存储大量资料。

好消息是,你真的不需要存很多资料。

推荐的做法是

  • 区块链上存储密码、助记词、2FA 信息、预备的 eSIM 信息等必须直接访问的信息。
  • 在 MEGA 等网盘上存储大块资料。免费额度足够
  • 如果使用 Brave 浏览器,或许可以用助记词来代替相当大量的密码。

抗转生备份按理来说只需要存最关键的数据。毕竟——这是逃生,而且是落荒而逃。只需要存足够东山再起的资料就够了。

希望鲁克西翁计划永远不会派上用场。

你需要备份什么?

足够证明你身份的数据。有些时候需要备份一些工作上的数据。但总而言之,只需要备份最关键的数据。