Avatar
someone
9fec72d579baaa772af9e71e638b529215721ace6e0f8320725ecbf9f77f85b1

Happy mother's day to all moms 🤱

Nostr.mom relay is free for all moms for a day! 🥳

(Just kidding it is still free for all 😆)

Couple days ago it was connecting to my relays from kind=3 but now it is only connecting to the cache server. When the other relays are connected I can write, when only cache is connected, it is read only..

Never heard of *D chess. I guess when your opponent plays 2d but you play 4d chess, the whole experience is called *D chess?

what is the meaning of it when you see some serendipity in your life?

Welp, intellectuals have too much brain and too much brain is sometimes a big problem and cause of deception.

Does a person who spoke truth for a significant chunk of their life, continue to speak the truth?

help, the mint is invading my garden! #growNostr

https://void.cat/d/ThwarKSxSkmzCmVHuK47rf.webp

They dont have "heart neurons" and cannot have intuition/discernment for truth and cannot differentiate what is right or wrong. If garbage is fed, garbage will be harvested.

Calorie counting is wrong. Fats are good. Well, some fats.

How to find the closest thing to absolute truth?

Who to follow? How do you find the people to follow and believe then? What kind of criteria?

When people change how do you remove and add others into your set of trusted people?

How long is the observing and not believing phase?

Is ClearOs mobile trustworthy? Is it safe to use? Asking for a friend..

I am a beginner as well. I tried indoors with ready made kits but it was really small success.

Next I will insert these guys into some fallen branches in the garden.

#[0] when you press reply on a PM in the notification view, it sends a kind 1 as a reply to PM

Replying to Avatar someone

NIP-101

=======

Fix for stolen secret key problem

----------------------------------

This NIP defines a solution that may be implemented by clients and relays for stolen keys problem. Lets say a user owns two accounts, uses A actively but wants to switch to B in case A is stolen.

- Secret key A sets a 'successor' pub B by storing an event with a new kind in a relay. Kind may be 101.

```json

{

"id": "...",

"pubkey": ".......AAAA........",

"created_at": 1669695536,

"kind": 101,

"tags": [

["successor", "...........BBBBBBBBB......."]

],

"content": "",

"sig": "...signature.by.AAAA........"

}

```

- In case secret key A is stolen, the owner of A uses secret B to start simply creating notes of any kind, or create one event with a new kind that says "B is now succeeding A". First option is easier, second is more elegant.

```json

{

"id": "...",

"pubkey": ".......BBBB........",

"created_at": 1769695536,

"kind": 1,

"tags": [],

"content": "Hey I am the owner of AAA and my secret key was stolen. This is my new account",

"sig": "...signature.by.BBBB........"

}

```

OR

```json

{

"id": "...",

"pubkey": ".......BBBB........",

"created_at": 1769695536,

"kind": 102,

"tags": ["p",".........AAAAAAAAAA..............."],

"content": "Hey I am the owner of AAA and my secret key was stolen. This is my new account!",

"sig": "...signature.by.BBBB........"

}

```

- Clients see B is active and show a warning that A is now stolen and B is the new one. Clients update the follows.

- Relays MUST block 101 events that are older than X days for this to work properly. X may be 7. Clients MUST fetch ONLY the first 101 from a relay that supports this.

What will happen if only a few relays implement this NIP?

---------------------------------------------------------

The attacker will use secret A to create a 101 with an older created_at. Clients will think the successor of A is actually was C..

The clients will see both B and C coming from relays. At this moment the client may choose to 'honor' the relays that implemented this NIP and choose B as the successor instead of C.

________

Requesting for comments. What does everyone think?

#[0] #[1] #[2]

#[1] what do you think?

I think easiest is to block successor events that are older than 7 days. I could do this on nos.lol with plugin. Anybody can query it then to find the earliest successor event for a given pub.

Couple of solutions could be

1 Relays relaying meta data about when they received it. Means bigger nips.

2 Relays not accepting 'declaration of successor' more than 7 days old. Not sure if this needs a nip.

I want to zap you but it says "Failed to load invoice"

what is the limit?

I checked nginx rate limiting a bit. It looks mostly for requests/second and not specific to websockets. Is your nginx rate limiting the requests / sec, the amount of traffic received / second or actually counting the nostr events?

Awesome topics!

React or Vue?

--Relay specialization to achieve optimum functionality

-Requirements:

Noone misses out on any event

Resilient against attacks

Fast

Storing all the events forever

-Proposal:

Noone wants to miss out on events. If I am posting something I want it to go to everywhere. If I am following someone I should make sure I am getting their events. There is no guarantee in current paradigm.

To solve this I am proposing some specialization of relays. There will be like 32 read only servers which specialize in speed, fast queries, high bandwith, each temporarily storing a shard (1/32) of complete set of all events on nostr. The events can be sharded based on their last 5 bits. Storage can be mem only. If someone connects to all these 32 relays they will get all the events.

Secondly, the general purpose read/write servers which specialize in long term storage to make sure the events are saved and noone looses their events. They copy events to the read only servers (above). When a client wants to write, they can do to any of the general purpose servers. The events are then distributed to read only servers based on last bits of their id. There may be hundreds of these servers.

Clients can connect to 32 read only and some read/write servers in order to achieve everything.

We can have a copy of all shards to increase redundancy or resiliency against DoS attacks, or just to increase speed by having a lower ping.

If mobile clients don't mind the traffic, # of shards (32) can be increased even more to 64, 128… If 64 is implemented last 6 bits of the events will be used for sharding purposes.

Read only shards will probably be honey pot for attacks in such case. If shard system cracks there is always general purpose servers who can facilitate relaying to build the next shard infrastructure..

I have like 20 relays. On Coracle it shows only 1.