
1. 钱包登录:不用注册,签名不花 gas
打开应用后连接浏览器里的 EVM 钱包(MetaMask、Rabby、OKX 等,支持 EIP-6963 的钱包都会列出来),对一条 EIP-4361(Sign-In with Ethereum)格式的登录消息签名。服务器验证签名后发一个 7 天有效的会话。
整个过程不需要邮箱、手机号或密码,签名不是交易,不花 gas。钱包地址就是你的账号。
2. 派生加密密钥:密钥只在你的浏览器内存里
登录后再签一次名:钱包对一条固定的消息签名,浏览器用 HKDF-SHA-256 从签名派生出一把 AES-256 主密钥。同一个钱包在任何设备上签同一条消息,得到的都是同一把密钥,所以换设备只要用同一个钱包登录。
新账户的这条消息是绑定网站域名的 SIWE 格式,在仿冒网站上签名时钱包会提示域名不符。主密钥只存在当前页面的内存里,不上传、不保存;服务器只记录一个由密钥派生的公开校验值,用来发现钱包签名不稳定,不能用来解密。
3. 浏览器端加密:AES-256-GCM 端到端加密
文件离开你的设备之前就已经加密,平台、上传通道和存储节点拿到的都只是密文。
- 每个文件随机生成一把文件密钥,用 AES-256-GCM 加密文件内容。
- 文件密钥和文件名再用你的主密钥加密,所以连文件名平台也看不到。
- 10MB 以上的大文件在浏览器里按 64MiB 分块,每块单独加密;块序号和总块数写进 GCM 的附加认证数据,调换顺序或缺块都会解密失败。单个文件最大 500.0 MB(用 SUI 付款时 2.00 GB)。
- 加密后的密文包自带解密需要的信息(除了你的钱包签名),格式固定,不依赖平台数据库。
4. 存进 Walrus 去中心化存储网络
Walrus 是建立在 Sui 区块链上的去中心化存储网络。密文上传后,Walrus 用纠删码把它编码、切片,分散保存在许多由不同运营者运行的独立存储节点上;即使部分节点下线,也能从其余节点完整恢复。
每份数据在 Sui 上有一个 Blob 对象,记录它的 blobId 和到期时间,任何人都可以在链上查到。一次上传 2 个以上、合计不超过 9.5MB 的小文件会自动打包成一个存储单元,只付一份存储开销。
用 Base 上的 USDC 付款时,密文经平台的上传服务写入 Walrus;用 Sui 上的 SUI 付款时,浏览器把密文直接发给 Walrus 官方上传中继,不经过平台服务器,适合大文件。两条路上传的都是密文。
5. 按用量付费:下单前逐项列明,链上核对
选好文件和存储时长后,会先看到报价单:综合成本(存储费、兑换费、链上 Gas 费)加技术服务费,存储费按 $0.023/GB/月 和文件在 Walrus 网络上实际占用的空间计算。
用 USDC 付款时,Base 上的收款合约会按公开的收费规则核对报价里的每一项金额,对不上交易就会失败;也可以在 Sui 钱包里用 SUI 付款。没有订阅,一笔订单最多 100 个文件、合计 4GB,存储最长预付 2 年,到期前可以续期。
7. 不被平台锁定:不经过本站也能取回
文件的 blobId 记录在 Sui 链上,密文包的格式自带解密所需的信息。只要有 blobId 和原来的钱包,就可以直接从 Walrus 网络读取密文,在本地用钱包签名派生出同一把密钥解密,不依赖 Onchain Drive 的服务器。
8. 平台能看到什么、看不到什么
为了提供上传、计费和分享,平台会记录一部分信息;文件内容和密钥始终只在你手里。
- 看不到:文件内容、文件名、你的主密钥和文件密钥、分享链接 # 后面的密钥。
- 能看到:你的钱包地址、文件的大小和个数、上传和到期时间、blobId、订单和付款记录。
- 需要注意:钱包就是钥匙,平台不保存密钥,也无法替你找回。请备份好钱包助记词,不要在仿冒网站上签名。
- 存储不是永久的:按时长预付,到期前要续期,到期未续期的数据可能被 Walrus 网络清除。
接下来可以看看定价和存储价格计算器,或者Onchain Drive 和 Google Drive、IPFS、Arweave 的对比。