moneromooo-monero
6e6ffc0650
wallet2_api: bring up to latest wallet api
2018-09-16 13:24:48 +00:00
moneromooo-monero
4cb1d879f6
blockchain_blackball: s/return false;/return 0;/
2018-09-14 20:08:52 +00:00
moneromooo-monero
9bdc9109fb
blockchain_blackball: use %zu for size_t
2018-09-14 17:16:08 +00:00
moneromooo-monero
db3db0930e
blockchain_blackball: use mdb_size_t where appropriate
2018-09-14 17:11:11 +00:00
moneromooo-monero
b1f05f589e
blockchain_blackball: error out on fgets error
2018-09-14 16:31:24 +00:00
moneromooo-monero
44259e560e
wallet: ask-password can now ask without encrypting the secret spend key
2018-09-14 11:14:21 +00:00
moneromooo-monero
53a99ca112
cn_deserialize: comment out pruned tx case
...
it's not merged yet
2018-09-14 10:55:50 +00:00
moneromooo-monero
be001326d1
remove obsolete daemon selection of fake outs and old tx construction
2018-09-14 10:51:45 +00:00
moneromooo-monero
ac9346637a
rpc: add a "is an update available" flag in get_info
...
Make it easier for a user to be told when to update
2018-09-14 09:28:03 +00:00
moneromooo-monero
4d52ec0ca4
mlog: do not display http errors by default
...
They're controllable by potential attackers and would just spam
2018-09-14 09:23:00 +00:00
moneromooo-monero
2ace509a78
simplewallet: print reason why refresh+password is needed
2018-09-14 08:26:36 +00:00
moneromooo-monero
4f81cd3a3c
rpc: add cumulative difficulty in block header data
2018-09-13 12:41:59 +00:00
moneromooo-monero
1660b0e72c
tx_pool: make the max tx size a consensus rule from v8
2018-09-13 09:43:29 +00:00
moneromooo-monero
b2bb9312a7
blockchain: simplify output distribution code
2018-09-12 19:20:16 +00:00
moneromooo-monero
befdcbf4be
db_lmdb: do not use base for cumulative distribution
...
it's confusing and needlessly complicated
2018-09-12 19:20:13 +00:00
moneromooo-monero
56b50faab2
wallet: use wipeable_string in more places where a secret is used
2018-09-12 09:26:11 +00:00
moneromooo-monero
07ec748c82
wipeable_string: add hex_to_pod function
2018-09-12 09:26:09 +00:00
moneromooo-monero
9137ad2c63
blockchain: add a testnet v9 a day after v8
...
So that bulletproofs become mandatory
2018-09-11 13:38:36 +00:00
moneromooo-monero
ac4f71c200
wallet2: bump testnet rollback to account for coming reorg
2018-09-11 13:38:35 +00:00
moneromooo-monero
8f418a6db0
bulletproofs: #include <openssl/bn.h>
...
Apparently needed for openssl 1.1.x
2018-09-11 13:38:34 +00:00
moneromooo-monero
2bf636503f
bulletproofs: speed up the latest changes a bit
2018-09-11 13:38:32 +00:00
moneromooo-monero
044dff5a30
bulletproofs: scale points by 8 to ensure subgroup validity
2018-09-11 13:38:31 +00:00
moneromooo-monero
c83012c476
bulletproofs: match aggregated verification to sarang's latest prototype
2018-09-11 13:38:30 +00:00
moneromooo-monero
ce0c743205
performance_tests: add padded bulletproof construction
2018-09-11 13:38:24 +00:00
moneromooo-monero
1224e53b74
core_tests: add a test for 4-aggregated BP verification
2018-09-11 13:38:22 +00:00
moneromooo-monero
0e6ed559c6
fuzz_tests: add a bulletproof fuzz test
2018-09-11 13:38:21 +00:00
moneromooo-monero
463434d1f7
more comprehensive test for ge_p3 comparison to identity/point at infinity
...
Reported by QuarksLab.
2018-09-11 13:38:20 +00:00
moneromooo-monero
d0a0565f7d
unit_tests: add a few more multiexp unit tests
2018-09-11 13:38:19 +00:00
moneromooo-monero
6526d87f17
core_tests: add a test for a tx with empty bulletproof
2018-09-11 13:38:18 +00:00
moneromooo-monero
a129bbd944
multiexp: fix maxscalar off by one
...
Reported by QuarksLab.
2018-09-11 13:38:17 +00:00
moneromooo-monero
7ed496cc78
ringct: error out when hashToPoint* returns the point at infinity
...
Reported by QuarksLab.
2018-09-11 13:38:16 +00:00
moneromooo-monero
d1591853bf
cryptonote_basic: check output type before using it
...
Reported by QuarksLab.
2018-09-11 13:38:15 +00:00
moneromooo-monero
61632dc166
ringct: prevent a potential very large allocation
...
Reported by QuarksLab.
2018-09-11 13:38:14 +00:00
moneromooo-monero
a4317e61b5
crypto: some paranoid checks in generate_signature/check_signature
...
Reported by QuarksLab.
2018-09-11 13:38:12 +00:00
moneromooo-monero
7434df1cc6
crypto: never return zero in random32_unbiased
...
This avoids problems when the caller can't deal with a zero
walue, which happens often enough that it's worth nipping the
problem in the bud.
2018-09-11 13:38:12 +00:00
moneromooo-monero
0825e97436
multiexp: fix wrong Bos-Coster result for 1 non trivial input
...
Reported by QuarksLab.
2018-09-11 13:38:10 +00:00
moneromooo-monero
a1359ad43c
Check inputs to addKeys are in range
...
Reported by QuarksLab.
2018-09-11 13:38:09 +00:00
moneromooo-monero
fe0fa3b9c5
bulletproofs: reject x, y, z, or w[i] being zero
...
Also try again when we're generate a proof with those characteristics
Reported by QuarksLab.
2018-09-11 13:38:08 +00:00
moneromooo-monero
5ffb2ff9b7
v8: per byte fee, pad bulletproofs, fixed 11 ring size
2018-09-11 13:38:07 +00:00
moneromooo-monero
869b3bf824
bulletproofs: a few fixes from the Kudelski review
...
- fix integer overflow in n_bulletproof_amounts
- check input scalars are in range
- remove use of environment variable to tweak straus performance
- do not use implementation defined signed shift for signum
2018-09-11 13:38:05 +00:00
moneromooo-monero
c429176248
bulletproofs: reject points not in the main subgroup
2018-09-11 13:38:04 +00:00
moneromooo-monero
1569717718
bulletproofs: speed up a few multiplies using existing Hi cache
2018-09-11 13:38:03 +00:00
moneromooo-monero
0b05a0fa74
Add Pippenger cache and limit Straus cache size
2018-09-11 13:38:02 +00:00
moneromooo-monero
51eb3bdcd6
add pippenger unit tests
2018-09-11 13:37:49 +00:00
moneromooo-monero
b17b8db3f5
performance_tests: add stats and loop count multiplier options
...
Stats are: min, median, standard deviation
2018-09-11 13:37:48 +00:00
moneromooo-monero
7314d919e7
perf_timer: split timer class into a base one and a logging one
2018-09-11 13:37:47 +00:00
moneromooo-monero
d126a02b5d
performance_tests: add aggregated bulletproof tx verification
2018-09-11 13:37:46 +00:00
moneromooo-monero
263431c486
Pippenger multiexp
...
Based on sarang's python code
2018-09-11 13:37:45 +00:00
moneromooo-monero
1ed0ed4de4
multiexp: cut down on memory allocations
2018-09-11 13:37:44 +00:00
moneromooo-monero
1b867e7f40
precalc the ge_p3 representation of H
2018-09-11 13:37:42 +00:00
moneromooo-monero
ef56529f93
performance_tests: document the tested bulletproof layouts
2018-09-11 13:37:41 +00:00
moneromooo-monero
3011178021
unit_tests: a couple more bulletproof unit tests for gamma
2018-09-11 13:37:40 +00:00
moneromooo-monero
c444b1b229
require canonical multi output bulletproof layout
2018-09-11 13:37:39 +00:00
moneromooo-monero
7e67c52fa2
Add a define for the max number of bulletproof multi-outputs
2018-09-11 13:37:38 +00:00
moneromooo-monero
2a8fcb421b
Bulletproof aggregated verification and tests
...
Also constrains bulletproofs to simple rct, for simplicity
2018-09-11 13:37:37 +00:00
moneromooo-monero
126196b017
multiexp: some speedups
...
- use a raw memory block to store cache
- use aligned memory
- use doubling API where appropriate
- calculate straus in bands
2018-09-11 13:37:35 +00:00
moneromooo-monero
71d67bda74
aligned: aligned memory alloc/realloc/free
2018-09-11 13:37:34 +00:00
moneromooo-monero
cb9ecab197
performance_tests: add signature generation/verification
2018-09-11 13:37:33 +00:00
moneromooo-monero
bacf0a1e2f
bulletproofs: add aggregated verification
...
Ported from sarang's java code
2018-09-11 13:37:32 +00:00
moneromooo-monero
e895c3def1
make straus cached mode thread safe, and add tests for it
2018-09-11 13:37:31 +00:00
moneromooo-monero
7f48bf05d7
multiexp: bos coster now works for just one point
2018-09-11 13:37:30 +00:00
moneromooo-monero
9ce9f8caf6
bulletproofs: add multi output bulletproofs to rct
2018-09-11 13:37:28 +00:00
moneromooo-monero
f34e2e20bd
performance_tests: add tx checking tests with more than 2 outputs
2018-09-11 13:37:27 +00:00
moneromooo-monero
0793184bd0
performance_tests: add a --verbose flag, and default to terse
2018-09-11 13:37:26 +00:00
moneromooo-monero
939bc22332
add Straus multiexp
2018-09-11 13:37:25 +00:00
moneromooo-monero
9ff6e6a0a7
ringct: add bos coster multiexp
2018-09-11 13:37:24 +00:00
moneromooo-monero
e9164bb38b
bulletproofs: misc optimizations
...
Use double mults where possible, avoid conversions, simplify
2018-09-11 13:37:23 +00:00
moneromooo-monero
112f32f068
performance_tests: add crypto ops
2018-09-11 13:37:22 +00:00
moneromooo-monero
f5d7b9933a
performance_tests: add bulletproofs
2018-09-11 13:37:21 +00:00
moneromooo-monero
8f4ce989c2
performance_tests: add RingCT MLSAG gen/ver tests
2018-09-11 13:37:19 +00:00
moneromooo-monero
1aa10c4364
performance_tests: add (Borromean) range proofs
2018-09-11 13:37:18 +00:00
moneromooo-monero
aacfd6e370
bulletproofs: multi-output bulletproofs
2018-09-11 13:37:17 +00:00
moneromooo-monero
cb1cc757ba
performance_tests: don't override log level to 0
2018-09-11 13:37:16 +00:00
moneromooo-monero
a54dbaee08
blockchain_blackball: add --force-chain-reaction-pass flag
2018-09-10 09:04:21 +00:00
moneromooo-monero
44439c3208
record blackballs as amount/offset, and add export ability
2018-09-10 09:04:18 +00:00
moneromooo-monero
8501b8dffb
crypto_ops_builder: link to EdDSA/Ed25519 draft RFC
...
instead of including the text, as it's not fully free to redistribute
2018-09-09 16:18:49 +00:00
moneromooo-monero
03c07b167d
rpc: return "already mining" in start_mining if already mining
2018-09-09 15:27:30 +00:00
moneromooo-monero
4bce935b40
blockchain_blackball: more optimizations
2018-09-09 12:03:02 +00:00
moneromooo-monero
b66ba78306
blockchain_blackball: do not process duplicate blockchains parts
2018-09-09 12:02:48 +00:00
moneromooo-monero
639a3c019c
blockchain_blackball: make it clear secondary passes are not incremental
...
yet
2018-09-09 12:02:42 +00:00
moneromooo-monero
eb8a51be68
blockchain_blackball: detect spent outputs by partial ring reuse
2018-09-09 12:02:39 +00:00
moneromooo-monero
d6d276c604
blockchain_blackball: fix chain reaction phase in incremental mode
...
It makes it a lot slower, unfortunately
2018-09-09 12:02:36 +00:00
moneromooo-monero
2b2a681b01
blockchain_blackball: avoid false positives for different amounts
...
Identical offset based rings may not actually be identical rings
since they represent different outputs
2018-09-09 12:02:32 +00:00
moneromooo-monero
80e4fef3c6
blockchain_blackball: set transaction looping txn to read only
2018-09-09 12:02:25 +00:00
moneromooo-monero
4801d6b514
blockchain_blackball: add stats
2018-09-09 12:02:02 +00:00
moneromooo-monero
846190fd18
blockchain_blackball: support pre-v2 databases
2018-09-09 12:01:59 +00:00
moneromooo-monero
daa6cc7d73
blockchain_blackball: use LMDB for the cache
...
This uses less memory and makes it faster to load/save, though
makes it slower to run (which is actually faster since it would
previously start swapping anyway).
2018-09-09 12:01:49 +00:00
moneromooo-monero
50cb370d5b
ringdb: allow blackballing many outputs at once
...
It cuts down on txn commits, and speeds up blackballing substantially
2018-09-09 12:01:43 +00:00
moneromooo-monero
347bba9dd1
CMakeLists.txt: detect -fcf-protection=full and -fstack-clash-protection
...
Introduced with GCC 8.2
2018-09-09 11:53:42 +00:00
moneromooo-monero
7418aa6005
README: bump cmake requirement to 3.5, as required by miniupnpc
2018-09-09 10:50:34 +00:00
moneromooo-monero
4469b0c41e
abstract_tcp_server2: fix binding to the wrong IP
2018-09-09 10:48:21 +00:00
moneromooo-monero
df0e7c2feb
wallet2: fix secondary partially signed multisig txes
2018-09-08 23:12:06 +00:00
moneromooo-monero
97764bae3a
wallet_rpc_server: error out if wallet-file and wallet-dir are both used
2018-09-08 20:54:14 +00:00
moneromooo-monero
cd647612b0
rpc: don't include start time if restricted
2018-09-07 13:28:40 +00:00
moneromooo-monero
e611728228
daemon: request no PoW hashes we don't need when asking for blocks
...
This fixes the horrendous slowdown in bc_dyn_stats
2018-09-05 09:43:44 +00:00
moneromooo-monero
7c8f95d3e2
ringct: make conversion functions return const refs
...
This might avoid unnecessary copies.
Reported by stoffu
2018-09-04 18:28:20 +00:00
moneromooo-monero
20171746de
wallet2: factor the creation of a new wallet keys file
2018-09-03 11:27:46 +00:00
moneromooo-monero
be6acfd5be
wallet2: factor new blockchain setup
2018-09-03 11:27:43 +00:00
moneromooo-monero
88fbc4a567
wallet2: fill in v2 height for stagenet
2018-09-03 11:26:28 +00:00
moneromooo-monero
93e7627d5a
cryptonote_format_utils: do not early out on invalid tx pubkeys
...
Another such pubkey might be valid
2018-09-02 23:00:44 +00:00