Hard Fork 26: Scaling on Steroids

in LeoFinance2 years ago

We are getting closer to Hard Fork 26. Of late, we are receiving some insight into what is being done. While this is not the stuff that gets the user base excited, there are some key things occurring which are vital for the future of Hive.

TLDLR: Hive's technical lead is getting larger

I often joke that Hive is the blockchain Vitalik is trying to build. Ethereum is getting a lot of headlines with the idea of "Merge". This is a major software update with one intention: scalability. We all know Ethereum is constrained. For this reason, they are switching from PoW to PoS.

This will likely have the intended outcome. However, they are doing version 1.0 while Hive is optimizing based upon much higher levels.

Before getting into some of the more overwhelming technical articles, let us highlight one feature that is crucial and can framed in terms of real world use cases.

One Block Irreversibility

This is known as OBI. It is something that Blocktrades brought up a number of months ago and is now in the code that will go live with the next HF.

This from a post that we will explore in a bit.

lib - last irreversible block is so close to current block because OBI is already active.

So why is this important? We will go to the original post for the answer.

For example, if you operate a store that accepts bitcoin payments, you might not want to let your customer leave the store with their items until their bitcoin transaction has fully confirmed. For bitcoin, a block is generally considered fully confirmed when 6 further blocks have been built on top of the block (each subsequent block can be viewed as “vote of confidence” in the original block). With an average block production time of 10 minutes, this means you could be waiting about an hour (6 * 10 minutes) to be sure of your payment.

It is likely all of us can understand this. However, to go one step further, consider the idea of buying something online. Do you want to wait an hour (or more) to be able to downloads something after making a purchase? The answer is obviously not.

The is another reality on top of this: people are going to be upset if they have to wait 45-48 seconds for the download to start. When it comes to Internet, patience stands at near zero. Most of us will click "X" is a webpage takes more than a couple seconds to load.

One Block Irreversibility makes this obsolete. Now, as evidenced by the first quote, the totality of this happens near the current block. That means, with a second after a block is produced, it becomes irreversible. In our example, the download could start then.

We often discuss the idea of HBD becoming a legitimate player in the stablecoin world. The reality is that if we are going to make HBD the centerpiece for a payment system, OBI is vital. The commercial limitations of not having it are obvious.

Enormous Changes

Most of us are unaware of what goes on with base layer development. To the majority of us, even when explained to us in articles, it goes over our heads. Few care about this stuff. Instead, the question is always the same: when?

Unbeknownst to most of us, this hard fork is enormous. Here is a quite from the latest update post:

This hardfork has also taken the most time of any of the Hive hardforks to complete, and the sheer amount of work done to the hived blockchain software can also be seen in the number of merge requests (these are made to add features or fix bugs to the hived code base). Over the lifetime of Hive, there have been 484 merge requests merged into the hive code repository so far, and more than half of them have been merged since the last hardfork.

So basically, we are looking at:

First 5 years: less than 242 merge requests
HF26: more than 242 merge requests

It seems we might be able to sum it up as more than 5 years of coding in one hard fork.

So what did all these merge requests pertain to? Without having the slightest clue about coding, it is safe to say some of it was the Resource Credit delegation feature that will be included. This is something, from the user perspective, that is vital going forward.

However, my sense is all this reverts back to scaling. Just like the core development team at Ethereum is trying to "make things go faster", so is the Hive team. It appears this is on track.

One thing I learned is we are dealing in a world where the timeframe is milliseconds. This is the metric used. It might not seem like much, what is 3ms or 5ms after all?

When it comes to millions of transactions per day, this can add up. So scoffing at the notion of efficiency improvement of a few ms is misguided. That is huge when coupled with a host of other upgrades.

It all comes back to optimizations. Hive is aiming to process data more efficiently than any other blockchain out there. Some of the solutions going into HF26 will aid in that.

What Does All This Mean?

Here is where we can get into a lot of technical stuff. For those inclined, here are three links explaining what is happening (here, here, and here).

As for the rest of us, we will use the pictures provided from these articles to tell the story.

This is a node and what was called the three phases:

image.png

Read from the bottom up to see how data comes in and the timing of the different aspects.

