Commit Graph

186 Commits

Author SHA1 Message Date
moneromooo-monero ebc60a098d ArticMine's new block weight algorithm
This curbs runaway growth while still allowing substantial
spikes in block weight

Original specification from ArticMine:

here is the scaling proposal
Define: LongTermBlockWeight
Before fork:
LongTermBlockWeight = BlockWeight
At or after fork:
LongTermBlockWeight = min(BlockWeight, 1.4*LongTermEffectiveMedianBlockWeight)
Note: To avoid possible consensus issues over rounding the LongTermBlockWeight for a given block should be calculated to the nearest byte, and stored as a integer in the block itself. The stored LongTermBlockWeight is then used for future calculations of the LongTermEffectiveMedianBlockWeight and not recalculated each time.
Define:   LongTermEffectiveMedianBlockWeight
LongTermEffectiveMedianBlockWeight = max(300000, MedianOverPrevious100000Blocks(LongTermBlockWeight))
Change Definition of EffectiveMedianBlockWeight
From (current definition)
EffectiveMedianBlockWeight  = max(300000, MedianOverPrevious100Blocks(BlockWeight))
To (proposed definition)
EffectiveMedianBlockWeight  = min(max(300000, MedianOverPrevious100Blocks(BlockWeight)), 50*LongTermEffectiveMedianBlockWeight)
Notes:
1) There are no other changes to the existing penalty formula, median calculation, fees etc.
2) There is the requirement to store the LongTermBlockWeight of a block unencrypted in the block itself. This  is to avoid possible consensus issues over rounding and also to prevent the calculations from becoming unwieldy as we move away from the fork.
3) When the  EffectiveMedianBlockWeight cap is reached it is still possible to mine blocks up to 2x the EffectiveMedianBlockWeight by paying the corresponding penalty.
2019-02-12 12:15:54 +00:00
moneromooo-monero 8d098ad508 Rename "blackball" for clarity
Apparently some people seem to think it's a censorship list...
2018-10-18 18:46:17 +00:00
Riccardo Spagni 4b609dede3 Merge pull request #4530
77471e23 blockchain_blackball: fix stray ! (moneromooo-monero)
2018-10-08 22:07:34 +02:00
Riccardo Spagni f5df0e272e Revert "Merge pull request #4472"
This reverts commit b26ab0b580.
2018-10-08 21:42:38 +02:00
Riccardo Spagni 34da7d852b Merge pull request #4514
85e58cb2 blockchain_blackball: fix stats double counting (moneromooo-monero)
2018-10-08 13:03:11 +02:00
Riccardo Spagni b26ab0b580 Merge pull request #4472
02d3ef7b blocks: use auto-generated .c files instead of 'LD -r -b binary' (xiphon)
2018-10-06 11:15:43 +02:00
Riccardo Spagni 88a0985104 Merge pull request #4470
2fbf38ee Fix 32bit depends builds (TheCharlatan)
17142ec9 malloc scratchpad for all supported android archs (m2049r)
6a781408 Make depends use self built clang for darwin (TheCharlatan)
69da14e1 fixes make debug compilation on OSX (Dusan Klinec)
fe125647 Fixup RENAME_DB() macro (Howard Chu)
b2972927 osx compilation fix: missing boost libs added (Dusan Klinec)
174f31bf simplewallet: don't complain about payment id on pool mined blocks (moneromooo-monero)
89288863 README: mention ASAN usage alongside valgrind (moneromooo-monero)
83debef9 wallet_rpc_server: remove verbose field in incoming_transfers query (moneromooo-monero)
a69271fa Fixed a typo (Piotr Kąkol)
92d1da28 unit_tests: fix build with GCC 5.4.0 on ubuntu (moneromooo-monero)
a21da905 Wallet: use unique_ptr for WalletImpl members (oneiric)
7a056f44 WalletAPI: multisigSignData bug fixed (naughtyfox)
43a06350 ringdb: use cursors to be a bit faster (moneromooo-monero)
7964d4f8 wallet2: handle corner case in picking fake outputs (moneromooo-monero)
6f5360b3 bump version to 0.13.0.1 (Riccardo Spagni)
cf470bf3 switch from master to rc (Riccardo Spagni)
2018-10-02 22:45:45 +02:00
moneromooo-monero e67016ddb4 blockchain_blackball: catch failure to commit db transaction
Coverity 188349
2018-09-27 17:28:50 +00:00
moneromooo-monero c57a65b246 blockchain_blackball: fix shift range for 32 bit archs
Coverity 188406
2018-09-27 10:54:35 +00:00
Riccardo Spagni 9c40bc62fc Merge pull request #3430
42397359 Fixup 32bit arm build (TheCharlatan)
a06d2581 Fix Windows build (TheCharlatan)
ecaf5b3f Add libsodium to the packages, the arm build was complaining about it. (TheCharlatan)
cbbf4d24 Adapt translations to upstream changes (TheCharlatan)
db571546 Updated pcsc url (TheCharlatan)
f0ba19fd Add lrelease to the depends (TheCharlatan)
cfb30462 Add Miniupnp submodule (TheCharlatan)
5f7da005 Unbound is now a submodule. Adapt depends for this. (TheCharlatan)
d6b9bdd3 Update readmes to reflect the usage of depends (TheCharlatan)
56b6e41e Add support for apple and arm building (TheCharlatan)
29311fd1 Disable stack unwinding for mingw32 depends build. (TheCharlatan)
8db3d573 Modify depends for monero's dependencies (TheCharlatan)
0806a23a Initial depends addition (TheCharlatan)
2018-09-18 16:33:21 +02: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
Riccardo Spagni c74d9057f8 Merge pull request #4260
a54dbaee blockchain_blackball: add --force-chain-reaction-pass flag (moneromooo-monero)
44439c32 record blackballs as amount/offset, and add export ability (moneromooo-monero)
4bce935b blockchain_blackball: more optimizations (moneromooo-monero)
b66ba783 blockchain_blackball: do not process duplicate blockchains parts (moneromooo-monero)
639a3c01 blockchain_blackball: make it clear secondary passes are not incremental (moneromooo-monero)
eb8a51be blockchain_blackball: detect spent outputs by partial ring reuse (moneromooo-monero)
d6d276c6 blockchain_blackball: fix chain reaction phase in incremental mode (moneromooo-monero)
2b2a681b blockchain_blackball: avoid false positives for different amounts (moneromooo-monero)
80e4fef3 blockchain_blackball: set transaction looping txn to read only (moneromooo-monero)
4801d6b5 blockchain_blackball: add stats (moneromooo-monero)
846190fd blockchain_blackball: support pre-v2 databases (moneromooo-monero)
daa6cc7d blockchain_blackball: use LMDB for the cache (moneromooo-monero)
50cb370d ringdb: allow blackballing many outputs at once (moneromooo-monero)
2018-09-14 12:45:18 +02:00
Riccardo Spagni 249feda4e1 Merge pull request #4147
a4d2d842 blockchain_depth: add average min depth (moneromooo-monero)
289880d8 blockchain_depth: get the average min depth of a set of txes (moneromooo-monero)
628428a0 blockchain_ancestry: faster and uses less memory (moneromooo-monero)
2382484d blockchain_ancestry: add an incremental mode (moneromooo-monero)
888324fa blockchain_ancestry: finds all ancestors of a tx, block, or chain (moneromooo-monero)
2018-09-14 12:19:44 +02:00
moneromooo-monero 5ffb2ff9b7 v8: per byte fee, pad bulletproofs, fixed 11 ring size 2018-09-11 13:38:07 +00:00
TheCharlatan 56b6e41ea7 Add support for apple and arm building
Add pcsc-lite to linux builds
Fixup windows icu4c linking with depends, the static libraries have an 's' appended to them
Compiling depends arm-linux-gnueabihf will allow you to compile armv6zk monero binaries
2018-09-10 22:05:36 +02: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
luigi1111 4d66939791 Merge pull request #4196
361513a blockchain_blackball: use a bit less memory (moneromooo-monero)
2018-08-15 18:13:08 -05:00
moneromooo-monero 361513ac81 blockchain_blackball: use a bit less memory 2018-08-09 14:50:20 +00:00
moneromooo-monero a4d2d84209 blockchain_depth: add average min depth 2018-08-07 21:20:54 +00:00
moneromooo-monero 289880d82d blockchain_depth: get the average min depth of a set of txes 2018-08-07 21:20:49 +00:00
moneromooo-monero 628428a0df blockchain_ancestry: faster and uses less memory 2018-07-30 21:39:25 +01:00
moneromooo-monero 2382484dcd blockchain_ancestry: add an incremental mode 2018-07-30 21:39:22 +01:00
moneromooo-monero 888324fa57 blockchain_ancestry: finds all ancestors of a tx, block, or chain 2018-07-30 21:39:18 +01:00
moneromooo-monero 5860611afa blockchain_blackball: allow resumable interrupt with ^C 2018-07-30 11:14:45 +01:00
luigi1111 173f7b8f42 Merge pull request #4064
80d7c6c blockchain_utilities: report file offset where a read error occurs (moneromooo-monero)
2018-07-19 14:05:51 -05:00
Riccardo Spagni 2790ebc9f0 Merge pull request #4060
22411149 blockchain_import: make sleep compile on Windows (iDunk5400)
2018-07-10 09:34:41 +02:00
iDunk5400 2241114965 blockchain_import: make sleep compile on Windows 2018-07-03 20:33:18 +02:00
luigi1111 a844844cda Merge pull request #3716
a2b557f 6795bd0 209ec96 ed2c81e a830db2 57ea902 31a895e ba8331c f7f1917 41be339 f025ae9 ef2cb63 dcfd299 5d3e702 2704624 2771a18 0e4c7d0 (moneromooo-monero)
2018-06-27 15:33:01 -05:00
moneromooo-monero 80d7c6c730 blockchain_utilities: report file offset where a read error occurs 2018-06-27 14:11:35 +01:00
moneromooo-monero ed2c81ed95 replace std::list with std::vector on some hot paths
also use reserve where appropriate
2018-06-26 22:14:21 +01:00
luigi1111 741a773025 Merge pull request #3948
c367609 blockchain_import: warn+delay about using --dangerous-unverified-import (moneromooo-monero)
2018-06-25 14:58:19 -05:00
luigi1111 7935bc5f6b Merge pull request #3924
afed978 Fixes #3645: error on freebsd lambda return values forced to std::string (rockhouse)
2018-06-20 14:41:05 -05:00
luigi1111 9e5f2738fd Merge pull request #3428
b26cd26 blockchain_utilities: do not link against unneeded p2p lib (moneromooo-monero)
66f4700 blockchain_blackball: add incremental mode (moneromooo-monero)
e09710f blockchain_blackball: also blackball N N-sized duplicate rings (moneromooo-monero)
2018-06-08 14:26:38 -05:00
moneromooo-monero c367609447 blockchain_import: warn+delay about using --dangerous-unverified-import
This is the new name for --guard-against-pwnage 0
2018-06-07 06:47:00 +01:00
S afed9787cd Fixes #3645: error on freebsd lambda return values forced to std::string 2018-06-04 13:44:17 +02:00