RE Taskmaster: Using Hive's Built-in Messaging System...

avatar

bandwidthtech.jpg

@taskmaster4450 probably cringes when I tag him in my titles.

Usually when I tag people: I'm writing some contrarian dickish retort to something that I read or some opinion I have. Written here in my notes: one of these days I'm going to write about how writing open letters is basically a punk bitch thing to do where the writer is just publicly complaining to an audience about a specific person, and 99% of the time it is not necessary to frame analysis in this way. In any case, after I wrote that linked post above I did not apologize, but it was still very cringe in retrospect, and I 100% upvoted like 10 Taskmaster posts in a row as penance (it's all right there on-chain). Because that's what you do on Hive right? Give yourself a free pass by throwing money around. Indeed, I see no problems here.

pepesadcryautism.png

Wow look at the top comment of that post...

image.png

Hey @oldtimer, remember Koinos?

Yeah that comment is dated November 2020, and guess what?
Koinos is still just a token on Ethereum that does nothing.
In fact when I was talking to @yabapmatt recently...
He asked the lead dev Andrarchy for the most basic demo possible,
to figure out how the network operates and all that.
Still crickets. Nothing. Not even the most basic-bitch program.
Isn't crypto grand?
A chip and a chair; a hope and a dream!
How would you like to buy our coin? It's called Koin. Very innovative.

So why bring up Koinos?

Because the hot topic of every crypto network is scaling up a decentralized system. A decentralized system is inefficient by design (hundreds of nodes all storing the same info) so scaling up a system like that is perhaps the hardest thing to do and also the most valuable in terms of adoption and being able to actually service users without inconvenience while still maintaining security and censorship resistance.

automationlogistics.jpg

Trying to get to the point...

So @taskmaster poses this question about building a messaging dapp on Hive. It's a great question. In fact, I'm floored there isn't a modular solution that anyone can just plop into their web page.

image.png

We already see these messages popping up all the time in the transaction history. Why then wouldn't we build a dapp around it so that anyone can just say anything they want in a chatroom or where-ever, directly on chain?

First thing's first

  • There is no reason to pay 0.001 Hive for messages.
    (0.001 HBD when Hive > $1).
  • The only costs of posting data to chain are resource credits.

The technical difficultly of creating such a thing is extremely low... which again is why I'm shocked it hasn't been done yet. It would also be a great use for the memo key (password encrypted messaging). You know, the memo key? That thing that we legit never use because no one has programmed a use for it yet?

I think the real reason this functionality doesn't exist is that devs on Hive understand that it's not nearly as scalable as the marketing implies. Max blocksize is 65kb. That's 22KB/sec shared for everyone on the entire network. If people are chatting on chain in addition to everything else, how long before the blocks full up to the maximum?

No, increasing blocksize is not really an option.

10,000 users chatting at an average speed of six characters per second (60 words a minute) would fill up the entire chain, leaving pretty much no bandwidth left to write blog posts or even transfer money around or upvote or whatever else (play Spinterlands).

image.png

Why do we see this message?

We need to think about why we even see these 0.001 HBD messages in our wallet history to begin with. We see them because a centralized frontend (like peakd or hive.blog or leofinance) shows it to us. That is the only reason why we see the information that we see: because we trust a singular centralized node to play nice and show us the information we want to see.

Sometimes it will show us 0.001 HBD spam that we didn't want to see. Nothing's perfect. But honestly the frontends of Hive should be getting massive upgrades like all the time, but they just aren't because we lack the devs and the funding and the innovation to make these upgrades viable.

On a very real level the only reason anyone is even paying for these 0.001 message is because the centralized frontends of Hive opt to display the information to the user in this way. If the frontends changed to display information in other ways, users would change their patterns of behavior to reflect those changes. This is a very legitimate example of how the choices of individual centralized nodes actually affect the on-chain data and how users pivot to interact with it.

question confusion.png

So it's very valid to see these 0.001 HBD messages and wonder why we don't build a microcharge chatroom or direct messages or whatever else, but at the same time the only reason we aren't thinking about this in terms of free custom JSON operations is simply because the current frontend implementations just don't show us that information (yet). They could easily show us that information just as easily as they show us 0.001 spam messages.

No, it doesn't need to be on-chain

In my recent meetup with Yabapmatt he explained how custom-jsons from splinterlands were taken off chain in a very elegant manner. Rather than building a new system, a modular solution was created, where the old data that was being stored on chain was simply ported to the centralized Splinterlands servers without being forwarded to the chain. Thus the information exists in the exact same form as it did on chain, and if Splinterlands wanted to start forwarding that information back to the chain, they could easily do it. They don't need permission. This is a powerful distinction vs WEB2 and also highly relevant to the topic at hand.

We can do the same thing with messaging. Any dev can build a chatroom on Hive, and if people actually start using it and bloat the chain... that dev can simply port the code to their own centralized server where it will no longer bloat the chain because hundreds of nodes are no longer tracking the information in an extremely redundant manner. Problem solved

decentralizedcentralizeddistrubutedspectrum.jpeg

But that's centralized!

But yet many of the people who cry about centralization have no idea what they are talking about. Decentralization is grossly inefficient and wholly unnecessary (and even foolish) unless there is an attack vector that involving a trust issue that crypto happens to solve. In regards to a chatroom, what's the worst thing that could happen? Someone doesn't get a message because the centralized server censored them, got hacked, or just outright failed? That's... probably not a big deal. As far as threat risks go, that's an extremely low priority threat, and the advantage of centralization is going to trump the decentralized option 999 times out of 1000.

But wait! There's more!

Okay so what happens if you set up a chatroom on Hive using custom JSON. The chain bloats and it gets ported to a centralized server. Has any privacy or power or security been lost by centralizing this service? If the dapp is programmed correctly nothing at all is lost at all. That's the magic of layer two.

Copy that!

So imagine we're using this Hive messaging service for very important private messages. Memo key encryption has been employed and the only way to read the messages is by having access to the private memo keys. Which solution is better? Storing the info on-chain or storing them on a specialized second-layer node?

Many people in crypto would wrongfully assume that storing the messages on chain is the way to go because then it's "decentralized". If you store the info on a centralized chain it could get "censored" or there's a lack of "transparency" or a lack of "privacy". None of these things are true. In fact, posting the data on-chain is actually the real liability. You absolutely would not want to post data on-chain in this case.

encryptionlock2key.jpg

Remember that the data is encrypted and basically unhackable without access to the private memo key. If we store the data on-chain, it will exist there... forever. That's bad. If these messages are really important and we don't want others to read them... having the data exist forever on-chain is a really stupid fucking idea... right? That's exactly the opposite of what you want. You want the intended party to get the message, and then you want the data to disappear (or for the only copy to be stored by the intended recipient). A centralized server can do that. Hive was literally designed for the opposite (permanent storage).

But what if the centralized server censors the message?

Well, that's the beauty of it right? The centralized server can't read the encrypted messages we're sending through it because they don't have access to the memo keys. They have no idea what the message is. If the accounts on Hive that are talking to each other are anonymous then they don't even have any idea who's talking to who.

If the node can't even read any of the message, how are they going to know what to censor or what information to share with overreaching governments? That's simply an impossibility.

copy that

If the messages are very important, each time one side sends the other side a message, the other side will automatically send back confirmation that they received the message. It is in this way that the clients remain in complete control and not the server. In WEB2 the server/client relationship is master/slave, but in WEB3 the client is not a slave to the server and has way way way more power.

Even in the event that an off-chain node censors two parties from communicating to one another, both parties will know immediately because they aren't getting that built-in confirmation message (that would simply be a background option and not even necessarily viewable by the user... IE "message sent" "message read" like we see on smart phone text messaging).

In the event that one node stops playing nice, then we simply pay the RCs to put them on-chain... or even better yet just find another node that offers the exact same service (because again all the code is open source and modular). Or even better yet create a peer-to-peer solution that eliminates the need for a node entirely.

justinsungreenbackgroundcoinjazeerabitcoinnews.jpg

Justin Sun had some good ideas.

And of course I say this with the same sarcasm of "Hitler had some good ideas." Before Justin Sun proved himself to be a dumbass douchebag who was only interested in aggrandizing himself, I was VERY EXCITED about the work he was doing. The fact that Tron bought Bittorrent for $140M in 2018 was absolutely massive. Seriously, in some alternate dimension @justinsuntron is like some revolutionary hero out there cracking skulls and making everyone in crypto rich... but instead we got this version. Too bad. Truly. It could have really been something.

It's very obvious that crypto is not interfacing with other open source code like it should be. We should have crypto-Linux by now. We should have crypto-Github and crypto-Bittorrent... but sadly we just don't. Nobody knows what they're fucking doing and this is taking forever and it sucks ass! Everyone is too greedy and no one wants to build the infrastructure, they just want to race ahead and get rich without doing the work. Very sad.

It's so obvious that we should be employing p2p tech like Bittorrent to transfer information around and reduce the burden on centralized nodes, but alas the tech simply does not exist. I thought for sure @justinsuntron was going to build it, but it's been four goddamn years and again, CRICKETS! WTF!?!

bluecrabsinabucket300x300.jpg

On a very real level a lot of this feels like the whole crabs in a bucket theory. No one wants to be the one that builds something that makes everyone a little bit more wealthy. Everyone wants to capture as much value as they can for themselves rather than provide x1000 value to the cryptoverse as a whole. These toxic tribes have popped up and everyone is dragging everyone else down. We gotta get out of this damn bucket, fam, but how? Stop dragging me down, ass! GAH! This is why we can't have nice things!

So why has no one created a cool chatroom for the Hive ecosystem that is modular and plug & play for any dapp that wants a chatroom? Again, the answer is three prong:

  • We don't have enough devs and that's not an exciting project.
  • It's not profitable for the dev who builds it.
    • The Dev Fund is pretty elitist and probably wouldn't fund it.
  • If it actually gains adoption like we want it would melt the chain.
    • It would then have to be ported to a modular layer-two.

Hive as a testnet

But honestly though... we should just make it because... WE CAN! That's the beauty of permissionless architecture. Anyone can build anything, and if we break stuff along the way then it's a good learning experience and helps the network patch those bugs and continue to scale up. If a Hive chatroom dapp skyrockets the price of custom json 100x... so be it. Let it happen. We'll learn something.

This honestly is a project that I wanted to build myself and I've talked about it a couple times. Every time it gets brought back up I'm continually floored that it just... doesn't exist. Pretty crazy honestly. Again it all comes down to needing to train more devs and pay them 'fairly'. Fairly in this case is probably not much considering the resources at our disposal, but that's fine for now. But this topic spins off into a completely other topic of resource distribution that is worthy of its own post so... I'll leave that for another day.

Conclusion

Kudos to @taskmaster4450 for bringing up this important topic. Hive absolutely should be using all of it's bandwidth all the time. 22 kilobytes per second is nothing. This is not a difficult task. We need to be pushing the limits and failing to scale gracefully over time (to quote Andreas Antonopoulos). A messaging dapp and a couple more games ought to do the trick. Honestly I think this will be a much more viable strategy once we can finally delegate resource credits to other accounts rather than having to delegate actual Hive Power to them to accomplish the same goal. All in good time.

Posted Using LeoFinance Beta



0
0
0.000
72 comments
avatar

Hmm, how come that both you and the taskmaster don´t even mention Beechat with a single word while posting extensively about the topic?
You may not like it because it runs on Hive-Engine servers but it is at least a mostly functioning off-chain chat within the Hive ecosystem and included already on peakd.

0
0
0.000
avatar
Even after actively looking for this service just now I did not find it.

Perhaps you'd like me to write a post on marketing, advertising, and how good products get swept under the rug all the time.

Hmm, how come that both you and the taskmaster don´t even mention Beechat with a single word while posting extensively about the topic?

Probably for the same reason you didn't even bother to link it. lol
You should probably think about that for a minute or two.
Seriously, 120 seconds, take the time to contemplate why you wouldn't even drop a link in the original comment even after taking that high-and-mighty tone.
To me that's more shocking than me or taskmaster not talking about a product with zero presence.

Is the code modular?

Can I use the code to plug it in seamlessly to my own website?
Again, why didn't you post the github link so I can clone it?
I assume it isn't modular at all which is why I haven't seen it anywhere.
But if I'm wrong: why are you asking me about it?
Go bug the people who actually run the Hive frontends so it gets visibility.

https://beechat.network/

image.png

Peer To Peer Connections #1: Open & Decentralized Radio Communications with Beechat Network

Oh shoot is this not what you were talking about?

Like, do you really have to ask why with such a condescending tone?
Is that how progress is made?
When's the last time that verbalizing your frustration in a wholly unproductive manner resulted in a positive outcome?

0
0
0.000
avatar
(Edited)

Sorry, I was not taking into consideration that you would not know this feature.

https://peakd.com/chat

In peakd you can access it from here:
image.png

I don´t get what you mean with verbalizing frustration. I am not a native speaker, maybe I have missed something. Or you overinterpretated something.

0
0
0.000
avatar

Or you overinterpretated something.

likely

0
0
0.000
avatar

alright so I see the chatroom bit now... it was taking so long to load that it seemed like it didn't even work or exist the way I thought it should. There are legit hardly any messages at all in the peakd open channel. I'm the only one who's even talked today from what I can tell. Going back 10 messages gets us back to May 1st... less than 1 message a day on average.

and immediately I'm wondering:

  • Why is there only one channel?
  • Why can't I make a channel?
  • Where is the encryption?
  • Where is the modularity?

Basically everything I talked about in the OP is completely non-existent even after checking this out.

0
0
0.000
avatar

I am not a tech expert, but it is just for chatting, not more. If you had expected a full blown decentralized Discord or Telegram, of course you are disappointed.

0
0
0.000
avatar

I worked for me a couple of times, but competing vs discord is really hard.

0
0
0.000
avatar

We are even moving away from bee.chat since it's a dead project that has no activity for a long time. We are working on building something new as an open source system for all interfaces ... But encrypted etc

0
0
0.000
avatar
(Edited)

peakd = king! All other front ends ( except ecency) are trash

0
0
0.000
avatar

Here is my opening experience:

image.png

Also this seems like DMs rather than a chatroom situation.
Still yeah I totally forgot that this button was even there.

0
0
0.000
avatar

Yes, sometimes it is not working - I know, not the best first impression for you😃.
You can invite more than one users in a conversation. For smaller groups this works quite well (if it works). Try to refresh everything.

0
0
0.000
avatar

Yes, we do lack chat, it's immediately apparent when you get to Hive. People just go to discord if they need to discuss something. It's not always convenient...
!PIZZA
!BEER
!PGM

0
0
0.000
avatar

Sent 0.1 PGM - 0.1 LVL- 1 STARBITS - 0.01 MOTA - 0.05 DEC - 15 SBT tokens to @edicted

remaining commands 1

BUY AND STAKE THE PGM TO SEND A LOT OF TOKENS!

The tokens that the command sends are: 0.1 PGM-0.1 LVL-2.5 BUDS-0.01 MOTA-0.05 DEC-15 SBT-1 STARBITS-0.00000001 BTC (SWWAP.BTC)

image.png
Discord image.png

Support the curation account @ pgm-curator with a delegation 10 HP - 50 HP - 100 HP - 500 HP - 1000 HP

Get potential votes from @ pgm-curator by paying in PGM, here is a guide

I'm a bot, if you want a hand ask @ zottone444


0
0
0.000
avatar

Indeed when we're on discord it's not always obvious what a person's Hive name is. A second layer chat solution it would always be obvious.

0
0
0.000
avatar

I'm going to smoke some weed and read the rest of your post but you're one of my favorite posters I think. You just write too much :P

0
0
0.000
avatar

I used to write 5 minute posts I don't know what happened.

0
0
0.000
avatar

the process of writing is at its most pure when the experience is cathartic :)

