为什么Indy / Sovrin将索赔/可验证的凭证/证明存储在分类帐中

时间:2019-04-15 07:38:00

标签: hyperledger-fabric hyperledger hyperledger-indy

视频和文档总是说索赔存储在分类帐中,但是只有“凭证定义”或“模式和索赔定义”。真的需要吗?

1 个答案:

答案 0 :(得分:2)

  • 由于可验证凭据通常包含私人数据,因此可验证声明不会存储在分类帐中。

  • 凭据模式写在分类帐上。它们不包含任何私人数据,而仅指定特定类型的文档。例如,它可能指定驾驶执照文件应包含持有人的姓名,姓氏,出生日期以及持有人有资格驾驶的车辆类别。模式只是一个模板,发行人可以根据该模板发出可验证的声明。

  • 凭证定义也写在分类帐上。它还不包含任何私有数据。凭证定义链接到1个凭证架构(该凭证架构必须已经存在)。凭证定义包含发布者用来发布某种类型的可验证声明的公共密钥。

上下文示例

  • 政府决定该国的每个大学文凭都将包含以下字段:NameSurnameUniversity nameProgramDegree他们在分类帐上写凭证架构 Diploma:1.0.0。任何人都可以看到文凭的样子。大学可以使用它为学生颁发文凭(作为可验证的凭据)。
  • Faber Uni.是该国的大学。它希望根据政府对文凭的外观要求来颁发大学学位。因此,Faber Uni 在分类帐凭证定义上写 Faber:Diploma:1.0.0。此凭据定义还包含123的公用密钥Faber Uni,用于发布这种类型的凭据(Faber Uni将安全地保留在私有部分456中)。每次Faber Uni颁发学生文凭作为可验证的凭证时,它将使用密钥456的私有部分对数据进行签名。
  • Faber Uni为其毕业生Bob颁发文凭时,分类账上没有没有此事件的踪迹Faber Uni只需使用私钥Diploma:1.0.0(其公共副本456在分类账上)对符合分类账上的123模式的文档进行签名。
  • 现在Bob想在Abcd找到一份工作,并被要求证明自己的学历。他提交了Faber Uni颁发的凭据,并将其安全地存储在设备中。 Abcd可以从分类帐Faber Uni的文凭签名密钥中读取,并使用它来验证Bob提出的可验证声明上的签名。