Podping continues pinging without a hitch during HF 26: what is a Hard Fork?

in HiveDevs2 years ago

Hard Fork 26

For those of you who blog or post videos or use any of the dapps on Hive you're not supposed to really notice Hard Forks directly. But it was a big deal and perhaps you noticed things feeling faster.

Blockchains are special

In Web 2.0 land with something like Twitter or Meta/Facebook, behind the scenes those companies are continually updating, upgrading or changing their internal systems. Every now and then they do something the users see like add a button or move something in the interface.

In real Web 3.0, where we are on Hive, the process of making back end changes is called a Hard Fork. This is because we want to change the systems which processes new information coming in. When you change these rules, the "blockchain" splits or "forks". The old one usually dies off quickly, and the new "fork" continues. This is a Hard Fork. And this is the software part which Hive Witnesses run for us.

Front end systems, of which we have many, such as @peakd, @ecency, @threespeak and dapps like @splinterlands or my own @v4vapp all have to check whether any of these back end changes affect the way their individual apps work.

Sidenote: what a Hard Fork IS NOT

Sidenote: the New York Times top technology editors just named a podcast Hard Fork and then gave a COMPLETELY erroneous and made up definition of a Hard Fork: to justify the show's name. Which just shows how much they know at the Old Grey Lady.

A hard fork is a programming term for when you're building something that gets really screwed up. So you take the entire thing, break it and start over.

🖕 This is complete nonsense!

A Hard Fork to upgrade Hive

This is where the departure from Web 2.0 is so obvious: we are not one corporate body with a clear command and control structure.

To upgrade Hive takes human consensus. Developers have to write new core software. Then two thirds of the top 20 witnesses have to AGREE in advance to run new software. Only when more than 2/3rds of the top 20 are running the software, is a signal sent out that all future data will be processed in the new. That is consensus enforced by software.

Podping

Podping has already become essential to the world of independent Podcasting.

As I write this over the last hour various Podping accounts have sent 80 podpings containing links to 201 podcasts.

     pings /  shows
1hr:   80  /    201
4hr:   867 /  3,130
8hr: 1,470 /  6,411

Hard Fork 26

I must admit I was somewhat apprehensive about this Hard Fork mostly because of the Resource Credit changes. The main software which was developed, mostly by myself and with huge and critical help from @alecksgates, performs a check for resources on startup. I was fairly certain this check wouldn't work properly post HF26.

Fortunately there is a command line option to disable this and it is in use in a number of places.

Nevertheless we now have a new docker image and hopefully it will be fully deployed shortly.

Resource Credits vs HP delegation

In the background I have done a significant amount of extra work and I want to open source that soon. If you want to make RC Delegations with a web front end, @bambukah has released this site.

Pre HF26 Podping ran on delegated Hive Power. The @podping account, which was the beneficiary of around 7000 HBD from the first funded proposal I ever put in to the DHF. The proceeds of that funding were mostly powered up and from that pot of HP I've been delegating HP. The top 3 accounts sending Podpings are called @podping.aaa @podping.bbb and @podping.ccc. Up to now those had around 1,300 HP delegated to them. In the transition period we're in now, I've delegated 5,000 HP from @brianoflondon directly back to @podping. Because it takes 5 days to un-delegate, following HF26 I have quite a bit of reorganising to do.

Now that the RC delegations are possible, in the future I will be able to remove HP delegations and just delegate RCs. To that end I've built an automatic delegation system (which I plan to open source though it's not going to remain a tool for developers mostly).

My bot is checking the chain every minute (I may drop this frequency when things settle down) and checking the RC levels of the various accounts I know to be active on Podping.