0
0
0.000
avatar

Lmao!

For me, I can’t read him enough.

0
0
0.000
avatar

He's the only one writing such long type of posts that I have the patience to read. I really don't know why. The longest one I read from him was 24 minutes read. I guess I'm doing it to emprove my English...

Yeah, that's it ;).

Posted using LeoFinance Mobile

0
0
0.000
avatar

Excellent post. When I look at Leo vs say Peakd there are a lot of improvements/additions on LEO that Peakd or Ecency could learn from. I would like to have a front end more like LEO as a 1 stop for most of my web activity, news, blog, chat, weather, finance, Splinterlands, etc. Majority of it doesn't need to be onchain, just the HIVE portion.

As for the chat, what I do like about the messaging service currently is it uses HIVE. It makes people buy in in order to use it. If you don't like the user, mute or block them, keep the 0.001. Keeping as much HIVE in wallets reduces liquidity, raising prices. I know it's a tiny amount, but is it possible it could be large enough to reduce liquidity? I know 10,000 people spamming your feed would become a major issue too, but anything to keep more HIVE in users' wallets, rather than people dumping it is a good thing in my opinion.

0
0
0.000
avatar

It makes me think about Project Blank. I know it wants to be decentralized and it will be using custom JSONS. In that case, do you think doing that could fill up the chain too much and that they would have to move to a centralized version if it grew too big?

