-
Notifications
You must be signed in to change notification settings - Fork 8
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #191 from dat-ecosystem/dpaez/meeting-notes-68
Add: new meeting notes 68 (cabal)
- Loading branch information
Showing
1 changed file
with
88 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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!* | ||
|