Commit Graph

17 Commits

Author SHA1 Message Date
Grégoire Henry
ebcc63aefb Shell: typo in P2P identity proof-of-work 2016-11-25 23:07:05 +01:00
Grégoire Henry
17475aa743 Shell: switch to Blake2b (closes #87 #89)
Also drop the dependencies on Cryptokit.
2016-11-25 19:46:50 +01:00
Grégoire Henry
daf3343dc1 Shell: reduce difficulty for P2P identity...
... until we properly store the nonce in the configuration file,
together with the expected difficulty.
2016-11-25 18:03:57 +01:00
Eitan Chatav
7cb8a42629 lower default target
takes about 2 minutes on my laptop
2016-11-18 14:28:01 -08:00
Eitan Chatav
ffc0189f19 default target
takes a couple seconds on my laptop to generate a proof of work with
this target
2016-11-18 14:07:27 -08:00
Eitan Chatav
2864152e15 use 256 bit target for proof of work
* SHA256 produces 256 bits pseudo-randomly uniformly, so you may
compare to a 256 bit target to get a proof of work
* If you pretend that the hash and targets are both integers between 0
and 2^256 - 1, then the target partitions the range into passing and
failing segments.
* In order to match the use of the `get_uint16` function from
`ocplib-endian`, the easiest way to encode `target` is as a `int list`
which works if not ideal
* This seems like the same thing bitcoin does; difficulty there is
actually not a primary notion but is calculated from a 256 bit target,
which is what gets adjusted over time
2016-11-17 12:02:32 -08:00
Eitan Chatav
0edfae4621 bitmask
use bit mask to check proof of work
2016-11-16 17:09:01 -08:00
Eitan Chatav
ee5aec87ad check proof of work 2016-11-16 17:36:14 +01:00
Eitan Chatav
0398a66423 proof of work start 2016-11-16 17:33:11 +01:00
Grégoire Henry
3c55c72abf Merge remote-tracking branch 'ocp/crypto-box' 2016-11-16 01:19:13 +01:00
Eitan Chatav
4cd86b7ca8 check proof of work 2016-11-09 18:29:57 -08:00
Eitan Chatav
e9ff110d08 proof of work start 2016-11-08 18:18:09 -08:00
Eitan Chatav
1733cd499a handle decryption exceptions 2016-11-07 14:38:02 -08:00
Eitan Chatav
69bc2a33e2 encryption and decryption
I don’t think this is secure since the receiver decrypts the message
and then sends the clear message as a `Recv` event
2016-11-05 12:16:48 -07:00
Eitan Chatav
3a5368434c add secret key to peer file 2016-11-05 09:12:25 -07:00
Eitan Chatav
438281f1e1 include a public key in peer record type
* include a public key in peer record type
* include public key in `Connect` packet
* receive/send public keys in `Connect` packet
* include public key in `connect_to_peer`
* json encode/decode public key
* include public key in peer file encode/decode
* include public key in bootstrapping
2016-11-04 12:07:03 -07:00
Eitan Chatav
dc0061c5d9 crypto box
initial utility functions for encrypted communication using crypto box
(X25519/XSalsa20-Poly1305)
2016-11-03 11:15:31 -07:00