Skip to content

Commit

Permalink
Merge pull request #191 from dat-ecosystem/dpaez/meeting-notes-68
Browse files Browse the repository at this point in the history
Add: new meeting notes 68 (cabal)
  • Loading branch information
dpaez authored Oct 28, 2023
2 parents b242a43 + f748d96 commit db94804
Showing 1 changed file with 88 additions and 0 deletions.
88 changes: 88 additions & 0 deletions meeting-notes/68-26October2023.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
# AMA Session with Alex (Cabal)
26-10-2023

## Important Links

- Cabal Site: https://cabal.chat/
- Cabal Org Repo: https://github.com/cabal-club
- Cabal CLI: https://www.npmjs.com/package/cabal-cli
- Spec of new protocol (`cable`): https://github.com/cabal-club/cable
- Reference Implementations:
- https://github.com/cabal-club/cable.js
- https://github.com/cabal-club/cable-core.js

## Notes

- Cabal Intro / Current Status
- P2P Chat
- 3 active collaborators
- alex & kira
- cryptix
- Different Clients Available: CLI, desktop
- Working on a grant (Europe)
- Been working on the next generation of Cabal. Identified some stumbling blocks
- New Protocol: `cable`
- Spec-first (Thanks kira! :throphy:)
- Trying to separate from hyper protocol. To get more stability.
- Latest issues with Hyperswarm
- helps peers find each other
- to find each other using a dht you need some bootstrap nodes
- hyperswarm is now v4+. Most of the projects were using old bootstrap nodes that were deprecated and put offline.
- People from the Cabal community step up and bootstrapped their own nodes.
- Subjective moderation concept (cabal unique)
- informal
- working on making things more explicit: moderation spec
- Worked on some other grants
- Desktop / Webapp status
- desktop is working. new patch is coming!
- web version: caballo
- more like a PoC
- using hyperswarm-web
- https://github.com/cblgh/caballo
- Question / Cabal's client are pretty barebone in terms of quality of life functionalities compared to apps like Matrix, Telegram, etc. It seems like every messaging app has to manually recreate all those features and UI. For Cabal, is there a plan to re-create those quality of life features? Or could someone make it so that it's possible to run a Matrix room+client+UI on top of Cabal, to have it decentralized?
- Small team, so we can't operate at the same level that those apps. So, we can't have a parity of features.
- Hard Prioritization of features
- Excited about new `cable` protocol.
- Doesn't have a append only log.
- This could be an UX improvements
- Integration with Matrix: difficult. Matrix has a really big stack
- Maybe a bridge could be possible.
- Question: Is the plan to make it easy for others to build "fancy features" on top of cable/cabal? ...so there is no need for one team to do all of it?
- kira: the cable protocol only reserves the first 256 message and post type IDs, and the rest of the space (varint space!) is open for anyone else to add new post/message types.
- Question: whats the goal for the cable protocol and cabal in terms of core features? ...forward secrecy? anonymity? tor/i2p style onion/garlic routing? multisigs? relays?
- alex: core idea: make things simple to people how it is implemented
- you can even write your own implementation of cable
- group chat paradigm
- Networking side:
- Ideally/fun-to-explore: making it possible to have a group chat without leaking IPs
- It's an open path at this moment
- kira: The handshake part of the protocol is in draft status (https://github.com/cabal-club/cable/blob/handshake-proto/handshake.md) and talks about how security works. No forward secrecy on posts, because we want new members to be able to read old messages, but each net session has a new shared secret. Messages have a Time-To-Live, so they can be relayed freely through the network at the preference of each node.
- Question: what to expect in terms of capability when building of top of cable/cabal? what will be easy and preformant and what will be hard?
- It depends on your style
- Pros/Cons from Cable
- there is no append only log
- need to inject extra data for each post
- each single post is self-contained (signatures)
- message overhead
- binary specified (not json)
- overall: everyone is really happy with the structure
- some implementation agains the spec (erlang, nodejs)
- Implementations / Status Spec
- Working towards the "1.0" version of the spec - getting closer
- cryptix: cabal update -> https://social.coop/@cryptix/111302243515983216
- `cable.js`, `cable-core.js` -> reference implementations
- https://github.com/cabal-club/cable.js
- https://github.com/cabal-club/cable-core.js
- Question: i didnt completly understand how i query and sync messages from others? does that require multiple round trips?
- yes. 2 round-trips
- Question: how do you see cabal in 5 years
- cabal running on different platforms
- mobile version / web version / image
- Question: Moderation / Cabal has super interesting moderation. But it seems it's only possible hide all posts from a user? Would it be possible to hide just 1 specific post?
- updates from the new moderation spec.
- need to be reviewed
- **Yes**. it would be possible to hide singular posts
- Even block users

*Thank you amigos, see you on the next AMA!*

0 comments on commit db94804

Please sign in to comment.