Commit Graph
100 Commits
Author SHA1 Message Date
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 1660b0e72c tx_pool: make the max tx size a consensus rule from v8 2018-09-13 09:43:29 +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
moneromooo-monero 4e1e9a607e blockchain: add mainnet v8 height targetting 18 october
and v9 a day later
2018-09-02 16:02:17 +00:00
moneromooo-monero f0bc684ccd mnemonics: fix outrageous compile time with CLANG in release
from several minutes to 10-15 seconds
2018-08-29 09:53:48 +00:00
moneromooo-monero 2c636e45f2 simplewallet: handle transfers using a monero: URI 2018-08-28 19:55:49 +00:00
moneromooo-monero 5083614ffa dns_util: add new DNSSEC trust anchor for rollover
It should be useful from the 11th of october 2018.

The old key is still trusted for now.

https://www.icann.org/resources/pages/ksk-rollover
2018-08-28 11:29:51 +00:00
moneromooo-monero 8eab6147f4 epee: use the socket::bind variant which does not throw
When this throws in a loop, stack trace generation can take
a significant amount of CPU
2018-08-27 17:02:07 +00:00
moneromooo-monero 5019852adc cn_deserialize: extract payment ids from extra nonce 2018-08-25 18:39:48 +00:00
moneromooo-monero 2af1ec3af7 cn_deserialize: support pruned transactions 2018-08-25 18:39:45 +00:00