Venmo/Cashapp product planning

I initially wrote out some ideas about using Matrix for this, in the product wishlist thread here: Grin product wishlist - #10 by trab

the problem with matrix is that the rooms, and room participants are known to the server admins. This makes Matrix a non-starter for this use case. At least until p2p matrix comes out (i honestly think it could be 10 years before we see p2p matrix though lol).

So this new thread is about figuring out the best stack to build this product with.

The first question is which network do we use for the message sending and username lookup. Some ideas from the top of my head are:

  • A fork of Signal
  • manyverse (SSB protocol)
  • Session (session protocol on oxen blockchain)
Protocol Example App SDK(s) Forward Secrecy?
Reticulum Sideband Python Yes
Waku Status Javascript, Nim, Go Yes
Gun Iris Javascript, Rust No
Nostr Nostr.chat Javascript, Go, Rust, C# No
XMPP many java, python, c++, lua, javascript, Objective-C No
Matrix many almost all No
Hypercore hyper-web-chat / p2p multiwriter with autobase javascript No
libp2p Berty javascript, go, rust Yes
yggdrasil sprig (arborchat) go ?

i will do a closer comparison of all these options in the near future. If someone else wants to join in, please feel free! i am probably forgetting some messaging options too. but i think we have to go with something more p2p ish where the server admins don’t have total control of accounts. so that excludes xmpp and matrix afaik.

Edit: adding a table

3 Likes

There used to be a tor messaging service, unfortunately not maintained anymore as far as I know. Otherwise that would be the most logical to implement in the wallet, or link the APP to the wallet.
Not sure if this is the right one, desktop only:
https://thetorproject.github.io/tor-messenger-website/
Or Briar, also tor based messaging APP, used by journalists and woks on a phone:

I can help with testing/reviewing a few options.

There’s also The Mesh:

3 Likes

This looks like very cool crypto Toolbox and framework. Do you have experience with it?

What surprises me is that despite the name ‘Mesh’, I do not see much info about distributed networking (only something about Hub nodes). So, to my understanding it is a crypto toolbox but does not contain any distributed networking protocol, so it might be suited for a secure IoT network since it is ok to know which nodes are communicating, while with private messaging ideally you do not know which sender and receiver are communicating. This is just how I interpret it when I read it, it appears to be more about the security and encryption between devices than about anonymizing the nodes. Other parts look interesting though, for example groups of devices, so maybe like a chatroom.

I do need the solution to work on mobile primarily. but i will consider this one when i rank them!

Briar is cool, but there is no iOS solution! I think Berty wants to be a kind of Briar solution built with libp2p. You should look into that.

This reminds me of Yggdrasil, or Reticulum Network! I need to add these too.

My experience of The Mesh is limited to seeing it discussed on the cryptography mailing list [1], e.g. recently in [2].

[1] cryptography

[2] [Cryptography] A payment scheme for the Mesh

3 Likes

Interesting. Once the registry goes online, it might be prudent to buy some Grin related names. At least, it all smells rather promising.

the Mesh looks cool, but I think we need to whip up more of a POC to test UX and viability.

something that stitches together SDK with SDK (even though grin doesn’t really have a true SDK right now).

note: Grinmo needs to include a tab for buying/selling Grin. whether it uses a Bisque API or something, i’m not sure. But need to decrease reliance on unreliable exchanges.

A brief search for front-ends that could be forked for a POC:

Python backend might be cool if we could just include the pure python implementation of Grin with it. But Python is not very portable on mobile OS’s.

Best option may be to do something with Rust + Flutter. Cross platform provided by Flutter and Rust backend already provided by the main rust implementation of Grin.

See this positive discussion on using Reticulum for Grin

There is some positive Grin feedback and some ideas for integration. Feel free to jump in to the discussion!

6 Likes

Thank you for sharing this and the discussion only confirms that keeping Grin simple is what might make it interesting to a lot of bright minds. Let’s keep it that way.

8 Likes

Grin is simply unique…

and we must fight that it keeps its unique features (unless someone proves that a radical change makes sense).

1 Like

Nostr development has come such a long way since I first made this post. Forward secrecy is never going to be in the protocol, but e2e encrypted messages has become a norm now.

Theoretically, one could customize this app for Grin GitHub - brilliancebitcoin/nostrgram: A clone of telegram built on nostr

Add special CSS for messages that contain slatepacks, etc

Also see this for playing with Nostr in the browser GitHub - supertestnet/vanilla-js-nostr: A demo of posting and viewing a feed in nostr using vanilla javascript

When Grin gets invoicing, a user could also pay nostr nodes in grin to let them post

6 Likes

Nostr has really taken off! Reminder that even though Bitcoin maxxies have glommed on to the network, the protocol itself is completely separate from any crypto project.

Bitcoiners have started posting Lightning invoices on Nostr notes. Grin slatepacks are perfect for Nostr (well, if they fit in the note size limit. i haven’t checked yet)

5 Likes

That is very interesting, i saw that Twitter’s Jack Dorsey very interested in also. I remember somebody posted some github talk, some guy mentioned Grin to Nostr contributing people while developing, couldnt remember and find it. Does anyone remember ?

2 Likes

You may be thinking of Reticulum network. I posted a discussion from that yeah.

But Nostr is more like… fork one of the nostr apps, add support for rendering slatepack messages in a cool way, etc

4 Likes

Nostr is a very good decentralized communication protocol. It already has a client that supports Bitcoin lightning payment. If it can support Grin payment, it will be a very cool event.

4 Likes

I agree, the decentralized version of Twitter needs a decentralized anonymous coin

1 Like