Contract-Development

如何撤銷區塊鏈上文件的簽名?

  • March 27, 2019

我正在嘗試通過區塊鏈進行文件驗證。我嘗試這樣做的方法是對文件進行數字簽名,並將其雜湊儲存在區塊鏈上。現在我正在嘗試創建一個用於撤銷文件的功能。如何做到這一點?例如:如果 Bob 已獲得政府頒發的駕駛執照,該駕駛執照已將他的執照放在公共區塊鏈上,但被發現酒駕,政府決定吊銷他的執照。什麼是實現此功能的方法,以便當有人查詢他的許可證時,他們會看到簽名無效?還是我可以使用不同的方法來實現相同的功能?

正如我所看到的,您可以簡單地儲存一些額外的數據以及散列。在最簡單的情況下,它可以是一個布爾值,表示原始文件是否仍然有效。

這是一個非常簡化的範例:

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