A new life awaits you...in the Hivemind

Shhh, the High-Priestess of the BlockChain (poetic license invoked) is about to give you a glimpse of the future.





You may, or may not have heard about Hivemind, and it's developer @roadscape, but about 5 months ago @steemitblog made a update post concerning Hive Core 1.0 and the coming 1.5 Communities release and since then I had been keeping an eye on it's development and have read some fantastic posts, one by @flauwy is exciting and well written and in @taskmaster4450's post they delve deep in to what this may mean for all of us, that really give a taste of what is to come, however these posts are over 6 months old and honestly this development needs more attention, its the sleeping giant that will allow the full blossoming of steem as core to our communities.

So what is Hivemind and why is it important to us as developers, to you as stakeholders and for the future of the blockchain?

Currently if you are a developer looking to integrate your app with the blockchain, you are limited. Your apps integration will always be captive to the basic set of core API's for the blockchain, now for the most part this does the basic job, but speaking to many developers out there, they say it does the job, but often not the job they want.

Now because the blockchain is a consensus layer, getting changes to those API's, or to the blockchain itself is very hard...and for good reason, as this quote from @steemitblog recent HF20 post indicates;

With DPoS, while anyone can produce blocks, only the top 20 block producers, as determined by stake-weighted upvote, are canonical, which means they have to come to a consensus in order for new software to be be integrated into the blockchain... However, because a super-majority is required, and because the Witnesses are ultimately accountable to Steem’s stakeholders, the odds are maximized toward only positive changes being made, along with very little interest in creating sister-forks; chains that continue to being run based on the old rules. Note that, if you have an account, or if you have STEEM, you are a stakeholder.

What this basically means is there has to be a really really really good reason to change the blockchain, and a supermajority (17) of the top 20 witnesses all have to agree that it's a really really good idea and that it benefits all all to make that change, in a diagram it looks a little like this;





So whats going to happen, well quoting @roadscape again:

...it’s quite clear the concerns of application developers (flexibility/simplicity) and blockchain developers (security/stability) need to be separated.

so in simple terms all the non consensus critical information, will be stored in a traditional database that stays in sync with the blockchain, freeing up developers from the limitation of the core blockchain API's, and should look something like this;

So Sapphic aka Joni, what does all this theory and nice diagrams mean in real terms.

Well as part of my commitment to the blockchain as a witness and a stakeholder, is developing for the blockchain, as such I have been running a test Hivemind core 1.0 server for the last few days, setting it up was simple and I had it complied, built and syncing nicely into a Postgres DB, all that blockchain data in a Postgres DB that I could read and write to, that will be in sync with the blockchain.....this gives me delicious dreams.

Currently the test server is as follows:
E3-1270v6
8 CPU @ 3.8Ghz
32GB
230G SSD (SoftRaid)
10Gbe Ethernet

and for baseline testing I have been solely accessing the api.steemit.com node, (yay for a three day sync) finally a few pictures of the hivemind server running, just in case you think ole Sapphic just makes things up :)

Server syncing the blockchain to Postgres
Server caching post indexes to Postgres


Current Hive Status
INFO:root:loaded configuration:
Command Line Args: status
Environment Variables:
DATABASE_URL:postgresql://user:pass@localhost:5432/hive
Defaults:
mode:['sync']
--steemd-url:https://api.steemit.com
--http-server-port:8080
--max-workers:4
--max-batch:50
--trail-blocks:2
--sync-to-s3:False
--log-level:INFO
--test-disable-sync:False
{'db_head_time': '2018-08-25 02:37:33', 'db_head_age': 33217, 'db_head_block': 25365145}
INFO:hive.utils.stats:cumtime 0s (24.7% of 0s). 0.0% idle. peak 37mb.


Now Hivemind being open-sourced and as non-consensus layer to the blockchain, I'm hoping that we can embed our own hivemind servers into our apps, running things like this;




This is where for me things get really beautiful and imaginative when I think the possibilities coming to us all, as developers, as content creators, as curators...as stakeholders, in this amazing dream we are all part of the blockchain.

ps. if you are interested in a fantastic read about the up and coming Hive 1.5 Communities release, please do check out the Steem Communities Docs on this very thing.

Till next post,

yours forever in the blockchain,


Sapphic


team_aust_thin
































H2
H3
H4
3 columns
2 columns
1 column
23 Comments