Commit Graph

13231 Commits

Author SHA1 Message Date
Greg Fitzgerald
d78082f5e4 Test bad signature 2018-02-24 10:27:51 -07:00
Greg Fitzgerald
08e501e57b Extend the event log with a Claim event to claim possession
Unlike a Discovery event, a Claim event associates a public key
with a hash. It's intended to to be used to claim ownership of
some hashable data. For example, a graphic designer could claim
copyright by hashing some image they created, signing it with
their private key, and publishing the hash-signature pair via
the historian. If someone else tries to claim it as their own,
the designer can point to the historian's log as cryptographically
secure evidence that the designer's copy existed before anyone
else's.

Note there's nothing here that verifies the first claim is the actual
content owner, only that the first claim almost certainly happened
before a second.
2018-02-24 10:09:49 -07:00
Greg Fitzgerald
29a607427d Rename UserDataKey to Discovery
From the perspective of the log, when some data's hash is added,
that data is "discovered" by the historian.  Another event
might be a "claim" that some signed data belongs to the owner of a
public key.
2018-02-24 05:25:19 -07:00
Greg Fitzgerald
afb830c91f Merge pull request #18 from garious/add-historian
self-ticking logger
v0.2.2
2018-02-21 12:30:10 -07:00
Greg Fitzgerald
c1326ac3d5 Up the time to sleep so that ticks are generated 2018-02-21 12:22:23 -07:00
Greg Fitzgerald
513a1adf57 Version bump 2018-02-21 12:01:17 -07:00
Greg Fitzgerald
7871b38c80 Update demo to use self-ticking logger 2018-02-21 11:52:03 -07:00
Greg Fitzgerald
b34d2d7dee Allow the logger to inject Tick events on its own 2018-02-21 11:33:42 -07:00
Greg Fitzgerald
d7dfa8c22d Readme cleanup 2018-02-21 10:07:32 -07:00
Greg Fitzgerald
8df274f0af Add hash seed to verify_slice() 2018-02-21 09:43:34 -07:00
Greg Fitzgerald
07c4ebb7f2 Add message sequence chart for readme demo
Fixes #17
2018-02-21 09:33:50 -07:00
Greg Fitzgerald
49605b257d Merge pull request #16 from garious/add-serde
Add serialization/deseriation support to event log
2018-02-20 16:55:46 -07:00
Greg Fitzgerald
fa4e232d73 Add serialization/deseriation support to event log
See bincode and serde_json for usage:
https://github.com/TyOverby/bincode

Fixes #1
2018-02-20 16:26:13 -07:00
Greg Fitzgerald
bd84cf6586 Merge pull request #15 from garious/add-historian
Demo proof-of-history and reordering attack
2018-02-20 15:05:20 -07:00
Greg Fitzgerald
6e37f70d55 Test reorder attack 2018-02-20 14:46:36 -07:00
Greg Fitzgerald
d97112d7f0 Explain proof-of-history in the readme
Also:
* Hash userdata so that verification works as the readme describes.
* Drop itertools package. Found a way to use std::iter instead.

