如何控制对存储在区块链上的个人信息的访问(带有教育用例)

How to control access to personnal information stored on blockchain (with an educational use case)

是否可能出现以下用例?

在国家层面,政府希望其区域教育方向建立一个系统来证明文凭。这些文凭应该以这样一种方式存储在区块链上,这样一来,任何地区都无法在颁发后单独对其进行调整。

学生应该能够暂时向任何人(例如,想要招聘的雇主)授予他或她的文凭。

请指正:

我认为如果存储在区块链上的数据被加密并且 DAPP 能够生成临时密钥来解密该数据,这应该是可能的。

显然,任何获得记录访问权限的雇主都可以复制它,但这里的重点是,在密钥有效期到期后,任何雇主都不应该能够证明他拥有真实记录。

这听起来像是一般 dapp 的有效用例吗?您觉得这可行吗?

可以建议以下方案作为最简单的选项:

  1. 我们使用 3 种方法创建智能合约:
  • RegistryRequest(bytes32info_id, bytes32user_id, string memorypublic_cert) payeble
  • SendInfo(bytes32info_id,bytes32user_id,字符串file_addr)
  • GetInfo(bytes32 info_id, bytes32 user_id) 查看return(字符串内存retVal)
  1. 消费者调用 RegistryRequest 方法传输:
  • info_id - 所需数据的标识符
  • user_id - 他的唯一标识符(电子邮件、手机 phone 等)()
  • public_cert- 他的 public 密钥 OpenSSL 并将一定数量的 Eth 附加到交易中作为服务的付款。
  1. 收到消费者的详细信息和付款后,您:
  • 用他需要的数据创建一个文件
  • 使用消费者的 public 密钥 OpenSSL 加密此文件,
  • 将其上传到一些网络资源或通过 IPFS 或 Ethereum Swarm(或以任何其他方式)传输它
  • 使用 SendInfo 方法列出数据文件 (file_addr) 与数据和消费者标识符 (info_id、user_id) 相关的“地址”。 要支付交易费用,您可以使用从消费者处收到的部分金额以及 RegistryRequest。
  1. 消费者通过 GetInfo 方法使用数据标识符 (info_id) 和他的个人标识符 (user_id) 接收数据文件的“地址”,提取和解密

  2. 如果数据发生变化,则它们的变化状态的布局类似于第 3 点

  3. 数据提供期满后,您停止发布他们的更新

例如,可以与专家免费讨论更复杂的解决方案并在 kekker.com

上进行模拟