If an account falls below 42.5% (I'm making the numbers up at this point) I top it up with some RCs: just enough to put it back over 42.5% and a bit more. There are larger top ups if the level falls dangerously low.

In the example log below you can see two accounts fell below my threshold and received delegations. This is the transaction on the chain that did that: 0b3a87ba795b3570ee771c6eff93237c75559664. You can see the exact format of the custom_json in the log below.

The net result of not having to delegate HP to individual Podping accounts is that I can retain the HP and use it for curation or other more valuable uses.

Account          |  RC   %|  RCs Now       |  Max RCs      | Delegated out  | Received Dele |
podping          |  37.9 %|    3,261,300 M |   8,610,104 M |    2,483,806 M |           0 M |
podping.ddd      |  43.1 %|       14,304 M |      33,217 M |            0 M |       9,485 M |
podping.ccc      |  43.9 %|      484,531 M |   1,103,699 M |            0 M |   1,079,968 M |
podping.curio    | 100.0 %|       23,621 M |      23,621 M |            0 M |           0 M |
podping.spk      |  43.8 %|       23,005 M |      52,539 M |            0 M |      45,102 M |
podping.eee      |  42.4 %|       45,528 M |     107,358 M |            0 M |      83,813 M |
podping-git      |  80.0 %|       92,866 M |     116,034 M |            0 M |      92,303 M |
podping.aaa      |  43.8 %|    1,020,523 M |   2,328,045 M |            0 M |           0 M |
podping.gittest  |  73.1 %|      576,084 M |     788,075 M |            0 M |     601,541 M |
podping.bbb      |  42.4 %|      252,274 M |     595,325 M |            0 M |     571,593 M |
podping.live     |  99.9 %|      186,498 M |     186,767 M |            0 M |           0 M |
podping.eee      |  42.4 %|       45,528 M |     107,358 M |            0 M |      83,813 M |
podping.bbb      |  42.4 %|      252,274 M |     595,325 M |            0 M |     571,593 M |
podping.curio    | 100.0 %|       23,621 M |      23,621 M |            0 M |           0 M |
podping.live     |  99.9 %|      186,498 M |     186,767 M |            0 M |           0 M |

   1.1% top up podping.eee |       83,813 M ->       89,280 M
Increase: acc_from='podping' acc_to='podping.eee' delegated_rc=89279944449
   1.1% top up podping.bbb |      571,593 M ->      602,099 M
Increase: acc_from='podping' acc_to='podping.bbb' delegated_rc=602098545952

[['delegate_rc', {'from': 'podping', 'delegatees': ['podping.eee'], 'max_rc': 89279944449}], ['delegate_rc', {'from': 'podping', 'delegatees': ['podping.bbb'], 'max_rc': 602098545952}]]

Account          |  RC   %|  RCs Now       |  Max RCs      | Delegated out  | Received Dele |
podping          |  37.9 %|    3,251,099 M |   8,574,131 M |    2,519,778 M |           0 M |
podping.ddd      |  43.1 %|       14,304 M |      33,217 M |            0 M |       9,485 M |
podping.ccc      |  43.8 %|      483,640 M |   1,103,699 M |            0 M |   1,079,968 M |
podping.curio    | 100.0 %|       23,621 M |      23,621 M |            0 M |           0 M |
podping.spk      |  43.8 %|       23,005 M |      52,539 M |            0 M |      45,102 M |
podping.eee      |  45.2 %|       51,007 M |     112,825 M |            0 M |      89,280 M |
podping-git      |  80.0 %|       92,866 M |     116,034 M |            0 M |      92,303 M |
podping.aaa      |  43.7 %|    1,018,392 M |   2,328,045 M |            0 M |           0 M |
podping.gittest  |  73.1 %|      576,084 M |     788,075 M |            0 M |     601,541 M |
podping.bbb      |  44.8 %|      280,284 M |     625,830 M |            0 M |     602,099 M |
podping.live     |  99.9 %|      186,498 M |     186,767 M |            0 M |           0 M |
podping.curio    | 100.0 %|       23,621 M |      23,621 M |            0 M |           0 M |
podping.live     |  99.9 %|      186,498 M |     186,767 M |            0 M |           0 M |
podping          |  37.9 %|    3,251,099 M |   8,574,131 M |    2,519,778 M |           0 M |

Podping RCs from HiveBlocks

Real cost of running the Hive blockchain

Resource Credits or RCs are supposed to represent the cost to the chain of performing actions like storing text immutably (for ever) which is what I'm doing with Podpings. To this end it is absolutely critical that these costs be realistic and sustainable. Hive doesn't have a VC sugar daddy keeping it going. Hive exists because the Witnesses and all the other businesses and individuals who use Hive, contribute to the equipment and software which keep it running.

I can see that the cost of posting Podping's pings to the chain has gone up, but the reality is it was too cheap before. However it is critical to understand this "cost" isn't like the gas fees or transaction fees on Ethereum or Bitcoin because RCs regenerate.

The cost is, in reality an investment in Hive which is what holding Hive and powering up to get Hive Power actually is. Having Hive Power is akin to being a shareholder in this Hive system AND it gives you the right to use Hive.

However I feel personally about changes to the resource requirements to use Hive for my applications, as a part owner in the entire enterprise I recognise when these changes are necessary to keep the entire system available.

Hive really is unique

I've done basic research into other ways to run Podping and I've not found any. @theycallmedan has gone indepth on plenty of other projects. Hive is unique and a damn near miraculous piece of technology. Don't worry about when the rest of the world will notice, in fact I'm more than happy if we fly under the radar through at least another bull and bear cycle. What we have here on Hive is much more important than a token price or any one of our public facing distributed apps.

V4Vapp

Just a short note: @v4vapp came through HF26 pretty much unscathed. I had to make a tiny modification to the way it posts regular updates about the cost of using the system but that was all. You can use the system at v4v.app where you can send and receive sats with Hive or HBD. The maximum transaction size is now 400,000 sats which is roughly $75 worth.

Podping command centre


Support Proposal 222 on PeakD
Support Proposal 222 with Hivesigner
Support Proposal 222 on Ecency


Send Lightning to Me!

Sort:  

I'm waiting to see how things go with RC delegation to see how I can do it and who could benefit from it. Generally I have plenty of RCs. Has the Hiveblocks site been updated to take account of the new costs? I saw someone else had a web page to show current costs, but it's been taken down as they fix the code. I'm sure people will provide the tools we need to manage this.

There isn't a reliable way of estimating RC costs yet. All the current interfaces use out of date code.

This is being worked on by a few people.

Thanks for updating @brianoflondon and glad to hear everything still up and running. But hey, didn’t expect anything less. 😉
Regards Thomas

Well, you're right about Hive being a miraculous piece of tech and irrespective of the intricacies, I think flying under the radar is the price we have to pay for all these intricacies. At the same time, I like to see how the RC delegations works because this will virtually be integral to more ability with interactions on-chain. You're doing a great job with v4vapp.

It's so great to know that Hive is improving all the time. I have about 150 HP, I think it should be enough for the resources credit !

I think we'll find that 20 to 50 HP is enough for light social use but we'll see how it shakes out.

Thank you for the reply. The most HP I ever had was about 250. I needed to power down, so now I shall keep it at 150 minimum !

Even though there might be glitches in the run of the hardfork after, I strongly believe it is for the good of the hive blockchain overall

It feels really nice to see such update occur in the blockchain which also helps in improving the platform to another level and keeps the hope of seeing the blockchain progressing to the top moving. Thanks for sharing @brianoflondon I appreciate every part of it.


The rewards earned on this comment will go directly to the people( @v4vapp ) sharing the post on Twitter as long as they are registered with @poshtoken. Sign up at https://hiveposh.com.

This is Indeed a better upgrade and I believe there will surely be a better changes in the system when the upgrade is done and finalised.. thanks for sharing

One of the interesting things about Hard Fork 26 is the RC delegation. This news really amazed me when I saw it in a post. I like this News very much. You have presented the details about Hard Fork and Hard Fork 26 very nicely. Hope this new upgrade will be good for everyone.

Thanks for the update! It was easy to understand what happened even for a newbie like me!

Lets see the new thing on hard fork 26, RC delegation. Everyone is excited fir this.

Wow!Excited to see how it will work.
Thanks for the update

Hive is unique and a damn near miraculous piece of technology. Don't worry about when the rest of the world will notice, in fact I'm more than happy if we fly under the radar through at least another bull and bear cycle. What we have here on Hive is much more important than a token price or any one of our public facing distributed apps.

YESSS! I think slow and steady growth is key. We want people to join the Hive community to add their value to the chain. What we don't want is a bunch of crypto dudes and dudettes coming in to "strike it rich" with their hype. We can all see how that turns out in the pitch and ditch model. No Thanks!

There is an old saying, "Watch what you ask for. You just might get it." and I think that applies here. We keep hearing people talk about how they want Hive to be known by Web2 and more of the world. I'm not keen on that idea at all. I've seen it happen in so many industries to so many companies and communities. Fame for fame's sake is empty and leaves a trail of bodies.

Well....that got dark quick.

Let me just end with the fact is we do have something special here. It should be nurtured, cared for, and in some respects guarded. Growing organically is a truly beautiful thing. Let's admire Hive as it is and nurture the growth carefully and lovingly.