Fixes #8
2018-02-20 14:04:49 -07:00
Greg Fitzgerald
e57bba17c1 Version bump v0.2.1 2018-02-19 16:59:41 -07:00
Greg Fitzgerald
959da300cc Shorten readme lines 2018-02-19 16:53:58 -07:00
Greg Fitzgerald
ba90e43f72 Update benchmark
* Add asm, though it doesn't make it faster. TODO: use avx instructions.
* Do 10x less hashes, since sha256 is more expensive.
2018-02-19 16:51:35 -07:00
Greg Fitzgerald
6effd64ab0 Update readme with sha256 usage 2018-02-19 16:48:29 -07:00
Greg Fitzgerald
e18da7c7c1 Merge pull request #13 from garious/sha256-hash
Use sha256 hashes instead of Rust's builtin hasher.
2018-02-19 16:43:26 -07:00
Greg Fitzgerald
0297edaf1f Use sha256 hashes instead of Rust's builtin hasher.
Causes a 20x performance degradation. Enabling asm did not
speed things up.
2018-02-19 16:23:53 -07:00
Greg Fitzgerald
b317d13b44 Add codecov configuration 2018-02-19 13:02:59 -07:00
Greg Fitzgerald
bb22522e45 Remove assertions that fail in the kcov docker container v0.2.0 2018-02-19 12:54:01 -07:00
Greg Fitzgerald
41053b6d0b Merge pull request #12 from garious/add-historian
Add historian demo
2018-02-19 12:40:44 -07:00
Greg Fitzgerald
bd3fe5fac9 Sleep a little longer to ensure Travis context switches 2018-02-19 12:33:33 -07:00
Greg Fitzgerald
10a70a238b Cleanup demo 2018-02-19 12:25:57 -07:00
Greg Fitzgerald
0bead4d410 Fix markdown link 2018-02-19 12:12:45 -07:00
Greg Fitzgerald
4a7156de43 Move hash generation into stateless function 2018-02-19 12:09:58 -07:00
Greg Fitzgerald
d88d1b2a09 Reset historian's hasher between events
Hasher will generate different hashes for the same input if it
had already generated a hash.

Also add a binary to ensure the example in the README works.
2018-02-19 12:03:06 -07:00
Greg Fitzgerald
a7186328e0 Add docs
Fixes #11
2018-02-19 09:27:14 -07:00
Greg Fitzgerald
5e3c7816bd Ensure verify_slice succeeds 2018-02-19 09:09:24 -07:00
Greg Fitzgerald
a2fa60fa31 Merge pull request #10 from garious/add-historian
Better names
2018-02-18 10:16:05 -07:00
Greg Fitzgerald
ceb65c2669 Better function names 2018-02-18 10:05:54 -07:00
Greg Fitzgerald
fd209ef1a9 Rename event crate to log 2018-02-18 09:59:33 -07:00
Greg Fitzgerald
471f036444 Better names
Event -> Entry
EventData -> Event
2018-02-18 09:53:40 -07:00
Greg Fitzgerald
6ec0e5834c Merge pull request #9 from garious/add-historian
Add historian
2018-02-17 21:22:48 -07:00
Greg Fitzgerald
4c94754661 More coverage 2018-02-17 21:13:52 -07:00
Greg Fitzgerald
831e2cbdc9 Add historian
A microservice that continuously generates hashes, only stopping to
tag messages with the latest hash.

Fixes #8
2018-02-17 20:58:23 -07:00
Greg Fitzgerald
3550f703c3 Fix typo
We don't write test for the readme. :)
v0.1.3
2018-02-16 12:53:46 -07:00
Greg Fitzgerald
ea1d57b461 Update description 2018-02-16 12:51:57 -07:00
Greg Fitzgerald
49386309c8 Architecture -> Specification 2018-02-16 12:44:00 -07:00
Greg Fitzgerald
b7a95ab7cc Re-add docs link 2018-02-16 12:40:33 -07:00
Greg Fitzgerald
bf35b730de More metadata 2018-02-16 12:37:20 -07:00
Greg Fitzgerald
c2f28df9e3 Add badges for latest crate and documentation v0.1.1 2018-02-16 12:32:47 -07:00
Greg Fitzgerald
ebe00f40fa Version bump 2018-02-16 12:24:55 -07:00
Greg Fitzgerald
ae41de91c2 Fix codecov badge url 2018-02-16 12:19:32 -07:00
Greg Fitzgerald
daa594cc64 Use SPDX identifier for license name 2018-02-16 12:17:28 -07:00
Greg Fitzgerald
6a04ccca5b Add description and badge 2018-02-16 12:11:51 -07:00
Greg Fitzgerald
48ec84c399 Prep for ownership transfer and rename 2018-02-16 11:53:14 -07:00