Commit Graph

42323 Commits

Author SHA1 Message Date
Ava Chow
d79ea809d2 Merge bitcoin/bitcoin#30647: Move maximum timewarp attack threshold back to 600s from 7200s
16e95bda86 Move maximum timewarp attack threshold back to 600s from 7200s (Matt Corallo)

Pull request description:

  In 6bfa26048d the testnet4 timewarp attack fix block time variation was increased from the Great Consensus Cleanup value of 600s to 7200s on the thesis that this allows miners to always create blocks with the current time. Sadly, doing so does allow for some nonzero inflation, even if not a huge amount.

  While it could be that some hardware ignores the timestamp provided to it over Stratum and forces the block header timestamp to the current time, I'm not aware of any such hardware, and it would also likely suffer from random invalid blocks due to relying on NTP anyway, making its existence highly unlikely.

  This leaves the only concern being pools, but most of those rely on work generated by Bitcoin Core (in one way or another, though when spy mining possibly not), and it seems likely that they will also not suffer any lost work. While its possible that a pool does generate invalid work due to spy mining or otherwise custom logic, it seems unlikely that a substantial portion of hashrate would do so, making the difference somewhat academic (any pool that screws this up will only do so once and the network would come out just fine).

  Further, while we may end up deciding these assumptions were invalid and we should instead use 7200s, it seems prudent to try with the value we "want" on testnet4, giving us the ability to learn if the compatibility concerns are an issue before we go to mainnet.

ACKs for top commit:
  fjahr:
    tACK 16e95bda86
  achow101:
    ACK 16e95bda86
  murchandamus:
    crACK 16e95bda86

