← 返回 MegaWallet 工作文档

MEGAWALLET · WORKING DOCUMENT 02

原架构风险建议

原始文件 · my-history/2.suggestions.md

一.明文把所有账户数据长期暴露在内存中unlock/lock时一次性加解密。 1.主流钱包做法均是直接加密后存储,用时再取,取后即焚。 2.容易在各种情况下明文对外暴露。 3.现在这个模式,没法满足移动端钱包常见的:进app不需要解锁sign时才需要解锁的做法。 4.unlock/lock耗时会随账户数据增长而增长(不太明显)

二.no db的做法,只在订阅数据情况下持久化写入。 1.没有保证写入原子性(可以直接利用db来保证,也可以像metamask那样双写重命名文件来保证) 2.可能的竞态写入问题或者其他原因导致数据乱掉(可以利用db来保证,也可以像metamask那样搞个队列) 3.没有做好数据升级迁移的机制,没有做好数据一致性、正确性检验机制。 4.ui所需数据直接用多维数组关联,无法满足后期复杂查询。 5.proxy/subscribe 会导致意外写入出错没法追踪。

三.账户分层体系有点问题,没法真正适配异构链。 1.比如evm链有的有不同的hd path。 2.btc/cosmos天然有不同的格式。