把文件“上链”可能指三件不同的事:文件字节直接进入区块,文件在链外存储而哈希进入链,或使用独立分布式存储网络并由合约管理付费与访问。三者的成本、持久性和可删除性完全不同。

公链全节点需要下载、验证并长期保存数据,每个字节都会与全网带宽、磁盘和同步成本相关。直接存储大文件价格高,还会使后续节点永久承担历史数据。
不可删除的公开数据也可能与隐私、版权、违法内容处理和数据保留法规发生冲突。
哈希可以作为内容指纹,之后拿到文件的人能重新计算并验证它与某个时间前写入链上的指纹一致。它可证明完整性和大致存在时间,但不保存文件本身,也不自动证明作者身份或内容真实。原文件丢失后,链上哈希无法将其还原。
系统根据文件内容生成标识符,内容变化则标识符变化。用户从任意能够提供该内容的节点获取文件,并用标识符验证。但“可寻址”不等于“永久有人保存”,必须有节点持续固定文件、支付存储合约或建立多副本策略。网关只是一个访问入口,不应成为唯一可用副本。
先在本地或可信环境加密文件,再将密文放到分布式存储,合约可记录访问权、密钥包或撤销状态。密文公开不代表安全问题消失:密钥泄露后旧副本无法召回,加密算法也需面对长期攻击能力的变化。不要把原始个人数据、密钥或可反向枚举的短密码哈希直接写入公链。
区块链适合保存少量状态、哈希和权限,大文件更适合使用有持续保存激励的链下或内容寻址系统。一个完整方案必须分别回答完整性、可用性、隐私、持久性和删除责任。