3 ms·
Signed commits still let you falsify your own work after the fact. You need an external trusted service, a digital notary essentially, that would provide a sig
by dkarl 6y ago
Signed commits still let you falsify your own work after the fact. You need an external trusted service, a digital notary essentially, that would provide a signed record that you submitted a commit on a certain date with certain set of ancestor commits. Each time you added an entry, you would submit the hashes of all the entries in the book to the digital notary and get a signed record that you submitted those commits on that date. Inability to produce this record would be similar to having erasures or pages torn out in a lab book.
- homarp 6y agoa public blockchain would do for the digital notary? or hash posted on twitter?
- dmurray 6y agoYou can do this in a pretty cheap and low-tech way by publishing the hash of your current state somewhere that will keep a permanent record. E.g. the Bitcoin blockchain or a classified ad in a local newspaper.
- yodon 6y agoThis. True lab notebooks are not just personal notes, they are a legal record. Not every page of every lab notebook will matter, but it absolutely happens and is one of the many real use cases for keeping a lab notebook. If you invent something or discover something of significance, you will want this. Paper notebooks have pages stitched together and ink that can be run through chemical analysis to see if all the text on the page was written in a single session by the same pen. Forensic examiners have about 100 years of experience assessing paper documents. Digital systems can provide legal grade archival support but a sweet front end editor with copy paste and markdown support does not imply anything about traceability of the contents.
- zie 6y agoA VCS like Fossil at least makes the parent commits un-fungible, so you would only need to sign the latest commit, and not every commit every single time. Git is amazing in it's flexibility, but it's not necessarily always the right VCS solution. Otherwise I agree with your answer about Git.
- alted 6y agoYep! This is already done and for exactly this purpose; I believe the common term is "trusted timestamping" [1]. [1] https://en.wikipedia.org/wiki/Trusted_timestamping https://en.wikipedia.org/wiki/Trusted_timestamping