Sat, May 14, 2022
- nichoth10:18
Which is why we have keys as well as usernames. If a friend looking for you at
nick@example.comgets a 404 tomorrow, they go find what update your key has signed to discover your new host/username.Sorry I'm jumping back a little. I just ran into this federated ID issue too.
A difficult thing about universal IDs is that the browser generally only gives you storage per domain. That plus the webcrypto API means that you cannot re-use a private key across multiple domains. This is a place where a UCAN-like document can be useful, so you can say "DID2 is the same as DID1" and sign that message.
Here a server could only have record of docs that link directly to itself, so here, server
aonly has record of a link to serverb—a -> b -> cBut a client I suppose could recursively resolve all of the identity mapping
(edited) - nichoth10:38
Profile info is the most immediately relevant thing here. A single object of data that could be relevant to many DIDs. So for example DID A changes their avatar. Does DID C know about that?
This is where having a server of identities becomes useful. So that there is a 'source of truth'. You would need to create a DAG map of identities in the distributed version, not, say, a graph without direction, so that way there is always a flow of authority in updates.
(edited) - 11:36giwan joined the room
- @wclayferguson:matrix.org12:26
In reply to this message
The only arbiter of truth should be your PrivateKey. Shouldn't matter WHERE the signed data is found. A single source of truth governing usernames would be controlled by that central authority, and they would immediately begin censoring people based on their political viewpoint.
We can't let a single centralized service have any power whatsoever over the network, or it can be used to cancel people. Hopefully that's not what you meant.
(edited) - 12:30And in case it's not obvious to everyone, no PrivateKeys should ever be stored on any servers.
- @timbray:matrix.org12:31
In reply to this message
Which is a problem, because the vast majority of people are not capable of taking proper care of a private key. (Like, for example, me.) (And the owners of billions worth of BTC.). - nichoth12:31
In reply to this message
To clarify, by 'profile info' I mean things like username and avatar image. So still based on pub/priv keypairs. But I'm thinking more about the DAG created by linking several sets of keypairs - @wclayferguson:matrix.org12:33Definitely users are going to need a way to export/import their key, for safe storage. There's no getting around that, imo. Just like with any Crypto Wallet or anything else managing your key is not something we can offload to the server.
- 12:34Needs to be true E2E encryption.
- @timbray:matrix.org12:34
In reply to this message
If you require people to understand and use wallets, you are at some risk of building something that only 1.5% of the population will use. I think the capability of doing so is worth building in, but recognize that the overwhelming majority of people will need to have someone provide a service to help them. - @wclayferguson:matrix.org12:36Ok valid point, people can "opt in" to key management services. But for the secure operation the system (BlueSky) needs to function perfectly well in all scenarios where the user has chosen to keep their private key private.
- Aaron Goldman14:21I believe there are two problems here that are being completed. 1. Custody of keys 2. Consistency of certificate chains For Custody of keys both holding your own keys and appointment of a custodian are desirable. More so there are cases where you would want to go between the two options. If I want to be able to rotate keys or alter associated data then I need to be able to present a cert chain. The origin cert is the one that is hashed and put in the ID Each update cert is signed by a key defined in an earlier update or the origin. ID -hash-of-> origin cert -signs-> update -signs-> update ... Now we have a consistency problem. The holder of a key can issue two conflicting updates that are each valid but contradict each other. To solve that problem (if we want to) we need to define a consensus group to sign off on and order updates. Now a valid chain without a co-sign from the identity consensus group is not considered valid. The consensus group can't change the cert chain they can only order or reject changes from the key custodians. One option for this consensus group is the unnamed identity consortium but the minter of an id may just as likely choose another.
- 14:24My guess is Clay will not only want to maintain custody of his keys and run his own server for the ordering but most users will outsource.
- @wclayferguson:matrix.org15:46
In reply to this message
Right, I would consider the least-common-denominator type of capability would be that if I want a permanent PublicKey that neither I nor anyone else can ever change, validate, or even "sign off on", then that should be the simplest use case and just work, without me doing anything special, like running my own Consensus Group Server, or anything else like that.
All that advanced stuff will be cool, but should be "opt-in", rather than required, and able to be simply ignored by developers trying to participate in the network with minimal amount of coding. Perhaps even coding in Java or creating CAR files directly, and not even using the BlueSky TypeScript library.
(edited) - 17:26Ziad Shihab joined the room
- 19:28@bigpoppaken:matrix.org left the room
- Aaron Goldman20:52Not allowing mutations ever is certainly one way to avoid inconsistent state of the certificate. `Did:key` has it's place.
- 22:44neodb changed their display name to NeoDB
- 22:44NeoDB set a profile picture
Sun, May 15, 2022
- 04:41@kachu:matrix.org joined the room
- @kachu:matrix.org06:17Hi. I'm new to this group. Nice to meet you. ADX and the idea of decentralized social network is exciting to me. I am especially interested in the identity and privacy issues. I want to ask a question about privacy. Precisely, how will we implement functions like "Protected Tweets" in a decentralized way? The current docs says about using cryptography for authenticating data, but it doesn't say much about data privacy. Do you think it is a feature that the protocol should provide? And it looks to me there are fundamental conflicts between moderation and content privacy. The architecture doc emphasize quite a lot on moderation. I like the idea of separating a neutral "Speech" layer and a "Reach" layer that implements more functions. However, if we want the Reach layer to be able to take down harmful content, does it imply that the Reach layer need to read the content? Or we only need moderation on the public content and allow private content to be end-to-end encrypted?(edited)
- Aaron Goldman09:01I don't think there is a singular answer there. Some use cases are served well by publicly distribution of cipher text and limited distribution of the key. Others will want to not even distribute the cipher text for secure delete reasons. If I want a curator to review content then I must expose the content to them. On the other hand we could get an embedding from someone and run it locally to score content on device and not share it. I at least am not sure where we should use which techniques.
- 19:26@shorty_gunny:matrix.org joined the room
- mikestaub22:21
In reply to this message
The best way I'm aware of encrypting group messages is 'ratchet trees': https://messaginglayersecurity.rocks/mls-protocol/draft-ietf-mls-protocol.html#name-confidentiality-of-the-grou Mon, May 16, 2022
- @wclayferguson:matrix.org00:02
In reply to this message
Cool stuff. Looks like a pretty sophisticated way to manage keys in mostly long term groups of people. ActivityPub doesn't even have "groups" yet [afaik] so any kind of group feature at all goes well beyond AP. Of course I've said before the key to replacing AP will be to create something simpler than AP, and easier for developers to implement, in pretty much any language, without expecting them to use a particular implementation or platform. - 00:40Mirth joined the room
- 03:28@prathampatel:radiowarnerd.org joined the room
- 06:28@idahotokens:matrix.org joined the room
- @wclayferguson:matrix.org09:48Message deleted
- 11:34@idahotokens:matrix.org left the room
- 12:23prathampatel changed their display name to Pratham Patel
- 13:30@geoffrey:geofox.org joined the room
- Daniel Holmgren13:48
In reply to this message
hard to tell exactly without seeing the code/package.json
- make sure that the package is built (run
yarn buildfrom directory root) - install the package in your workspace with the relative path (
yarn add ../adx/commonor whatever the path is)
lmk if that works 🙂
(edited) - make sure that the package is built (run
- 21:20@wclayferguson:matrix.org left the room
- 23:50peterkaminski joined the room
Tue, May 17, 2022
- 13:13anderslemke joined the room
- 14:17paulsena joined the room
Wed, May 18, 2022
- 05:50kidditech joined the room
- 10:10Sekhar S joined the room
- 12:08daedalus808 joined the room
- 12:54@prathampatel:radiowarnerd.org left the room
- mikestaub16:12
pfrazee: The Apollo team has been doing very interesting work related to "schema management at scale with multiple stakeholders". It's definitely worth taking a look at their solutions, if only to gain inspiration. https://www.apollographql.com/blog/announcement/backend/the-supergraph-a-new-way-to-think-about-graphql/
- 16:36Lofty joined the room
- pfrazee
- 16:46Johannes Ernst joined the room
- 16:48jernst changed their display name to j12t
- 21:38SOL AC joined the room
Thu, May 19, 2022
- 01:56Ponny Wu joined the room
- Ponny Wu
- 02:22kjblumenstock joined the room
- 03:37Specter joined the room
- 06:42Jianzhong Chen joined the room
- 11:42tibetsprague joined the room
- 12:46Johannes Ernst set a profile picture
- 12:52j12t changed their display name to Johannes Ernst
- Johannes Ernst14:18New guy here. A bunch of names sound familiar. Hi :-)
- 14:19I come with a bunch of questions ... hope you don't mind ... and should probably start with the big picture: what's the intended scope of the protocols being prototyped / defined? Maybe easiest to discuss by referring to existing products. Should "Twitter" be able to run over it? (Presumably. But: just the public part, or also private accounts and direct messages?) What about Reddit? Facebook? (public feeds? friends-only? Messenger? Groups? Marketplace? Events?)
- pfrazee15:25
In reply to this message
Currently we're focusing on what we call "public social broadcast" (eg: twitter, medium, podcasts, instagram, youtube) which doesnt include groups (reddit, forums) or DMs - 15:25project is pretty big and we figure that's a good starting point
- Johannes Ernst15:34
In reply to this message
Gotta start somewhere, right. But would you expect that the shades of gray between not-quite-public broadcast all the way down to 1-on-1 private then might potentially use different protocols? - pfrazee15:43
In reply to this message
Yep. We’ll either expand the scope to add new use-cases or interop with existing systems - 17:13Frando joined the room
- Aaron Goldman18:02
In reply to this message
There are places you might expect semi-public data to integrate.
You want the ability to pull data from multiple sources. For example you may have a large index like a Twitter or Facebook but also pull from a tiny index like your local bowling league. The home server should be able to combine posts from different indexes into a unified timeline.
While we haven't really thought it through you could imagine an index that required authentication to access e.g. your kids school we're only people affiliated with the school could access the index and it only indexed people affiliated with the school.
It's a natural starting point for communities of different levels of openness but requires really thinking through the ways in which data might leak from one community to the other.
- Johannes Ernst19:59
In reply to this message
There are some hard questions about re-shareability and the like, right. I guess ultimately that has to be answered from the perspective of what which categories of users need what for which use cases, and how to protect one set of users from the (careless) actions of another set.
Are you all planning to mostly from a tech perspective outwards to the user, or are you also planning a prong that starts with user stories and only then leads to tech like protocols?(edited) Fri, May 20, 2022
- 01:53谭启伟 joined the room
- 02:52Zeno joined the room
- 02:54citium.chat changed their display name to Zeno
- 03:47Oort Cloud joined the room
- @jan:cloudcheck.io05:28
In reply to this message
Following these discussions a had exactly the the same Idea about sharing index (like I do with my nextcloud, only with selected friends). For me the "reshare" Problem was a show stopper, although I have to admit that it is already accepted in my current solution. For me it boils down to trust, and the possibility to be not "exploited" by commercial interests. Still I think with technology i.e. trust/identity layers evolving there is a chance, that this can be solved at some point. - 06:04@californiatonn:matrix.org joined the room
- 07:26@californiatonn:matrix.org left the room
- Aaron Goldman10:58
In reply to this message
I do some times wander how far we can get with machine checked etiquette.
"
Did you notice: You're about to share a message from a private server to a public one.Are you sure?
" - 21:44zuardi joined the room
Sat, May 21, 2022
- 00:32Irenes joined the room
- Irenes00:33hi! I'm an ex-Google privacy expert and activist, I heard about your project and it's adjacent to some of my own ideas
- 00:34so I thought I had better drop by to contribute what I can through discussion
- Zeno02:00Hi, I'm a developer sharing the vision of building a fundamental speech protocol for this blue planet. I want to learn about all the ideas behind bluesky and contribute as much as I can from my knowledge in identity and decentralized systems
- 02:32patatoe74 joined the room
- @kachu:matrix.org04:48
In reply to this message
How about modeling groups as something like hashtag? I think it could be added to the social broadcast layer without complicating the base protocol. the Reach Layer could present the posts in this type in a forum UI - mikestaub
Sun, May 22, 2022
- 04:29@lee_baker:matrix.org left the room
- 13:23@vitorpamplona:matrix.org joined the room
- 14:13@01test:matrix.org joined the room
- 14:46Victor Stabile joined the room
- 18:15Syber Weerd joined the room
Mon, May 23, 2022
- 11:26Tuna joined the room
- 11:26bluesky_events changed their display name to Tuna
- 12:02jcladd joined the room
- jcladd12:18Hi, I’m a law student focusing on privacy, IP, social media, virtual reality, AI, etc and I just think your project is really cool!
- 15:29joannagkaufman joined the room
- Aaron Goldman16:17
In reply to this message
May be worth distinguishing groups into some different use cases.
Channels, Communities, and CirclesChannels: limited publishers, self selected consumers
Communities: limited publishers, limited consumers
Circles: limited publishers, publisher selected consumers
Hashtag: self selected publishers, self selected consumers - 19:46rabble joined the room
Tue, May 24, 2022
- @numero6:codelutin.com04:44👋
rabble I'm so glad to find you on Matrix (I've created #scuttlebutt-community:codelutin.com), I'm a fan of your writings: the one about twitter early story was fascinating, gonna try to read "From Indymedia to Tahrir Square" (time is scarce). I'm really looking forward to what Planetary will become and what bluesky may bring/share with it, discussions here will be so mind-blowing.
- 05:01zzze joined the room
- 07:23Nishant Sharma joined the room
- 09:32frostRed joined the room
- 10:46tmskml joined the room
- 11:36shiva.nandan joined the room
- 11:47tmskml set a profile picture
- 20:43samkaufman joined the room
- 20:44Sam Kaufman changed their display name to samkaufman
Thu, May 26, 2022
- 10:34Theepan Kaja joined the room
- 17:28John joined the room
Fri, May 27, 2022
- 05:30Laser Nite joined the room
- 06:45Adelaida (🍭, 💊) changed their display name to Adelaida (💊,⚡️)
- 08:24csshsh set a profile picture
- 08:25structbench changed their display name to csshsh
- 12:01John Chandler Burnham joined the room
- 20:59Ian Forrester joined the room
- 23:18cshung1994 joined the room
Sat, May 28, 2022
- 03:59Matt joined the room
Sun, May 29, 2022
- 16:49Nad changed their display name to Nad // afk until June 7th
- 18:58Gerson de Winter joined the room
- 19:03Robert Lu joined the room
- Robert Lu19:18hope to see twitter integration.
Mon, May 30, 2022
- 10:53nooo y joined the room
- Johannes Ernst11:35I'd love to understand better what you have in mind with the "federated networking model". A federation of ... a handful of internet-first companies (like Twitter, Reddit and similar) or, say, hundreds (e.g. at least one per country) or far more (e.g. any ISP and enterprise and maybe SME?). How does one get into the federation? And what exactly does it mean to be a member or not to be a member? I think the assumption is that I can still interoperate, even if I'm not a member?
- Aaron Goldman12:19Different components are likely to have different levels of centralization/decentralization. To use the http analogy: There are a great many HTTP servers in the world and even more HTTP clients. There are relatively few search engines crawling the internet building indexes and serving search results. You could have a large number of clients some of which are full nodes but most of which upload to a high availability server to host their content. I would expect the number of servers to be much less than the number of clients but still the kind of thing anyone could run. A public indexer on the other hand probably wants to crawl millions or someday hopefully billions of servers hosting repos. There is an N*Log(N) cost to do the sorting necessary for an index.
- 12:20Consequently I expect a much much smaller number of public indexes than the number of servers or clients
- 12:21Likely there would be a few large companies running public indexers a few non-profits running public indexers with donations and some kind of DHT-based public index The distributes the effort of indexing widely but pays the performance costs of not having a data center
- 12:23When you say "be a member" it's not necessarily clear what that means. An HTTP server that is crawled by Google is a part of Google's index but I wouldn't say they are a member of Google
- Johannes Ernst15:05
In reply to this message
The word "federation" to me implies a "selected group". For example, Liberty Alliance back in the days spearheaded "identity federation", and that meant that some companies got together into a club, defined the rules for the club (technical and governance) together, including who could join later and who could not, and that allowed identity data to flow within the companies that were members of that club. If that's not what you have in mind, maybe the word "federation" isn't quite the best term to use. - 22:06xiaogaozi joined the room
Tue, May 31, 2022
- Nishant Sharma01:19Message deleted
- 11:37dev_phantom set a profile picture
- 15:08gitonga joined the room
Wed, Jun 1, 2022
- 01:39Renji joined the room
- 10:42@anon.mad.one:tchncs.de joined the room
- 12:57Sam (@wedg:matrix.org) joined the room
- 20:34vrotekse joined the room
- 20:50Johnny Kessel changed their display name to Vrotekse
- 20:51Vrotekse changed their display name to vrotekse
- 20:51vrotekse set a profile picture
- 20:51vrotekse changed their profile picture
- 21:04brnllski joined the room
Thu, Jun 2, 2022
- 14:31Marcel Wilfried Onana Eko joined the room
Fri, Jun 3, 2022
- 02:11Nakul Kelkar joined the room
- 07:02John changed their profile picture
Sat, Jun 4, 2022
- 09:09som1 joined the room
Sun, Jun 5, 2022
- 05:31anicca8 joined the room
- 16:18らるたん joined the room
- 23:23tkmsvn joined the room
- tibetsprague23:54Hi folks! I'm the lead developer of Hylo (https://www.hylo.com/) an open source, non-profit social platform focused on internal and cross group communication and collaboration. I also run a nascent Collaborative Technology Alliance (https://www.collaborative.tech) of platform builders who all want to work towards interoperability across our platforms. BlueSky is very intriguing to us, and I'm curious if someone on the team would be interested in joining one of our regular meetups to share about the architecture, answer questions, and participate in a conversation about why/how we should consider getting involved in this project with the possibility of our platforms adopting the BlueSky data protocol in the future. Is there someone on the team interested in participating in that? Our next meetup is Thursday June 16 2-3:30pm PDT, and after that Tuesday 6/28 10-11:30am PDT. You are all invited! You can join the Hylo group to track the conversation too https://www.hylo.com/groups/collaborative-technology-alliance/join/Ns3yUfMuTV
- 23:59One particular curiosity I have is about the section in the ADX architecture doc describing why a federated networking model is better than a P2P one. In particular the bullet "Peer-to-peer networks often use DHTs which tend to be slow and unreliable". As someone who has been following and very interested in Holochain as possible direction to move towards as we build Hylo, I'd be curious to hear a discussion of the advantages and disadvantages of their DHT based approach vs BlueSky's federated one, ideally with representatives from both projects. That could be another discussion we host :)
Mon, Jun 6, 2022
- Aaron Goldman00:45
In reply to this message
I don't know what you are looking for in a meetup presentation but happy to talk about tradeoffs and when different approaches have advantages - 00:46I had not heard of Hylo before do you have a recommendation for what to read first?
- 00:49I have used the Axolotl as an analogy for DHTs for years glad to see I am not the only one. 😀
- som103:56take a look at secure scuttlebutt
Tue, Jun 7, 2022
- 03:25Nad // afk until June 7th changed their display name to Nad
- 03:47@quite:matrix.org joined the room
- 03:48@quite:matrix.org left the room
- @numero6:codelutin.com09:15hi ttibetsprague please let me know if hylo orcollaborative.techhas matrix spaces/rooms. I would add it to #decentralised-social-networks:codelutin.com (or #next-internet:codelutin.com)(edited)
Wed, Jun 8, 2022
- 03:20@anon.mad.one:tchncs.de removed their display name (anon.mad.one)
- 03:20@anon.mad.one:tchncs.de left the room
- Golda Velez03:41
In reply to this message
hey
Daniel Holmgren finally looping back on this! we (that is
Nishant Sharma ) figured it out, put up https://github.com/blueskyCommunity/use-adx-demo
Looking forward to playing with it more as the new stuff comes out!
- tibetsprague
- pfrazee15:33Hey everybody, got something new to share today https://twitter.com/pfrazee/status/1534634569772720130?s=20&t=_k1419FoFfVgAF7TjnmbOQ
- 15:34The tweet is a link to https://gist.github.com/pfrazee/0c51dc1afceac83d984ebfd555fe6340
- 15:34this is a first draft of a design doc for schemas. We're sharing early as a gist to start getting feedback as early as possible
- 15:35please feel free to share thoughts & feedback here, on the gist comments, on the tweet, or in adx's discussions
- @lynn:the-apothecary.club17:24
However the current models suffer from a great deal of runtime overhead, the gas-fee incentive to pre-optimize, and the existence of subtle complexities which lead to bugs.
Yes this is true and smart contracts suck for this reason, your mistakes when optimizing are also eternal and can't be changed. You don't need to run programs in a distributed context with a requirement for consensus about what they do ie blockchain for them to be useful though. The biggest use case would be rendering & interaction. You would need consensus or reproducible/verifiable computation to be able to restructure the fundamentals (e.g. the very nature of the event log) but that doesn't seem to be something that is needed.
- pfrazee17:28Yeah
- @lynn:the-apothecary.club17:47it's also worth mentioning that a declarative schema gives you less precise validation compared to a program, it can be harder to express constraints between values
- pfrazee17:54True
- 17:57@geoffrey:geofox.org left the room
- 23:20@ycty4pjwnr:matrix.org joined the room
Thu, Jun 9, 2022
- 00:07Vane joined the room
- 00:40@ycty4pjwnr:matrix.org left the room
- @geoah:nimona.io03:39
pfrazee, on the topic of "canonical records" that the schema design kinda mentions: any chances you'd consider something like Ben Laurie's "
object hash" that allows consistently hashing an object independently of its serialization? There is a non negligible cost of having to serialize the object two different ways (one for transmission and one for hashing) but it does provide some benefits, my personal favorite being the ability to redact parts of the object that are no longer relevant without affecting the final hash. (There are probably some concerns when deserializing from arbitrary json objects, but since you'd be using IPLD and/or schemas those should not be an issue for you) - 09:32rasca joined the room
- pfrazee11:41
In reply to this message
That's interesting. This isn't fully my domain of expertise but afaik this isn't inherently better than any other canonical form. It should be possible to get reliably canonical cbor encodings so long as we enforce the same practices - reliable key order, no duplicate keys like json allows, and carefully-encoded floats - 11:41the redacted fields are a neat feature but not sure we need them
- Aaron Goldman13:26
In reply to this message
I will look at objecthash but for how I think about this generally:
This tends to be a speed vs flexibility tradeoff. I could have a system where all Dicts, Lists, and Strings are treated as trees. Then when I need to hash build a merkle tree with the values. If I ever need to redact a value then I replace that value with a tombstone that indicates that the value is unavailable and to use this hash in place of that sub-tree. This means running the cryptographic hash function more times. If not carefully implemented this frequent restarting of the cryptographic hash function can lead to an explosion of allocations as you scan over the dataset consuming memory bandwidth and leading to a significant slowdown.If we don't want this we can set a minimum size for the redactable chunks. E.G. we could make a distinction between a large Dict, List, String, Bytes and small ones. We can build a CBOR object until we reach some threshold size say 1452 Bytes or 128 KiB and then if it is to large replace the Dicts and Lists with
CBOR-LD hamtuntil we are back under the limit. We could even brake up Strings and Bytes if we need to in order to get the chunks under the chunk size. Now we can redact only at a chunk boundary but large objects can be pulled down in parallel from multiple hosts as they are trees and not a single linear object. Small things getting canonicalised by encoding and large things getting canonicalised by a storage independent structure. I hope something like this can avoid the pathological canonicalization that required sorting large amounts of data while trading off for reasonably large chunks to hash for throughput. - 14:42Bill Ottman joined the room
Fri, Jun 10, 2022
- 01:30Mark Harding joined the room
- Golda Velez15:31Are you guys interested in doing a live popup to discuss voice, or is that distracting?
- pfrazee
- 15:32this is to discuss schemas?
- Golda Velez15:33ya or whatever aspects most are ripe for discussion - I think the schemas have a lot of meat. And that's awesome, name a time! (for me afternoons (noon and after) have become better but I don't necessarily have to be there - other folks will want to)(edited)
- pfrazee
- 15:38
Golda Velez: is that noon for you pacific time?
- Golda Velez15:40ya most noons work except Tuesday next week, and after noon for me any day except friday at 3
- pfrazee15:42okay how about wednesday at 5pm CST / 3pm PST ?
- Golda Velez15:43great! We'll set it up
- Aaron Goldman15:43work for me
- Golda Velez15:43its ok to tweet out on our account right? We don't usually get that many, just the usual crowd generally comes
- pfrazee15:43sure
- Aaron Goldman15:45Voice is an interesting game. The best answer for on-demand is different the one-way live is different from two-way live.
- Golda Velez15:46i think jitsi or zoom so we can have visuals too :-)
- pfrazee15:46sure works for me
- 15:46wont have many visuals prepared but you know
- Golda Velez15:47ya i just mean so we can share screen and point to things like in your doc
- 15:47i don't think you need to prepare anything else
- 15:48anyway I'll let this go back to the content discussions - logistics organized! schema evolution and compatibility is very much a not-well-solved-yet problem so this should be fun :-)
- pfrazee15:49agree!
- 17:07jcladd left the room
- 22:07jcladd joined the room
Sat, Jun 11, 2022
- 09:12Ignacio Falchini joined the room
- Mark Foster SSI: @mfoster.io13:23
In reply to this message
pfrazee:
Golda Velez
Aaron Goldman
I’m interested in joining this call as well.
- Frando16:35me too :) and hi
pfrazee & everyone, i've been following adx and like quite a few things about it. i was doing things with hypercore protocol before and currently into projects about replicating community media repositories, where we're discussing very similar questions about interoperable schema modeling. looking forward to exchanging thoughts
- 16:37(if the time would be a couple hours earlier that'd increase chances for folks from europe to join in - but no worries in any case, there'll be other chances as well for sure)
- 16:42@flonxxd:matrix.org joined the room
- pfrazee17:01Hey Franz!
- 17:02We could do a couple hours earlier, I think
- 19:27Franz changed their display name to Frando
- @flonxxd:matrix.org22:25Message deleted by pfrazee
- 23:40张岭 joined the room
- 张岭23:44hi、
Sun, Jun 12, 2022
- 02:32Zach Eisenhauer joined the room
- 05:37@micbz:matrix.org joined the room
- 05:50@davidprieto:envs.net left the room
- 11:15pfrazee banned @flonxxd:matrix.org: spam
- mikestaub16:32Is there any active collaboration with the Block team? There seems to be much overlap at the infrastructure level. https://developer.tbd.website/projects/web5/
- Aaron Goldman17:26Their are many similarities. They tend to focus on using DIDs and the DID documents to find the current location of the Decentralized Web Node. ADX on the other hand has a focus on repositories. The DWN has advantages in that the DWN can run arbitrarily code in response to a request. The ADX repositories have the advantage that they can be cached anywhere as they are immutable. A cache can be stale but if you have a signed commit and the blobs it points to by cid(hash) you have an authoritative snapshot the the repository as of the time the commit. In both models the did and did documents are used to find the users home server and keys from the document for authentication but tbs' DWN is more like a traditional http server and our repositories are more like get repositories. Dose that help? Do you think I have misunderstood TBD's NWNs?
- bengo17:36@aaron sounds correct
- 20:59eshnil joined the room
- Aaron Goldman23:22I believe pretty strongly in repos. I want content to be able to out live the original publishers infrastructure. If I write a book and then the publisher gos out of business the book still exists. My MySpace is hard to access.
Mon, Jun 13, 2022
- 00:41Ronald Nababan joined the room
- @kachu:matrix.org
- 02:25Indeed I am a little confused about DWN. I have an impression that DWN is a typical web server where it can run arbitrarily code (much like Solid) from some high level descriptions, but the DWN spec mentioned IPFS as the lower level component which suggested it is a content addressable repository. I am still unsure which understanding is correct(edited)
- mikestaub10:56
In reply to this message
So far it does not seem to be using IPFS: https://github.com/TBD54566975/dwn-sdk-js/blob/main/src/dwn.ts - pfrazee11:58https://identity.foundation/decentralized-web-node/spec/ this is the spec in progress for DWNs
- 12:14heytx joined the room
- Golda Velez12:37
In reply to this message
hey Paul! Was just posting this! Should we do 9 or 10 am EST then, (12 or 1pm PT) ? - 12:38This is for this Wed June 15
- Aaron Goldman
- Golda Velez12:51haha excellent point
Aaron Goldman I meant the other way round
- pfrazee
- Golda Velez12:53ok awesome, pushing it out - we'll shoot for 12 noon PST / 2pm CST to be kind to the Europeans
Tue, Jun 14, 2022
- 06:58John changed their profile picture
- 07:49dietrich joined the room
- Anton Kent - Anytype09:20
Hello dear Bluesky team. Anton from Anytype team here.
I have a question about The DID Consortium:
The (currently-unnamed) DID Consortium will securely host user IDs. It will be operated by multiple different organizations who share ownership of the service.
Consortium members will operate nodes which coordinate under a control plane run by the consortium governance. They will coordinate reads and writes to a secure append-only log which can be monitored externally, through a technique similar to Certificate Transparency.Does that mean that Consortium acts like a "public permissioned" service and no end-user will be able to run a node to store DID Documents?
Could you please explain what is the idea behind that design choice?
- Aaron Goldman11:29
In reply to this message
The Consortium will be a permissioned ledger. It will be one of the way to store and version DID Documents. The user will need a DID to publish a repo. This could be an immutable DID like DID key. If the DID Document is to be updatable there must be a consensus group to determine the latest version of the document as of some time.
For example if you control a domain name you could use a did:web: if you want to use a public blockchain you could use something like did:ion:
The goal with the DID Consortium is to provide users a cheap consensus group they can use to advertise the latest versions of there did documents without needing to run that infrastructure themselves and have reasonably good availability and latency for resolving did documents.
This consortium should be optional for any user but they will need some form of did that can be resolved to a did document.
- Aaron Goldman11:38
Anton Kent - Anytype: Do you have a preferred did method for hosing your own did documents? A self hosted did document via did:web: could work but is not very web3. A did like did:ion: is hosted in a public ledger so not self hosted.
- Anton Kent - Anytype11:49We are thinking about that trade-off. It looks like it is better to move step-by-step towards the "full decentralization" then to try building it starting from day 1. Your federated approach also makes sense.
- 11:50Anton Kent changed their display name to Anton Kent - Anytype
- Aaron Goldman11:57for 1:1 use cases something like did:peer: can work but if the repos are going to stand on there own the peer is not there to ask if you have the current version of the did document
- Johannes Ernst16:14Is anybody here tracking https://www.dsnp.org/ and has opinions on how these efforts relate or should relate? I know there is at least one person in this chat who has attempted to reach out to them and didn't get very far (plus me, who had the same experience).(edited)
- 19:13@sdsi:matrix.org joined the room
Wed, Jun 15, 2022
- mikestaub00:07
In reply to this message
I have been following from the beginning. So far the projects seem compatible, likely synergistic. Their architecture leverages EVM smart-contracts ( on Polkadot ), which some users may prefer. The handle for each ID in their system can be any string, so DIDs are fine. https://github.com/LibertyDSNP/contracts/tree/main/contracts#L61 They also have a nice set of ActivityStream2.0 schemas, which can be compatible with the Bluesky schema system. https://github.com/LibertyDSNP/activity-content/blob/main/src/factories.ts - Johannes Ernst
- 12:27bloomn joined the room
- 12:29Tope Olofintuyi changed their display name to bloomn
- mikestaub12:51
In reply to this message
that is a totally different project. They are storing all user content on chain and the schemas are managed by a centralized team. Basically securities fraud lol - Johannes Ernst12:54I know little about it, so I can't defend it, but if I understand the playbook, the idea is that a centralized team builds the initial thing, and then it gets progressively decentralized until there is no centralized team (or schema, or ...). So at the end, it would be fully decentralized, which is why I think this is a relevant project in this context.
- mikestaub12:55
In reply to this message
I'm all for progressive decentralization, but it is illegal to offer a token until a certain threshold is reached. At least in the US. - Aaron Goldman13:11Lots of open source projects start at one company and are now majority community contributions. Even if the original organization is still the largest contributor if it is less then 10% of the roadmapping and contributions I would say it is a progressive decentralization win.
- 13:12We as a community don't necessarily do a good job of talking about the differences between decentralized governance of the protocol changes and the decentralized use of the protocol.
- Johannes Ernst13:18The reason I bring up these other projects is that basically, they are all trying to solve more or less the same problem. And all claim they want to be decentralized. But on the trajectory they are all on, (at least that's how it looks to me) they are all competing. What, if everybody had interop -- or even avoiding needless incompatible duplication of effort -- as a core requirement from the very beginning?
- npd13:21that's also my assessment: while "decentralization" is described as a core goal for many projects, they seem architected as complete, singular replacements that don't interoperate with existing decentralized systems
- Golda Velez13:47hey guys want to join us live in 13 min? Will be in https://jitsi.modular.im/bluesky talking about the schemas
- 13:47(at 12 noon PT)
- Aaron Goldman14:13We have found lots of way to do schema wrong. :)
- 14:41heyeyyy
npx activitystreams2-spec-scrapedstill works :) - 14:41
npx activitystreams2-spec-scraped | jq . - bengo14:48Message deleted
- 14:56one things content-based identifiers (or hashlinks) give you that dns or did:ion doesn't is support for offline/local-first use cases.
- 15:01
pfrazee: is referring to https://github.com/tc39/proposal-ses
- bengo15:16yknow we haven't discussed UCANs on this call yet
- bengo15:21lenses (i put this under gist already): https://www.inkandswitch.com/cambria/
- Mark Foster SSI: @mfoster.io16:05
pfrazee: Here is the RDFHDT https://www.rdfhdt.org/what-is-hdt/
- pfrazee16:06big thanks to everybody for joining and sharing your thoughts
- 16:06
bengo:
Mark Foster SSI: @mfoster.io whenever yall want to setup a followup to talk a little more about RDF, I'm game
- Mark Foster SSI: @mfoster.io
Thu, Jun 16, 2022
- 09:19@better_sleeping:converser.eu joined the room
- pfrazee10:19
Mark Foster SSI: @mfoster.io:
bengo how about next tuesday?
- 09:20@better_sleeping:converser.eu left the room
- 11:01nnnn20430 joined the room
- Aaron Goldman16:53there are so many ways to write down RDF 😥 https://ontola.io/blog/rdf-serialization-formats/
- bengo
- 18:38
In reply to this message
headed to nyc nft and https://fundingthecommons.io/ next week. starts tuesday. prob cant make it. monday could work. i dont necessarily have more to add on this front tho. I do thinkshex.iolooks pretty rad and worth using if possible. - Mark Foster SSI: @mfoster.io19:21
In reply to this message
There is also RDF Star https://www.ontotext.com/knowledgehub/fundamentals/what-is-rdf-star/ which adds https://www.ontotext.com/knowledgehub/fundamentals/rdf-vs-property-graphs/ edge properties Fri, Jun 17, 2022
- pfrazee11:11
In reply to this message
okay unfortunately my tuesday just got taken. What about wednesday at 1:30pm? - 12:41Eric joined the room
- 12:42Eric left the room
- 12:48Eric joined the room
- mikestaub18:20Interesting indexing work happening on The Graph protocol: https://thegraph.com/blog/substreams-parallel-processing
- Mark Foster SSI: @mfoster.io
- pfrazee20:40
Mark Foster SSI: @mfoster.io: Yes correct
Sat, Jun 18, 2022
- 13:30rbrands joined the room
Sun, Jun 19, 2022
- Mark Foster SSI: @mfoster.io
Mon, Jun 20, 2022
- 04:07@circlebuilder:matrix.org joined the room
- 11:04jsson joined the room
Tue, Jun 21, 2022
- pfrazee
Wed, Jun 22, 2022
- pfrazee12:58Mark isn't well today so we're not going to do the call
- Mark Foster SSI: @mfoster.io17:04Sorry, I do want to reschedule as soon as possible.
Thu, Jun 23, 2022
- 03:10lk251 joined the room
- 03:19u H joined the room
- u H03:21hi
- lk25103:38hi all! very excited to learn about bluesky and decentralized social
- 03:39thanks sign-in with apple for this great username. will try to change it to halfway pass the turing test
- 03:397q99yksf52 changed their display name to lk251
- Aaron Goldman
- pfrazee17:08Okay folks, I've got a second draft of the schemas doc based on feedback internally and externally
- 17:09I hope I did a good job of putting a big disclaimer about how malleable this stuff is, because... draft 2 changes things up a bit
- 17:09I put this one in a hackmd so folks will have an easier time commenting on specific concepts https://hackmd.io/@THqCygstRQeiEo4KXe_sWg/BJNuhFk99
- 17:10this draft gets way more practical (and the language gets way less high flying) so if you found draft 1 a little abstract, draft 2 should be much more approachable
- 17:54@rimuru:gentoo.chat changed their profile picture
Fri, Jun 24, 2022
- Mark Foster SSI: @mfoster.io
- pfrazee12:16
Mark Foster SSI: @mfoster.io: so my expectation is that we have enough type information to produce RDF forms of records (eg JSON-LD)
- 12:16The field pathing means a JSON Pointer should always be able to uniquely reference a field
- 12:17since the schemas are referenced by the records, we should always be able to form the RDF triple for a given attribute
- 12:17
<recordBaseUrl>#displayName adx://blueskyweb.xyz/def/Profile#displayName "Alice" - 12:19my main concern right now is establishing interoperability of applications within the ADX protocol, which is why I moved draft 2 in the direction I did
- 12:21as I said in that opening note, if there are ways to make this work better with RDF I'm open to it
- 12:22regarding federated queries, our approach right now is to use the views concept
Sat, Jun 25, 2022
- 11:32@shorty_gunny:matrix.org left the room
Sun, Jun 26, 2022
- 04:27エクヂケシス joined the room
- 11:08rbrands set a profile picture
Mon, Jun 27, 2022
- bengo19:48
In reply to this message
personally im less interested in what bluesky team's approach is rather than the design process. It would be invaluable for these docs to describe 'solutions considered' even if not chosen. otoh that would be purely generous and not necessarily the job you're tasked with - 19:51
In reply to this message
e.g. sparql works for federated queries for policy decisionmaking. Why can't it be used for twitting? https://arxiv.org/pdf/2106.04771.pdf - pfrazee19:55Well there are three concerns I have with federated queries. The first is limiting the costs of query processing for the servers that provide them. (You have this problem come up with overly general graphql endpoints as well.) The second is producing secondary indexes which are fast enough for all the needed usecases. The third is when the query itself is federated — sending the same request to multiple services and collating on the client can be difficult to make perform well
- 20:05mikegale joined the room
- 22:44@darklite:matrix.org joined the room
Tue, Jun 28, 2022
- 12:13yokota joined the room
Wed, Jun 29, 2022
- 14:37Ochieng Odero joined the room
- 15:37sam changed their display name to wedg
- Mark Foster SSI: @mfoster.io17:44
In reply to this message
Is it safe to say the internal ADX team is a fan of GraphQL, I’ve seenmikestaub referencing it above.
- pfrazee17:44No we don't have any plans for using graphql
- pfrazee17:50we're using "view schemas," which are essentially restful endpoints with a well-defined API contract
- Aaron Goldman17:54I get why GraphQL is useful for Facebook as it gives a more structured way of braking down a query for a microservice architecture. Im less sure if we have the same problem they do.
- 17:57In a datacenter a large fanout like that may be cheaper. In an environment where many of the home servers of the users you follow are a network hop away the fanout might crush performance. A kind of materialized view that pulls data local is less flexible but may have more predictable performance.
- pfrazee17:58And more predictable output, since it's a schematized contract
- Mark Foster SSI: @mfoster.io18:48
In reply to this message
pfrazee: What is the data store? When I think about federated queries I think about a store like RDF and a federated query engine like SPARQL.
Aaron Goldman are you referring to an index store after queries have been aggregated? GraphQL is more of a query engine that can stitch several data stores together in the configuration. Have you guys checked out the SPARQL and GraphQL-LD query examples at http://query.linkeddatafragments.org/
- pfrazee18:50
In reply to this message
Internally the data store can be anything, but our default implementations use a combination of leveldb and sqlite right now - 18:53I have looked at both sparql and graphql-ld. There are things I like about both, but neither really solve the problems I’m most concerned with solving — predictable query performance and familiar DX among them
- Mark Foster SSI: @mfoster.io18:57Ok so predictable queries
- Mark Foster SSI: @mfoster.io
- Mark Foster SSI: @mfoster.io
- 20:39Have you got a chance to watch this? Ruben does a good job of explaining the views of Client Side, Server Side, and Client/Server side indexing goals for SoLiD. He also goes through the DX which is the same as most front end developers.
- 20:40
There are several RDF JS Libraries as well.
- pfrazee20:54so the priority is making sure that developers can understand how to create compatible software, and succeed at doing it. Establishing non-conflicting semantics between applications is important, and that's accomplished in RDF and in what I've authored(edited)
- 20:55next you have to address the protocol of the data, so to speak. What fields are expected, and what effects are they supposed to have. Can you add a new field somewhere? How will other applications react if you do?
- 20:56which is where the versioning and extensions story in the doc comes into play
- 20:59next it needs to be relatively straightforward to author and consume new schemas. The reality is that most developers don't understand RDF or even JSON-LD, and struggle to pick it up quickly. I understand it pretty well and that required multiple deep dives through the years, and even then I struggle to work with it -- which is why I put it aside for draft 2 to revisit
- 21:01SPARQL is neat -- I genuinely like it -- but it's a totally new query language to most people that they'd have to train on, and they'd have to learn RDF along the way. That's on top of the difficulty of writing the query engines for it, and the difficulty of producing query results that don't overload the providers, process quickly, and contain all the data needed to satisfy the protocol of data
Thu, Jun 30, 2022
- lk25100:29Where can I read more about the technical aspects of bluesky ? I’d like to know if it involves blockchain at all. I’ve only found superficial media reports. Thank you
- Schwentker01:14Hi llk251: you may start here: https://github.com/bluesky-social/adx
- Aaron Goldman01:22
In reply to this message
Depends on what you mean by block chain. We do use hashs as content IDs (cid) but there is not a singular public ledger to totally order events.
If you have more questions you came to the right place 😁
- lk25101:23
In reply to this message
Aaron Goldman: thank you! i'll do some more reading before i take your time with any questions. I'm learning both about BlueSky and Tim Berners-Lee's Solid
(edited) - Aaron Goldman01:26Similar tech. Solid is more focused on personal data vaults and bluesky is more focused on publishing and searching. I'll be curious to hear your comparison
- lk25101:26
In reply to this message
i'll be sure to share it here after i learn about both! thanks for the welcoming messages - 01:27any other projects I should be learning about? again thanks
- Aaron Goldman
- lk25101:29excellent! cheers
- mikestaub10:08
In reply to this message
I have used dozens of storage engines, and my favorite is still ArangoDB. Their smart-graph feature may be useful to optimize specific queries. - 23:34steveklord joined the room
Fri, Jul 1, 2022
- 06:06@rimuru:gentoo.chat changed their profile picture
Sat, Jul 2, 2022
- 03:32Thib changed their profile picture
Sun, Jul 3, 2022
- 01:31Roman LI joined the room
- 01:33李毅 changed their display name to Roman LI
- 04:48سور sor joined the room
- 08:41entermonke joined the room
- entermonke09:23it seems like bluesky is being developed as a general p2p platform?
Mon, Jul 4, 2022
- Aaron Goldman
- entermonke03:59something you can use to build apps on other than social
- 05:29@planetoryd:matrix.org joined the room
- 10:15@alex:memoryandthought.me joined the room
- Aaron Goldman10:53I would say the goal is a public social broadcast protocol. If you had an app that published data or needed a social graph then you could use it as a way to distribute the public data or read existing public data about the users. "Build apps on" makes me think of a framework or platform where I think of it more as a library to add some functions that otherwise would be hard to get network effects for. But that may just be in my own head over reading the word "on"
- 10:55For an analogy I would probably not say I built my app on SQLite. It's just a library that lets me persist data without inventing a file format
- Aaron Goldman11:19Lots of applications have some published data. Games can have leader boards. Wikis have pages and profiles of editors... Most people publish content online today. Most people don't have a domain name, a high availability server with a high availability internet connection, and an SRE to keep it up. So we delegate to web2 services. If we had a widely accepted standard protocol for publishing. We could separate publishing apps from hosting platforms. If Microsoft closed Word today I could still create .docx and you could still read them. If Google closed Google docs they're all just gone. The hope of the protocol is you could get a social network where if Bluesky PBLLC packed up and disappeared the users could just keep going. Just like if SQLite never released an update my apps that compile it in can still save and read files.sqlite.orgis separate from your hard drive. Web2 the app is the persistence.
- 11:19But probably just ranting to the choir in this channel, sorry
- 15:19ursamajor joined the room
- 17:11@vera:fairydust.space joined the room
Tue, Jul 5, 2022
- entermonke06:30google docs the app is gone but you can export your files
- 06:32zeronet is an interesting approximation of what you describe in that dev stopped 1.5years ago, and the platform can continue though it will probably die
- entermonke06:39with regards to network effect, it would depend on how each layer works, you are obviously not going to have a social network from libp2p by itself but there is network effect within the software ecosystem from it, it aids faster development
- 13:51teatwo joined the room
- Mark Foster SSI: @mfoster.io18:28
In reply to this message
SQLITE is still a library that has to be used and it’s not widely used for federation. We are already using DIDs which is JSON-LD. You can store a JSON-LD in a text file or any store because it is store agnostic. Because its JSON you can parse it like any other data store like firebase or mongoDB and ignore the context. If you want to use SPARQL for a federated query you have that option as well. All that needs to be done is a context or vocabulary needs to be created and the schema is done. - Mark Foster SSI: @mfoster.io18:49Here’s a slide show of using JSON-LD in mongoDB https://www.slideshare.net/gkellogg1/jsonld-and-mongodb
- Mark Foster SSI: @mfoster.io18:51Message deleted
- Mark Foster SSI: @mfoster.io18:52
Here’s the JSON-LD W3C draft
- Mark Foster SSI: @mfoster.io19:04
In reply to this message
The real question is how can we aggregate federated query indexes after they have been executed and subscribe to user updates. Say I update my interest or something in my profile or create a schema:knows foaf:knows relationship to another DID some kind of tigger that would update the aggregated index Mastadon and the fediverse uses ActivityPub https://www.w3.org/TR/activitypub/ inboxes and outboxes which is different than ActivityStreams vocabulary https://www.w3.org/TR/activitystreams-vocabulary/ and SoLiD uses linked data notifications. https://www.w3.org/TR/ldn/ - 19:22bethusda joined the room
Wed, Jul 6, 2022
- 19:06Alan Zhang joined the room
- 19:29@mx01xz:matrix.org joined the room
- 19:30@mx01xz:matrix.org joined the room
- 19:30@mx01xz:matrix.org left the room
- 20:46iamnuomi joined the room
Thu, Jul 7, 2022
- 09:48Anas Qiblawi joined the room
Fri, Jul 8, 2022
- som1
- entermonke15:43your point?
- 16:58kamado joined the room
- 18:28Travis James joined the room
- Aaron Goldman21:39It is nice when the core team can walk away and the network lives long enough to get your data. Or if you care a lot takeover supporting the network for your own needs.
- @darklite:matrix.org21:49Message deleted by pfrazee
Sat, Jul 9, 2022
- entermonke
- Aaron Goldman01:28Web is having a good run
- 01:29But the alphabet is impressive
- entermonke01:40google? I guess
- entermonke03:21good news elons twitter deal is off https://www.cnbc.com/2022/07/08/elon-musk-notifies-twitter-he-is-terminating-deal.html hopefully he will invest in this space now, so much cheaper
Sun, Jul 10, 2022
- 08:51Genbuchan changed their profile picture
Mon, Jul 11, 2022
- npd
Tue, Jul 12, 2022
- 10:13pfrazee banned @darklite:matrix.org: Spam
- pfrazee
- 12:30vinay sabarad joined the room
- 17:41@rimuru:gentoo.chat changed their profile picture
Wed, Jul 13, 2022
- 03:34vanillacoffee joined the room
- 03:37vanillacoffee left the room
- 03:46vanillacoffee joined the room
- 07:26erich.vredenburgh joined the room
- Golda Velez16:07hey
Aaron Goldman or any core folks who care about moderation - I'm going to have a popup call with Udi Manber who did this at yahoo and youtube once a upon a time. he might also have insights into discovery. Would be great if you have time to join a quick call? Can be flexible, ideally before Monday?
- erich.vredenburgh17:04do the calls get published?
Thu, Jul 14, 2022
- Golda Velez09:41usually we have them in public, and the more formal workshops do. This one is more informal and quick chat
- 09:42checkdsocialcommons.comunder CommunityVoices and you can see all the past ones
- 17:54smokecharonastronoutdroughtsaltwolverine joined the room
Fri, Jul 15, 2022
- 00:29@fractal:matrix.org joined the room
- mikestaub16:23
pfrazee: inspiration for managing a set of schemas across many stakeholders: https://linked.art/about/
- 16:50EtherTyper changed their profile picture
- 16:50EtherTyper changed their profile picture
- 19:57EtherTyper changed their profile picture
Sat, Jul 16, 2022
- mikestaub10:50
pfrazee: My intuition tells me this may be a mistake. Can we at least start a side-channel to document all the complexity that led to this decision? "After multiple discussions, the Bluesky team decided to punt on private data. Every attempt to add private data to the ADX model revealed unacceptable trade-offs. Rather than add complexity to achieve a sub-par outcome, we decided to leave the question for later."
- pfrazee
- 11:04The difficulty we were hitting was putting private data into the repositories. We just didn’t love any of the options, like encrypting items at rest and letting them go anywhere — just feels risky
- 11:06But we realized everyone has a persistent server so you can send private messages off-repo and handle a lot of usecases that way
Sun, Jul 17, 2022
- 17:06@escapetofreedom:matrix.org joined the room
Mon, Jul 18, 2022
- 00:12Nad changed their display name to Nad // away
- 09:54@yuenso:matrix.org joined the room
- 14:43bland joined the room
- rabble
- pfrazee
- 16:44it's probably no longer accurate to say we're punting on private data, FWIW. What I said above is most recent -- we're basically thinking it'll require a system outside of the ADX repos
- 16:46nothing set in stone but the hypothetical solution is - we use the repos for public data and then either a separate private repo (or private db, whatever works best). Now every user has public and private data. Selective sharing is then accomplished by some kind of off-repo message(edited)
- 16:47if everybody's PDS can accept POST messages on behalf of the user, those POSTs could go into the user's private data. It could be structured like a mail system even, where the message being sent produces records in each private repo with information about who it went to and a UUID connecting them
- Johannes Ernst16:49It may be useful to analyze this from a UX perspective. 1) As a user, I write something. After I have written it, I decide who should see it -- public | a group | one other person. 2) As a user, I want to shout in public. So I write and when I'm done, it gets published. 3) As a user, I want to tell my friend something privately. After I have written it, I realize this may be of interest to others. 4) Same as #3, but the next day.
- smokecharonastronoutdroughtsaltwolverine16:50wouldn't you repost it then?
- Johannes Ernst16:52
In reply to this message
There are different ways of doing this. Some "leak" it into the UX. Some "leak" it into the underlying data storage and transport mechanisms. (e.g. some are the equivalent of "chmod 644 private-post", some are "mv private/post public/post" if you get my drift) - smokecharonastronoutdroughtsaltwolverine16:52I do
- pfrazee16:53yeah the basic issue we hit was that "chmod 644 post" just really doesn't work
- 16:54every concept we've looked at for access control in public crypto repos just has problems
- Johannes Ernst16:54Did you write this up by any chance? Would be interesting to know what you found ...
- smokecharonastronoutdroughtsaltwolverine16:55it would be interesting
- pfrazee16:55an internal post, let me see if I can just screenshot it or if it needs more context (in which case I'll write it out here)
- 17:05tmw (he/they) joined the room
- pfrazee
- 17:10(sorry if that's not super easy to read, lol)
- smokecharonastronoutdroughtsaltwolverine17:17why not use onion routing to improve 4
- pfrazee17:18the metadata leakage I'm talking about isnt about passive observers of the wire traffic
- smokecharonastronoutdroughtsaltwolverine17:19ok
- pfrazee17:20the actual repository is a merkle DAG that encompasses the full dataset, including private data. The metadata leakage I'm referencing is how the ancestor hashes to the private data will change due on write
- smokecharonastronoutdroughtsaltwolverine17:22then don't include it
- pfrazee18:06That’s pretty much what we’re talking about — an off-repo system
Tue, Jul 19, 2022
- 02:01Nad // away changed their display name to Nad
- 10:11jeanluc joined the room
Wed, Jul 20, 2022
- 02:54@yuenso:matrix.org changed their profile picture
- 08:45Sachin Shenoy joined the room
Thu, Jul 21, 2022
- 06:12John changed their profile picture
- 15:27Ogulcan Selcuk joined the room
Fri, Jul 22, 2022
- 08:46@rimuru:gentoo.chat changed their profile picture
- 08:48@rimuru:gentoo.chat changed their profile picture
- 10:43pfrazee invited @jpeg07:matrix.org
- 11:10@jpeg07:matrix.org joined the room
Sat, Jul 23, 2022
- 03:41matt_fisher joined the room
- Golda Velez08:52hey guys is anyone going to be at DWeb or I can try to include ADX in the demo lab?
- 08:52Its in late august if that's a useful target date :-)
- smokecharonastronoutdroughtsaltwolverine21:16when does bluesky think it might have a usable prototype?(edited)
Sun, Jul 24, 2022
- 16:00fdgg erger joined the room
- 18:10Perquisas joined the room
- 18:28MOONCAKE BELTRE joined the room
- 18:31changed their display name and profile picture
- 18:31perquisas changed their display name to Perquisas
- 23:03Yosef joined the room
Mon, Jul 25, 2022
- 10:47@treethought:spherics.dev joined the room
- 12:21Daniel Berea joined the room
- 12:26Rebel joined the room
- 12:29rebelation changed their display name to Rebel
- 12:29Rebel set a profile picture
- Rebel12:31Hi everyone! until yesterday I did not know of the existence of this project. You are doing an amazing job and I just wanted to congratulate the developers.
- Rebel13:50Hi
Aaron Goldman ! I just wanted to congratulate you on the initiative. I will be watching the progress. Perhaps a question. Are there any crypto assets that are currently interested in the project or collaborating with you? I apologize in advance if I'm asking a dumb question.
(edited) Tue, Jul 26, 2022
- pfrazee10:14
In reply to this message
Hey Golda, yeah we'll be there! We're going to give a lightning talk and put together all we've got ready, but probably not "try it" time yet - 10:16
In reply to this message
unfortunately I can't ballpark something quite yet. I've got my own guesses but I dont want to overpromise by suggesting a date - 10:17
In reply to this message
Thanks Rebel! We're not really looking for any crypto integration at the moment Wed, Jul 27, 2022
- 01:22Song Bwae joined the room
- 11:49Jayden Close joined the room
Thu, Jul 28, 2022
- 00:26Nad changed their display name to Nad // away
- 10:35@carlcandy10:matrix.org joined the room
- @carlcandy10:matrix.org21:16Message deleted by Aaron Goldman
Fri, Jul 29, 2022
- 09:34@carlcandy10:matrix.org left the room
- 17:33pfrazee banned @carlcandy10:matrix.org: spam
Sun, Jul 31, 2022
- 04:35@lr2:matrix.org joined the room
- 05:29Da/v/id joined the room
Mon, Aug 1, 2022
- 00:32@lr2:matrix.org joined the room
- 00:32@lr2:matrix.org left the room
Tue, Aug 2, 2022
- 02:53Nad // away changed their display name to Nad
Wed, Aug 3, 2022
- 08:25@fv2:matrix.org joined the room
Thu, Aug 4, 2022
- 07:15@planetoryd:matrix.org changed their profile picture
- 09:48@fv2:matrix.org joined the room
- 09:49@fv2:matrix.org left the room
- 10:36wolix joined the room
- 10:56wolix left the room
- 16:37RoseByte changed their profile picture
Fri, Aug 5, 2022
- 07:11kapil123 joined the room
Mon, Aug 8, 2022
- 06:01jkrsp joined the room
- mikestaub14:38This solution seems to be the best compromise for UX and security when it comes to owning your private keys. https://web3auth.io/docs/overview/key-management/
Tue, Aug 9, 2022
- 15:37porcuquine2 joined the room
- 15:40@emmorais:matrix.org joined the room
- 23:16cruelwolf joined the room
Wed, Aug 10, 2022
- 00:48@le1039dxl12:matrix.org joined the room
- @le1039dxl12:matrix.org00:48Message deleted by pfrazee
- 06:08@le1039dxl12:matrix.org left the room
- 09:23pfrazee banned @le1039dxl12:matrix.org
- 16:43@themoon:matrix.org joined the room
Thu, Aug 11, 2022
- 06:06@rajveermalviya:matrix.org joined the room
- 09:39@florian:dsn.tm.kit.edu joined the room
Fri, Aug 12, 2022
- 13:56@velvet1:matrix.org joined the room
- @velvet1:matrix.org20:40Message deleted by Aaron Goldman
- porcuquine220:42Oh shit, shrooms and moonrocks I'm in bro 867-5309.
- 22:23@themoon:matrix.org left the room
Sat, Aug 13, 2022
- @velvet1:matrix.org13:02Whatsapp...+1 (843)-481-5116 Text/Call....+1 (913)-256-5209
Wickr…….potentialvendor
Place your various orders. Delivery to various locations. Weed carts shrooms moonrocks Dmt lsd ecstasy Heroin coke molly mdma ice guns meth pills ecstasy pills Xanax adderalls Oxys percs opana - willscott14:12
pfrazee: there's been some thought from protocol labs about private access to graphs of data. there's a funding call out for research at https://research.protocol.ai/blog/2022/announcing-rfp-014-the-one-with-private-retrieval/, and a set of recent talks https://www.youtube.com/playlist?list=PLuhRWgmPaHtTegfLTVFYtTtqTKQEtDvxW that might be interesting.
There's some hope that homomorphic encryption and/or private set intersection may be able to help with some of this privacy issue in not too many years
- @velvet1:matrix.org20:10Message deleted by Aaron Goldman
Sun, Aug 14, 2022
- 04:38@rimuru:gentoo.chat changed their profile picture
- 16:50kcrwfrd joined the room
- @velvet1:matrix.org18:55Message deleted by Aaron Goldman
Mon, Aug 15, 2022
- 04:12@velvet1:matrix.org left the room
- 20:16s8_unst joined the room
- 21:43@vitorpamplona:matrix.org left the room
Wed, Aug 17, 2022
- 04:37jubin joined the room
- 16:19EtherTyper changed their display name to EtherTyper [eth\/typ\/er]
- 16:20EtherTyper [eth\/typ\/er] changed their display name to EtherTyper [eth/typ/er]
- 16:20EtherTyper [eth/typ/er] changed their display name to "EtherTyper [eth/typ/er]"
- 16:34"EtherTyper [eth/typ/er]" changed their display name to EtherTyper
Thu, Aug 18, 2022
- 11:53@rimuru:gentoo.chat changed their profile picture
- 14:49unclesam98 joined the room
Sat, Aug 20, 2022
- 01:45@collinchristovich:matrix.org joined the room
- 02:30@collinchristovich:matrix.org left the room
- 21:31mqrqpz26sw joined the room
Sun, Aug 21, 2022
- 01:39@ztqdn:matrix.org joined the room
Mon, Aug 22, 2022
- 09:19@ztqdn:matrix.org left the room
- 14:09elmustachio joined the room
Tue, Aug 23, 2022
- 16:28Tech Adept (RDD) joined the room
- 16:29Tech Adept (RDD) set a profile picture
Wed, Aug 24, 2022
- 12:10Adam Lake joined the room
Thu, Aug 25, 2022
- 04:25Nad changed their display name to Nad // away
- 13:29tmw (he/him) changed their display name to tmw (he/him/his)
- 13:33tmw (he/him/his) changed their display name to tmw (he/him)
- 18:21@hutchinson2:matrix.org joined the room
Fri, Aug 26, 2022
- 12:30@null_radix:matrix.org joined the room
- mikestaub14:46
pfrazee: this could be useful https://www.spruceid.dev/treeldr/treeldr-overview
Sat, Aug 27, 2022
- 15:21@jbschirtzinger:matrix.org left the room
- 23:13@briggssaint446:matrix.org joined the room
Sun, Aug 28, 2022
- 03:22J joined the room
- 04:43Henri Carnot changed their profile picture
- @briggssaint446:matrix.org05:18Message deleted by Aaron Goldman
- 06:26@briggssaint446:matrix.org left the room
- 08:07airwaves joined the room
- 08:39@booklearner:matrix.org joined the room
- 10:13@booklearner:matrix.org left the room
- Anton Kent - Anytype13:03Hi guys. What i great paper i have just read about "DIDs vs SBTs vs VCs" - https://arxiv.org/pdf/2208.11443.pdf ! Highly recommended, not an advertisement.
- Aaron Goldman13:49
In reply to this message
Haven't read the whole thing yet but it seems like they are assuming the reputation system is tied to the assertion system. It doesn't have to be. If you have an identifier you care about like a did: then I could publish reputation claims about that identifier. Their is nothing to stop me from just having a url that points to a CSV full of claims about identifiers no need to be on the same chan or system as the specific did method. - 13:50I the safety labelers and the safety label consumers agree on a safety label system the identifier is just a string to be looked up.
- 13:52The only remedy for the identified is to contest the claim with a counter claim or to abandon the identity.
- 13:52This is what makes negative reputation so hard. If you have a wallet bound token and the value goes negative the controller can just abandon the wallet.
- 13:53And it's very difficult to make a soul-bound token without the cooperation of the person to use that identity.
- 13:55Now we certainly use fingerprints and dental records to identify escaped convicts and return them to prisons since their fingers and teeth are soulbound but adversarial soul-bound tokens go to dark places fast
- 13:55And doing negative reputation without them is subject to simply abandoning the identity.
- 13:56World of Warcraft was able to do soulbound items without much difficulty because the value of the account remained greater than the desire to get away from some SBT items
- Anton Kent - Anytype13:59things become even more complicated if we take into account the "private key" market :-)
- 14:04what you've said makes sense and very interesting. problem of "negative reputation" is really hard. yeah, it looks like it requires some separate ledger/registry because person can "drop the account" after receiving the "has murdered people" and "was sentenced to 15 years in prison"
- Aaron Goldman15:54Yup WoW created soulbound items to put limits on the item/gold market and the users just started selling whole accounts more.
- mikestaub17:07
In reply to this message
I think this problem is out of the scope of a reputation protocol, as the free market will likely create solutions at higher layers of abstraction. ( background checking services, etc ) Mon, Aug 29, 2022
- airwaves07:37Is Bluesky affiliated with Twitter? I read something online which stated that they've parted ways now.
- Aaron Goldman10:04
In reply to this message
Yup, background checks are about adding reputation to someone who is at zero.
Then you can treat zero as default deny.
You solve the negative reputation problem by not needing 'negative reputation' because you don't trust zero.
- Aaron Goldman10:12
In reply to this message
Bluesky was always meant to be independent. The goal was a small group of protocol engineers to build a protocol for public broadcast content to move between Twitter and other networks.
That's why it's structure is a research grant not a subsidiarity. Twitter is not even a share holder.
The protocol needs to be neutral territory or it won't be trusted or adopted by anyone outside Twitter.
- Aaron Goldman10:18In Jack's words https://twitter.com/jack/status/1204766078468911106
- 11:15Sam (@wedg:matrix.org) changed their profile picture
- 16:22@hutchinson2:matrix.org left the room
- 19:01@saintbriggs:matrix.org joined the room
Tue, Aug 30, 2022
- 02:57Nad // away changed their display name to Nad
- 04:32@saintbriggs:matrix.org left the room
- 11:26Andy joined the room
- pfrazee
Wed, Aug 31, 2022
- 09:36ayrton purdy joined the room
- 10:51itsandy changed their display name to Andy
- mikestaub
- pfrazee
- 11:04shoot got a meeting, will finish my point in a few
- mikestaub11:43
pfrazee: another one: https://github.com/linkml
- pfrazee12:05okay back! So I gave a talk explaining where my heads at. Video isnt available yet but here's the slides: https://docs.google.com/presentation/d/1K2jHEQHD-fDFhXRs-N4eeLRh5zOMXBbfH5p9m6eWL-w/edit?usp=sharing
- 12:07what we want is a way to define precise & machine-readable schemas, because their interpretation is very core to protocol. Part of the argument I'm making in my talk is that we ought to think of schemas as contracts (in the interface sense) because there are cases where it's really important that we preserve intent
- 12:09the intent/contract of vocabularies is typically specified in spec docs, often via standards bodies, and if we could introduce a machine-readable alternative then it helps teams move more quickly and reduce the potential for errors
- 12:10Spruce went so far as to create a new syntax, but we don't plan to do that
- 12:10(considered it, though)
- Anton Kent - Anytype12:14Hey guys, what do you think about Subconscious/Noosphere? https://subconscious.substack.com/p/noosphere-a-protocol-for-thought What i don't understand how they are planning to do a "multiplayer" scenarious. Because in a single-player mode everything is pretty simple -> their "supernode server" is a tiny wrapper on top of IPFS with custom name resolver (libp2p).
- 12:14yes, they use UCANs too :-)
- pfrazee12:19
Anton Kent - Anytype: I'm Internet friends with Gordon. He's a smart guy and he's really passionate about the project. There are obviously a lot of differences from what we're doing because the goals of the protocol are different. The biggest similarity is using content-addressed data structures. Other than that, it's kind of like comparing Notion to Twitter
- Anton Kent - Anytype12:58not comparing them to Bluesky, just was curious what do you think. I like what they are doing
- mikestaub13:06
In reply to this message
Probably for the best. Looking forward to watching the talk, from the slides it seems you are focusing on exactly the right problems. Thu, Sep 1, 2022
- 02:10thilonel joined the room
- 03:47Nad changed their display name to Nad // away
- 15:36Jayden Garnsworthy joined the room
Sat, Sep 3, 2022
- 16:18bariali07 joined the room
Sun, Sep 4, 2022
- 08:17Steven Franssen joined the room
- som114:26you all are snail working for few years still i dont see any progress
- 14:27you want to make decentralised or federated social media ?
- 14:28scuttlebutt protocol is good, you can work on improving that protocol, that is what can be a decentralised social media.
- 14:30Join the party
- 14:33We've been working on decentralized social for years. Most things don't work. Nostr actually works.
- 15:12bsstoner joined the room
- Golda Velez17:43I'm starting to think there is a use case for a variety of private-pod type solutions + a shared public data layer that is credibly neutral, but the data in the public layer is available to all And maybe some kind of semi-private solution with small groups protected by encryption with frequently rotated keys I wonder if we are conflating the social network use cases of private and public together too much?
- mikestaub17:55
In reply to this message
I 100% agree with this. They are 2 different use-cases, but the protocol should enable both natively. - mikestaub18:00
In reply to this message
"First you must know them and get their public key somehow, either by asking or by seeing it referenced somewhere." This is not the use-case Bluesky is focusing on. In my opinion Signal and Telegram Groups are good enough to solve this. Decentralized global search is the hardest feature to build, which is why nobody has been able to solve it yet. We have to find a way to make it as good or better than a centralized ElasticSearch instance to compete with web2 UX. - Bill Ottman18:07
In reply to this message
Definitely glad to watch progress. Signal and Telegram aren't decentralized. Telegram isn't even fully open source. - 18:10Ultimately what matters is what works
- Bill Ottman18:17If identity, content and social graphs are sovereign that's a huge step in the right direction. That's what creators care about and deserve to own.
- 18:17The statement above about needing to know people's keys isn't always the case. Clients can implement improved search and discovery in a number of ways
- Steven Franssen
- Bill Ottman18:18Nostr enables data storage and retrieval via a shared global network of relays(edited)
- 18:19
In reply to this message
Fair enough, but p2p isn't even necessary to achieve censorship resistance and decentralization - Steven Franssen18:20correct
- 18:21but it should be considered an optimal goal maybe
- 18:21the best is p2p where nodes can have different roles
- 18:22matrix federated servers are p2p but users are not
- 18:24interesting
- 18:28i have seen so many attempts at decentralized social all fail, they seem to get stuck in developing unnecessary things while never achieving some fundementals that will scale and so they can't scale, even matrix is severely bogged at a limit now which they are trying to fix
- Bill Ottman18:44Synapse can't scale. We run a server for Chat at Minds and it's flakey. Dendrite needs to get finished
- 18:44Dozens of clients and apps on nostr like minds
- 18:44Even chess...
- 18:46Directory of apps
- 18:46And relays
- 18:47Healthiest dev ecosystem I've seen. Anon founder. Public domain
- Steven Franssen18:47are you aware of #freenet-locutus:matrix.org ?
- Bill Ottman18:48Joined.
- Steven Franssen18:50it would be worth your while to talk to sanity
- Steven Franssen
- Steven Franssen20:12
Bill Ottman: nostr is really interesting thanks, it outlines the problem quite succinctly, only thing i would add is the platform should aim to support chat (latencies) as chat can become a forum but not the reverse
- Bill Ottman20:15It does
- 20:15There are a few chat apps
- 20:16It runs over websockets
- Steven Franssen20:33
In reply to this message
very cool, so i guess i can just take my private key generated in that app to any other app on the platform? are any apps using the same data between them? - Bill Ottman20:34Yes
- 20:36There are different kinds of events
- 20:36I'm surprised no one from bluesky has seen this ?
- Steven Franssen20:37i am not from bluesky
- 20:38they are some of the main people
- 20:39seems nostr and bluesky are solving the same problem
- Bill Ottman20:40Maybe there's synergy. We've been working on a NIP for delegated event signing and keys
- Aaron Goldman21:08Does nostr have a concept of a repo? Is each post a signed object and you ether find it or not, or can you get evidence that you have the whole data set published by a particular use
- Bill Ottman21:13Clients publish to relay(s). Relays don't directly talk.
- Steven Franssen21:43relays not talking seems a problem, clients really need help finding content, i used a few of the apps and they have various issues, content discovery being the biggest
Mon, Sep 5, 2022
- 03:07Nad // away changed their display name to Nad
- @planetoryd:matrix.org
- 06:17Everyone knows these cryptographic tricks
- @planetoryd:matrix.org06:25"relays of their choice", so no routing ? this is the opposite of automation
- @planetoryd:matrix.org06:35this protocol still depends on some social graph. no, social graph is anti anonymity, and it's not a good abstraction to start with. I mean, the entire thing can be as simple as Locutus protocol's concepts
- 06:38there's no problem with DHT if you can maintain stability while nodes are joining and leaving
- @planetoryd:matrix.org06:58Out of all protocols, I favor Locutus. It has no social graph in itself. It does one thing well, routing and serving contracts. Contract is a WASM function that describes what can be put in the contract.
- 07:01No mandatory linked list. No mandatory publickey signing. And they all can be built in a contract. Simple and effective(edited)
- Steven Franssen07:24thankyou for your criticisms p@planetoryd:matrix.org: they are well thought
- Aaron Goldman08:51
In reply to this message
Garbage collection is still a problem. What data should be preserved? Who has the writing right? GC is enough of a problem that most DHTs end up using a TTL and requiring re-advertising to the point it's mostly only useful for ephemeral data. - Adam Lake08:59
In reply to this message
Makes sense. Does BlueSky have some documented use cases that they are designing for? Is there an articulation of a desired set of tangible goals? - Steven Franssen09:03many people use multiple apps some more public or private, i know i feel weird using a public app to msg family
- 09:18@wings:perthchat.org joined the room
- @planetoryd:matrix.org09:26
In reply to this message
It's not a lot of data and many metrics are available for GC ? can you elaborate(edited) - Aaron Goldman11:51
In reply to this message
For data that we want to durability store data you could imagine putting it in a DHT. If you can maintain stability while nodes are joining and leaving.
So why is IPFS using a DHT to store records of where to find blobs for a CID instead of just storing the blob itself. The DHT would fill up with junk as the world used it for free storage.
Instead they gate it with a max TTL if you want to store data you must re-advertise constantly. This "work" prevent the IPFS DHT from being cheap storage and moved the economics to not worth using for durable data.
The lack of a good way to insensitive storage nodes in the DHT leads to lots of wasted effort.My main point was that there are lots of problems with today's DHTs and lots of research to be done before they are anywhere close to their potential.
... I don't think I understand how Locutus uses the DHT.
- Perquisas
- Aaron Goldman16:05I don't know what that means 😢
- 16:38A joined the room
- @planetoryd:matrix.org
- Steven Franssen20:18p@planetoryd:matrix.org: i remember closeness of peers is a factor?
- @planetoryd:matrix.org
- Steven Franssen20:54p@planetoryd:matrix.org: well with enough peers being random and near is easy
- 22:22A Person joined the room
- @planetoryd:matrix.org23:20
In reply to this message
And he also proposed a simple blind signature token system to prevent spam (centralized token issuer)(edited) Tue, Sep 6, 2022
- 00:25750K joined the room
- 05:48@liebebtc:matrix.org joined the room
- som1
- 11:36take a look at yggdrasil-network
- 11:37you can take to your peers directly over that network
- @liebebtc:matrix.org12:40Message deleted by Aaron Goldman
- 15:33chomp joined the room
- 17:06Joanna joined the room
- 17:07@shadowislord:matrix.org joined the room
- @planetoryd:matrix.org
- 22:35mtdoxx changed their display name to chomp
- 22:36chomp set a profile picture
- 23:37Sampei Omichi joined the room
Wed, Sep 7, 2022
- 09:14Valentin Baltadzhiev joined the room
- 09:39@liebebtc:matrix.org left the room
- 12:46@wings:perthchat.org changed their profile picture
- 17:12MZico joined the room
- 17:28elrondnetwork joined the room
- 19:08tmw (he/him) changed their display name to tmw is AFK till 9/12
Thu, Sep 8, 2022
- 09:10@rimuru:gentoo.chat changed their profile picture
- 10:07John changed their profile picture
- 15:05@shadowislord:matrix.org set a profile picture
Fri, Sep 9, 2022
- 16:54lynn changed their display name to lynn (he/they)
Sat, Sep 10, 2022
- 11:30Hi changed their display name to Hugh
Sun, Sep 11, 2022
- 04:08thomaskiml changed their display name to tmskml
- 09:26supernova joined the room
- supernova09:26sup is this active?
- 09:27the discord was kind of intense
- Aaron Goldman10:14
In reply to this message
The discord was about things like "why" this channel is about implementation details and APIs. Just a very different thing. - Steven Franssen16:48
Aaron Goldman: what do you think about nostr as they seem to be achieving the goals of bluesky?
- Aaron Goldman17:12Similar goals yes but somewhat different approaches. ADX identity doesn't use a single key but rather a set of keys they can be added to and removed over time. ADX as a concept of a repo so you can know nothing new has happened where nostr has unbundled events you can always have missed something from a publisher. Neither is strictly better just different use cases. ADX tries hard to have schemas that can evolve over time in ways application developers can deal with. Nostr has an unstructured string for its events more flexible but doesn't offer application developers help in migration. I think it's a little like comparing Django or Ruby on rails to HTTP The opinionated frameworks make it much easier to build applications where is the raw flexible protocol can live a long time but requires a lot of a structure on top of it to be useful. ADX has machinery to make building the social apps less painful. Nostr is trying to be one layer in the stack not the stack itself. Granted I'm no expert in nostr so I could be wildly misjudging it.
- Steven Franssen17:24thanks can you elaborate on " doesn't offer application developers help in migration" the point i would make is many take a more grand approach where as nostr seems to be taking largely a first principles approach, the problem with having too many parts and particular the wrong ones is you end up optimizing them, which is what i am witnessing with matrix and their p2p project
- Steven Franssen19:06? i guess no
- Aaron Goldman19:16He put together slides but I get waiting to share until he present and can point to a video
- Aaron Goldman19:23The gist is if I want to version records we want to express concepts for optionally and if a requirement fails fallback
- 19:23It is a poor user experience to see a tweet that's it look at these pictures and has no attachments because your client doesn't know the schema has been versioned to include attachments
- 19:24If I add access control primitives and your server shares it publicly because you don't know that it's been versioned that's bad
- 19:25But if I can say ACL the required field and if absent no reshare then it can fail safe. This only works if the fallbacks are already present as concepts.
- Steven Franssen23:35why is there need to be a variety in schema for attachments? maybe i need the pictures but it seems bluesky is going far beyond decentralized twitter
- 23:36is there an outline of the problems bluesky hopes to address?
Mon, Sep 12, 2022
- 06:53tmw is AFK till 9/12 changed their display name to tmw
- 10:31tmw changed their display name to tmw (he/they)
- pfrazee
- 10:37
In reply to this message
it's to assist in evolvability in general. Even if we assume the tech never expands outside of some initial social usecase, social apps tend to evolve. We want the schema toolset to help us maintain correctness whenever that happens Tue, Sep 13, 2022
- 11:36@koyu:mozilla.org joined the room
- @koyu:mozilla.org11:37Okay, quick question, but why are you building something that literally sounds like ActivityPub with a few knobs twisted?
- mikestaub12:08
In reply to this message
Simply because the problem is unsolved. Gab had to hardfork Mastodon just to add a groups feature. - @geoah:nimona.io12:57Completely offtopic, but am I the only one for whom this room is now called “pfrazee and 71 others”? :p (the number changes often) — I assume it’s a bug in my server syncing but before leaving/rejoining wanted to check if it was a more widespread issue cause it’s the first room I’m seeing this issue in.
- pfrazee
- @geoah:nimona.io13:00
In reply to this message
Hehe figured as much. Thanks for verifying it! I’ll see if there is a way to force the server to re-sync. - 13:07Ailín Pérez Valderrey joined the room
- 13:14fkl joined the room
- 13:31Ailín Pérez Valderrey set a profile picture
- Aaron Goldman13:54Bluesky Dev to me but “pfrazee and others” has a nice ring to it. 😛
- @koyu:mozilla.org14:31
In reply to this message
It's funny, because ActivityPub is software-independent and could be implemented into Twitter by just adding a few routes - 14:31So you clearly have no idea what you're talking about, I assume
- 14:32Gab could've done the same by using their existing software stack, but for whatever reason they chose not to implement it on their own 🤷♀️
- 14:34The spec is here, but I have no idea why fascists can't read
- Aaron Goldman14:40More interesting in my opinion is that ActivityPub is very URI centric. If we have repos that can be accessed `adx://username/app/dataset/record` then the ActivityPub records could then be shared in a host independent namespace giveing the portability of a content center system.
- @koyu:mozilla.org14:41
In reply to this message
You don't need all that bullcrap, ActivityPub handles that on its own, automatically, hence why implementation would be a lot easier - Aaron Goldman14:41As long as the host DNS name is in your identifier migration is at the discretion of the host name controller
- @koyu:mozilla.org14:41ActivityPub is the layer that exchanges data between different servers, why do you need such a complicated layout?
- 14:42If Dorsey wanted something like SMTP, ActivityPub is literally what he's looking for
- 14:42That's like using XML and Soap for Web APIs in 2022, it just looks like shit and every developer will hate you(edited)
- Aaron Goldman14:43Yup if hosting providers always behaved well and never used their privileged position of access to users that would work well.
- @koyu:mozilla.org14:44
In reply to this message
Or you just stop being so American and actually acknowledge that nobody wants to listen to Trump's hate speech - 14:45And if you're concerned about hosting providers then there's the door, because they will do shit unless you behave like it
- 14:45Stop whining about Cloudflare, because Twitter has literally their own infra
- Aaron Goldman14:45Side note: better to avoid generic degrading descriptors like 'bullcrap' in favor of technical critics such as 'inefficiently' or 'complexity'
- @koyu:mozilla.org
- Aaron Goldman14:47I like 'bloat' that's much more expressive thanks
- @koyu:mozilla.org14:47Or as I'd describe it "A protocol that developers will joyfully deny using"
- @gnu_ponut:matrix.org15:20
In reply to this message
BC activity pub is still centralized and data isn't replicated so it really sucks when the server you joined dies (or you just fall out with admins). Secondly activity pub still has a problem where every application implemented on AP has to specify its schemas adhoc if you want interop and then on top of that (bluesky has this problem to) every one is scared of code on the network so every client for an application has to duplicate a bunch of code. Which is a problem when it comes to people writing extensions and is really why there.s a bloat problem. - Aaron Goldman15:36
In reply to this message
Not sure "code on the network" solves the problem. The browser and it's JS runtime is code but the browser remains a bloated platform.
There is a trade-off in procedural and declarative data. By sending procedural code and letting it paint pixels you get a very simple runtime but the data becomes very opaque. By sending structured schemed data the meaning is more transparent and many UIs can render the data in many ways but at the cost of needing to understand the data.
Functions are opaque but generic structures are transparent but specific.
- @koyu:mozilla.org
- 15:51Because you make it sound like everything should be distributed
- 15:51Which is simply not an option for most applications
- @gnu_ponut:matrix.org15:55
In reply to this message
JS and web were designed by and for completely centralized applications though and that bleeds through the entire stack. They also didn.t have hindsight - 15:59while it is a large, probably mostly unachievable piece of work to make a web browser, it's not as impossible as implementing every web page that ever could possibly exist each time (for each web client) because we didn't have JS. Which is basically what has to happen everywhere else so variety and more importantly personal control doesn't exist(edited)



