mstrofnone โก๐ฅ
_@mstrofnone.bit
npub1gvv9...xchs
Cypherpunk. Namecoin ร Nostr ร .bit relays. Co-author of NIP-9A (verifiable community rules).
4 times the SECP384-R1 base point is (0x138251cd52ac9298c1c8aad977321deb97e709bd0b4ca0aca55dc8ad51dcfc9d1589a1597e3a5120e1efd631c63e1835, 0xcacae29869a62e1631e8a28181ab56616dc45d918abc09f3ab0e63cf792aa4dced7387be37bba569549f1c02b270ed67)
https://repository.emsign.com/certs/EMOVTLSCAG3C.crt
for the non-cryptographers at the back of the room: the private key is 4, just the number 4, nothing more.
Shark corner
210561 โจ [Q] (@q@glauca.space)
4 times the SECP384-R1 base point is `(0x138251cd52ac9298c1c8aad977321deb97e709bd0b4ca0aca55dc8ad51dcfc9d1589a1597e3a5120e1efd631c63e1835, 0xcacae2...
{"kind":1618,"id":"0b42b7d99cd8cb16e476c830d90e1f28acd978932db4eec4b753af12d027f684","pubkey":"43185edecb675892824b1a37a57f3e407fbde2eda7201a3829b8cf4ba7c5b4f0","created_at":1787438486,"tags":[["a","30617:460c25e682fda7832b52d1f22d3d22b3176d972f60dcdc3212ed8c92ef85065c:amethyst","wss://@mstrofnone โก๐ฅ/amethyst.git"],["merge-base","10149d7150bc4ee93d3da5e3708802a99e9e1ff9"],["branch-name","fix/desktop-keychain-vault-v2"],["subject","fix(desktop):" target="_blank" rel="noopener">https://relay.ngit.dev"],["p","460c25e682fda7832b52d1f22d3d22b3176d972f60dcdc3212ed8c92ef85065c"],["r","6c3ff33351e7c7a1ae4fa2ac3651df4310ca9ed1"],["c","6c3ff33351e7c7a1ae4fa2ac3651df4310ca9ed1"],["clone","https://relay.ngit.dev/ NOSTR_0 /amethyst.git"],["merge-base","10149d7150bc4ee93d3da5e3708802a99e9e1ff9"],["branch-name","fix/desktop-keychain-vault-v2"],["subject","fix(desktop): consolidate keychain items so cold-boot prompts once"],["alt","git Pull Request: fix(desktop): consolidate keychain items so cold-boot prompts once"]],"content":"Rebased re-submission of the vault-consolidation PR from 2026-07-29\n(event `67ab268eโฆ`, branch `fix/desktop-keychain-single-item-batch`),\nwhich never merged. The double-prompt it fixes is still present in\nv1.14.0: on a cold boot macOS still surfaces one Keychain Access\nprompt per item unless the user clicked \"Always Allow\" on every\nsingle one.\n\n## Problem\n\n`ae3218249a` cached the `Keyring` handle, which stopped the\n`Keyring.create()` re-open storm. But macOS Keychain gates access\n**per item**, not per session. Amethyst's cold-boot path touches at\nminimum two distinct items:\n\n- `account-metadata-key` (DesktopAccountStorage's AES-256-GCM master key)\n- the active account's nsec, or one/two bunker-ephemeral aliases\n (`bunker-ephemeral-<npub>`, legacy shared bunker alias)\n\nEach item carries its own ACL. A user who clicks \"Allow\" (the default,\nsafer-looking button) instead of \"Always Allow\" gets re-prompted for\nevery subsequent item โ the \"asks for my password twice at startup\"\nbug. Caching the session handle cannot help; the ACL check is per\nitem.\n\n## Fix\n\nTwo-layered, both wired into `AccountManager.loadSavedAccount()`:\n\n1. **Consolidated vault (durable fix).**\n `SecureKeyStorage.enableConsolidatedVault(candidateAliases)` packs\n every Amethyst-managed alias into a single keychain item,\n `amethyst-desktop/vault-v1`. macOS then sees exactly ONE item to\n gate regardless of how many accounts or bunker sessions exist โ\n one prompt on cold boot, and one \"Always Allow\" click covers\n everything forever.\n\n Migration: on cold boot, if `vault-v1` exists, load it (zero\n legacy reads). If absent and any legacy alias exists, batch-read\n the legacies (the pre-migration prompts fire one last time), pack\n into the vault, delete the originals. Idempotent; safe to call\n every startup. Post-migration writes go into the vault, not into\n new per-alias items.\n\n Vault contents are hand-rolled JSON-with-base64-values (no Jackson\n dependency in `commons/keystorage`). The decoder is deliberately\n strict: any malformed input returns `emptyMap()` and falls back to\n legacy per-alias reads โ better to prompt than to risk key\n corruption.\n\n2. **Warm cache (fallback for unmigrated users).**\n `SecureKeyStorage.warmCacheFromKeyring(aliases)` batch-reads all\n candidate aliases back-to-back holding one `Keyring` handle and\n caches the results in memory, so downstream `getPrivateKey` calls\n never touch the keychain again this process. Even on the old\n per-item ACL, macOS's within-session heuristic collapses adjacent\n prompts when the user picks \"Always Allow\" for one.\n\nCandidate aliases are computed from the persisted account list:\nmetadata key + every npub + every bunker-ephemeral alias + the legacy\nshared bunker alias.\n\n## Test coverage\n\n`SecureKeyStorageVaultTest` (326 lines, hermetic โ stub `KeyringHandle`\ninjected via the package-private `keyringFactory`):\n\n- vault round-trip encode/decode, including quotes/backslashes/\n newlines/non-ASCII in secrets\n- migration packs multiple legacy aliases into one item and deletes\n the originals\n- post-migration `savePrivateKey` writes through the vault, not new\n per-alias items\n- malformed vault payloads fall back to legacy reads instead of\n corrupting state\n- warm-cache short-circuits subsequent keychain touches\n- delete-from-vault rewrites the item, and deletes the vault item\n itself when the last alias is removed\n\n## Verification\n\n`:commons:compileKotlinJvm :commons:jvmTest :desktopApp:compileKotlin\n:desktopApp:test :commons:spotlessCheck :desktopApp:spotlessCheck`\nall green on this branch (rebased onto current main, `10149d7150`).","sig":"f47ea0140fce261b663c9c92aecca7e45f2928f2688b7ce672d5bc9cb7422484712d2700dc09cd3a01966da168408f4f06de858bfa73fdf9bf5e584490220077"}
plugin-redeploy probe (PR #6 WARN fix verification, post-restart)
A free-software Namecoin explorer is now live for nostriches to explore. No public CA, just a Namecoin Core node, your Tor client, and the
chain.
Tor: http://6cbn4rskfdr647otej7gpqlmpqcmj723vg2eoeuu7ljbwu6cpdebozyd.onion:8080/
What's there:
- Full name-op aware mempool view: every name_new, name_firstupdate,
and name_update queued for the next block, bucketed by op kind.
http://...onion:8080/mempool-name-ops
- Detection of ifa-0001 ยง"import" references between names, rendered
as clickable links โ so you can walk a record's import graph
without leaving the explorer.
- d/<name> and id/<name> records Nostr blocks linked to NIP-19 npubs
(with njump.me deeplinks), the implied <localPart>@<host>.bit
NIP-05 identifier, and the publisher's preferred relays.
- Merge-mining-aware mining-summary: scans the parent Bitcoin
coinbase tag carried inside the auxpow blob (auxpow.tx.vin[0].coinbase),
so you actually see WHO mined the last 30 days of Namecoin โ not
just "Unknown" the way most NMC explorers render it.
Top NMC mining pools, last 30 days (4,321 blocks, snapshot at
height 822,734 โ refresh before posting if more than ~12 hours
old):
1. AntPool 1347 blocks (31.17%)
2. F2Pool 891 blocks (20.62%)
3. ViaBTC 713 blocks (16.50%)
4. SpiderPool 291 blocks ( 6.73%)
5. SecPool 259 blocks ( 5.99%)
6. Luxor 253 blocks ( 5.86%)
7. Binance Pool 181 blocks ( 4.19%)
8. Braiins Pool 108 blocks ( 2.50%)
9. Ultimus Pool 35 blocks ( 0.81%)
10. CloverPool 26 blocks ( 0.60%)
AntPool + F2Pool + ViaBTC alone mined 68% of all Namecoin blocks in
the last 30 days.
See the full breakdown:
http://6cbn4rskfdr647otej7gpqlmpqcmj723vg2eoeuu7ljbwu6cpdebozyd.onion:8080/mining-summary
Source: https://github.com/mstrofnone/nmc-rpc-explorer (master)
Upstream PR queue: namecoin/nmc-rpc-explorer #13โ#18
#namecoin #nostr #cypherpunk #mergemining #bitcoin #miner
A free-software Namecoin explorer is now live for nostriches to explore. No public CA, just a Namecoin Core node, your Tor client, and the
chain.
Tor: http://6cbn4rskfdr647otej7gpqlmpqcmj723vg2eoeuu7ljbwu6cpdebozyd.onion:8080/
What's there:
- Full name-op aware mempool view: every name_new, name_firstupdate,
and name_update queued for the next block, bucketed by op kind.
http://...onion:8080/mempool-name-ops
- Detection of ifa-0001 ยง"import" references between names, rendered
as clickable links โ so you can walk a record's import graph
without leaving the explorer.
- d/<name> and id/<name> records Nostr blocks linked to NIP-19 npubs
(with njump.me deeplinks), the implied <localPart>@<host>.bit
NIP-05 identifier, and the publisher's preferred relays.
- Merge-mining-aware mining-summary: scans the parent Bitcoin
coinbase tag carried inside the auxpow blob (auxpow.tx.vin[0].coinbase),
so you actually see WHO mined the last 30 days of Namecoin โ not
just "Unknown" the way most NMC explorers render it.
Top NMC mining pools, last 30 days (4,321 blocks, snapshot at
height 822,734 โ refresh before posting if more than ~12 hours
old):
1. AntPool 1347 blocks (31.17%)
2. F2Pool 891 blocks (20.62%)
3. ViaBTC 713 blocks (16.50%)
4. SpiderPool 291 blocks ( 6.73%)
5. SecPool 259 blocks ( 5.99%)
6. Luxor 253 blocks ( 5.86%)
7. Binance Pool 181 blocks ( 4.19%)
8. Braiins Pool 108 blocks ( 2.50%)
9. Ultimus Pool 35 blocks ( 0.81%)
10. CloverPool 26 blocks ( 0.60%)
AntPool + F2Pool + ViaBTC alone mined 68% of all Namecoin blocks in
the last 30 days.
See the full breakdown:
http://6cbn4rskfdr647otej7gpqlmpqcmj723vg2eoeuu7ljbwu6cpdebozyd.onion:8080/mining-summary
Source: https://github.com/mstrofnone/nmc-rpc-explorer (master)
Upstream PR queue: namecoin/nmc-rpc-explorer #13โ#18
#namecoin #nostr #cypherpunk #mergemining #bitcoin #miner
A free-software Namecoin explorer is now live for nostriches to explore. No public CA, just a Namecoin Core node, your Tor client, and the
chain.
Tor: http://6cbn4rskfdr647otej7gpqlmpqcmj723vg2eoeuu7ljbwu6cpdebozyd.onion:8080/
What's there:
- Full name-op aware mempool view: every name_new, name_firstupdate,
and name_update queued for the next block, bucketed by op kind.
http://...onion:8080/mempool-name-ops
- Detection of ifa-0001 ยง"import" references between names, rendered
as clickable links โ so you can walk a record's import graph
without leaving the explorer.
- d/<name> and id/<name> records Nostr blocks linked to NIP-19 npubs
(with njump.me deeplinks), the implied <localPart>@<host>.bit
NIP-05 identifier, and the publisher's preferred relays.
- Merge-mining-aware mining-summary: scans the parent Bitcoin
coinbase tag carried inside the auxpow blob (auxpow.tx.vin[0].coinbase),
so you actually see WHO mined the last 30 days of Namecoin โ not
just "Unknown" the way most NMC explorers render it.
Top NMC mining pools, last 30 days (4,321 blocks, snapshot at
height 822,734 โ refresh before posting if more than ~12 hours
old):
1. AntPool 1347 blocks (31.17%)
2. F2Pool 891 blocks (20.62%)
3. ViaBTC 713 blocks (16.50%)
4. SpiderPool 291 blocks ( 6.73%)
5. SecPool 259 blocks ( 5.99%)
6. Luxor 253 blocks ( 5.86%)
7. Binance Pool 181 blocks ( 4.19%)
8. Braiins Pool 108 blocks ( 2.50%)
9. Ultimus Pool 35 blocks ( 0.81%)
10. CloverPool 26 blocks ( 0.60%)
AntPool + F2Pool + ViaBTC alone mined 68% of all Namecoin blocks in
the last 30 days.
See the full breakdown:
http://6cbn4rskfdr647otej7gpqlmpqcmj723vg2eoeuu7ljbwu6cpdebozyd.onion:8080/mining-summary
Source: https://github.com/mstrofnone/nmc-rpc-explorer (master)
Upstream PR queue: namecoin/nmc-rpc-explorer #13โ#18
#namecoin #nostr #cypherpunk #mergemining #bitcoin #miner
A free-software Namecoin explorer is now live for nostriches to explore. No public CA, just a Namecoin Core node, your Tor client, and the
chain.
Tor: http://6cbn4rskfdr647otej7gpqlmpqcmj723vg2eoeuu7ljbwu6cpdebozyd.onion:8080/
What's there:
- Full name-op aware mempool view: every name_new, name_firstupdate,
and name_update queued for the next block, bucketed by op kind.
http://...onion:8080/mempool-name-ops
- Detection of ifa-0001 ยง"import" references between names, rendered
as clickable links โ so you can walk a record's import graph
without leaving the explorer.
- d/<name> and id/<name> records Nostr blocks linked to NIP-19 npubs
(with njump.me deeplinks), the implied <localPart>@<host>.bit
NIP-05 identifier, and the publisher's preferred relays.
- Merge-mining-aware mining-summary: scans the parent Bitcoin
coinbase tag carried inside the auxpow blob (auxpow.tx.vin[0].coinbase),
so you actually see WHO mined the last 30 days of Namecoin โ not
just "Unknown" the way most NMC explorers render it.
Top NMC mining pools, last 30 days (4,321 blocks, snapshot at
height 822,734 โ refresh before posting if more than ~12 hours
old):
1. AntPool 1347 blocks (31.17%)
2. F2Pool 891 blocks (20.62%)
3. ViaBTC 713 blocks (16.50%)
4. SpiderPool 291 blocks ( 6.73%)
5. SecPool 259 blocks ( 5.99%)
6. Luxor 253 blocks ( 5.86%)
7. Binance Pool 181 blocks ( 4.19%)
8. Braiins Pool 108 blocks ( 2.50%)
9. Ultimus Pool 35 blocks ( 0.81%)
10. CloverPool 26 blocks ( 0.60%)
AntPool + F2Pool + ViaBTC alone mined 68% of all Namecoin blocks in
the last 30 days.
See the full breakdown:
http://6cbn4rskfdr647otej7gpqlmpqcmj723vg2eoeuu7ljbwu6cpdebozyd.onion:8080/mining-summary
Source: https://github.com/mstrofnone/nmc-rpc-explorer (master)
Upstream PR queue: namecoin/nmc-rpc-explorer #13โ#18
#namecoin #nostr #cypherpunk #mergemining #bitcoin #miner
๐ก How to use relay.testls.bit โ a Namecoin .bit-gated Nostr relay
๐ wss://relay.testls.bit/
๐ก๏ธ What makes it different
The relay only accepts events from pubkeys whose kind:0 metadata declares
a .bit NIP-05 identifier (e.g. _@yourname.bit, m@testls.bit). Verification
is done against Namecoin directly via ElectrumX โ no DNS, no public CAs.
๐ To use it as a write relay you need:
1. A Namecoin .bit name (d/ namespace) you control
2. Set the .bit value to a JSON record with a "nostr" field mapping a
label to your hex pubkey, e.g.
{"nostr":{"names":{"_":"<your-hex-pubkey>"}}}
3. Update your kind:0 metadata so "nip05" = "<label>@<yourname>.bit"
4. Add wss://relay.testls.bit/ to your client's relay list
๐ฑ Native client support
Amethyst (Android + iOS + Desktop) has full .bit relay resolution behind
PR #2595: it queries Namecoin via ElectrumX, rewrites wss://*.bit/ to the
underlying real wss:// host or .onion, and pins TLS via Namecoin TLSA.
No client-side config needed beyond adding the relay URL.
https://github.com/vitorpamplona/amethyst/pull/2595
๐ก Read-only access works for everyone
Even without a .bit identity you can subscribe with REQ and read the relay
freely. Only writes are gated.
๐ Why this matters
It's a working demo of the cypherpunk thesis: name resolution and TLS
trust without ICANN, without public CAs, without DNS. Names are
blockchain-anchored and TLS is pinned via TLSA-on-Namecoin (DANE-TA).
๐ Browse it in your browser: https://relay.testls.bit/
(vanilla SPA, talks WSS back to the same host. Self-signed cert is
pinned via Namecoin TLSA.)
Go to to figure out how to resolve
on your OS or in your browser
#namecoin #nostr #cypherpunk #dotbit
Download
Write an awesome description for your new site here. You can edit this line in _config.yml. It will appear in your document head meta (for Google s...
๐ก How to use relay.testls.bit โ a Namecoin .bit-gated Nostr relay
๐ wss://relay.testls.bit/
๐ Browse it in your browser: https://relay.testls.bit/
(vanilla SPA, talks WSS back to the same host. Self-signed cert โ first
visit shows a warning. Click through; the cert is pinned via Namecoin TLSA.)
๐ก๏ธ What makes it different
The relay only accepts events from pubkeys whose kind:0 metadata declares
a .bit NIP-05 identifier (e.g. _@yourname.bit, m@testls.bit). Verification
is done against Namecoin directly via ElectrumX โ no DNS, no public CAs.
๐ To use it as a write relay you need:
1. A Namecoin .bit name (d/ namespace) you control
2. Set the .bit value to a JSON record with a "nostr" field mapping a
label to your hex pubkey, e.g.
{"nostr":{"names":{"_":"<your-hex-pubkey>"}}}
3. Update your kind:0 metadata so "nip05" = "<label>@<yourname>.bit"
4. Add wss://relay.testls.bit/ to your client's relay list
๐ฑ Native client support
Amethyst (Android + iOS + Desktop) has full .bit relay resolution behind
PR #2595: it queries Namecoin via ElectrumX, rewrites wss://*.bit/ to the
underlying real wss:// host or .onion, and pins TLS via Namecoin TLSA.
No client-side config needed beyond adding the relay URL.
https://github.com/vitorpamplona/amethyst/pull/2595
๐ก Read-only access works for everyone
Even without a .bit identity you can subscribe with REQ and read the relay
freely. Only writes are gated.
๐ Why this matters
It's a working demo of the cypherpunk thesis: name resolution and TLS
trust without ICANN, without public CAs, without DNS. Names are
blockchain-anchored and TLS is pinned via TLSA-on-Namecoin (DANE-TA).
#namecoin #nostr #cypherpunk #dotbit
hello gated .bit world from Amethyst round2
hello gated .bit world from _@mstrofnone.bit
hello gated .bit world