Avatar
hodlbod
97c70a44366a6535c145b333f973ea86dfdc2d7a99da618c40c64705ad98e322
Christian Bitcoiner and developer of coracle.social. Learn more at info.coracle.social. If you can't tell the difference between me and a scammer, use a nostr client with web of trust support.

I don't understand the receive/send distinction and why it's important. Is it just that you want certain shards to be passive and unable to initiate requests because they're in an untrusted context? This seems like it could be a nice complement to the usual pattern of nagging the user about every permission request.

On promenade, I highly encourage you to check it out: https://git.fiatjaf.com/promenade

It's currently used by https://start.njump.me to encourage new users to get started with a multisig bunker, without having to set up any signer software on their end. This seems pretty close to the ideal of abstracting away keys for new users without compromising security too much.

If we get key rotation, simplier coordination, and/or encryption using frostr, that's an improvement over promenade. But third-party shard custodians have to be plugged into the nostr social layer via NIP 89 so that we can avoid collusion of dishonest signers.

Can you compare/contrast this with fiatjaf's promenade project? Can frostr be reconfigured to support third-party shard custody? It would be great to solve key management and rotation without users having to learn how to do it (at least to start). Short of collusion between providers, I would imagine custodial shards would be pretty safe.

New Coracle release: 0.6.6

- Show complete website/lnurl

- Scan images for sensitive content

- Make muting on feeds more strict

- Apply muted words to nip05

- Fix list editing

Probably not a good idea, anyway way more than I want to take on right now

Replying to Avatar Mazin

I’m sad https://github.com/nostr-protocol/nips/pull/851 never got merged. We built a nostr.wine NWC service that relied on this improved onboarding flow in December of 2023. At the time Mutiny was leading the effort.

I don’t understand why it wasn’t merged then when we had 4 working implementations. It is the only reasonable NWC on-boarding flow I’ve seen for services (like nostr.wine).

I totally respect that, microsoft is evil but the vendor lock in is strong. I'll look into finally getting started with ngit. In the meantime, feel free to @ me with issues here. Individually is probably easier.

Ah, the good old "failed successfully" standby. Did the DVM request get sent? If so, it's pablo's fault

I am the developer of coracle.social, so you might give that a try. Amethyst on Android and Damus on ios are the most popular mobile apps. 0xchat is very nice for DMs and chat.

Replying to Avatar TheLegendaryMan

nostr:nprofile1qyvhwumn8ghj7ct49ec82unsd3jhyetvv9ujucm0d5hszyrhwden5te0vyhxummn9ekx7mp0qywhwumn8ghj7cn0wd68ytnzd96xxmmfde68smmtduhxxmmd9uq3jamnwvaz7tmrw4ehgmmd9enxjct5dfskvtnrdakj7qfqwaehxw309a3xjarrda5kumtp0p5k6ctvd9ehguewdahxc6twv5hszythwden5te0xy6rqtnxxaazu6t09uq3samnwvaz7tmpv4nkjuewwfjkcctew3jkgtnyv5hszxrhwden5te0vdex2ct5wghxummnw3ezuamfdejj7qghwaehxw309ashgmrpwvhxummnw3ezumrpdejz7qguwaehxw309a382cmtv46zucm0wfskxmr99eek7cmfv9kz7qguwaehxw309a3k7atww3exjetn9enxjct5dfskvtnrdakj7qg4waehxw309a3xyc3wwdskuar0wvhxcmmv9uq3vamnwvaz7tmzv4mx7tnwdaehgu339e3k7mf0qy28wumn8ghj7cn0w3ejuat50phjummwv5hszxthwden5te0v3jhyemfva5jumn0wd68yvfwvdhk6tcpzamhxue69uhky6t5vdhkjmn9wgh8xmmrd9skctcprfmhxue69uhkzun59ehx7um5wfn8yetpddejucm0d5hsz8rhwden5te0vd58y6tnw3cxjmrv9ehx7um5wgcjucm0d5hszxrhwden5te0v35hyetrw3hhy7fw09skyafwd4jj7qgcwaehxw309a3k2mrvv9ezumn0wd68ytnhd9hx2tcpr9mhxue69uhkzefwwp6hyurvv4ex2mrp0yhxxmmd9uqnwamnwvaz7tmpv3hhy6twva3kzunyd9hxzmp39ekxucnfw3ejucm0d5hkummnw3e8yetvv9uj7ar9wd6z6un9d3shjqgnwaehxw309a3xjarnw3skx6ewv9c8qtcpz4mhxue69uhkzet8d9ejuat50phjummwv5hsz9thwden5te0vfkxzum5wghxvdm69eu8j730qy28wumn8ghj7ctvvahjuat50phjummwv5hsz9nhwden5te0v96hg6pwdehhxarjxyhxxmmd9uq3samnwvaz7tmpwshxummnw3e8wmmjddejucm0d5hszxmhwden5te0vdshgum5wfezuumhv9ex6um5wghxxmmd9uq3vamnwvaz7tmrdpjk2um99cerzmtfdshx6ef0qqsf03c2gsmx5ef4c9zmxvlew04gdh7u94afnknp33qvv3c94kvwxgs8p7qkf

