node
node copied to clipboard
Timestamp Receipts — Add Timestamp to Anchor
We need to support Timestamp Receipts.
RDD: https://github.com/poetapp/documentation/blob/master/rdd/timestamp-receipts.md
Implementation TBD. Could be implemented in poet-node, as well as a separate project. Could run as a script, functions or an API.
@lautarodragan I agree with your recommendation. I am putting this in the Mainnet-beta milestone; let me know if you think it should be pushed back into a later release.
@lautarodragan @kennylavender Has this task been covered with the recent claim batch work you completed? I read the links in the description at the top and it seems that it has been achieved, but want to double-check this with you before we consider this task closed.
@geoffturk I don’t think so. We still need to address this.
Timestamp Receipts are used to verify that a given set of data existed at a point in time by checking the hash of the set of data against a blockchain block.
If we store a hash of the work in a work claim, and that claim is part of a batch, and that batch is hashed on the Bitcoin blockchain (IPFS directory hash is a merkle root of the directory content hashes) -- is that not all the proof we need?
A chainpoint receipt as a JSON-LD document that contains everything you need to prove that a given hash is part of the merkle tree that was hashed to the blockchain, but do we need to provide chainpoint-style receipts?
IMO, they're maybe useful for offline validation of certificates, but wouldn't you still need to confirm that the hash in question is indeed part of a blockchain block? So is there really such thing as true offline validation?
All we really need is to include a deterministically reproducible hash of the contents we want to anchor in a claim. To verify that anchor is valid for a given document:
- Hash the file using the deterministic hashing algorithm.
- Locate the file on Po.et explorer by the hash. (If you find it, you know the hash matches the file you're searching for).
- Pick up the block id from the Po.et explorer.
- Make sure that block hash actually exists on the Bitcoin blockchain.
By following those steps, anybody can independently verify with cryptographic proof that the file and corresponding claim existed at the time the Bitcoin block was mined.
@ericelliott that's what I call Solution 1, but it has some complications as stated above.
Fine to leave in here for now, but not actively going to do anything here until Q1.
OK. Potential candidate for PML2 milestone when we start it.
Moving to planned, priority tbd with @wdavidturner