
先区分数据存在哪里、怎样进入链上
数据与区块链的关系包含两个主要方向:一是保存数据或其验证信息,二是让智能合约使用外部数据。前者关注容量、成本与保存期限,后者关注来源、更新频率和输入质量。设计应用时,应分别说明原始数据的位置、链上记录的内容,以及负责更新的主体。
链上存储需要考虑容量与成本
以太坊开发者文档的存储说明指出,以太坊可以保存智能合约代码,但大规模数据存储受到资源负担和费用约束。文档同时介绍了链外保存内容、链上保留相关验证信息的思路,以及持续保存所需的激励和保留机制。

对于图片、文档等较大文件,可以将文件内容与链上验证记录分开考虑。链上保存摘要时,应用仍需取得原文件才能核对内容。因此,验证记录的存在与文件可访问性,应当分别检查。

长期保存需要持续运行的机制
保存期限应与业务用途匹配。合同约定的存储需要关注到期与续期;自行维护节点则需要承担运行和维护工作。IPFS本身没有内置的存储激励机制,固定保存服务或持续运行的节点可以帮助保留内容,但不能仅凭文件标识就推定内容会永久在线。
例如,需要长期核验的凭证附件,应明确由谁保留副本、如何发现副本失效,以及出现访问故障后怎样恢复。存储证明用于检查节点是否履行保存责任,实际读取还涉及网络连接与访问服务。
外部数据输入需要核查来源与时效
Chainlink Data Feeds文档介绍了由去中心化预言机网络聚合多个来源,并将结果发布到链上的方式。智能合约可以读取这些数据;相关文档也提供历史数据读取和更新参数查询的入口。
这类机制适用于合约需要外部信息的场景。使用时应核对数据含义、计量单位、适用网络和更新时间。聚合多个来源有助于减少对单一输入的依赖,但数据质量仍与来源质量和聚合规则有关,链上发布本身不能证明现实世界中的原始信息完全准确。
常见问题:可验证是否等于真实可靠
文件摘要一致,说明取得的内容与对应摘要相符;它不能单独证明文件中的陈述真实。链上存在某条数据,也不能单独说明该数据足够新,能够满足当前业务需求。
判断一个方案是否适用,可以分别回答三个问题:记录能否核验,原始内容能否取得,输入信息是否符合业务要求。将这三项独立评估,才能避免把区块链的记录能力误当作对真实性、永久保存和实时性的统一保证。