View full version

What upgrade I envision for Hive

I am a JavaScript(NodeJS) and Ethereum(Solidity) developer. My knowledge of the Hive blockchain and it's codebase is very shallow. It also does not help that Hive is built on C++, I have learned it in college, but it is a difficult language to work with.

I acknowledge I did not understand the Hive codebase at a lower level, at a code level. I tried to read and understand how everything connects and works, but it is not an easy task....

So, I acknowledge I am technically ignorant about how does Hive blockchain work "behind the scenes" technologically. I want to study more about it and try harder, but for now, I need to work to pay my bills, so I have to keep my full time jobs and the eventual Ethereum/Solidity freelances I get hired to code.

I do not have the time and knowledge, but it is in my plans to eventually be able to help materially, that is, with real code, even if just some bug fixes or minor fixes/issues/improvement.

I was reading about what @clixmoney wrote in regards to the communities, and what he wrote personally to me on Discord about Hive.

Hive has issues, it is centralized, the smart contracts are dumb and it is prohibitively difficult and expensive to be creative and build something.

I admit, I am ignorant, I need to study more about the code and how the Hive blockchain works, but to me, ideally here is how it should work and what we should aim for, at a very high level, that is, I do not dig deep into the viability, so I hope that whoever reads it comments here about how possible would that be, why and/or why not:

  • Integrate hive-engine smart contracts into Hive, this way Hive would have smart contracts natively, and hive witnesses would be hive-engine witnesses, no need to separate them, we would have native smart contracts brokered by all hive witnesses into the Hive blockchain, they would no longer be separate.

  • Make the smart contracts actually smart (turing complete), because right now they have only a few functions, you can not be creative and implement complex logic on hive-engine smart contract yet, like you can on Ethereum, Solana, EOS, and other turing complete smart contract blockchains...

  • Increase the number of fixed block producing witnesses, right now I think we have 20 fixed witnesses, I think ideally we should increase it to 120 fixed witnesses, but slowly, like, adding 5 every year, so it goes to 25, then 30, then 35, and in 20 years it would reach the goal of 120 witnesses.

  • Proportionally reduce block times. Right now we have 20 witnesses and a 3 seconds blocktime, that means every minute (60 seconds) every witness produces one block. I envision 120 witnesses and still every one producing one block every minute, that would make for half a second block. About that:

    • It is possible, Solana has half a second blocks and has smart contracts, so it is fast, complex, and works
    • It would improve the experience, @clixmoney told me it is annoying that every Hive front-end has a delay, you click upvote and it takes a few seconds to cast, you comment and it takes a few seconds... Every interaction takes a few seconds because it needs to wait for it to be inserted in a block, and it takes 3 times for a new block to be produced, so it is unnavoidable, imagine how great half a second blocks would be? Interactions would be much much faster.
    • The block time would be reduced accordingly to how many witnesses are there to produce in 1 minute. Now we have 20 witnesses, so 60/20 = 3s; if it were 25 witnesses it would be 60/25 so 2.4s a block... 40 witnesses would be 1.5s a block... until we reach 120 witnesses and 0.5s a block
  • Content would also be hosted by users. I am running my own IPFS nodes to host my @dtube and @threespeak content, because their platform thankfully host for free what I upload, but because they do not have unlimited resources, eventually they have to delete it, and it is, understandable, my duty to keep the content up if I want to, and luckily it can be done for free by each and everyone of us for our own content.

    • Hive could leverage that IPFS idea and have some logic to clear old content that is not hosted by anyone. Right now hive is freemium, so you hold Hive as Hive Power and you can use the power of the servers from the witnesses for free FOREVER as long as you hold Hive Power.
    • That freemium model does not seems enough to me and will definitely NOT SCALE if Hive gets anywhere near the popularity of Facebook, Twitter and others.... So the freemium model would continue to store user content for a few weeks, months, years maybe, but the user would be responsible to also host and seed the content, because it would eventually get cleaned.
    • That could be a differentiating factor for front-ends, some front-end could announce that they would host and seed your content for free if you use their Hive platform. This would stimulate competitiveness and scalability!!!!

About hosting your own content and clearing old content:

  • There are free VPS hosts, so it would be free for users to host their own content, and would help scalability. I am running 3 VPS servers for free (amazon, google and azure have free VPS tiers) and hosting my own IPFS content, if the platforms stop seeding, I have my nodes seeding them for free forever. By copying this logic from @dtube and @threespeak would be great to scale, help witnesses with the workload, and can be free for the users. And also, like those video platforms, other ones like @ecency or @peakd or whatever platform could announce that by using their front-end they would help you host/seed, so more competitiveness!!!

Conclusion: this is just a brainstorm! I want opinions!

This is mostly a brainstorm. Like I said, I am ignorant, and I do not hav e the technical skill (yet, I will study) and mainly:
I do not have enough the influence to make those changes or to even propose any of them, if I proposed formally I am sure they would not pass.

But I wanted to post so that you could read and discuss.

Thank you:

As a small, but symbolic, gesture of gratitude I am adding the accounts mentioned here as beneficiaries, to share the rewards, 1% each: