-
Notifications
You must be signed in to change notification settings - Fork 5
Algorithm flowcharts
Tim Hobson edited this page Oct 30, 2022
·
1 revision
%%
%% DID TIMESTAMP VERIFICATION (SIMPLIFIED)
%%
flowchart TD
%%% Simplified version
S1["Given a DID"] -->
S2["Get the DID's Bitcoin transaction"] -->
PK1["Extract the IPFS address from the OP_RETURN"] -->
PK2["Retrieve the DID document from IPFS"] -->
PK3["Hash the DID document (including public keys)"] -->
PK4["Check the hash matches the IPFS address"] -->
PK["This proves that the public keys have not <br> changed since the transaction was mined"]
style PK fill:#6BD09D,stroke:#333,stroke-width:4px
S2 --> TS1["Get the corresponding Bitcoin block header"] -->
TS2["Get the Merkle proof for the transaction"] -->
TS3["Verify that the Merkle proof produces <br> the Merkle root contained in the header"] -->
TS4["Get the block timestamp from the header"] -->
TS["This proves that the transaction is <br> contained in the block with this timestamp"]
style TS fill:#6BD09D,stroke:#333,stroke-width:4px