Comments (4)
Also note that there was an extremely deep reorg (depth 28) seen on this network. There shouldn't be any straightforward case in which a reorg of such depth happens on a small network that close to genesis - so could be some other factors involved as well.
from prysm.
Hey, I posted this offline too but for clarity will post the same answer here:
On why we broadcasted and then process an invalid block, this is how our workflow is:
- Build block and the immediately broadcast it
- Process the block locally after
So it fails on the second step, the reason we do it is to allow blocks to be propagated as fast as possible across the network
We have seen this issue before, it happens due to deep reorgs and attestations from a different shuffling are in the same pool. Which is what causes the invalid blocks to be produced, there isn't an easy solution to it yet because it would involve deep changes to the attestation pool that we are vary of.
A solution to this would be to make our attestation pool re-org aware with respect to changed shufflings and just purge attestations from the different(old) branch. On whether this would be a good idea maybe @terencechain @potuz might have more thoughts on it
from prysm.
@parithosh The chain reorgs are both after the chain managed to finalize:
last slot with invalid attestations: 116
First reorg is from slot 143 -> 124
Second is from 150 -> 137
[ 1804.570738] [system;capturefs;files;/service_prysm-nethermind-0--prysm-bn] [I] time="2023-11-17 12:30:09" level=info msg="Chain reorg occurred" commonAncestorRoot=0x81ba77b368441be27d63f495eb42242fa22bb70faa3f08f6d4f044df03a542fe depth=28 distance=37 newRoot=0x3373e44863ea4045b8b8c8710cb3f238e11119650cf839566d96ce2f71c0481e newSlot=124 newWeight=0 oldRoot=0xa836cb36e853cbeae02bae40768e2e3b802db5630fa20710438321eee7cc4383 oldSlot=143 oldWeight=0 prefix=blockchain
[ 1850.807387] [system;capturefs;files;/service_prysm-geth-0--prysm-bn] [I] time="2023-11-17 12:30:56" level=info msg="Chain reorg occurred" commonAncestorRoot=0x8a8574988b86c24cc8eb3c2b82ce84b22077c21b2ee058e6ff86f19f65a8fa30 depth=15 distance=17 newRoot=0x4a2035133aafbab2a4139864a414c89163f71aa7b09bf35fd5ae14a8d4d7a497 newSlot=137 newWeight=0 oldRoot=0x9088c8169555338677bdada4ad9735e7f33ff7d75e95552105b40d9e634da871 oldSlot=150 oldWeight=0 prefix=blockchain
We also wait with faults to the network until around slot 120.
from prysm.
I tried reproducing the issue elsewhere and unfortunately wasn't able to :/
But @nisdas if the reorg happens after the invalid sigs were seen, then they're likely unrelated right?
from prysm.
Related Issues (20)
- Metric of the beacon node in use by the validator client HOT 1
- Support running without an execution client HOT 5
- Killed every once in a while HOT 17
- NewSlotTickerWithIntervals Panics if a One Second Slot is Used HOT 2
- Should ensure partial blob is deleted
- Could not download checkpoint-sync data (Holesky testnet) HOT 1
- Beacon node high CPU usage HOT 4
- Validator proposed block with null fee-recipient while it's exiting HOT 2
- Provider detected DDOS on port 13000 HOT 2
- Beacon node is not respecting the follow distance - devnet HOT 6
- Add Proposer Slashing and Attester Slashing SSE
- Incorrect entry limit for BlobsBundle is used HOT 2
- Safe block hash uses unrealized justification HOT 4
- The query "eth/v1/validator/duties/attester" API is very slow HOT 5
- Prometheus metric for validator_statuses gives wrong status after all keys exited HOT 2
- prysmaticlabs official discord server takeover HOT 2
- Failed to Propose Block HOT 2
- support build with Go 1.21
- Complex ways to manage validator client database path HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from prysm.