Avatar
Christoph Ono
b731e7fbde5c192d793ff520a6ec91f6965f5d8fa1b64e12171089a65e540525
Designer & developer. Helping improve bitcoin design with many others at https://bitcoin.design . I write a weekly update at https://gbks.substack.com . ✌️

How can the Bitcoin UI Kit be improved? I am currently gathering ideas for a 2024 roadmap. https://www.bitcoinuikit.com

Quick test animating a static image from nostr:npub1vy6wcgw6jhhtcmpawvlnsfx7g8qt8r40z7qlks9zwa4ed57vm5eqx527hr via RunwayML. Just incredible what machine learning can do. It adds so much life.

https://v.nostr.build/Ajeq.mp4

Replying to Avatar HoloKat

Despite many questions, nostr:npub1hcwcj72tlyk7thtyc8nq763vwrq5p2avnyeyrrlwxrzuvdl7j3usj4h9rq is still the best UX around

What’s the next closest wallet that actually works. Tried Phoenix and it didn’t work (probably due to my incompetence, but I still blame it 😆)

What did not work in Phoenix?

Pure CSS (meaning SCSS/SASS) is way more elegant (but harder to master).

My (somewhat) weekly update on my open-source design work in the bitcoin ecosystem is live. Anyone know how long until AI can do all this stuff, so I can put on my cowboy hat and ride into the sunset?

https://habla.news/a/naddr1qqxnzd3e8ymrxv33xqur2df4qgstwv08l009cxfd0yll2g9xajgld9jltk86rdjwzgt3pzdxte2q2fgrqsqqqa282zjy0e

Another chapter is live for Saving Satoshi. In chapter 4, you learn how to write the code for deriving an address from a private key. The team is already busy with chapters 5 (message verification) and 6 (constructing transactions).

https://bolt.fun/story/lol2-update-5--1323

nostr:npub1vy6wcgw6jhhtcmpawvlnsfx7g8qt8r40z7qlks9zwa4ed57vm5eqx527hr

HODL streaks! Having fun with this little character on a Duolingo-

style feature idea to make users feel good about saving.

http://herecomesbitcoin.org

Replying to Avatar ManiMe

I proposed this to nostr:npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn a few days ago (via DM). Wasn’t sure if I was way out the window, being a nostr noob myself. But this may be the future for nostr, and (I think) we are both keen on seeing (something similar to) this built out in coracle (and other clients).

—-

I slept on this (as I do) and assembled some pieces in my dream.

Right now bunker has two parts : “bunker-host” and “bunker-admin”, where the former is what stores encrypted keys and the latter is the admin UI for putting keys into storage and managing their shared npubs.

Last night I dreamed of a slightly different architecture, one that plays better with relays and clients.

Seeing as (right now) any bunker-admin instance can manage any bunker-host, it seems to fit that clients could have a bunker-admin embedded into them. But as it stands, bunker-admin (for multiple key storage) is tied to an npub, for which a user must ALREADY have the nsec (plugged into a browser extension). This is NOT the bunker-admin that would be embedded into a client.

Anybody (including an already “trusted” relay operator) can spin up an instance of bunker-host, and use any bunker-admin to manage the keys stored there. (If I understand this right) these keys are E2E encrypted (by password) as soon as the user submits one from the browser. This means that the bunker-host has no access to the actual key data. It’s “warm” storage. So we improve this flow for integration by relay operators, and BAM new users get a “nostr name”, online notes storage, and a “warm” place to hide their private key at the “home relay” of their choosing. (As long as they have their private key in “cold storage”, they are free to “move” their home to another relay.)

But the clients have a major role to facilitate this. The clients’ role (beyond helping users to “discover” home relays) is to provide a consistent (across clients) UX for the creation of nostr names and keys. This would be a “lighter” instance of bunker-admin for end users only (let’s call this bunker-my-admin) that would ALSO plug into the bunker-host (at a chosen domain).

The bunker-my-admin provides for choosing a username and a password, and INFORMING the end user of their keys and how they are stored. It also facilitates end users to log into any client with said usernamenostr:npub1jxh2kga4ve8d4ftahcqtqswvk5z5f7ya0k2kx3dm679hmw4ysesqvt62rj.domain and password (and to look up the FIRST suggested relay in their well-known/nostr.json if nostr:npub1jxh2kga4ve8d4ftahcqtqswvk5z5f7ya0k2kx3dm679hmw4ysesqvt62rj.domain is not a bunker-host)

This (mostly) uses nsecbunker “out of the box”. The only thing further to develop (aside from bunker bug fixes and existing feature requests) would be an API for a bunker-my-admin to connect to a bunker-host (via U+P or as new user) at a given domain and a client implementation of a bunker-my-admin UI.

Am I off my rocker?

Thanks for reading.

TBH, I have a hard time visualizing this. I also have a hard time figuring nsecBunker in the first place, so that's not surprising. A little over my head...

And that would happen by email? I guess I have to see it. Looking forward to what magic you'll come up with.

Sounds more complicated, TBH. So a user signs up with email & pass and can use Nosta to set up their profile. Then they want to use Snort, how do they log in?

I am not sure it is easier to explain this stuff further down the road to users. My guess is they will just stick with email & pass if it's convenient.

Good point. Although I think that works best for clients where people can directly get active. Nosta is about setting up your basic profile and then using other clients to fill that profile up further. So the user needs to have the key to sign in elsewhere.

TBH, I have not quite figured out how to make that really smooth. Installing a browser extension during profile setup seems like a good step forward. It's in a way more complex to set up, but at least the private keys follow along to other clients and users just need to confirm pop-ups. Maybe Nosta needs a minimal browser extension companion for key handling?

Replying to Avatar ManiMe

nostr:npub1kuc70777tsvj67fl75s2dmy376t97hv05xmyuyshzzy6vhj5q5jstv0eyw wd love to send people to nosta.me for onboarding to nostr. (That is … until my client at vote.gold is launched). Because of the heavy (over?) emphasis on key management (memorization test?) unfortunately I do not. Just saying… I am not gonna put my friends through that.

If nosta implemented some version of “let me worry about keys later” … it would be one step closer to handling the onboarding tidal wave that is to come for nostr.

Let me know how I can help.

Sorry, just seeing your message. I agree, the Nosta onboarding flow needs to become less linear and work better with key managers, Nostr connect, etc. My question is just how would you let people worry about their keys later and still have 99.99% chance that the keys don't get lost somehow?

My latest newsletter is out with mostly boring updates on the uninteresting things I worked on this week. Only look at it if you really have nothing else to do. https://gbks.substack.com/p/78-reckless

OK, so that pub key that does not seem to render (at least for me in Primal web) as a proper profile reference is supposed to link to the Saving Satoshi account.

Can you figure this out? One of the upcoming coding challenges in nostr:6134ec21da95eebc6c3d733f3824de41c0b38eaf1781fb40a2776b96d3ccdd32 .