The 13,267,729 boundary explained: a historical window where anchoring was deliberately disarmed fleet-wide

Measured on the live chain by reading vanityData block by block: the last
anchor carrying a digest before the window is 13,267,792; heights 13,267,824
through 13,268,944 (37 anchor heights) carry the ordinary client string instead
of a digest; the digest resumes at 13,268,976. All 37 still carry an attached
seal certificate (2,620 to 3,282 byte headers), which is direct on-chain proof
that seal attachment and digest anchoring are two independent switches and were
in different states here.

What happened: several validators restarted inside a short window and were all
left holding no heard seals at the same time, while the next height was an
anchor height with a seal threshold, so no node could propose. Unblocking meant
disarming the anchor fleet-wide, which restarted block production immediately.
Blocks produced while disarmed also carry signer indices that are not strictly
increasing, because canonical ordering is applied on the anchoring path.

Why it matters to anyone running a node: those 37 heights are real, immutable
chain history. A node syncing from genesis meets them and correctly refuses
them if it carries a single anchoring configuration; nodes that were already
running do not stumble because the blocks are already in their database and are
not revalidated. So the package needs the historical disarmed windows, named
with exact bounds, in which the anchoring rules accept the header as given,
exactly like the base-fee lapse windows the second client already carries. The
fix is in progress; until it is proven by import past the window, this section
states the limit rather than hiding it.
This commit is contained in:
Aere Network 2026-08-16 00:14:32 +03:00
parent 67e3c26e1c
commit d96ae52430

View File

@ -68,3 +68,36 @@ la prima ancora si a gasit exact veriga care lipseste. Constatarea intra in regi
inaltimi pe care configuratia statica a nodului le considera inaltimi de ancora, si regula inaltimi pe care configuratia statica a nodului le considera inaltimi de ancora, si regula
digestului le refuza. Productia a acceptat acele blocuri la vremea lor, deci pachetul public digestului le refuza. Productia a acceptat acele blocuri la vremea lor, deci pachetul public
inca nu reproduce si acest interval; e urmatoarea veriga de investigat, cu aceeasi metoda. inca nu reproduce si acest interval; e urmatoarea veriga de investigat, cu aceeasi metoda.
## Cauza granitei de la 13.267.729, gasita 16 august (masurata pe lantul viu)
**Nu e un defect al regulii si nu e alt interval de ancorare.** Intervalul e acelasi, 32 de blocuri
aliniate pe prima ancora. Ce e diferit e o **fereastra istorica in care ancorarea a fost dezarmata
intentionat pe intreaga flota**, ca sa se deblocheze lantul dupa un incident.
Masurat pe lantul public, citind vanityData bloc cu bloc:
ultima ancora CU digest inainte de fereastra 13.267.792
ancore FARA digest (poarta sirul clientului) 13.267.824 .. 13.268.944, 37 de inaltimi
prima ancora CU digest dupa fereastra 13.268.976
Toate cele 37 poarta certificat de sigilii atasat (anteturi de 2620-3282 de octeti), deci
**atasarea sigiliilor mergea; numai ancorarea digestului era oprita.** Cele doua sunt comutatoare
diferite, si aceasta fereastra e dovada pe lantul viu ca se pot afla in stari diferite.
Ce s-a intamplat, pe scurt: o repornire a mai multor validatori intr-o fereastra scurta i-a lasat
pe toti fara sigilii auzite in acelasi timp, iar urmatoarea inaltime era chiar o inaltime de ancora
cu prag, deci niciun nod nu putea propune. Deblocarea a fost dezarmarea ancorei pe toata flota,
ceea ce a repornit lantul imediat. Blocurile produse cat timp ancora era dezarmata poarta, in plus,
**indici de semnatari care nu cresc strict**, fiindca ordonarea canonica se aplica pe calea de
ancorare.
**De ce conteaza pentru cine ruleaza un nod:** aceste 37 de inaltimi sunt istorie reala si
imuabila a lantului. Un nod care sincronizeaza de la geneza le intalneste si le refuza, corect,
daca poarta o singura configuratie de ancorare. Nodurile care rulau atunci nu se impiedica fiindca
au deja blocurile in baza si nu le revalideaza. Deci pachetul public are nevoie de **ferestrele
istorice de ancorare dezarmata**, numite cu margini exacte, in care regulile de ancorare accepta
antetul asa cum e, exact ca ferestrele de exceptie ale pragului de taxa pe care al doilea client le
poarta deja. Reparatia e in lucru; pana e dovedita prin import dincolo de fereastra, aceasta
sectiune spune limita in loc sa o ascunda.