首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >区块链智能契约EHR

区块链智能契约EHR
EN

Ethereum用户
提问于 2019-02-23 19:27:55
回答 2查看 446关注 0票数 1

我试着用Smart做一个小型的EHR(电子健康记录),在这里我有一个Pacient合同。

问题是,在可靠的情况下,一切都是公开的,甚至是私有变量,所以我必须以某种方式加密健康记录数据,但在其他方面,它应该可以供其他医生阅读我以前的健康记录,并向一个特定的Pacient合同中添加一些新的数据,因此医生需要有一种机制来解密和加密数据,而平静者也应该能够看到他的数据。

每个客户都会有一个账户,并且使用该帐户应该注册一份pacient合同,在那里他可以用他的私钥加密他的所有个人数据。医生将拥有一个账户,以便能够进行交易(在这种情况下,交易将将一些健康数据写入Pacient合同中)

我的方法:

  1. 来自Pacient合同的所有医疗数据都将使用pacient私钥加密/加密。
  2. 当一个病人去看医生时,他需要把他的私人钥匙给他,以便让医生查阅他以前的医疗数据,并在他的合同中写入更多的医疗数据。

这种方法的丑陋之处在于,所有时候,医生都需要将他的私钥交给医生,然后医生就可以访问任何时候的数据。

是否有其他方法将敏感数据保存在公共区块链中,或者是更高效的EHR dApp解决方案?

EN

回答 2

Ethereum用户

发布于 2019-02-25 10:36:08

在病人的合同中,您可以添加规则,使谁可以将数据添加到他/她现有的医疗记录中:

代码语言:javascript
复制
For Example:
Patient.sol
contract Patient {
         mapping(address=>doctorStruct[]) public doctorDetails;
         struct doctorStruct {
             address doctorAccountAddr;
             bool canAddData;
         }
}

在这里,病人可以要求医生的公钥(帐户地址),而不是与医生共享私钥,并将其添加到Patient.sol的doctorDetails中。接下来,每当医生想要添加数据时,只需确保doctorDetails[docAddress].canAdd = true

这将是一个很好的起点,可以很好地熟悉稳健智能契约:https://solidity.readthedocs.io/en/v0.5.4/

一旦你获得了良好的实效性,那么你就可以在合同级别上管理一切,而不需要加密/解密。

票数 0
EN

Ethereum用户

发布于 2019-02-26 07:28:06

一种选择是转移到一个私人的,允许的区块链,但我不确定这是你想要做的。

在您的例子中,我将构建一个处理权限的dApp。

票数 0
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/67546

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档