RE Taskmaster: Using Hive's Built-in Messaging System...
@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.
Wow look at the top comment of that post...
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.
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.
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).
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.
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
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.
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.
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!?!
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
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.
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.
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/
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?
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:
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.
likely
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:
Basically everything I talked about in the OP is completely non-existent even after checking this out.
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.
I worked for me a couple of times, but competing vs discord is really hard.
We are moving away from beechat and working towards an open-source encrypted system that many interfaces would hopefully integrate as one of the features from this Hive Open-source Launchpad. https://peakd.com/hive-139531/@peakd/a-hive-launchpad-via-peak-open-projects-a-proposal
If you have suggestions or want to be in on the discussion we'd love to have you. We will share this the developer that is researching the technologies right now.
That simple...
Have you used it?
Posted using LeoFinance Mobile
Yes, fulfills what it is meant for.
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
Looking forward to it!
Sounds great!
peakd = king! All other front ends ( except ecency) are trash
Here is my opening experience:
Also this seems like DMs rather than a chatroom situation.
Still yeah I totally forgot that this button was even there.
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.
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
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)
Discord
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
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.
PIZZA Holders sent $PIZZA tips in this post's comments:
@stdd(2/5) tipped @edicted (x1)
Learn more at https://hive.pizza.
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
I used to write 5 minute posts I don't know what happened.
the process of writing is at its most pure when the experience is cathartic :)
Lmao!
For me, I can’t read him enough.
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
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.
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
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
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
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.
because hive is full of politics.
Life is
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.
We published this post just yesterday: https://peakd.com/hive-139531/@peakd/a-hive-launchpad-via-peak-open-projects-a-proposal
Look at the first projects on the list :)
nice
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
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
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
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.
The secure messaging via https://Hive.pm requires two keys.
Because of this, Hive Keychain or the Master Password is required, but of course, #Keychain is by far the preferred method to login.
@quinnertronics @dudeontheweb
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.
One of my take always from this post is I miss the old drama of Steem … well, only kind of.
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
https://hive.pm/login
Lol, no respect.
We've had this for years.
I was about to mention hive.pm but you beat me to it. lol @antisocialist
The UI is asking for my Master Pss to login, what exactly did you do with that page?
just use keychain.
Posted Using LeoFinance Beta
okay :)
kinda decent actually
@taskmaster4450 you've seen this before?
he didn't bother. o well.
rofl
Keychain.
sodomy
Eh?
wordjoke
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.
just used tis right now to send a PM :)
Posted Using LeoFinance Beta
You can do the same thing in the wallet by using a hashtag and a space, just without the ui.
Never knew that. Thanks for the info!
Hey @antisocialist, is this still working? Tried to use it today with keychain
with no success.
You can do the same thing in the wallet by using a # and a space before whatever message you want to send.
Awesome, thanks!
Just thought the UI is kind of cool :)
This does the trick though, so appreciate it.
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
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.
But I bought Koin at one cent. A ton of it.
Go figure.
Posted Using LeoFinance Beta
I like it
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.
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
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.
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.
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