weijie
kohweijie.com
weijie
@kohweijie.com
kohweijie.com
4/ Many thanks to Yuval Domb, @kobi.bsky.social , @lmao.bsky.social , and @nicomnbl.bsky.social for their valuable feedback and comments!
June 11, 2025 at 12:40 AM
3/ Most existing literature does not clearly bridge theory and code. I aim to fill this gap with this writeup. Readers will gain a strong working intuition behind regular Montgomery multiplication and Logjumps. This may pave the way to new improvements and optimisations.
June 11, 2025 at 12:40 AM
2/ As such, I wrote a research note to help cryptography engineers fully understand both techniques: baincapitalcrypto.com/a-deep-dive-...
A Deep Dive into Logjumps: a Faster Modular Reduction Algorithm
Logjumps is a recently discovered technique for modular reduction over large prime fields.
baincapitalcrypto.com
June 11, 2025 at 12:40 AM
Where is the secp256k1 signature of this individual post though?
January 25, 2025 at 12:27 AM
TL;DR: You can easily derive ETH addresses from Bluesky PDS public keys, but it's really important to check who really controls those keys before sending funds. If the user isn’t self-hosting their PDS, any crypto you send will be held by Bluesky PBC, not them.
January 24, 2025 at 3:31 AM
Remember these trust assumptions:

- The @bluesky
API must return the correct DID for a handle
- The DID PLC Directory must return the correct repo data

If either fails, your belief about who truly owns that ETH address may be wrong.
January 24, 2025 at 3:31 AM
Self-hosting your own PDS? You can import your PDS key into an ETH wallet. Navigate to /pds/actors/.../<your DID>/, then run:

python -c "print(open('./key', 'rb').read().hex())"

That’s your private key, in hex.
January 24, 2025 at 3:31 AM
How it works:

Each Bluesky handle is associated with a decentralised identifier (DID). Each DID points to a PDS, which advertises a public key. Decode it to get a 33-byte key, decompress it to 64 bytes, Keccak-hash it, and keep the last 20 bytes. Voilà: an ETH address!
January 24, 2025 at 3:31 AM
I built a quick web app to fetch a Bluesky handle’s public key and convert it into an ETH address. Check it out here: weijiekoh.github.io/bsky_handle_...
Bluesky handle → ETH address
weijiekoh.github.io
January 24, 2025 at 3:31 AM
⚠️ Warning: Most Bluesky users rely on PDSes run by @bsky.app, who ultimately control those private keys! So if you send funds to addresses derived from those public keys, only Bluesky PBC can access them — not necessarily the user.
January 24, 2025 at 3:31 AM