les/utils: UDP rate limiter (#21930)

* les/utils: Limiter

* les/utils: dropped prior weight vs variable cost logic, using fixed weights

* les/utils: always create node selector in addressGroup

* les/utils: renamed request weight to request cost

* les/utils: simplified and improved the DoS penalty mechanism

* les/utils: minor fixes

* les/utils: made selection weight calculation nicer

* les/utils: fixed linter warning

* les/utils: more precise and reliable probabilistic test

* les/utils: fixed linter warning
# Conflicts:
#	les/utils/weighted_select.go
This commit is contained in:
Felföldi Zsolt 2021-01-28 22:47:15 +01:00 committed by Igor Mandrigin
parent c376039049
commit efb94a9cba

View File

@ -1088,78 +1088,3 @@ Date: Thu Jan 28 22:47:15 2021 +0100
* les/utils: fixed linter warning * les/utils: fixed linter warning
commit eb21c652c0a9d8f651efc0251cc5797a3328d863
Author: Sina Mahmoodi <1591639+s1na@users.noreply.github.com>
Date: Thu Jan 28 21:19:07 2021 +0100
cmd,core,eth,params,tests: define yolov3 + enable EIP-2565 (#22213)
Removes the yolov2 definition, adds yolov3, including EIP-2565. This PR also disables some of the erroneously generated blockchain and statetests, and adds the new genesis hash + alloc for yolov3.
This PR disables the CLI switches for yolo, since it's not complete until we merge support for 2930.
commit 2e5d14170846ae72adc47467a1129e41d6800349
Author: Guillaume Ballet <gballet@gmail.com>
Date: Wed Jan 27 09:20:34 2021 +0000
rpc: deprecate Client.ShhSubscribe (#22239)
It never worked, whisper uses polling.
Co-authored-by: Felix Lange <fjl@twurst.com>
commit a72fa88a0d661f86a06d3d89c755a4e7dcff1e4e
Author: Zsolt Felföldi <zsfelfoldi@gmail.com>
Date: Tue Jan 26 21:41:35 2021 +0100
les: switch to new discv5 (#21940)
This PR enables running the new discv5 protocol in both LES client
and server mode. In client mode it mixes discv5 and dnsdisc iterators
(if both are enabled) and filters incoming ENRs for "les" tag and fork ID.
The old p2p/discv5 package and all references to it are removed.
Co-authored-by: Felix Lange <fjl@twurst.com>
commit 9c5729311e89bff5acc1f33c1f4a646dfcce7dab
Author: Guillaume Ballet <gballet@gmail.com>
Date: Tue Jan 26 15:43:12 2021 +0000
accounts/scwallet: update documentation (#22242)
commit ad038b62899ae59160f9871573ec6786e95cb918
Author: Felix Lange <fjl@twurst.com>
Date: Tue Jan 26 16:01:13 2021 +0100
accounts/scwallet: use go-ethereum crypto instead of go-ecdh (#22212)
* accounts/scwallet: use go-ethereum crypto instead of go-ecdh
github.com/wsddn/go-ecdh is a wrapper package for ECDH functionality
with any elliptic curve.
Since 'generic' ECDH is not required in accounts/scwallet (the curve is
always secp256k1), we can just use the standard library functionality
and our own crypto libraries to perform ECDH and save a dependency.
* Update accounts/scwallet/securechannel.go
Co-authored-by: Guillaume Ballet <gballet@gmail.com>
* Use the correct key
Co-authored-by: Guillaume Ballet <gballet@gmail.com>
commit 681618275cc5a4819af446029a064d266190ae8c
Author: Martin Holst Swende <martin@swende.se>
Date: Tue Jan 26 12:17:11 2021 +0100
core: speed up header import (#21967)
This PR implements the following modifications
- Don't shortcut check if block is present, thus avoid disk lookup
- Don't check hash ancestry in early-check (it's still done in parallel checker)
- Don't check time.Now for every single header
Charts and background info can be found here: https://github.com/holiman/headerimport/blob/main/README.md
With these changes, writing 1M headers goes down to from 80s to 62s.