| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
| |
- Straight-forward call interface: `void rx_slow_hash(const char *seedhash, const void *data, size_t length, char *result_hash)`
- Consensus chain seed hash is now updated by calling `rx_set_main_seedhash` whenever a block is added/removed or a reorg happens
- `rx_slow_hash` will compute correct hash no matter if `rx_set_main_seedhash` was called or not (the only difference is performance)
- New environment variable `MONERO_RANDOMX_FULL_MEM` to force use the full dataset for PoW verification (faster block verification)
- When dataset is used for PoW verification, dataset updates don't stall other threads (verification is done in light mode then)
- When mining is running, PoW checks now also use dataset for faster verification
|
| |\
| |
| |
| | |
268a039 Optimized keccak implementation (SChernykh)
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
All tests were conducted on the same PC (Ryzen 5 5600X running at fixed 4.65 GHz).
Before:
test_cn_fast_hash<32> (100000 calls) - OK: 1 us/call
test_cn_fast_hash<16384> (1000 calls) - OK: 164 us/call
After:
test_cn_fast_hash<32> (100000 calls) - OK: 0 us/call
test_cn_fast_hash<16384> (1000 calls) - OK: 31 us/call
More than 5 times speedup for cn_fast_hash.
Also noticed consistent 1-2% improvement in test_construct_tx results.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Implements view tags as proposed by @UkoeHB in MRL issue
https://github.com/monero-project/research-lab/issues/73
At tx construction, the sender adds a 1-byte view tag to each
output. The view tag is derived from the sender-receiver
shared secret. When scanning for outputs, the receiver can
check the view tag for a match, in order to reduce scanning
time. When the view tag does not match, the wallet avoids the
more expensive EC operations when deriving the output public
key using the shared secret.
|
| |/ |
|
| | |
|
| |\
| |
| |
| | |
c36ea26 fix ge_p3_is_point_at_infinity(), which is evaluating field elements that haven't been reduced by the field order (koe)
|
| | |
| |
| |
| | |
haven't been reduced by the field order
|
| |\ \
| | |
| | |
| | | |
e08abaa multisig key exchange update and refactor (koe)
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | | |
If allocating large pages fails, we don't try again.
This has the obvious drawback of not being able to use large pages
if they fail once.
|
| |\ \ \
| |_|/
|/| |
| | | |
187633c slow_hash: don't blow out Mac stack on ARM64 (Howard Chu)
|
| | | | |
|
| |/ / |
|
| |/ |
|
| | |
|
| |\
| |
| |
| | |
86263b3 Honor LARGE_PAGES flag in randomx umask (Howard Chu)
|
| | | |
|
| |/ |
|
| | |
|
| |\
| |
| |
| |
| |
| | |
d20ff4f64 functional_tests: add a large (many randomx epochs) p2p reorg test (moneromooo-monero)
6a0b3b1f8 functional_tests: add randomx tests (moneromooo-monero)
9d42649d5 core: fix mining from a block that's not the current top (moneromooo-monero)
|
| | | |
|
| |/ |
|
| |\
| |
| |
| | |
a11ec4ac1 Support for supercop ASM in wallet, and benchmark for supercop (Lee Clagett)
|
| | | |
|
| |/
|
|
| |
include all public proof parameters in Schnorr challenges, along with hash function domain separators. Includes new randomized unit tests.
|
| |\
| |
| |
| | |
7178bb5c8 keccak: remove aligned check (moneromooo-monero)
|
| | |
| |
| |
| |
| |
| | |
Some tools report the alignment check as UB, which seems a bit
dubious, but since the performance difference between the two
versions is minimal, I'll go with the safe version
|
| |/
|
|
| |
Update copyright year to 2020
|
| |\
| |
| |
| | |
613071f use memwipe on secret k/alpha values (moneromooo-monero)
|
| | |
| |
| |
| | |
Reported by UkoeHB_ and sarang
|
| |/
|
|
|
|
| |
- New flag in NOTIFY_NEW_TRANSACTION to indicate stem mode
- Stem loops detected in tx_pool.cpp
- Embargo timeout for a blackhole attack during stem phase
|
| |\
| |
| |
| | |
fe92fa1 [randomx] Add missing randomx_vm_set_cache() (cohcho)
|
| | | |
|
| |\ \
| |/
|/|
| | |
c3613031 Silence miner debugmsg spam (Howard Chu)
|
| | |
| |
| |
| | |
Don't try to allocate the dataset repeatedly if it has already failed.
|
| |/ |
|
| |
|
|
|
|
|
| |
* Faster cache initialization with SSSE3/AVX2
* Automatic detection of CPU capabilities in RandomX
* Fixed a possible out-of-bounds access in superscalar program generator
* Use MONERO_RANDOMX_UMASK to manually disable RandomX flags in monerod
|
| |
|
|
| |
Make sure dataset gets re-init'd if a reorg changes the epoch
|
| |
|
|
|
|
| |
We don't need to detect if the cache has changed, just always
call to set it on the VM. The call will be a no-op if the cache
hasn't changed.
|
| |
|
|
| |
Was using the wrong cache slot, and returning invalid PoW hashes to RPC clients
|
| |
|
|
| |
Support RandomX PoW algorithm
|
| |\
| |
| |
| |
| |
| | |
2cd4fd8 Changed the use of boost:value_initialized for C++ list initializer (JesusRami)
4ad191f Removed unused boost/value_init header (whyamiroot)
928f4be Make null hash constants constexpr (whyamiroot)
|
| | |
| |
| |
| | |
Simplify m_template initialization in miner
|
| | | |
|
| | | |
|
| |/ |
|
| |\
| |
| |
| | |
1dc3b1a wallet: add --extra-entropy command line flag (moneromooo-monero)
|