Tree-SHA512: ae46d03b728b6e23cb6ace64c9813bc01c01e38dd7f159cf0fab53b331ef84b3b811edab225453ccdfedb53b242f55b0efd69829782657490fe393d24dacbeb2
2024-08-19 15:15:02 -04:00
Hennadii Stepanov
41051290ab cmake: Ignore build subdirectories within source directory 2024-08-16 21:24:08 +01:00
Hennadii Stepanov
6ce50fd9d0 doc: Update for CMake-based build system
Co-authored-by: Lőrinc <pap.lorinc@gmail.com>
Co-authored-by: pablomartin4btc <pablomartin4btc@gmail.com>
2024-08-16 21:24:08 +01:00
Hennadii Stepanov
9730288a0c ci: Migrate CI scripts to CMake 2024-08-16 21:19:13 +01:00
Hennadii Stepanov
c360837ca5 cmake, lint: Adjust lint_includes_build_config 2024-08-16 21:19:12 +01:00
Hennadii Stepanov
3885441ee0 cmake: Add presets for native Windows builds 2024-08-16 21:19:12 +01:00
Hennadii Stepanov
7681746b20 cmake: Add vcpkg manifest file 2024-08-16 21:19:12 +01:00
Hennadii Stepanov
8b6f1c4353 cmake: Add Coverage and CoverageFuzz scripts 2024-08-16 21:19:12 +01:00
Hennadii Stepanov
65bdbc1ff2 cmake: Add docs build target 2024-08-16 21:19:12 +01:00
Hennadii Stepanov
fb75ebbc33 cmake: Add compiler diagnostic flags 2024-08-16 21:19:12 +01:00
Hennadii Stepanov
e821f0a37a cmake: Migrate Guix build scripts to CMake 2024-08-16 21:19:11 +01:00
Hennadii Stepanov
747adb6ffe cmake: Add Maintenance module 2024-08-16 21:19:11 +01:00
Hennadii Stepanov
1f60b30df0 cmake: Add APPEND_{CPP,C,CXX,LD}FLAGS cache variables
The content of those variables is appended to the each target after the
flags added by the build system.
2024-08-16 21:19:11 +01:00
Hennadii Stepanov
2b43c45b13 cmake: Add AddWindowsResources module 2024-08-16 21:19:11 +01:00
Hennadii Stepanov
973a3b0c5d cmake: Implement install build target 2024-08-16 21:19:11 +01:00
Hennadii Stepanov
84ac35cfd4 cmake: Add cross-compiling support
To configure CMake for cross-compiling, use
`--toolchain depends/${HOST}/toolchain.cmake` command-line option.
2024-08-16 21:19:11 +01:00
Hennadii Stepanov
0d01c228a7 build: Generate toolchain.cmake in depends 2024-08-16 21:19:10 +01:00
Hennadii Stepanov
91a799247d depends: Add host-specific cmake_system_version variables 2024-08-16 21:19:10 +01:00
Hennadii Stepanov
9b31209b4c depends: Rename cmake_system -> cmake_system_name 2024-08-16 21:19:10 +01:00
Hennadii Stepanov
4a5208a81d Revert "build, qt: Do not install *.prl files"
This reverts commit 1155978d8f.
2024-08-16 21:19:10 +01:00
Hennadii Stepanov
6522af62af depends: Amend handling flags environment variables
If any of {C,CXX,CPP,LD}FLAGS is specified it should be assigned to
a non-type-specific variable.
2024-08-16 21:19:10 +01:00
Hennadii Stepanov
90cec4d251 cmake: Add MULTIPROCESS option 2024-08-16 21:19:10 +01:00
Hennadii Stepanov
bb1a450dcb cmake: Build bitcoin-chainstate executable 2024-08-16 21:19:09 +01:00
Hennadii Stepanov
aed38ea58c cmake: Build bitcoinkernel library
Co-authored-by: TheCharlatan <seb.kung@gmail.com>
2024-08-16 21:19:09 +01:00
Hennadii Stepanov
975d67369b cmake: Build test_bitcoin-qt executable 2024-08-16 19:28:59 +01:00
Hennadii Stepanov
10fcc668a3 cmake: Add WITH_DBUS option 2024-08-16 19:27:42 +01:00
Hennadii Stepanov
5bb5a4bc75 cmake: Add libqrencode optional package support 2024-08-16 19:27:42 +01:00
Hennadii Stepanov
57a6e2ef4a cmake: Build bitcoin-qt executable 2024-08-16 19:27:42 +01:00
Hennadii Stepanov
30f642952c cmake: Add WERROR option 2024-08-16 19:27:42 +01:00
Hennadii Stepanov
c98d4a4c34 cmake: Add REDUCE_EXPORTS option 2024-08-16 19:27:42 +01:00
Hennadii Stepanov
a01cb6e63f cmake: Add HARDENING option 2024-08-16 19:27:42 +01:00
Hennadii Stepanov
a8a2e364ac cmake: Add Python-based tests 2024-08-16 19:27:41 +01:00
Hennadii Stepanov
3d85379570 cmake: Add fuzzing options 2024-08-16 19:27:41 +01:00
Hennadii Stepanov
908530e312 cmake: Add SANITIZERS option 2024-08-16 19:27:41 +01:00
Hennadii Stepanov
8bb0e85631 cmake: Build bench_bitcoin executable 2024-08-16 19:27:41 +01:00
Hennadii Stepanov
801735163a cmake: Add external signer support 2024-08-16 19:27:41 +01:00
Hennadii Stepanov
353e0c9e96 cmake: Add systemtap-sdt optional package support 2024-08-16 19:27:41 +01:00
Hennadii Stepanov
d2fda82b49 cmake: Add libzmq optional package support 2024-08-16 19:27:40 +01:00
Hennadii Stepanov
ae7b39a0e1 cmake: Add libminiupnpc optional package support 2024-08-16 19:27:40 +01:00
Hennadii Stepanov
6480e1dcdb cmake: Add libnatpmp optional package support 2024-08-16 19:27:40 +01:00
Hennadii Stepanov
e73e9304a1 cmake: Build bitcoin-util executable 2024-08-16 19:27:40 +01:00
Hennadii Stepanov
027c6d7caa cmake: Build bitcoin-tx executable 2024-08-16 19:27:40 +01:00
Hennadii Stepanov
d10c5c34c3 cmake: Add wallet functionality 2024-08-16 19:27:40 +01:00
Hennadii Stepanov
ab2e99b0d9 cmake: Create test suite for ctest 2024-08-16 19:27:39 +01:00
Hennadii Stepanov
959370bd76 cmake: Build test_bitcoin executable 2024-08-16 19:27:39 +01:00
Hennadii Stepanov
b27bf9700d cmake: Build bitcoin-cli executable 2024-08-16 19:27:39 +01:00
Hennadii Stepanov
a9813df826 cmake: Build bitcoind executable 2024-08-16 19:27:39 +01:00
Hennadii Stepanov
97829ce2d5 cmake: Add FindLibevent module 2024-08-16 19:27:39 +01:00
Hennadii Stepanov
3118e40c61 cmake: Build bitcoin_consensus library 2024-08-16 19:27:39 +01:00
Hennadii Stepanov
809a2f1929 cmake: Build bitcoin_util static library 2024-08-16 19:27:38 +01:00