
数据主权的技术范围
从技术角度讨论数据主权,可以围绕几个问题展开:数据由谁保存,谁能操作,授权如何变更,以及系统如何验证数据仍然存在。区块链与分布式存储分别承担其中的部分职责,单独采用某一种技术,不能说明这些问题都已解决。本文聚焦存储与权限治理,不延伸判断法律意义上的数据归属。
分布式存储与链上链下分工
以太坊开发者文档介绍,去中心化存储由点对点网络中的节点共同承载数据。大量文件直接写入以太坊会受到成本与节点资源约束,因此可将文件放在链下,并在链上记录相关哈希或引用。IPFS支持分布式文件存取,但持续保存需要节点保留数据、固定服务或其他持久化安排。

这里需要区分完整性和可用性:哈希可以帮助核验取得的内容是否匹配预期,但无法单独保证文件随时可下载。适合大文件的架构,需要同时考虑文件存放位置、检索方式和副本维护。

持久化、激励与存储证明
持久化机制回答数据如何长期保留。按存储协议约定期限保存数据时,后续保留取决于协议续期及履约情况;采用密码学挑战的系统,则通过要求节点提交响应来检验其是否持有所需数据。
保存承诺、履约验证与读取体验属于不同环节。即使存在存储证明机制,应用仍需考虑节点离线和数据获取路径。共识用于协调网络认可的状态,也不能替代文件保存与访问方面的安排。
所有者权限与角色权限
OpenZeppelin访问控制文档区分了单一所有者管理与基于角色的访问控制。Ownable适用于单一管理主体;AccessControl支持拆分不同操作权限,并通过管理员角色授予或撤销角色。两步移交、多签管理与延迟机制可用于约束高权限操作。
当系统有多个参与方时,可以分别设置内容维护、权限管理等职责,使账户仅获得完成任务所需的权限。还应检查谁能修改角色:执行某项操作的权力,与给其他账户授予该权力,并不是同一层授权。
适用条件与常见问题
这类组合适用于需要分布式保存文件、同时明确操作权限的应用。设计时,应把存储协议、合约授权和实际文件读取衔接起来,避免链上权限已经改变,链下服务却未同步执行。
限制合约调用是否等于文件保密?不等于。合约权限检查约束的是相关函数,公开存储的内容不会因此自动隐藏。撤销角色是否等于删除数据?也不等于。撤权只能阻止受该规则约束的后续操作,无法收回已经取得的副本。评估数据控制能力时,应分别核对保存、访问、撤权与删除的边界。