Posted Using LeoFinance Beta

0
0
0.000
avatar

But honestly the frontends of Hive should be getting massive upgrades like all the time, but they just aren't because we lack the devs and the funding and the innovation to make these upgrades viable.

While you lost me in some of the technical details, I do agree on this one. We paid for secretary work a few tens of thousands of dollars a couple of years back, but not much funds spent for devs.

I'm curious how is blank gonna affect bandwidth if the number of "transactions" will be similar with private messaging.

Posted using LeoFinance Mobile

0
0
0.000
avatar

A chip and a chair; a hope and a dream!
How would you like to buy our coin? It's called Koin. Very innovative.

I see you are still soured that they left Hive which I understand... it did suck. I have been following their developments and there is definitely stuff going on with them having released V3 of the testnet (final version) some months ago. The telegram group has about 2k users so there is somewhat of a community there as well... They hope to release mainnet in the next months and then hope that devs will come and build on it... It's promising but its still in a the sooniverse (not that this would be unfamiliar to us here)

But to be honest it feels like we already have most of the stuff they are trying to build on Hive

0
0
0.000
avatar

But to be honest it feels like we already have most of the stuff they are trying to build on Hive

Yeah that's the real issue... what problem are they actually solving by completely restarting at ground zero? Their distribution of tokens is 5 years behind this network. But from what I hear their code will be modular enough to use across multiple chains... so that should be good.