Which would you appreciate more. Bug reports as posts one by one, or a comprehensive document available for download at your leisure?

Just want to do my part to help you make Coracle the best Nostr client out there. Hope you are doing well. Have a wonderful day!

Individually via github would be best

Nope, just an idea so far

Is this the git version of consolidating utxos? Honestly didn't know you could do this.

nostr:nprofile1qyghwumn8ghj7mn0wd68ytnhd9hx2tcppemhxue69uhkummn9ekx7mp0qy2hwumn8ghj7am0deejucmpd3mxztnyv4mz7qgkwaehxw309a5xzan9dchxxctvwesjuer9wchszxmhwden5te0vejk2ern9ehx7um5wghxyctwvshhgmmw0yqzp5mwszpl57ekmthxgm9ck0uel64rmz095wt9pp6p7qp7yxkqk6lv586jd9 some shopstr feedback:

- I could only upload one image at a time

- I couldn't find a way to copy the naddr of the listing or otherwise share it to nostr

- I had a hard time finding the "create listing" button

- The currency code you're using for sats is SATS, when it should probably be SAT

This happened to me as well

It also doesn't support the nip 29 membership use case

Thinking about how to add push notifications to flotilla for closed communities — since push notifications have to be sent from a server, I need some way to get access to auth-gated content. The simple way to do this would be to just share the user's own session with the push server, but for obvious reasons that's a no-go.

The cleanest solution I can think of would be to allow an active NIP 46 session to delegate permissions to another session. All I really need is authorization to sign a `22242` event on behalf of a user.

Below is a draft NIP that introduces a `delegate` method to NIP 46 which "locks" the delegated session to the initially requested permissions:

https://github.com/nostr-protocol/nips/pull/1795

nostr:nprofile1qy88wumn8ghj7mn0wvhxcmmv9uq32amnwvaz7tmjv4kxz7fwv3sk6atn9e5k7tcpzamhxue69uhky6t5vdhkjmn9wgh8xmmrd9skctcprpmhxue69uhkg6tjv43hgmmj0yh8jctzw5hx6ef0qy28wumn8ghj7ctvvahjuat50phjummwv5hsqgr40yrkmxhlpfx0mma8ugz97fyxclja30rrhlrtg5uhyvlph07trytzxqzw

The pattern is really weird in isolation, but it makes sense for use cases like portals and modal dialogs.

It worked in svelte 4 because this is just how javascript works. It seems like svelte 5 is trying to re-implement garbage collection by undefining props on unmount. Svelte 4 just used javascript for state management — even though there was some compiler magic with stores that get `unsubscribe` called automatically, it was basically relying on the javascript VM's garbage collector to avoid memory leaks. I suspect something about runes makes this more difficult.

Replying to Avatar david

My site currently generates personalized PageRank and GrapeRank scores in nostr:npub1gcxzte5zlkncx26j68ez60fzkvtkm9e0vrwdcvsjakxf9mu9qewqlfnj5z's NIP-85 format. The export function hasn’t been stress tested yet by more than a handful of users, but nostr:npub1xdtducdnjerex88gkg2qk2atsdlqsyxqaag4h05jmcpyspqt30wscmntxy has also generated PageRank scores using NIP-85, which means we’re (hopefully) soon going to start seeing clients put these scores to good use.

The question is which client is going to be the first!

Make a DVM and it'll automatically be everywhere

Just spending the day thanking people whose work I've benefited from. nostr-editor is the bomb and I'm grateful for it 🫂

Replying to Avatar Rizful.com

Right. But FYI, you don't need microsoft's service, you can roll your own with open source models that will return a confidence score between 0 and 1. And a lot of those models are totally open source -- https://huggingface.co/docs/transformers/en/tasks/image_classification They are just classification models which return a value between 0 and 1. And they're pretty fast & efficient since Google and other have been fighting this issue for 20+ years and have developed very good and efficient models. (Which work 99.5% of the time. I think it's impossible to get to 100%).

