Skip to content

Instantly share code, notes, and snippets.


Jude Nelson jcnelson

View GitHub Profile
jcnelson /
Last active Dec 24, 2020
Proposed solution to #1805

Preventing Deep Chain Reorganizations from Non-canonical Anchor Blocks

While nodes may be required to re-process all sortitions due to a late-arriving anchor block, nodes do not need to do so eagerly if the anchor block is not part of the canonical Stacks chain. Put another way, if nodes could determine whether or not an anchor block is part of the canonical chain without needing to process any Stacks blocks, then they would not need to reprocess their chainstates if a late-arriving anchor block would not change which Stacks fork was the canonical Stacks chain. The ability to ignore late non-canonical anchor blocks would make the network resilient

jcnelson / gist:99835bcb76064ecfb027a29ddcc53c71
Last active Jul 30, 2020
Stacks Argon Testnet Post-Mortem
View gist:99835bcb76064ecfb027a29ddcc53c71

Testnet Outage Post-Mortem

From 19 July through 24 July, the Stacks testnet had experienced repeated outages every few hours. The symptom was the repeated recurrence of errors such as the following:

WARN [1595867918.213] [src/chainstate/stacks/db/] [ThreadId(6)] Block 36a6b25fb7dd1775761b80b567425dd886f35272a5cc6a7661df0d99662f9d1c state root mismatch: expected 2fbb24799b4ea08ca50a8a2c75749735a6aa60415758a1394525f789a109067c, got 65fbf51eea07de1a75c5c45373c6aa3c7975e88269948114c0468acbf461cf66
View gist:e1ffad9b7c650a2dfe60c90ba783be09
Verifying my Blockstack ID is secured with the address 15gxXgJyT5tM5A4Cbx99nwccynHYsBouzr
View gist:59ed0285cc1a1b299e43ddf31fec879f
Verifying my Blockstack ID is secured with the address 16EMaNw3pkn3v6f2BgnSSs53zAKH4Q8YJg

Keybase proof

I hereby claim:

  • I am jcnelson on github.
  • I am judecn ( on keybase.
  • I have a public key ASDSv0l4bYpy4eOMWPxezzyKsadeo5Xxrr5Ulm8Atohfygo

To claim this, I am signing this object:

View gist:70c02f80f8d4b0b8fc15
Verifying that +judecn is my Bitcoin username. You can send me #bitcoin here:
You can’t perform that action at this time.