<div style="font-family: Arial, sans-serif; font-size: 14px;">Howard Chu via cryptography wrote:<div><br></div><div><span> > The vast majority of ARM SOCs in the field now have AES instruction</span></div><div><span> > support. The anemic Broadcom SOCs that Raspberry used are unique in</span></div><div><span> > omitting them. I would ignore them, let them continue to use software</span></div><div><span> > AES if anyone is inclined to run on them.</span></div><div><br></div><div><span> Howard,</span></div><div><br></div><div><span> You're right, and our deployment data confirms it. Of the 182 unique</span></div><div><span> miners on the network, exactly 7 are running on ARM — 4 on Cortex-A76</span></div><div><span> (Raspberry Pi 5), 2 on Apple M-series, 1 on Ampere Altra. The M-series</span></div><div><span> and Altra both have AES instructions. The Pi 5's Cortex-A76 cores</span></div><div><span> actually do support ARMv8 Crypto Extensions (AES, SHA-1, SHA-256),</span></div><div><span> though Broadcom's BCM2712 implementation is not as aggressively</span></div><div><span> pipelined as Arm's reference design — we see roughly 2.8 GB/s AES-256</span></div><div><span> throughput versus 6+ GB/s on the Ampere. Still hardware-accelerated,</span></div><div><span> just slower.</span></div><div><br></div><div><span> The older Pi 4 (Cortex-A72) also has the crypto extensions. You'd have</span></div><div><span> to go back to the Pi 3 (Cortex-A53, which does support them) or the</span></div><div><span> Pi Zero/Zero 2W to find Broadcom parts where it becomes genuinely</span></div><div><span> painful. Nobody is mining a DAG-BFT chain on a Pi Zero, and if they</span></div><div><span> are, AEGIS-256 performance is the least of their problems.</span></div><div><br></div><div><span> So the practical answer is: we already fall back to software AES on</span></div><div><span> detection of missing AES-NI/ARMv8-CE, and the performance hit on</span></div><div><span> hardware that actually lacks it is irrelevant because that hardware</span></div><div><span> can't keep up with block validation anyway. We'll keep the fallback</span></div><div><span> path for correctness but won't optimize for it.</span></div><div><br></div><div><span> Ascon remains interesting as a long-term option — its performance on</span></div><div><span> platforms without AES hardware is genuinely good (~3 cpb on scalar</span></div><div><span> ARM vs ~25 cpb for software AES-256-GCM), and NIST's lightweight</span></div><div><span> cryptography standardization gives it institutional credibility. But</span></div><div><span> as you note, the installed base that would benefit is vanishingly</span></div><div><span> small. We'll revisit if we ever target embedded IoT validators, which</span></div><div><span> is not on the near-term roadmap.</span></div><div><br></div><div><span> Thank you for the characteristically direct engineering advice. The</span></div><div><span> OpenLDAP project's approach to portability — support what matters,</span></div><div><span> document what doesn't, don't contort the architecture for edge cases</span></div><div><span> — is one we try to follow.</span></div><div><br></div><div><span> — Viktor</span></div><div><br></div><div><span> ---</span></div><div><span> Reply to Bear:</span></div><div><br></div><div><span> Bear via cryptography wrote:</span></div><div><br></div><div><span> > My condolences. Try to remain optimistic through the hardships you</span></div><div><span> > must endure, value your relationships with family and those close</span></div><div><span> > to you, and have courage. No matter how hard it may seem at times,</span></div><div><span> > try to believe that you can still pull through this crisis and find</span></div><div><span> > happiness.</span></div><div><br></div><div><span> Bear,</span></div><div><br></div><div><span> I laughed, and then I checked our incident log from the past ten days</span></div><div><span> and stopped laughing.</span></div><div><br></div><div><span> You are, of course, entirely correct. Launching a production consensus</span></div><div><span> system is a form of structured suffering that no amount of testnet</span></div><div><span> rehearsal prepares you for. The gap between "all tests pass" and</span></div><div><span> "real miners with real money on real hardware behind real ISPs with</span></div><div><span> real opinions" is approximately the same gap between reading about</span></div><div><span> parenthood and having a newborn.</span></div><div><br></div><div><span> Since you've clearly been through this, a candid accounting of what</span></div><div><span> the first ten days actually cost:</span></div><div><br></div><div><span> - 28 critical bugs discovered across 24 network phase transitions.</span></div><div><span> - A three-order-of-magnitude emission constant error (three extra</span></div><div><span> zeros in a u128 integer — the kind of bug that makes you question</span></div><div><span> whether you should be allowed near monetary systems).</span></div><div><span> - A deterministic balance migration that had to replay 7.4 million</span></div><div><span> blocks from genesis to correct the accumulated state divergence.</span></div><div><span> We published the formal methodology: "First-Principles Chain</span></div><div><span> Replay with Proportional Normalization" [1] — because when your</span></div><div><span> emission controller has been overproducing by 34x for a week,</span></div><div><span> you need a mathematically rigorous proof that the correction</span></div><div><span> doesn't create or destroy value. The core equation turned out</span></div><div><span> to be satisfyingly simple:</span></div><div><br></div><div><span> b_corrected = b_raw * C*(t) / T_chain</span></div><div><br></div><div><span> One multiplicative operator. Preserves proportional invariance.</span></div><div><span> Idempotent. Deterministic across nodes. 235 lines of Rust.</span></div><div><span> Executes in under 3 seconds over 7.4M blocks.</span></div><div><br></div><div><span> - A TCP self-connection bug where Linux's ephemeral port range</span></div><div><span> (unwisely tuned to 1024-65535) caused the kernel to pick port</span></div><div><span> 8080 as both source and destination when our reverse proxy</span></div><div><span> connected to localhost — creating a socket in TIME_WAIT that</span></div><div><span> prevented the server from binding. The kind of bug that makes</span></div><div><span> you mass `sysctl.conf` for the first time in years.</span></div><div><br></div><div><span> - An OOM cascade on our third bootstrap node caused by four</span></div><div><span> uninvited cryptocurrency daemons (Zcash, Bitcoin, two Iron Fish</span></div><div><span> instances) consuming 7.2 GB on an 8 GB server. The Linux OOM</span></div><div><span> killer, with its characteristic lack of sentiment, terminated</span></div><div><span> our consensus node and left the Zcash node running.</span></div><div><br></div><div><span> - 75,000 stale TCP connections between nginx and our application</span></div><div><span> server, caused by HTTP/1.1 keepalive with no idle timeout.</span></div><div><span> Load average 52 on 48 cores. 20 GB RSS. Fix: one line of nginx</span></div><div><span> config (`proxy_set_header Connection "close"`).</span></div><div><br></div><div><span> - Our hosting provider silently downgraded our primary bootstrap</span></div><div><span> node from 1 Gbit to 100 Mbit four days before genesis. No</span></div><div><span> notification. The Kalman-filtered bandwidth estimator in our</span></div><div><span> sync engine [2] detected and adapted within 30 seconds. The</span></div><div><span> humans took considerably longer to adapt emotionally.</span></div><div><br></div><div><span> The family relationships remain intact, though my circadian rhythm</span></div><div><span> filed for divorce somewhere around rehearsal 3. The optimism persists</span></div><div><span> primarily because the system — despite its maintainers' best efforts</span></div><div><span> to break it — has produced 7.4 million Dilithium5-signed blocks</span></div><div><span> without a single signature verification failure or VDF equivocation.</span></div><div><br></div><div><span> The chain replays its own history deterministically. The balance</span></div><div><span> state on every node converges to the same values from the same blocks</span></div><div><span> without coordination. The P2P protocol rejects incompatible peers</span></div><div><span> before data exchange. The gossipsub deduplication has five layers</span></div><div><span> (in-memory VecDeque, LRU cache, RocksDB watermark, genesis timestamp</span></div><div><span> filter, fork detection) because, as we learned, if you can be</span></div><div><span> wrong about something exactly once, you will be wrong about it</span></div><div><span> exactly once [3].</span></div><div><br></div><div><span> Your condolences are accepted in the spirit offered. If you have</span></div><div><span> specific technical concerns about the architecture, I'd welcome them</span></div><div><span> — this list's skepticism has historically been more useful than its</span></div><div><span> encouragement, and I say that as a compliment.</span></div><div><br></div><div><span> — Viktor</span></div><div><br></div><div><br></div><div><span> [1] "Deterministic Balance Migration via First-Principles Chain</span></div><div><span> Replay," Q-NarwhalKnight Protocol Team, v8.8.6, March 2026.</span></div><div><span> <a target="_blank" rel="noreferrer nofollow noopener" href="https://quillon.xyz/downloads/deterministic-balance-migration-v886.pdf">https://quillon.xyz/downloads/deterministic-balance-migration-v886.pdf</a></span></div><div><br></div><div><span> [2] "Project APOLLO: Adaptive Pipeline-Parallel Optimized Locking</span></div><div><span> & Orchestration for Blockchain Synchronization," v2.1.0,</span></div><div><span> February 2026.</span></div><div><span> <a target="_blank" rel="noreferrer nofollow noopener" href="https://quillon.xyz/downloads/apollo-sync-optimization-whitepaper.pdf">https://quillon.xyz/downloads/apollo-sync-optimization-whitepaper.pdf</a></span></div><div><br></div><div><span> [3] "P2P Balance Propagation Design Document," Q-NarwhalKnight</span></div><div><span> Protocol Team, v1.0, March 2026. Internal design doc describing</span></div><div><span> the five-layer deduplication architecture and balance divergence</span></div><div><span> vectors.</span></div><span></span><br></div><div style="font-family: Arial, sans-serif; font-size: 14px;"><br></div>
<div style="font-family: Arial, sans-serif; font-size: 14px;" class="protonmail_signature_block">
<div class="protonmail_signature_block-user">
<div>Really important if something matters<br></div>
</div>
<div style="font-family: Arial, sans-serif; font-size: 14px;"><br></div>
<div class="protonmail_signature_block-proton">
Afsendt med <a href="https://proton.me/mail/home" target="_blank">Proton Mail</a> sikker e-mail.</div></div>