Commit Graph

430 Commits

Author SHA1 Message Date
Greg Fitzgerald 8d17aed785 Process timestamps as they are added 2018-03-08 15:39:03 -07:00
Greg Fitzgerald 2379792e0a Add DateTime and Cancel conditions
Fixes #32, #33
2018-03-08 08:17:08 -07:00
Greg Fitzgerald b6d8f737ca Introducing, the mint
Use the mint to pair a new private key with new tokens.
2018-03-07 16:58:04 -07:00
Greg Fitzgerald 9b26892bae Add a demo app to generate the genesis file 2018-03-04 01:21:40 -07:00
Greg Fitzgerald 11a0f96f5e Add command-line tool for generating a genesis block 2018-03-03 17:35:05 -07:00
Greg Fitzgerald 4610de8fdd Switch to sync_channel to preserve order 2018-02-28 19:33:28 -07:00
Greg Fitzgerald 3fcc2dd944 Add testnode
Fixes #20
2018-02-28 18:05:20 -07:00
Greg Fitzgerald 604ccf7552 Add network interface for accountant 2018-02-28 14:00:04 -07:00
Greg Fitzgerald 0443b39264 Allow event log to hold events of any serializable (hashable) type 2018-02-26 16:42:31 -07:00
Greg Fitzgerald 944181a30e Version bump 2018-02-24 11:06:08 -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 513a1adf57 Version bump 2018-02-21 12:01:17 -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 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 2018-02-19 16:59:41 -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 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 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 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
Greg Fitzgerald da01f45d39 Rename the project 2018-02-16 11:49:21 -07:00
Greg Fitzgerald 306619c2a9 Upgrade dependencies
* This patch assumes Travis is already pointing 'stable' to 1.24
2018-02-15 15:26:52 -07:00
Greg Fitzgerald b5645bc776 Rename project 2018-02-15 13:59:33 -07:00
Greg Fitzgerald 31d79727b6 Parallelize verification 2018-02-14 15:23:13 -07:00
Greg Fitzgerald bad95b7712 cargo init 2018-02-14 07:23:59 -07:00