No description
Find a file
Guilherme Lawless ff88902d19
Aggressive flooding for local blocks (#2549)
* Aggressive flooding for local blocks

Floods locally produced blocks (going through the work watcher, or process_local - wallet, RPC process) such that they are sent to all PRs and random subset of other peers.

This allows more protection against Sybil attacks, and more streamlined elections as there are less occasions of votes arriving before blocks.

As a consequence, the average amount of echoes will increase by 1 for PRs. However, with this change in place and used by most of the network, a future enhancement would be to reduce the republishing fanout.

This change is based on a proposal by @Srayman for more information see the original proposal at https://medium.com/nanocurrency/proposal-for-nano-node-network-optimizations-21003e79cdba

* Add flag to disable republishing in block processor and a test for aggressive flooding

* Adjust timings for sanitizer builds

* Wrap in a lambda to simplify test, and adjust it
2020-02-27 08:22:49 +00:00
.github unstable tests on actions for windows (#2517) 2020-01-28 09:07:28 -05:00
api/flatbuffers IPC 2.0 (#2487) 2020-02-21 00:02:44 +01:00
ci Output stacktrace with custom debug assert (#2568) 2020-02-24 15:59:05 +00:00
CL Fix typo in comment 2017-12-28 01:24:23 -06:00
cmake/Modules BOOST_1.69 (#2547) 2020-02-11 10:07:12 -05:00
cpptoml@5399650056 TOML config file support and migration (#2221) 2019-08-23 18:49:32 +02:00
crypto Update Argon2 to release 20190702 (#2357) 2019-10-22 15:47:16 +03:00
docker friendly backtraces in actions (#2591) 2020-02-24 15:21:28 +00:00
etc adding support for rpm building (#1175) 2019-02-15 11:23:58 -05:00
flatbuffers@3b458f7a17 IPC 2.0 (#2487) 2020-02-21 00:02:44 +01:00
gtest@dea0216d0c Migrate Gtest to submodule (#1661) 2019-03-14 07:26:43 -04:00
images Update README (#709) 2018-03-08 06:17:14 -05:00
lmdb@c6bb7edf9f Fix handling non-UTF8 code pages on windows (#1695) 2019-02-04 11:51:05 -05:00
miniupnp@582375b64f Update miniupnp submodule to version 2.1 @582375b (#1659) 2019-01-29 16:26:30 -05:00
nano Aggressive flooding for local blocks (#2549) 2020-02-27 08:22:49 +00:00
nano-pow-server@32e7826865 include nano_pow_server as a submodule and build into ci framework for tagged releases (#2333) 2019-10-24 09:49:21 -04:00
util fetch cached boost rocksdb qt (#2391) 2019-11-06 11:20:25 -05:00
valgrind Use the MDB_NOMEMINIT flag with the ledger db environment (#2077) 2019-06-25 12:11:21 +01:00
.clang-format.base Remove compiler warnings (incl from third party headers) (#2072) 2019-07-12 17:28:21 +01:00
.gitignore IPC 2.0 (#2487) 2020-02-21 00:02:44 +01:00
.gitlab-ci.yml adding support for rpm building (#1175) 2019-02-15 11:23:58 -05:00
.gitmodules IPC 2.0 (#2487) 2020-02-21 00:02:44 +01:00
asan_blacklist Fixing an asan issue. 2014-11-04 22:01:22 -06:00
CMakeLists.txt Use C++17 locally, C++14 on CI (#2597) 2020-02-25 23:32:32 +01:00
doxygen.config Rename internal project bits from RaiBlocks to Nano (#1504) 2018-12-28 14:58:50 -06:00
Info.plist.in Add version info to Info.plist (#1631) 2019-01-28 21:29:46 +01:00
LICENSE Update license year 2019 (#1527) 2019-01-01 17:47:29 -06:00
logo.png Minimal wallet rebranding 2018-02-06 20:26:00 -06:00
Nano.icns Rename internal project bits from RaiBlocks to Nano (#1504) 2018-12-28 14:58:50 -06:00
Nano.ico Rename internal project bits from RaiBlocks to Nano (#1504) 2018-12-28 14:58:50 -06:00
Nano.rc Rename internal project bits from RaiBlocks to Nano (#1504) 2018-12-28 14:58:50 -06:00
nanocurrency-beta.spec.in nano_rpc included in packaging (#1961) 2019-05-06 13:47:24 -04:00
nanocurrency.spec.in nano_rpc included in packaging (#1961) 2019-05-06 13:47:24 -04:00
qt.conf Found the correct magic recipe to get packaging working. 2014-11-09 18:51:16 -06:00
README.md Update README badging to reflect changes to actions 2019-12-17 16:27:54 -05:00
rep_weights_beta.bin Update beta network bootstrap weights for v21, cutoff 7M (#2537) 2020-02-04 13:40:21 +00:00
rep_weights_live.bin Update live bootstrap_weights (#2404) 2019-11-12 11:22:29 -05:00
resources.qrc fixed the inclusion of the logo file into the binary using QT resources 2017-04-20 13:19:26 -05:00
tsan_clang_blacklist TSAN suppressions file (#1941) 2019-04-30 16:55:32 +01:00
tsan_suppressions Suppress RocksDB TSAN warnings (#2345) 2019-10-16 18:29:16 +01:00
valgrind.supp Valgrind fixes & suppressions (#1814) 2019-03-15 13:55:45 +03:00


Logo

Live Artifacts Beta Artifacts GitHub release (latest by date) GitHub tag (latest by date) Tests RelWithDebug Tests Discord


What is Nano?

Nano is a digital payment protocol designed to be accessible and lightweight, with a focus on removing inefficiencies present in other cryptocurrencies. With ultrafast transactions and zero fees on a secure, green and decentralized network, this makes Nano ideal for everyday transactions.


Guides & Documentation

Other documentation details can be found at https://docs.nano.org.



Want to Contribute?

Please see the contributors guide.


Contact us

We want to hear about any trouble, success, delight, or pain you experience when using Nano. Let us know by filing an issue, joining us on Reddit, or joining us on Discord.