0
0
0.000
avatar
(Edited)

What Problems are most, or the most urgent to be solved anyway? And why do we care?

We‘re doing incorruptibility of the flow of information here, ain‘t we? Maybe just go deeper on that and not widen the field of attention to much.

We have the literally stone wall here, where text gets written in stone.

0
0
0.000
avatar

So when is your coin coming out. The one that can consistently go x2 so that you don't have to "get in early" to make massive gains.

I'm looking forward to that.

Posted Using LeoFinance Beta

0
0
0.000
avatar

OK That was seemingly random.

Your post regarding building stuff just cause we can reminded me about another set of posts you wrote about regarding tokenomics.

Posted Using LeoFinance Beta

0
0
0.000
avatar

There's another messaging dApp ive heard of , hive.pm although I never used it because I was scared away by it saying enter master password, although I don't think that's the ones they actually want you to use. I guess it just sends a transaction to yr wallet then you de encrypt it or whatever

0
0
0.000
avatar

On the login form there is a checkbox for logging in with Keychain. Agreed the Master Password thing is a bit sketch. Maybe the @dbuzz team could look at redesigning the login.

hive-pm-login.png

0
0
0.000
avatar

I have thought about this a lot, and although i've used the encrypted memo feature once or twice, I have also had it fail and just sent as a public memo too. I have thought about this topic a lot myself so I will follow this project more.

