我正试图通过区块链进行文档验证。我尝试这样做的方式是对文档进行数字签名,并将其哈希存储在块链上。现在我正在尝试创建一个撤销文档的特性。如何才能做到这一点?例如:如果鲍勃获得了政府颁发的驾驶执照,而政府却把他的执照放在一个公共封锁链上,却被抓到酒后驾驶,而政府决定吊销他的执照。怎样才能实现这一功能,这样当有人询问他的许可证时,他们就会认为签名无效?还是有一种不同的方法可以用来实现相同的功能?
发布于 2019-03-27 19:41:39
在我看来,您可以简单地存储一些额外的数据以及哈希。最简单的是,它可以是一个布尔值,表示原始文档是否仍然有效。
下面是一个非常简单的示例:
pragma solidity ^0.5.5;
contract Revoke {
mapping(string => bool) validities;
function store(string memory hash) public {
validities[hash] = true;
}
function revoke(string memory hash) public {
validities[hash] = false;
}
function isValid(string memory hash) public view returns (bool) {
return validities[hash];
}
}
https://ethereum.stackexchange.com/questions/68942
复制相似问题