Beam Anonymous Messenger (BAM)

This is a proposal to implement a Beam Anonymous Messenger (BAM)

BAM (temporary name) is a proposal for a Beam Anonymous Messenger to offer private person-to-person text messaging with addon features to exchange value.

Functional requirements:

  1. Must be free or starts with an initial one time fee.
  2. Either build as a Dapp or natively into the Beam Wallet.
  3. Implement BAM on top of SBBS.
  4. Supports sending and receiving of text messages.
  5. Supports contacting an NFT owner by public key (multiple assets) or by article id (single asset).
  6. Supports contacting a BANS address.
  7. Supports the sending and receiving of Beam and confidential assets (CA) in chat.
  8. Sent and received messages are stored locally only.
  9. Must also work when the recipient is offline.
  10. A fixed max delivery period when a recipient is offline, example 12 hours.
  11. Must be able to enable/disable the receiving of messages from anyone.
  12. Must be able to block individual senders.
  13. Show a checkmark when a message is delivered.

Future releases

  1. Group chat.
  2. Message cancellation before and/or after delivery.
  3. Support for emoticons
11 Likes

You can also post this idea in “Creating Some Killer dapps”

4 Likes

A small fee for every message which is distributed to the miners would be beneficial for the security of the network due attracting miners while also limiting spam. Maybe after a certain number of messages per f.e. hour a progressive increase of fees.

In connection with BANS (if enabled) it would easy to use for everyone.

As you already mentioned it should be only stored locally and p2p. Maybe build in an option for messages to be only stored in RAM.

1 Like

If the message could be included in already existing blocks, then surely there would be no need to apply extra fees? Imho a messenger app such as the one descibed by OP, should be totally free to use.
Nobody will use a messenger app which costs them money to send every message ?

1 Like

Who is OP? Messages will not be included in any block, just the fees if that is what you mean and how could they be included in existing blocks? Further i agree that BAM should be free, however we also need to prevent that someone will spam the nodes. Maybe a threshold under which messaging is free would be sufficient. Above that introduce a progressive fee and maybe a throttle. What is your suggestion? How would you solve this?

1 Like

Messenger app sounds good.

alternatively (slightly OT), it could be very useful to be able to add a simple encrypted personal message to a TX.
e.g. “this is a payment for order #1234
been waiting for years to see this kind of feature

1 Like

Messenger App is a must.

1 Like

IMHO, Beam is not in the business of messenger apps!
Leave that to the companies who are specialized on that.

That said, a very very extremely basic messaging and for very specific use cases might be beneficial. Maybe even good enough without any GUI.

  • pgp-like signing of messages with your BANS address / dapp creator ID
    (e.g. the anon DeFi project somename.beam makes a public statement. Users can verify it’s authenticy, because its signed with somename.beam)

A more fancy variation:

  • anonymously broadcast BANS-signed public messages via SBBS
    (e.g. the project from above example can use the SBBS system to publish a statement.

  • Wallets can subscribe to a broadcast feed from BANS addresses of their choosing

Also interesting:

  • what someone mentioned above: attaching a short message to a transaction

Apart from that I don’t see many other use cases, though i really like the idea of signing a message with BANS
If an independent project wants to create a full-fledged messaging dapp, why not. But core team should work on core infrastructure IMO.

3 Likes

Totally agree. Also, there is a close competitor already, Oxen with the Session app.

I’ve seen this in other projects. It isn’t issue when few people are using the platform since the number of messages is ridiculously low. It does spam the network since every message will now be stored forever on the chain.

How about a side-chain where these messages are stored but only for limited period of time? (for e.g. 2 years).

This way it won’t spam the main chain and even when spams occur it will eventually get cleaned up.

This seems dead-on. Let devs focus on the central uses-cases, not these tangent ones–though his “that said” is reasonable. We do not want to end up with a crappy Swiss Army knife by trying to do everything.

Until, for example, there is liquidity in the swaps, promoting that should be a priority.

Assigned designation FR9 (FR: 9 Beam Anonymous Messenger (BAM) · Issue #1922 · BeamMW/beam · GitHub)

It would be really nice to have a messaging feature on beam however i don’t think it is the work that core dev should engage in if they cannot create a complete product, We again have to focus on things that will be really useful and that which are not available, there are several messaging app on the market all competing to get a market share and i don’t think we can attract new or any user for the sole purpose of messaging ,however we can attract new artists developer if we have a stable core protocol and documentation, so i would like the beam team to focus more on essential things rather than low hanging fruits which can be created by third party dev

1 Like

The reason why i made this proposal is because i saw an opportunity:

WhatsApp, Signal, Telegram etc are no competitors at all for BAM because:

  1. All of those require your phonenumber or emailaddress during onboarding.
  2. End to end encryption does not mean anything when they store (and handover on request) the meta data of the people that you are in contact with.
  3. In BAM you can exchange value.

So in terms of privacy BAM is a much better solution and has almost no competitors. Except maybe partly the Session app. But you cannot exchange value with that.

However i agree with you that current core infrastructure should have priority above this feature. That’s also what i read from others here. And i’m even saying this as a proposer. But hopefully BAM will be build also when the time is right.

2 Likes

Well, clearly I am in the minority here but I feel compelled to tell ya’ll that you’re wrong and I’ll tell you why.

First we must ask, what is money? I have said this many times, it is something you earn, save and spend. You must have all three.

And now I will add a fourth essential component. Money is social, meaning it is socially accepted. Two parties in a transaction may never know or care for the other, but they both serve the same goals to earn and spend in a mutually shared environment

Perhaps now is a good time to define social capital. From Investopedia:

“The term social capital refers to a positive product of human interaction. The positive outcome may be tangible or intangible and may include favors, useful information, innovative ideas, and future opportunities. Social capital is not held by an individual, but instead appears in the potential between social network connections between individuals.”

It should be obvious that, despite all the ridiculous restrictions, platforms like twitter and youtube allows people to monetize their content. I’m not suggesting beam could compete with those platforms but all social paths must be prioritized and a messaging client is where we start.

I recently suggested the beam mobile app should shed much of the nerdy DeFi stuff. Put all the nerdy stuff into other applications / desktop. I would say a messenger should be built into the wallet. In fact, all the normie stuff should be in the mobile wallet; where to spend, how to get there (maps) and messaging.

The more we socialize, the more commerce we enable. The less we socialize, the less relevant beam becomes. I mean, you guys jump on twitter and evangelize the wonders of beam… is it not obvious?

Just an observation. In a recent-ish Spaces episode, a messenger was suggested to use the SBBS 12 hour cache window. Not saying it’s a bad idea but I think it would better to start with the user experience.

The way I see it, a messenger is like a test experience for building bigger and better things. Let’s imagine a twitter-like app with micro-payments for extended content. How might we do this…

One idea is to let users purchase 24 hour access to the platform. Then, part of that fee is divided among all the posts I Like, and another part is paid to the distributed servers using a Proof of Service algo. This 24 hour fee would also give free messenger access. Outside of the 24 hour period, the messenger and platform would revert back to read-only. Honestly, I would definitely use something like this.

The important part to understand here is that I am putting the user experience first and asking, “what must we do to make this happen?”, instead of looking at the current system and asking, “how can we evolve our current system?”. The distinction is important.

With successful services using beam, we get beam into the hands of ordinary users and no exchanges are needed.

Utility first! :slight_smile:

Why not, as long it’s not at all stored in blockchain. No need to bloat the chain, it’s a critical resource.

Messages must fail to deliver after 12 hours like SBBS. It’s payment/business message not Skype.

1 Like