It's a totally different approach, but maybe you're right, good LLMs are relatively new and maybe could be considered to supersede fuzzy hashing. But the main problem of reverse-engineering the compression algorithm (which is one way to think about llms) still exists. If you're thinking of working on this I'm happy to see what I can do to help.

Replying to Avatar Rizful.com

OK so it would be a "label" event, with a score: https://github.com/nostr-protocol/nips/blob/master/32.md -- great. So, question is, will any clients actually want to consume/use these labels?

NIP 56 would be better, but do not do this.

Replying to Avatar Rizful.com

#asknostr among the problems that Nostr faces, the child porn problem is a very, very, very bad problem.

A VERY bad problem.

What is the current thinking among developers about how to deal with this?

Nobody likes censorship, but the only solution I can think of (SO FAR) is running an image identification service that labels dangerous stuff like this, and then broadcasts a list of (images, notes, users?) who are scoring high on the "oh shit this is child porn" metric. Typically these systems just output a float between zero and 1, which is the score....

Is anyone working on this currently?

I have a good deal of experience of running ML services like image identification at scale, so this could be something interesting to work on for the community. (I also have a lot GPU power, and anyway, if you do it right, this actually doesn't take a ton of GPUs to do even for millions of images per day....)

It would seem straightforward to subscribe to all the nostr image uploaders, generate a score with 100 being "definite child porn" and 1 being "not child porn", and then broadcast maybe events of some kind to relays with this "opinion" about the image/media?

Maybe someone from the major clients like nostr:npub1yzvxlwp7wawed5vgefwfmugvumtp8c8t0etk3g8sky4n0ndvyxesnxrf8q or #coracle or nostr:npub12vkcxr0luzwp8e673v29eqjhrr7p9vqq8asav85swaepclllj09sylpugg or nostr:npub18m76awca3y37hkvuneavuw6pjj4525fw90necxmadrvjg0sdy6qsngq955 has a suggestion on how this should be done.

One way or another, this has to be done. 99.99% percent of normies, the first time they see child porn on #nostr ... if they see it once, they'll never come back.....

Is there an appropriate NIP to look at? nostr:npub180cvv07tjdrrgpa0j7j7tmnyl2yr6yr7l8j4s3evf6u64th6gkwsyjh6w6 ? nostr:npub1l2vyh47mk2p0qlsku7hg0vn29faehy9hy34ygaclpn66ukqp3afqutajft ? nostr:npub16c0nh3dnadzqpm76uctf5hqhe2lny344zsmpm6feee9p5rdxaa9q586nvr ?

Broadcasting public notes that identify CSAM is probably illegal, because it could be construed as "advertising" that content. I think the only option we really have long-term, at least in the US, is for someone(s) to run a service that crawls the network, matches images against microsoft's hash database product (closed source, but for good reasons, since hash databases can be reverse engineered), and reports matches to NCMEC. A bonus would be to do the same thing but analyze note text for exploitation keywords. Privately hosted and encrypted content are pretty much immune to this fortunately/unfortunately. nostr:nprofile1q9n8wumn8ghj7enfd36x2u3wdehhxarj9emkjmn99ah8qatzx96r2amr8p5rxdm4dp4kzafew3ehwwpjwd48smnywycrgepndcu8qd3nx36hguryvem8xdr5d56hsmt5xfehzemtxejxkeflvfex7ctyvdshxapaw3e82egprfmhxue69uhhyetvv9ujumn0wd68yanfv4mjucm0d5hszrnhwden5te0dehhxtnvdakz7qg3waehxw309ahx7um5wgh8w6twv5hsz9nhwden5te0wfjkccte9ekk7um5wgh8qatz9uqzpxvf2qzp87m4dkzr0yfvcv47qucdhcdlc66a9mhht8s52mprn7g98p5le2 currently checks a hash database for all images uploaded, and I believe they report matches.

As non-cypherpunk as this all is, I think it's the only real option we have unless Ross Ulbricht's ZKANN idea gets built. We need to demonstrate to anyone watching that we take the problem seriously and take measures to self-regulate. This is similar to the bitcoin KYC/AML argument. If we don't want financial surveillance or legal restrictions on social media, we should help law enforcement actually chase down the people who are the problem rather than presenting ourselves as the scapegoat. See iftas.org for some work being done in the fediverse on this.