0
0
0.000
avatar

One of my take always from this post is I miss the old drama of Steem … well, only kind of.

0
0
0.000
avatar

Completely ignorant question, but is there really not enough devs to work on these projects?

Or are we just not organised enough to come up with clear briefs and pay those available to get them done?

Posted Using LeoFinance Beta

0
0
0.000
avatar

https://hive.pm/login

Lol, no respect.
We've had this for years.

0
0
0.000
avatar

The UI is asking for my Master Pss to login, what exactly did you do with that page?

0
0
0.000
avatar

Keychain.

0
0
0.000
avatar

You know because of the "Master Passwort" like a safety word and then you said "Keychain", sounds like a BDSM invitation for none tech ears.

Whatever, my humor can be quirky I guess.

0
0
0.000
avatar

Hey @antisocialist, is this still working? Tried to use it today with keychain
with no success.

0
0
0.000
avatar

You can do the same thing in the wallet by using a # and a space before whatever message you want to send.

0
0
0.000
avatar

Awesome, thanks!

Just thought the UI is kind of cool :)

This does the trick though, so appreciate it.

0
0
0.000
avatar

I always thought we could use something like that on Hive. I tried that beechat that someone mentioned in the comments but I had the same usability issues and also I'm not sure the messages went through 100% of the times, even when there was no apparent error.

