f5532ad9f7
Merge pull request #28 from garious/go-udp
...
Switch to UDP
2018-03-01 14:25:20 -07:00
570e71f050
Check for duplicate signatures
...
TODO: have client add recent hash to each message
2018-03-01 14:07:39 -07:00
c9cc4b4369
Switch to UDP from TCP
...
And remove all the sleep()'ing around.
2018-03-01 13:47:53 -07:00
7111aa3b18
Copy disclaimer from the loom repository
...
Per @aeyakovenko, added Loom's disclaimer.
2018-03-01 09:16:39 -07:00
12eba4bcc7
Merge pull request #26 from garious/add-accountant
...
Add testnode and client-demo
v0.3.0
2018-02-28 19:48:05 -07:00
4610de8fdd
Switch to sync_channel to preserve order
2018-02-28 19:33:28 -07:00
3fcc2dd944
Add testnode
...
Fixes #20
2018-02-28 18:05:20 -07:00
8299bae2d4
Add accountant stub
2018-02-28 16:01:12 -07:00
604ccf7552
Add network interface for accountant
2018-02-28 14:00:04 -07:00
f3dd47948a
Merge pull request #25 from garious/verify-historian-input
...
Verify event signatures before adding log entries
2018-02-28 10:34:10 -07:00
c3bb207488
Verify event signatures before adding log entries
2018-02-28 10:23:01 -07:00
9009d1bfb3
Merge pull request #24 from garious/add-accountant
...
Add accountant
2018-02-27 11:41:40 -07:00
fa4d9e8bcb
Add more tests
2018-02-27 11:28:10 -07:00
34b77efc87
Sleep longer for TravisCI
2018-02-27 11:08:28 -07:00
5ca0ccbcd2
Add accountant
2018-02-27 10:54:06 -07:00
6aa4e52480
Merge pull request #23 from garious/add-transaction
...
Generalize the event log
2018-02-26 17:40:55 -07:00
f98e9a2ad7
Fix overuse of search-and-replace
2018-02-26 17:03:50 -07:00
c6134cc25b
Allow the historian to track ownership of any type of data
2018-02-26 17:01:22 -07:00
0443b39264
Allow event log to hold events of any serializable (hashable) type
2018-02-26 16:42:31 -07:00
8b0b8efbcb
Allow Entry to hold events of any kind of data
2018-02-26 15:37:33 -07:00
97449cee43
Allow events to hold any kind of data
2018-02-26 15:31:01 -07:00
ab5252c750
Move entry verification out of Entry impl
2018-02-26 14:39:01 -07:00
05a27cb34d
Merge pull request #22 from garious/add-transaction
...
Extend the event log with a Transaction event to transfer possession
2018-02-26 11:26:58 -07:00
b02eab57d2
Extend the event log with a Transaction event to transfer possession
...
This implementation assumes 'from' is the current owner of 'data'.
Once that's verified, the signature ensures that nobody modified
'data' (the asset being transferred) or 'to' the entity taking
ownership.
Fixes #14
2018-02-26 11:09:11 -07:00
b8d52cc3e4
Make the Discovery event into a struct instead of a tuple
v0.2.3
2018-02-24 11:15:03 -07:00
7d9bab9508
Update rendered demo diagram
2018-02-24 11:09:00 -07:00
944181a30e
Version bump
2018-02-24 11:06:08 -07:00
d8dd50505a
Merge pull request #21 from garious/add-signatures
...
Add signatures
2018-02-24 10:47:25 -07:00
d78082f5e4
Test bad signature
2018-02-24 10:27:51 -07:00
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
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
afb830c91f
Merge pull request #18 from garious/add-historian
...
self-ticking logger
v0.2.2
2018-02-21 12:30:10 -07:00
c1326ac3d5
Up the time to sleep so that ticks are generated
2018-02-21 12:22:23 -07:00
513a1adf57
Version bump
2018-02-21 12:01:17 -07:00
7871b38c80
Update demo to use self-ticking logger
2018-02-21 11:52:03 -07:00
b34d2d7dee
Allow the logger to inject Tick events on its own
2018-02-21 11:33:42 -07:00
d7dfa8c22d
Readme cleanup
2018-02-21 10:07:32 -07:00
8df274f0af
Add hash seed to verify_slice()
2018-02-21 09:43:34 -07:00
07c4ebb7f2
Add message sequence chart for readme demo
...
Fixes #17
2018-02-21 09:33:50 -07:00
49605b257d
Merge pull request #16 from garious/add-serde
...
Add serialization/deseriation support to event log
2018-02-20 16:55:46 -07:00
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
bd84cf6586
Merge pull request #15 from garious/add-historian
...
Demo proof-of-history and reordering attack
2018-02-20 15:05:20 -07:00
6e37f70d55
Test reorder attack
2018-02-20 14:46:36 -07:00
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
e57bba17c1
Version bump
v0.2.1
2018-02-19 16:59:41 -07:00
959da300cc
Shorten readme lines
2018-02-19 16:53:58 -07:00
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
6effd64ab0
Update readme with sha256 usage
2018-02-19 16:48:29 -07:00
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
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