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
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
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
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
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
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
moneromooo-monero
67666b14ba
unit_tests: disable mlocker tests on windows (no implementation)
2018-08-23 21:59:33 +00:00
moneromooo-monero
c955257c4a
electrum-words: fix bytes_to_words on big endian
...
Reported by cslashm
2018-08-23 07:58:23 +00:00
moneromooo-monero
d2e26c23f3
add and use constant time 32 byte equality function
2018-08-23 07:56:51 +00:00
moneromooo-monero
62511df622
wallet2: fix refresh retry when a block/tx fails to parse
...
It would switch to a new set of blocks and fail, getting out of sync
with the hash chain in the process
2018-08-22 09:57:46 +00:00
moneromooo-monero
b219c24c3a
wallet2: trim hash chain after fast refresh of hashes
...
This ensures it can't end up filled with the actual placeholders
2018-08-22 09:57:42 +00:00
moneromooo-monero
5b6bcca32a
wallet2: fix checking the wrong vector when adding hashes
...
The two vectors should be the same size anyway, so add an assert
to catch any case where they aren't
2018-08-22 09:57:39 +00:00
moneromooo-monero
2a100fd81f
unit_tests: add tests for incremental keccak
2018-08-20 08:47:31 +00:00
moneromooo-monero
48a7bc4280
tx_pool: fix infinite loop when failing to find a meta record
2018-08-19 17:47:05 +00:00
moneromooo-monero
76ac5a8fbe
wallet2: ask for a binary output distribution, for speed
2018-08-19 15:58:25 +00:00
moneromooo-monero
dc6c0696fd
db_lmdb: speedup the get_output_distribution common case
2018-08-19 15:58:21 +00:00
moneromooo-monero
76affd941b
epee: some speedup in parsing
2018-08-19 15:29:01 +00:00
moneromooo-monero
11c6718865
util: remove unused <ustat.h>
...
It's obsolete and removed from at least Arch Linux 8.2
Reported by moneroexamples
2018-08-17 13:06:38 +00:00
moneromooo-monero
29dea03091
epee: resize vectors where possible in serialization
...
to avoid unnecessary repeated reallocation
2018-08-17 01:08:52 +00:00