Posted Using LeoFinance Beta

0
0
0.000
avatar

Hey @oldtimer, remember Koinos?

I don't have time to waste explaining. Just one thing:
I bought ,,cheap'' leo at $1, and cub at 40 cents.
Please tell me how much I lost.

A chip and a chair; a hope and a dream!
How would you like to buy our coin? It's called Koin. Very innovative.

But I bought Koin at one cent. A ton of it.
Go figure.

Posted Using LeoFinance Beta

0
0
0.000
avatar
(Edited)

Who cares?

You haven't made or lost anything until you realize the gain/loss.

If you won the lottery with a given set of numbers would you then tell everyone to play the lottery with those numbers and act like that's a smart idea? Oh wait, you just did.

People who made millions of dollars on BAYC NFTs are the smart ones because they turned a profit?
Please.

You don't have time to explain because there's nothing to explain.
Nice try.

Also this wasn't meant to be some kind of snide remark to any party involved.
It's just a classic example of how slowly things can happen in crypto.

0
0
0.000
avatar

It will be good to get this going! I’m sick of using discord for stuff! I’m glad that before I got to the point you mentioned it I was thinking why not push it over to layer 2? I think that’s a good option! It’s also important to not store everything perm on the chain from a chat perspective.

Posted Using LeoFinance Beta

0
0
0.000
avatar

Someone doesn't get a message because the centralized server censored them

For what it's worth, China (via Tencent) is a very big business partner with Discord and I've never been censored by Discord for shitting on Xi Jinping, talking about Tiananmen Square Massacre, mentioning censorship in China, etc.

0
0
0.000
avatar

A lot of great points, this feels like a crowdfunding project to me, not like a dev proposal.

It‘ll be second layer / third party and an endless story by itself. Whatever ‚STING‘ might be, as long as it‘s not an full chat App but rather Interfaces/ API/ Docs that sounds more like a valid proposal for the dev fund.

0
0
0.000
avatar

Yes I too think that putting chatting on chain would put too much pressure on it without a benefit, since all a chat message needs is authentication which can be achieved by signing a message and broadcasting it to a chatting server which will verify it and pass it to clients if they request it. Then the client can verify it again (the second verification prevents impersonation by dishonest servers). There is no problem in making the system decentralized which I wrote about in this comment: https://peakd.com/hive-167922/@mirafun/re-taskmaster4450-rcgg7b

0
0
0.000