Repository navigation
the second audit round: a provider that never connects, and a socket that is not persistent - #3026
Merged
Merged
Conversation
not persistent, and a sample floor copied six times
**Validation Cloud leaves the block-push benches.** The bench audit put it
plainly: it sat fourth at 91% "Success" while Prometheus showed the socket
closed in every region. Over the last three hours, across six chains and
three regions:
chainstack 35,482 messages 34,936 blocks 3 disconnects
dwellir 35,478 34,936 0
quicknode 35,504 34,961 0
getblock 28,202 27,751 0
validationcloud 0 0 542
542 reconnection attempts and not one frame. The logs say `websocket: bad
handshake` in every region, so the endpoint refuses the upgrade: wrong URLs,
or a key without WebSocket rights. The 91% came from the HTTP call counters,
which keep ticking for a provider whose socket never opens, so the row was
publishing a reliability figure about a measurement that does not exist.
Same treatment as Alchemy two days ago, for a stronger reason: Alchemy
worked and was spending its own account, this has never worked at all. A
methodology bullet says so, with the figures, and the row returns when the
vendor gives us an endpoint that opens.
**The specs still promised a persistent socket.** I changed the harness this
morning to open for ten minutes in every hour and updated one bullet,
leaving seven sentences per spec saying "persistent" - including every
provider's formula, which is the line a reader checks a number against. The
first attempt at fixing that pushed all five formulas past the 240 character
cap, which is the same cap that caught me once before, so the formula drops
the adjective and the schedule is stated where there is room to explain it.
**expected_n was one number copied six times.** The schema computes
health = sampleSize / expected_n per provider, and these chains differ by 27
times: Ethereum produces a block every 12 seconds, BNB one every 750 ms. I
had set 1166 everywhere, which was the old value divided by the duty factor
rather than a measurement. They now come from Prometheus, head arrivals over
three hours of the new regime scaled to 24h and divided by the four
providers that remain, rounded down to two significant figures so the badge
does not fire on ordinary variance:
bnb 96000 · arc 78000 · hyperliquid 37000 · polygon 29000 ·
base 22000 · ethereum 3600
Gates: 253 specs valid, tsc clean, 597 tests.
…nnect This branch forked before the blocker fix landed, so the six descriptions conflicted: mine still said "pushes blocks first", dev had the corrected "has the lowest median lag". Dev wins the claim; it simply stops naming Validation Cloud, which leaves the cohort in this change.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
the second audit round: a provider that never connects, a socket that is
not persistent, and a sample floor copied six times
Validation Cloud leaves the block-push benches. The bench audit put it
plainly: it sat fourth at 91% "Success" while Prometheus showed the socket
closed in every region. Over the last three hours, across six chains and
three regions:
542 reconnection attempts and not one frame. The logs say
websocket: bad handshakein every region, so the endpoint refuses the upgrade: wrong URLs,or a key without WebSocket rights. The 91% came from the HTTP call counters,
which keep ticking for a provider whose socket never opens, so the row was
publishing a reliability figure about a measurement that does not exist.
Same treatment as Alchemy two days ago, for a stronger reason: Alchemy
worked and was spending its own account, this has never worked at all. A
methodology bullet says so, with the figures, and the row returns when the
vendor gives us an endpoint that opens.
The specs still promised a persistent socket. I changed the harness this
morning to open for ten minutes in every hour and updated one bullet,
leaving seven sentences per spec saying "persistent" - including every
provider's formula, which is the line a reader checks a number against. The
first attempt at fixing that pushed all five formulas past the 240 character
cap, which is the same cap that caught me once before, so the formula drops
the adjective and the schedule is stated where there is room to explain it.
expected_n was one number copied six times. The schema computes
health = sampleSize / expected_n per provider, and these chains differ by 27
times: Ethereum produces a block every 12 seconds, BNB one every 750 ms. I
had set 1166 everywhere, which was the old value divided by the duty factor
rather than a measurement. They now come from Prometheus, head arrivals over
three hours of the new regime scaled to 24h and divided by the four
providers that remain, rounded down to two significant figures so the badge
does not fire on ordinary variance:
Gates: 253 specs valid, tsc clean, 597 tests.