- From: Melvin Carvalho <melvincarvalho@gmail.com>
- Date: Fri, 12 May 2023 09:06:12 +0200
- To: Bob Wyman <bob@wyman.us>
- Cc: public-swicg@w3.org
- Message-ID: <CAKaEYhKWDL_WnhP8yYQcdAmUxgnCM8VVGv1z=BsuoiCz3UKcow@mail.gmail.com>
pá 12. 5. 2023 v 0:27 odesílatel Bob Wyman <bob@wyman.us> napsal: > It seems to me that I should be able to use ActivityStreams, with minor > extensions, to do anything that Nostr allows me to do. Am I missing > something? If not, why are so many people proposing to layer new > application protocols on Nostr and not ActivityStreams? > > For instance, if I wanted to do "Nostr-with-ActvityStreams," while keeping > the Nostr convention that one is identified by one's public key, I might > produce messages that looked something like: > >> { >> "@context": [ >> "https://www.w3.org/ns/activitystreams", >> "https://example.com/ns/pubsub" >> ], >> "hash": >> "d1a8fafad6f073879a61cba2131c193a96f946caa57d244b1584816ccfc1f6cf", >> "actor": { >> "id": "did:key:z6MkhaXgBZDvotDkL5257faiztiGiC2QtKLGpbnnEGta2doK", >> "relay": "some.relay" >> }, >> "type": "Note", >> "content": "My dog has fleas.", >> "published": "2015-02-10T15:04:55Z", >> "sig": "1e465884718a89d6bf3c81e9beb7d638ab1f35900537" >> } > > That example provides most of what's in Nostr's NIP-01 > <https://github.com/nostr-protocol/nips/blob/master/01.md> basic format. > There are, of course, some differences. For instance, the various Nostr > tags aren't there, but their content could be easily computed by looking at > other AS properties. Also, I've called the Nostr "id" the "hash" in order > to avoid confusion with the AS id ( which must be a URI). > > The AS message would use more bytes than a Nostr message, but the excess > isn't significant. > > Personally I find Nostr's use of public keys as identifiers to be one of > its weaknesses since it means that you have to change identities if you > lose, misplace, or rotate your private key. So, if I want to stay more in > line with normal SocialWeb practice, I might use an actor.id of " > acct:bob@example.com, instead of a raw public key. My assumption is that > someone wishing to verify the signature would use WebFinger, or some other > means, to retrieve my current public key. Of course, if I used a did-method > other than did:key, the fetched did-document would specify the appropriate > methods to use in verifying the signature. > > I'd want a few other departures from the way Nostr works. For instance, I > might not be comfortable with the required use of sha256 as the hashing > algorithm. So, I'd probably specify that the hash format should be like IPFS' > muliti-hash, multi-codec content identifiers > <https://docs.ipfs.tech/concepts/content-addressing/>. This would make > migration to new hash methods much easier in the future. It would also > ensure that all messages had globally unique identifiers and even that we > could use IPFS-like or other DHT methods to store and retrieve them. > > The result of these changes would get me a simple messages looking > something like: > >> { >> "@context": [ >> "https://www.w3.org/ns/activitystreams", >> "https://example.com/ns/pubsub" >> ], >> "cid": "QmdfTbBqBPQ7VNxZEYEj14VmRuZBkqFbiwReogJgS1zR1n", >> "actor": { >> "id": "acct:bob@example.com" >> }, >> "type": "Note", >> "content": "My dog has fleas.", >> "published": "2015-02-10T15:04:55Z", >> "sig": "1e465884718a89d6bf3c81e9beb7d638ab1f35900537" >> } > > > The remaining task would be to define a syntax for subscribing to > messages. While Nostr's method requires crafting disjunctive normal form > lists of fields and values, I personally would prefer if clients exposed a > human-readable, parsed syntax more like what folk are familiar with from > search engines. (Of course, these queries would be compiled to DNF > internally.) For example: > >> "actor.id = acct:bob@example.com AND type = Note" > > > Given the AS-extensions outlined above, I should then be able to modify > either existing Nostr relays, or ActivityPub servers, to support these > messages. And, anything that was defined for Nostr should be easily ported > to this message format as well. So, why do I need Nostr? > The other important thing is that the w3c stack has accumulated some technical debt over the past 25 years, leading to a steep learning curve, and challenging devX http://scripting.com/manifesto/rulesforstandardsmakers.html Nostr is inspired by Dave Winer's simplicity principles for standards development. This has proved extremely popular with developers and a first class devX, with high retention. I find the pace of innovation on nostr to be staggering. > > bob wyman > >
Received on Friday, 12 May 2023 07:06:29 UTC