Web2 vs Web3 and the scaling bottleneck no one on Hive is talking about.
In April my witness partners @rishi556 and @sn0n wanted to upgrade our @hextech server to a full node. Of course I was like, "What are you talking about lets just hold a little longer, this thing is going to the moon!" Legit gambled on our rent money and lost it. Oops, now our dreams of a full-node were homeless.
Now we have the opportunity to fund such a venture once again, and I have begun active discussions in making this upgrade happen rather than trying to gamble it all again like an idiot.
Of course it turns out that our witness already has enough money to pay for its own upgrade. How crazy is that? All I have to do is front the liquidity now with my own money, start a powerdown on @hextech, and siphon the unlocked funds into my own wallet. Unfortunately @rishi556 has been gone for about a month and it would be super rude to buy a server without him, as he's done a vast amount of work maintaining the node in the first place and it was mostly his idea to upgrade it when we had the chance.
Why upgrade to a full node?
Why indeed! Mostly to support Hive and increase our reputation as block producers. The ultimate goal is to obviously get one of those coveted top 20 spots. Personally I think the whole "top 20" block producer situation we have going should be a bit more dynamic but I can't be shaking things up until I become a much bigger player on Hive.
Honestly it is not out of the realm of possibility that @hextech makes it to the #1 spot on the witness list. I bet that sounds pretty ridiculous to witnesses in the top 20, but believe me when I say I have some pretty serious vision as to the direction of this network.
Right now blocktrades is the number one witness, and that is obviously a well-earned position. However, at the same time, blocktrades is not a rockstar. He's got a thankless job that most users on this network take 100% for granted. Scaling up Hive is of the utmost importance, but at the same time most of our users already think we can scale to infinity (because the whitepaper told them so) without anyone doing all that gruntwork in the background.
Meanwhile, if I delivered even 10% of the ideas I've had over the last few years I'd be rocking this chain something fierce. That's the thing about ideas: easy to come up with, not so easy to actually implement. I gotta say: my ADHD is not doing me any favors, and I have considered taking Stimpacks (Adderall) dozens of times over the past few years. There are a lot of side effects (I know from experience) but it might be worth it at this point.
Back to @hextech witness
Why would we upgrade to a full node? Why indeed! Because there actually is zero incentive to run a full node in the vast majority of situations. And this doesn't apply to just the Hive blockchain: it applies to all of them. Why would anyone spend extra money to run a full node that anyone in the world can ping for information? The entity running the full node has to pay for that bandwidth. This is actually something that @theycallmedan talks a lot about: you absolutely can not expect people to just altruistically run a node just because wouldn't that be swell? Like, no. there must be financial incentives in play to run the node.
The only reason I personally want to upgrade to a full node right now is that it greatly increases my own reputation and the reputation of my witness partners and the reputation of our @hextech witness node itself. Also it would be really nice to have a server under my control that I can trust implicitly to provide me with correct data. I've even considered creating custom API calls that would not be available on other full nodes to help me advance my other projects. On top of that I could give myself priority and get the data faster than other full nodes, and if Hive is experiencing great strain my dapps would not fail because they have a dedicated full node that I control rather than relying on other servers to get the job done.
We are so early in the game that INDIVIDUALS can make it into the top 20 no problem. Can we see how insane that is? 10 or 20 years from now the only entities allowed to be consensus witnesses will be full fledged dev teams and/or corporations/DAOs. That is a fact. I gotta get in early and start building my team now so I can stay on the top of this doggy pile and make real change on this network. In a very real sense witnesses are politicians and DPOS is a Republic 2.0.
Many people think Hive can easily scale.
Probably because they were told exactly that.
Hive can not scale quickly in this state.
This same exact problem has been pointed out countless times over the years. Why would anyone run a full node if they could just... you know... not? Over the years there have been plenty of top 20 witnesses that were not running full nodes. Why would they? Why would they spend extra money to get the exact same amount of income? The only reason to run the full node is if you want to set yourself apart and get into the top 20 or if you don't care about the money and you just want to altruistically help Hive thrive. If we assume that a good number of people are going to give away money for free just to support Hive we are going to be sorely disappointed... as we have been... many times.
At a core philosophical standpoint: an economy can not be expected to be maintained on hopes and dreams alone. At a certain point greed takes over, or generous people run out of money. Before crypto was a thing, this is why every single open-source project has failed to scale: there was no way to monetize it. There was no good way to capture value and scale up the project. There was no way to pay employees and get community members to continue donating their time for free in exchange for nothing.
Now, with crypto, the entire game has changed.
Now we have the means to monetize literally anything we decide to monetize. All we have to do is hardcode that rule into consensus and that thing magically becomes profitable and enforced by the community itself. This is not something the legacy economy could ever hope to achieve in their wildest dreams.
In the context of Hive and scaling we have a haphazard system that kind of sort of works. Many top 20 witnesses pay for a full node because they want to stay top 20 witnesses. However, not all full nodes are created equal. There's obviously a big difference in the ability to process database calls and pump out volume and bandwidth to thousands of users and frontends.
One full node on Hive might barely be able to service anyone, while another could theoretically support the entire network. Of course it goes without saying that the one that can support the entire network (think Steemit Inc) is going to be a lot more expensive. Once again we run into the same damn problem of money, scaling up, and financial incentives. No witness has a financial incentive to spend tens of thousands of dollars (or even millions) on a full node every month unless not doing so would bump them out of the top 20.
So what we have here is this weird race that witnesses play on a financial incentive level. As a top 20 witness on Hive: the goal is to provide just enough value to the network to not get kicked out of the top 20. That way they put very little overhead cost into the network while still getting those phat top 20 paychecks as block producers. If this sounds like a sustainable way of doing business to anyone, they need to rethink the strategy a bit.
Again, if every top 20 witness gets paid exactly the same (communist) then why would any one of them go above an beyond to offer more service and spend more of their own money than other witness? Surely, there are many witnesses that don't think like this, but that's not the point. The point is that if we want a network that can scale to infinity on demand then we have to completely restructure the way this entire system works. Their must be a financially incentivized mechanic that pays people to run a full node that's completely separate from block producer rewards.
A note about Resource Credits
There are many people on Hive who think we've already solved the scaling issues here because of this technology. That is patently absurd and shows a complete lack of understanding regarding this highly technical issue.
When Splinterlands gained a shit-ton of adoption, what happened? All Hive nodes got bombarded by thousands of new transactions/requests and the chain became totally unstable. On a very real level Resource Credits have absolutely nothing to do with Full-Nodes and API calls. Anyone in the world can ping a full-node and ask it for information. They absolutely do not need Resource Credits to receive a response (perhaps they should).
What's the solution?
Web3 is the solution. You see: about 99.9999% of the people in crypto wrongfully assume that WEB3 is a superior form of WEB2 in every way. It is absolutely not. WEB2 and WEB3 business models are totally different and completely incompatible.
- Users are given "free" service.
- They do not control/own their data.
- The data is monetized and sold (ads/behavior-patterns)
- Users own their data.
- In exchange they must pay for service.
- Crypto incentives allow users to earn much more than they pay.
We find ourselves in a super awkward transition phase.
Like, it's really... really bad. Because we need to onboard all these WEB2 users. So what do we do? We offer them free service just like WEB2 does because we are competing with WEB2 and we've been trained (and outright brainwashed) that free service must be offered no matter what, otherwise new users will ignore us in the emergent attention economy.
This ignores what the attention economy is all about.
PAID TO _______. That's what the attention economy is all about. Creating jobs, providing value to these networks, and getting that phat paycheck. In our haste to onboard WEB2 users to WEB3 we all collectively and wrongfully decided that new users should get free service.
Of course anyone who's read my previous posts on the issue knows that Resource Credits are not free.
So why can you charge Web3 users for service?
I mean... just look at Bitcoin and Ethereum. Look at how much these users are paying for service. The service is obviously worth the fee or users wouldn't do it... right? Already, Bitcoin and Ethereum seem to understand WEB3, even if Hive doesn't seem to yet.
Wait sorry you want to charge people fees on a feeless network and you expect users to give you a hive-five as they bring all their friends and family into another endless fees ecosystem?
The point I'm getting at is kind of difficult to explain in these contexts. Basically, anyone who connects to a full-node should expect to pay something in order to receive a response. On Facebook or Twitter, it would be ABSURD to think that users would be willing to pay for service. Thus, they fall into the WEB2 trap of not owning their data and being constantly targeted by smart-advertisements. WEB2 has done an amazing job at monetizing each person's data just a little bit to make massive profits. That's not what WEB3 is about, because in WEB3 users own their own data. Therefore it becomes obvious that it can not be monetized to scale up these systems like WEB2 did.
The infrastructure for these payments did not exist before crypto.
Even if Facebook wanted to micro-charge users for requesting data from the API node... how the hell would they even do it? Integrate credit card payments? Already the amount of regulation and overhead of such a thing becomes completely untenable. Not because Facebook is charging the user, but because of the incentives Facebook must provide to the user in the first place to get them to pay for service.
On Hive we have blogging. We have games. And this is just the beginning. Hive will have HUNDREDS of ways to make money going forward. Hundreds. Not an exaggeration. Imagine if Facebook had hundreds of ways for their users to make money within a decentralized non-KYC ecosystem with zero regulations. They'd simply get shut down IMMEDIATELY. This is what I mean when I say WEB2 and WEB3 are totally incompatible.
Once again, if users have to pay to use a full node (even if it's just a tiny tiny bit) this all of a sudden makes WEB3 scale to infinity. No longer does a full-node need to be a top 20 witness to get paid. Anyone can boot up a full node and get paid as long as users are connecting to that full node and paying for service.
The infrastructure is baked into the cake.
Unlike Facebook or Twitter, a Hive account has the money and the payment method built directly into the system. How are they going to pay for service? Well... they already have a wallet... don't they? Okay, well how are they going to get the money? "Get paid to _____"; we are providing the jobs directly on chain. You get paid to provide value to the network.
The nice thing about a Full-Node is that it is absolutely not decentralized. It is controlled by a single entity. That means that any full node can do whatever they want. That means they can provide free service if they want. Or they can provide paid service, but allow connected accounts to fall into negative bandwidth currency. An account with a balance in the negative could mean anything: from no action being taken, to degraded service, to being booted off the full-node entirely.
When a person pings a full node for information, none of this happens on-chain. Meaning a full node could charge users in any currency they choose, ranging from a custom token, to resource credits, to actual liquid Hive.
Only charge money when value is earned.
In fact, users might only get charged when they make money doing something. That way the illusion of "free service" is maintained. The end-user might not even realize that the full-node has charged them anything, and all they see is that they made money performing an action on Hive that was profitable. The full-node takes its tiny cut and no one is the wiser.
It is in this way that Hive can actually scale to astronomical levels. If a full-node is processing millions of requests and they aren't getting paid... we'll that's really expensive and demoralizing to the bottom-line of the witness. However, if that same witness is now charging just a tiny tiny bit across all their users they are suddenly making a mint and can afford to scale up their node to absurd levels and maintain profitability. Again, they don't even need to be in the top 20 for this to happen.
Do you think that Hive can scale up to the likes of Facebook? Do you really? Look at the top 20.
Do you really think that these people can all scale up to the size of Facebook in an independent and redundant manner that blockchain requires? That is an absurd notion. These people can't scale up to one one-hundredth of the size of Facebook. And even if they could they would have ZERO financial incentive to do so. In fact their financial incentive would be negative because they'd be losing a shitload of money while all the other witness were still getting phat paychecks. Not gonna happen.
We must monetize full-nodes with pay-to-play service, micro-charges, and data/income streams. As batshit crazy and counterintuitive as that sounds: this is the future of blockchain and scaling in general.
WEB2 navigated around the scaling problem by enslaving their users and turning them into little Matrix batteries that powered the BIG TECH machine. It would be quite foolish to assume that WEB3 was going to magically give users their data back but somehow solve the scaling problem without charging users to fund it. We are heading into a system where people are being held accountable. Everything is transparent. If you want to use a ton of resources you had better be willing to pay for it. No more promises of "infinite free bandwidth" like WEB2 was pushing. WEB3 is an entirely new animal.
I've actually been thinking about this concept for over a year, and I've never even brought it up to anyone ever because I know how it will be received. Most people reading this post are automatically going to assume that what I'm proposing here is essentially an idiotic idea with zero merit. We've been brainwashed for so long on this concept of "free transactions" and "free service" that suggesting that we should actually be charging users for service is going to sound absolutely ridiculous at first glance. Yet, I will maintain that what I'm proposing here is literally the only way to scale up Hive to the sizes that everyone expects it to reach.
I challenge everyone to reevaluate their concept of WEB3.
These philosophic differences are critically important.
Under WEB2 rules, Justin Sun "stealing" money from Steem whales was absolutely theft. However, if you use WEB3 rules what he did was exactly the same as what Hive did. I would make the argument that if you do not agree with this statement then you do not truly understand WEB3, and will almost certainly disagree that users should be charged for the resources they consume (which is clearly WEB2 idealology).
There's still a lot more to be said on this topic. But I think this particular post has reached it's end. Next time I bring up this subject I'll talk about @anyx and how I connect to his full-node and constantly ask him for the same data over and over and over again (1700 Hive-blockchain Discussions every time I restart my browser). Because I'm allowed to be wasteful and their is no penalty, I continue to be a wasteful glutton when interacting with full-nodes. I guarantee you that everyone else around here is pulling similar bullshit. Only by charging users can we force accountability, scale up, and make this ecosystem more efficient. Micro-charges are the future of blockchain.
Posted Using LeoFinance Beta