在Corda,附件是如何散列和验证的?

时间:2018-05-14 12:51:20

标签: corda

关于将附件JAR文件上传到节点时Corda生成的SecureHash,我有以下问题:

  1. 根据文件的内容,哈希总是唯一的吗?
  2. 如果JAR文件的内容发生变化,是否保证哈希值会改变(就像使用普通的哈希函数一样)?
  3. 对方是否可以在最后验证哈希的完整性(并检查附件是否未被篡改)?
  4. 对方是否可以验证jar的真实性(已经由上传者签名)?

1 个答案:

答案 0 :(得分:0)

  1. 理论上,SecureHash是使用各种散列算法生成的散列的包装器。但是,只有使用SHA-2哈希函数系列的SecureHash.SHA256已经实现了Corda 3.1。与此算法的哈希冲突非常极不可能。
  2. 同样,如果JAR内容发生变化,极不可能,哈希将保持不变。
  3. 首次收到附件后,节点会在将其导入附件存储之前检查它是否为有效的JAR文件。它不是由对方发送附件散列,而是计算附件的散列本身,并将该散列用作附件的ID。
  4. 从Corda 3.1开始实施JAR签名。节点只检查JAR文件是否有效。