From here, we can start with the baseline of how blocks are produced now. This is what was drawn.

image.png

Basically, what we have is each node does its thing before handing it off to other nodes, which starts their process. Keep in mind, we are talking milliseconds. Also, notice the line at the bottom, this will show the contrast.

The optimization starts by skipping static revaluation.

Expired transactions are no longer processed like we didn't knew they expired. Since it is way cheaper to make a check outside the main code (and I mean waaay cheaper; in one test where I had over 100k pending transactions that all expired in the same time, original code could drop less than 5k of them per block, after changes all 100k+ were dropped easily within the same timeframe).

Again, using simple math, that does sound impressive. However, in keeping with the picture theme, this is what we see:

image.png

The next step is to calculate transaction invariants once.

Remember how in previous paragraph I said that all checks were still performed when new block is produced? Well, since new blocks are made solely out of pending transactions, and the node has done static validation on them already, it makes no sense to do it again.

So the elimination of doing the same thing multiple times. This makes a lot of sense.

Moreover, while witness has to verify signatures, the calculations leading to it, namely extraction of public keys from signatures, is also an invariant (actually it depends on chain id, which changed in HF24, but in this case it doesn't make a difference anymore). Incidentally it is also a costly process, so it pays to only perform it once.

Saves money too which we like. Efficiency, or a lack thereof, does some with a financial cost.

image.png

All of this leads to this outcome:

image.png

Again, look at the line at the bottom. It shows a geographical representation of the efficiency gained through this optimization process.

From the looks of things, this is very impressive. That said, we have to add in the proverbial "but wait, there is more".

Scroll back to the node picture above. With the past, present, future spelled out, we can see how this equates to Phases 0, 1, 2.

Instead of waiting the the final two phases to be done, the data for Phase 1 is shared as soon as completed. This starts the processing for the next node earlier.

The results are as such:

image.png

Even more improvements in terms of the optimization of the data processing.

So How Fast Are Things?

To answer this, we will refer to this article:

After all our recent transaction/block optimizations, we ran benchmarks with the new code exposed to transactions levels 20x higher than current traffic levels. These tests were performed both with 128K blocks (2x current size) where lots of transactions don’t get included due to limits on the block size, and 1MB blocks (16x current size) where all transactions typically did get included into the larger blocks, and in both cases the new nodes respond without even a hint of a hiccup.

In other words, we can throw a lot more transactions at the base layer infrastructure (post hard fork) and it will be able to handle it.

Thus, even though Hive is nowhere near capacity, the transaction capability is about to expand a great deal. It is always better to get the horsepower before it is needed.

What are your thoughts on these upgrades? Let us know in the comment section below.

Special thanks to @andablackwidow for the images. All images taken from articles linked


If you found this article informative, please give an upvote and rehive.

gif by @doze

screen_vision2025_1.png

logo by @st8z

Posted Using LeoFinance Beta

Sort:  


~~~ embed:1556783285241389056 twitter metadata:Y3RycGNofHxodHRwczovL3R3aXR0ZXIuY29tL2N0cnBjaC9zdGF0dXMvMTU1Njc4MzI4NTI0MTM4OTA1Nnw= ~~~
The rewards earned on this comment will go directly to the people( @taskmaster4450le, @ctrpch ) sharing the post on Twitter as long as they are registered with @poshtoken. Sign up at https://hiveposh.com.

Do you want to wait an hour (or more) to be able to downloads something after making a purchase? The answer is obviously not.

But sometimes we have to wait even more.

The is another reality on top of this: people are going to be upset if they have to wait 45-48 seconds for the download to start. When it comes to Internet, patience stands at near zero. Most of us will click "X" is a webpage takes more than a couple seconds to load.

Those, who do this probably have not experienced ADSL, nor the mobile internet, to stick to even modern technologies. The internet can be slow. Both with old, and with new technology. Sometimes I wait more than one minute for a website to load.

Looks like patience is indeed a virtue nowadays. People were much more patient in the past.

We used to wait hours for a cd to be burned and several minutes waiting for that new mp3 that you wanted to download with modems of 56k lol. Patience was a requirement to be in front of a computer not so many time ago.

True. We had a 486, Pentium I-II-III-IV PCs in my childhood. I have not used 56k modem, but I experienced the slow speed of the CD burning, and the slow speed of the internet. The latter was not that slow. If I remember correctly, the first internet connection I used was 64 Kbit/s or 128 Kbit/s.

Ah 486.. now that's a term I haven't heard in a long time! Pentium as well lol how times change! :D

Posted Using LeoFinance Beta

Thank you very much for the update. I had missed out on most of the HF 26 developments. One of the advantages I see for HIVE is being able to adapt upgrades done to blockchains like EOS, Telos and similar projects built with similar technology based to the trail blazed by @dan
!PIZZA
!LUV

Posted Using LeoFinance Beta

I love the way you don't make this too complicated because most time I read about H26 all the technical words is disturbing. I'm happy hive keeps improving in every area possible just to make it better.

Posted Using LeoFinance Beta

A lot of what is written is by technical people and they cant help but to be, well, technical. However, many do a good job breaking it down and the pics really helped.

So I do my best to translate as best I can. Following the bits and bytes isnt my thing either but I try.

Posted Using LeoFinance Beta

This will go a long way for anybody that does understand anything coding or understand too much about blockchain. This is pretty straightforward

Posted Using LeoFinance Beta

Building reinforcing growing. It's awesome to see that the blockchain continues to progress. This is a very exciting environment. I am grateful for the dedication by the developers. Look at us grow! Go Hive Go!!

Posted Using LeoFinance Beta

We will see how it all unfolds. Evidently a lot of good things starting to come into play.

Posted Using LeoFinance Beta

wait so we are getting 1 MB block sizes?

No I dont believe so, not at this point anyway. My guess is it was a test to see what it could handle.

The prospect is there for larger block sizes if needed. Not sure how much discussion there is, if any, about it.

Posted Using LeoFinance Beta

The good thing about hive is witnesses control the block size via a paramiter so no HF needed for that change to go ahead.

There's a cryptocurrency that also tried this, they're called electroneum, don't know if they succeeded in implementing such functionality into their chain.

The ones that impressed me so much are:

  1. the HBD staking APR increase to 30% and
  2. delegation of RC feature,

These are rare ingredient that will make hive ecosystem more stronger and appealing to a wide audience. The opportunity to diversity your funds and earn passively on one single chain is excellent

The APR isnt going to 30%, the haircut rule is. That means that if the value of HBD, in USD, reaches 30% of the value of HIVE, in USD, the blockchain stops producing HBD for payouts. Instead, it offers liquid HIVE along with HP.

APR for HBD in savings is totally in the hands of the witnesses. They are free to change it to whatever they want.

Posted Using LeoFinance Beta

Oh, I got that wrong, thank you for the explanation, hopefully, the new rule will not hurt the way payment has been made previously, like paying lesser with HIVE than it was with HBD

It's amazing the pace at which Hive's development is growing of late. Sincerely, Hive will not be ignored for long.

It might be ignored but that is okay. We will keep building and increasing what is being offered here.

Posted Using LeoFinance Beta

Until no one can ignore it anymore. It may take years but we're getting there.

How long does it take for a block to become irreversible now? How do you think the function of delegation of resource credits will be?

Posted Using LeoFinance Beta

3 x 15.7 secs or something like that. Call it 48 seconds.

How do you think the function of delegation of resource credits will be?

In the beginning, perhaps not too much. Ultimately it will be huge for applications. They can amass HP yet only delegate out RCs to new users. That makes a big difference.

We might also see markets develop for RCs. Do not be surprised if someone builds an exchange.

Posted Using LeoFinance Beta

The OBI concept makes a lot of sense.

I mean, if we can get to the point that confirmation just requires one block to be validated then it is a worthy development.

I already like the updates of the HF26 even if I don't understand almost everything but I see that the devs are doing a great job.

@blocktrades is quite insightful.

The happiest part of the HF26 is the RC delegation. That is where my interest lies.

Thank you for putting up something this detailed.

The happiest part of the HF26 is the RC delegation. That is where my interest lies.

For most users, yes this is the interesting part. For someone like Blocktrades, scaling is the highest priority.

Posted Using LeoFinance Beta

I agree but I am more interested in delegating to new guys so it's not so difficult for them to engage on the platform.

Blocktrades is doing a lot and I am sure the hive ecosystem appreciates him

I agree but I am more interested in delegating to new guys so it's not so difficult for them to engage on the platform.

Yes and so will applications.

I appreciate what he does. Like anything, there are many who simply want to cast stones.

Posted Using LeoFinance Beta

We need to scale for microblogging and video sharing. It's great to see we are moving forward in that direction. More horsepower doesn't hurt. xD

Posted Using LeoFinance Beta

Video is not on blockchain so that requires optimizing second layer solutions.

Microblogging, at least tied to Leofinance, is going enhanced by the upgrades since it interacts with the Hive blockchain.

Posted Using LeoFinance Beta

I'm most excited for RC delegation. That could turn into another revenue stream

Over time I see platforms offering their tokens for RC delegation to their users. This only makes sense. I am not sure what is required from a technical standpoint but someone will build it.

Posted Using LeoFinance Beta

This article makes the next HF a lot simpler to understand what we should be expecting from the HF. It excites me to know our devs are putting in all these effort for better scalability of Hive, upgrades likes this further reaffirms my belief in what we have here.

Looking beyond Hive, it is quite encouraging seeing blockchains are codding away, upgrading and building, all these translates to the entire space evolving and not stagnant.

It excites being being amongst these brilliants minds building for the future.

Posted Using LeoFinance Beta

I would say that stagnation is not part of the industry. Even joking about Vitalik is said with full knowledge they have a plan and are going to implement it. The only point of debate is how long it takes.

Posted Using LeoFinance Beta

Seriously, when is the world going to wake up to what our devs are building here?!? I'm happily adding as much as I can at these levels because at some point, quality will rise. It's just the nature of the world.

Hopefully the HAF will start attracting some more devs who will create the dapp(s) that will capture the mainstream world's attention. Until that time, I'm just going to keep stacking. As I've said 100 times before, to me it's no longer an "if" HIVE becomes a top 50 crypto, but when.

Thanks for putting this in layman's terms us dummies can understand.

Posted Using LeoFinance Beta

I agree with that. Hive will be a top 50 coin at some point, it is only a matter of time.

As for HAF, the more I learn about it, the more I like it. That will do a lot for Hive and should excite the developers. When word spreads how easy it is to build on Hive, that should really kickstart things.

Posted Using LeoFinance Beta

First 5 years: less than 242 merge requests
HF26: more than 242 merge requests

I thought so too when I read blocktrades' post, but no, he meant since the split, from HF24 forward (I checked github). Still, HF26 is very impressive by comparison, being the largest in the history of post-split Hive.

...being the largest in the history of post-split Hive.

Well considering it is only the second HF, I would say that isnt as impressive. LOL

Posted Using LeoFinance Beta

I'm not sure if the changes for HF24 are actually accounted for there. That's the actual split, which included minimal changes since it was precipitated by the events.

If they aren't included, then yep, that's the second HF indeed.

It is the second one where a lot of work has been put in, that's for sure.

Seems like it. A lot of it on the scaling end of things it appears which is vital. This is a major step forward when others are trying to do the same.

The difference is they are backlogged...we are just planning ahead.

Posted Using LeoFinance Beta

This is great to hear. I think it is really important for them to be building this foundation for us so that we are ready for when things really start to pick up around here. Putting the time in and suffering through the growing pains now will pay off it spades down the road.

Posted Using LeoFinance Beta

It was the case since March 2020. The main focus of the core dev team was to optimize and make the blockchain a great deal more efficient. The size of it is significantly decreased compared to as before. Of course, as more is added, it grows so that is why compression and other structure changes are vital.

Posted Using LeoFinance Beta

Great to see Hive development continue and optimize the entire blockchain. If the framework is healthy more projects will be onboard, so making things move faster is a continuous duty.

Posted Using LeoFinance Beta

Speed is only one aspect, the other is cost. Having something that can excel for less money is vital. Larger amounts of data get more costly to process, store, and access.

So all the work is going into making sure things are processed, not only quicker, but for less money.

Posted Using LeoFinance Beta

Basically, the infrastructure is being put in place for Hive to achieve scalability on a massive scale. This will definitely carry immense benefits for both the technical and non technical side, the ecosystem as a whole. Hopefully, making it the epicenter for blockchain development.

Posted Using LeoFinance Beta

That is my take on it going through the articles linked in this one. The breakdown appears, to me, that we are many many orders of magnitude higher in terms of the traffic we can handle.

I also am going to conclude this quest is not going to stop anytime soon. As mentioned in one of the articles, there are some changes that can be made in the future to a certain section to get even more out of it.

It just keeps going.

Posted Using LeoFinance Beta

pixresteemer_incognito_angel_mini.png
Bang, I did it again... I just rehived your post!
Week 118 of my contest just started...you can now check the winners of the previous week!
!PIZZA
6

PIZZA! PIZZA! PIZZA!

PIZZA Holders sent $PIZZA tips in this post's comments:
@torran(1/10) tipped @taskmaster4450 (x1)
pixresteemer tipped taskmaster4450 (x1)
vimukthi tipped taskmaster4450 (x1)

You can now send $PIZZA tips in Discord via tip.cc!

Great Post!

!1UP

You can earn passive income by delegation of tribe tokens to "The Cartel"!


Click the banner to join "The Cartel" Discord server to know more!

1UP-PIZZA.png

You have received a 1UP from @luizeba!

The @oneup-cartel will soon upvote you with:
@leo-curator, @ctp-curator, @vyb-curator, @pob-curator, @neoxag-curator
And they will bring !PIZZA 🍕.

Learn more about our delegation service to earn daily rewards. Join the Cartel on Discord.

Thank for the detail and update. !LOLZ

To summerize HF 26 in a nut shell.. Hive go BRRRR much faster.

Another interesting aspect of the OBI protocol is that it allows for much better monitoring of the status of the Hive P2P network when it is experiencing connectivity problems than was previously possible.

Posted Using LeoFinance Beta

Being ready is all that counts, if the masses come #HIVE will be ready.

Posted Using LeoFinance Beta

It's great news to see that the testing is going well and I think the one block transaction time is a good thing. At least, it was my own assumption on how things worked on chain even before knowing about this hard fork.

Posted Using LeoFinance Beta

It's really hard to wrap your head around the technical details but I'll let people that work on them worry about the, all I see is more speed and more scalability and I like it.

With that new MLS game coming we will probably need it (if they do launch on Hive).

Posted Using LeoFinance Beta

Quite a few nuggets in this post.
The future of #hive look brighter everyday.
Will the block size stay the same or they are moving to 1mb?
I heard there is price associated with the size.
Can you elaborate?

!BEER

Posted Using LeoFinance Beta


Hey @taskmaster4450, here is a little bit of BEER from @pouchon for you. Enjoy it!

Learn how to earn FREE BEER each day by staking your BEER.

Its really great to see these developments coming on in line with Hive and its indeed a blockchain. Thank you for the update and explaining all the developments to the core.

When is HF26?
Will it effect the price?
I am very bullish for Hive price

Hive Price is On Great Support - Time to Go Up!

Posted Using LeoFinance Beta

Thanks for the detailed overview of the level one optimizations included in HF26.

What else is included in the upcoming hardfork? Are there any changes to the HBD haircut rule?

Are there any changes to the HBD haircut rule?

Yes moving to 30%.

Posted Using LeoFinance Beta

30%? How can that be sustainable

Posted Using LeoFinance Beta

What do you mean how is it sustainable? There is like 25 million HBD in existence. We could double the HBD every year for the next decade and not even come close to the number of Tether and USDC.

Posted Using LeoFinance Beta

Are you referring to the haircut rule or the APR in savings?

They are two different things. The APR is set by the witnesses and they are free to change it at anytime. As far as I know, there are no discussions to alter that at this point.

Posted Using LeoFinance Beta

I thought is the APR. This clearifies it. Thanks you

Posted Using LeoFinance Beta