Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Timestamp manuscripts with OpenTimestamps #274

Merged
merged 2 commits into from
Mar 4, 2017
Merged

Conversation

dhimmel
Copy link
Collaborator

@dhimmel dhimmel commented Mar 3, 2017

Uses opentimestamps.org to prove existence of each manuscript version at their corresponding points in time.

Runs for deployment manuscripts only.

Closes #269

Uses opentimestamps.org to prove existence of each manuscript version
at their corresponding points in time.

For deployment manuscripts only.

Closes greenelab#269
@dhimmel
Copy link
Collaborator Author

dhimmel commented Mar 3, 2017

greenelab/deep-review is a collaboratively written review article on deep learning in precision medicine. We're using GitHub to write the article in markdown. We have a build process to automatically download citation medata, create the bibliography, and export HTML and PDF versions of the manuscript. We use Travis CI to:

  1. Build every pull request, thereby spotting citation or other errors.
  2. Build commits to master and deploy (commit) the resulting manuscript to and citation information back to the GitHub.

This pull request adds manuscript proof of existence to part 2 above. It uses OpenTimestamps to create manuscript timestamps (manuscirpt hashes that go into a Merkle tree whose root is written to the Bitcoin blockchain). The .ots files that are created, allow verification at later dates.

OpenTimestamps by @petertodd is very innovative... it's low cost to run and scales since users store the relevant path through the Merkle tree themselves. OpenTimestamps is still alpha, so it may not be all smooth sailing.

Alerting @ctb and @profjsb, since we discussed proof of existence for science at the Moore Investigator Symposium. Also tagging @bgcarlisle who's blogged about timestamping science using bitcoin. Thoughts and code review appreciated.

@dhimmel
Copy link
Collaborator Author

dhimmel commented Mar 3, 2017

Some potential shortcomings of the current implementation:

  • only manuscript existence is proven, not who contributed what parts. Who contributed what at what time would be more useful. If we timestamp the git commit hash of the source repository, then we could also cryptographically timestamp the commit history. Note that git's reliance on the recently broken SHA1 is not ideal.
  • it doesn't prove that no other versions of the manuscript existed at the same time. While this won't matter for this review, one could imagine a researcher writes many documents, timestamps them, and then later only publicizes the documents that turned out to be true.

@dhimmel
Copy link
Collaborator Author

dhimmel commented Mar 3, 2017

If we timestamp the git commit hash of the source repository, then we could also cryptographically timestamp the commit history.

f39ba3b adds the git commit hash to a README file, which is stamped.

@dhimmel
Copy link
Collaborator Author

dhimmel commented Mar 4, 2017

Going to merge this now as it's hard to test the Travis deployment without actually pushing a change to master.

But discussion still welcome.

@dhimmel dhimmel merged commit 65d0006 into greenelab:master Mar 4, 2017
dhimmel added a commit that referenced this pull request Mar 4, 2017
This build is based on
65d0006.

This commit was created by the following Travis CI build and job:
https://travis-ci.org/greenelab/deep-review/builds/207788285
https://travis-ci.org/greenelab/deep-review/jobs/207788286

[ci skip]

The full commit message that triggered this build is copied below:

Timestamp manuscripts with OpenTimestamps (#274)

Closes #269
dhimmel added a commit that referenced this pull request Mar 4, 2017
This build is based on
65d0006.

This commit was created by the following Travis CI build and job:
https://travis-ci.org/greenelab/deep-review/builds/207788285
https://travis-ci.org/greenelab/deep-review/jobs/207788286

[ci skip]

The full commit message that triggered this build is copied below:

Timestamp manuscripts with OpenTimestamps (#274)

Closes #269
@dhimmel dhimmel deleted the ots branch March 4, 2017 23:29
dhimmel added a commit that referenced this pull request Mar 4, 2017
Affects gh-pages branch only.

Fixed to allow reading from and writing to the same file.
See http://stackoverflow.com/a/3897483/4651668

Bug introduced in #274.
dhimmel added a commit that referenced this pull request Mar 4, 2017
This build is based on
56b25b5.

This commit was created by the following Travis CI build and job:
https://travis-ci.org/greenelab/deep-review/builds/207793662
https://travis-ci.org/greenelab/deep-review/jobs/207793663

[ci skip]

The full commit message that triggered this build is copied below:

Fix blank output/README.md bug (#275)

Affects gh-pages branch only.

Fixed to allow reading from and writing to the same file.
See http://stackoverflow.com/a/3897483/4651668

Bug introduced in #274.
dhimmel added a commit that referenced this pull request Mar 4, 2017
This build is based on
56b25b5.

This commit was created by the following Travis CI build and job:
https://travis-ci.org/greenelab/deep-review/builds/207793662
https://travis-ci.org/greenelab/deep-review/jobs/207793663

[ci skip]

The full commit message that triggered this build is copied below:

Fix blank output/README.md bug (#275)

Affects gh-pages branch only.

Fixed to allow reading from and writing to the same file.
See http://stackoverflow.com/a/3897483/4651668

Bug introduced in #274.
dhimmel added a commit to manubot/rootstock that referenced this pull request Jun 29, 2017
Affects gh-pages branch only.

Fixed to allow reading from and writing to the same file.
See http://stackoverflow.com/a/3897483/4651668

Bug introduced in greenelab/deep-review#274.
dhimmel added a commit to dhimmel/deep-review that referenced this pull request Nov 3, 2017
ploegieku added a commit to ploegieku/2023-functional-homology-paper that referenced this pull request Aug 6, 2024
Affects gh-pages branch only.

Fixed to allow reading from and writing to the same file.
See http://stackoverflow.com/a/3897483/4651668

Bug introduced in greenelab/deep-review#274.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant