Quick update on Hive-related activities at BlockTrades

in #hive3 months ago

I haven’t had much time to post lately, but I did want to give a quick rundown on some of what BlockTrades has been working on with respect to Hive, on the coding and hardware side, that hasn’t been discussed much in previous posts.

Setup of multiple API servers

API servers provide the blockchain data in various forms used by all the frontend web sites. A number of community members are now operating API servers, with some variance in the capabilities of the servers.

BlockTrades is currently working to build a “cluster” of such servers for higher availability. We have one server functional now (it has been running since the Hive hardfork), but we’re still working on the cluster solution. We’ve been struggling with various hardware issues, but I think we’re nearing a solution on those problems, so I expect our cluster capability will be operational soon.

Optimizing image serving to frontends

Most people include images in their posts, but not everyone is aware that those images aren’t stored in the blockchain data (only the text from the post is). Instead, the images themselves are maintained on “image servers” and the blockchain posts contain links to the images on those image servers.

The main image server for Steem was provided by Steemit Inc, so we’ve had to move to our own image server to support Hive. We were able to setup the new image server prior to the hardfork, but we’re still working to optimize it to provide better service. This is important, because it can result in faster post loading times from the frontend websites where you post and curate from.

One area where we’re optimizing is the use of an “image-caching server” that allows for fast lookup of recently displayed images. We deployed this caching server at the time of the hardfork, but we’re improving its performance as we learn its quirks. One problem we found today is that when we had the caching server configured with a disk cache larger than its memory cache, its performance began to degrade over time, so we’ve corrected that.

We’re also experimenting with tweaking what it recognizes as a “cache hit” (i.e. when it can figure out that an image is one we have locally in the caching server, so we don’t need to re-fetch it from the image server). This will reduce the amount of load on both the caching server and the image server.

Optimizing performance of https://hive.blog

During the first week, we and several other devs were focused on making basic adjustments to the software for hive.blog (including getting the wallet working with the site). Now that that work is done, we’re moving on to working on making the site faster and more robust.

Currently we’re adding the capability to use multiple API endpoints. API endpoints are how the frontends get blockchain data to display. Hive.blog was designed to always use a single endpoint, so if this endpoint had problems, so did Hive.blog. Once multiple endpoints are supported, the web site can swap to a different endpoint if the one it is currently using experiences problems.

Blockchain work for the next Hive hardfork

Our blockchain team is currently working on several tasks for the next hardfork: 1) adding code to do a second round of airdrops on some of the accounts that were excluded from the previous airdrop, 2) final testing and fixes for the delayed voting power code that is meant to stop future voting attacks by exchanges or someone who hacks an exchange, and 3) performing a security audit as requested by some of the exchanges that are interested in listing Hive.

Second round airdrop code

This code will transfer Hive, HP, and HBD from the treasury account to some account groups that were excluded in the initial airdrop. The exact excluded groups that will be eligible will be decided by stakeholder voting, followed by agreement of the witnesses to run the new hardfork code. Note that stakeholders can always change their votes to change the makeup of the top 20 witnesses if they disagree with witness decisions about the hardfork.

Delayed voting power change

The delayed voting power code works by discounting the voting power of newly powered-up stake for 30 days when it comes to witness voting and proposal voting.

Note that this delay will not affect other uses of newly powered up stake. For example, newly powered up stake will still immediately increase your voting power on posts and will increase your available resource credits.

Security audit

This audit will involve a general review of the blockchain code, with a focus on verifying the cryptography code that ensures funds can only by used by someone with the correct private keys, and verifying that the code doesn’t allow for coins to be transferred in unexpected ways.

Hardfork timing

The timing for the next hardfork hasn’t been determined yet. It will depend on both when the code is ready and also when witnesses and stakeholders think it’s most appropriate. Note that we’ll want to give exchanges that list Hive at least 30 days notice before the hardfork, so that they can prepare to transition their wallets to the new code.

Sort:  

Blocktrades is salvation for trading STEEM and HIVE

@blocktrades Thank you for what you do for us. I don’t think that is not said enough times.

Question: how are the second round of airdrop code will be determined? By voting you mentioned... but what kind and how. As we are a DPOS system hope that will be DPOS as well.

Another question: Hoping lot of steem will convert to Hive in near future... it is possible to give us a favorable commission at Blocktrades website to help us migrate our tokens. That way lot of holders probably won’t take the exchange route? Just a thought... maybe even for a limited time...

Regarding personal time, I am glad you are finding time to read. I read every day and also listen to audiobooks while I take long walks. That’s all we can do in the present world!

The excluded accounts will be divided up into groups based on reasons why they were excluded. For each group, there will be a FOR and AGAINST airdrop proposal. The stakeholders can then vote on their favored proposal for each group. Like all proposal votes, the voting will be stake-weighted. The devs will then add the list of all groups that will receive the second airdrop to the HF code and witnesses will have to decide whether they want to run the new code.

Note that such proposal votes aren't binding on witnesses (there is no way to force them to run new code) It's basically a way to poll the stakeholders. But the higher the voter turnout on the proposals, the more compelling the argument to witnesses will be to run the new code (since they might get voted out if they don't).

The code developed for this sounds like it could be a very interesting blockchain feature - a single DAO proposal which pays out to a large number of accounts. If I'm not mistaken, currently a given proposal can payout to only a single account. This sounds highly interesting to me because it opens up new avenues perhaps not explored before - a single proposal carried out by a large collective group of people who collectively receive funding. I guess it could be just a few or it could be hundreds of people.

Furthermore, another interesting feature would be the ability to hold the proposal payment in escrow and release it only when certain criteria are met (i.e. in the current situation the criteria are stakeholder voting on a proposal and witnesses updating their nodes to the new code). Again, the current second airdrop situation sounds like a use-case for this kind of feature, but I guess it would be done only one time (through a hardfork) rather than being a blockchain feature that can be used at will.

Yes, we're doing this as a one time hardfork, as the needs are somewhat specific (for example, it's not just Hive, it's also HBD, and it's a one time payment instead of something that pays out over time).

The proposal system could do with some improvements though, and we should probably setup a working group before too long to look into what should be done first.

That sounds fair! Thanks for the explanation.

Excellent work, appreciate the updates you and others have given. Just remember to take a few minutes to step back and breathe, we all need a bit of a break, even for just a few hours. You folks certainly deserve it!

We're all stuck at home anyways, so it gives us all something to do.

I do get a little downtime: I spend about 30 minutes watching the news, and I'm catching one or two episodes of Altered Carbon season two per night, plus I usually read for about 30 minutes before I sleep.

Good to see you get some sleep 🙏 You all really need that for more productivity and get rid of all these other stress. And don't watch too much Corona news , if I watch them too much ( for a hour), I feel my throat is soaring and I am about to get it 😀

Altered Carbon is hella dope.

We really have to thank you for your extraordinary efforts and work that you do for the Hive blockchaine.
Long live decentralization.

Centralization towards the dustbin of history.

Thanks for all the hardwork!

Is there a chance that the witness votes and the HDF votes can be reset to 0 as well so that we can have a clean slate and not be weighted down by dead stakes and old, inactive votes? Sort of a clean slate for witnesses and HDF?

I'm personally in favor of something like an annual vote renewal requirement (with a few month vote decay after that year period if not re-voted, as suggested by Michael Vandeberg at last SteemFest). But it's certainly not the only option out there.

I hadn't really thought about applying it to proposals, but it might make sense there too, since some people do make proposals with super long terms (generally something I'm not in favor of, I think proposals should generally be limited to a year anyways,and then just submit a new one if necessary to continue work).

I like the idea of an annual vote renewal requirement which will force witnesses to highlight what they have been doing for the hive blockchain to earn back their witness spots. Obviously, it would make sense to stagger this process across the witnesses over some decent length of time so the security of the chain remains intact.

That's why there's the decay factor in there too: it allows for some "warning" about need for revoting.

Would be cool if it was in this hardfork as well as it would represent the major shift in how diff Hive will be ie send a whole new precedent in its very first upgrade hardfork as a new chain.

Yeah I guess decaying works out as well but I was thinking of a clean-slate for the current "fresh" start.

Agreed on the proposals, I feel like people are running them super long because the bar to get in is too high and doing it on sets of features that only last 1-2 months might not get enough attention to get re-approved.

This makes sense but I assume the chain would stop if all witness votes were set to zero. Someone has to witness the blocks. This actually brings up an interesting question of how the first few blocks were witnessed in 2016. I guess the 20 witnesses were pre-decided?

yes, there were some "init" witnesses that were originally voted in automatically. It's been the standard way to launch "from zero" DPOS chains.

Is anyone finishing up HMTs? I'm asking because they were almost ready and HMTs will require a hardfork. And we've been told exchanges are not big fans of often hardforks.

Although I understand keeping it small and 'simple' the 2nd hardfork is also important, to hopefully establish a track record of successful hardforks.

Yes, HMTs would be in a later hardfork. No one is currently working on HMTs, but it's reasonably high on the priority list for new work, I think.

I was excluded from AirDrop. Can I get my HIVE again now?
STEEM is in the process of power-down. I want to start anew at HIVE.
Please help me.
https://hive.blog/hive/@bencana0523/please-give-me-my-hive

You were excluded from the drop for supporting the witnesses that took over the Steem Blockchain, and therefor not eligible for any Hive.

It's different with my intentions. I was a delegate to vote a long time ago, did not know what they do, not connected to the actual Steemit.

Thank you for all your work @blocktrades!

Thanks, much appreciated.

Guess you know by now that our "friend" heajin is also here on Hive now too. Trying to rape and mess up again so it seems.
Downvotes have been given sofar, but I think his "buddy" Ranchorelaxo will wait with voting till pay-out day.

I suspect they won't get too far :-)

That was the only answer I needed to hear. Thanks.

Keep up with the good work. Hoping for the best on Hive.

There was talk of updating/improving the underlaying software to help reduce the resources it consumes and consequently reducing costs. How is that going?

Thanks, I forgot to mention that work, hard to keep track sometimes. We have several guys working on it, and it's going ok so far. I don't have any concrete numbers yet though.

Great to hear. I am awash with optimism over Hive and looking forward to continued development. Great work from you and the community dev team.

Finally some hope for me. I was excluded from the airdrop due to some mistake i guess as i set my witness proxy to @theycallmedan 18 days ago before the hive was released. do i have to contact someone personally for the appeal or will be done automatically?? I can send you txn id as well.

Thanks

You won't have to do anything, the groups up for voting will be determined by running scripts that analyze the various accounts that were excluded. For example, the original script had one known implementation error, so accounts excluded by that error will fall in one group.

Thank you for the updates, @blocktrades! Much appreciated it. Upvoted!

Thanks for the work!

All your effort are duly appreciated, thank you. One question though, is there any plan to reduce the power down period? Or raise a discussion for it? This was a debate that was going on right before the entire Justin and Steem debacle. Some opinions sounded like reducing the power down time might be a catalyst to bringing in new investors, what's your take?

I'm sure the powerdown time discussion will resume. There's many issues people are still actively discussing in the community regarding future hardforks.

Regarding the powerdown time, it's my personal opinion it probably wouldn't have much attractive power for new investors, but I'm by no means certain of that. It's hard to tell really.

But for now, my focus is mainly on this upcoming hardfork. I would prefer to avoid any additional rule changes in the upcoming one, since making any more changes will likely lead to debate that could slow down the release of the HF.

Okay cool. Thanks

If they do push through a 3 day power down and JS and the exchanges power down..... guess what happens to the current sock puppet witness votes.... O.o they loose all that juice from.... that would mean... !!!!
We could take control of....

It's reassuring to see these progress were being made, kudos to you and your team!

ah you guys are so fast now with this stuff! noice

A job well done, none of your efforts go unnoticed.

Thank you @blocktrades for all the work and resources you are putting into Hive!

=^..^=

You guys are doing a great job and we appreciate the detailed communication.

Thank you. I must note that this communication and general initiative is already better than Steemit Inc.

Can newly powered up stakes be delegated?

Yes, the only change will be voting power related to proposal and witness voting.

Great to see the progress being made!
Question tho, I know a lot of weight was put on the Smart Media Tokens.
Dare I ask for a timeline on this? I remember reading that it was close while we were on steem... I feel if we can beat Steem to the market with this, we may get a competitive edge over them.
Thoughts?
(*If the question was posted before, sorry, I read the post and did not see it)

I don't have a timeline yet for HMTs. The first step will be to analyze the work done so far by former Steemit devs, then we can make a realistic estimate on a release date. All our devs are tied up with infrastructure-related work now though, which I think needs to be the highest priority for now. We can probably have better answers about HMTs in a couple of weeks.

You guys are absolutely awesome. Thanks for bringing back excitement and new opportunities to the blockchain. High-Five for HIVE!

Regarding Korean community's excluded stakes, what do you think splitting them into multiple groups? Many of them are just proxied their stakes to accounts who vote for the sockpuppets, but unware or knew late about the airdrop. They seem quite neutral about the issue.
SO two groups I suggest: one group consists of manager-level accounts (like proxy.token), and the other is less active members who just gave voting power to the first group.

I'm not directly working with the team that's figuring out what the groups will be, but I do know the plan is to create several different groups, and vote on those groups separately. My team is only working on the code that will do the airdrop, once the accounts are determined.

It is really impressive what you and a few fellow witnesses and developers achieved so far. If the pace of innovation and improvement stays that high then Hive has a good chance make full use of its potential very soon.

Great work in what you guys have achieved.

The main image server for Steem was provided by Steemit Inc, so we’ve had to move to our own image server to support Hive.

Would it help at all to use the Sia chain SkyNet file storage for images so that we know they will always be available? Of one of the similar blockchain based file storage systems. There may be a transaction cost but with any storage there is a cost.

I am sure that Steem will be to the Bittorrent based filesystem to keep Justin sweet.

Keep up the good fight champ and thanks for the heads up!

Excellent technical explanation. Thank you for keeping us informed with the work being done by the developers and the entire team that has made the successful launch of Hive possible. Blessings brother.

Greetings brothers. Brilliant explanation, I was able to clarify several doubts. It is important to keep the Hive user population informed as we have seen the great opportunity to work on this new platform that has an interesting world to explore. Blessings Don't stop, brother, for the great work you do with your entire team at Hive.

Thank you for everything you're doing for Hive and the community @blocktrades

Thank you for the immense work you do together with all the witnesses in order to keep HIVE alive...

Great new we are extremely thankfull for all you guys are doing to get hive to where it needs to be

Awesome! I am glad to see that Hive is moving full speed ahead. I get a feeling that improvements will be implemented much more regularly on Hive than they were on Steem. Thanks to you and everyone involved for making this happen.

For the last couple of years I had really began to regret pouring so much of my own fiat and crypto into Steem, about $300k to be exact. (Started buying heavy at its highest price; hence my lousy current stake). Now I feel like I may get some sort of redemption for it. I may never be a whale, but someday I may at least be able to break even if things keep going well.

Awesome work! These things need to keep moving to increase the value proposition of Hive. Kudos to you @blocktrades.

Great, please also audit the code for replay attacks between hive and steem.

Replay attacks aren't possible, that's one thing we know already (because use of TAPOS, transactions-as-proof-of-stake). When you sign a transaction, your transaction includes a reference to a recent block in the blockchain you are signing for. So when you publish a transaction for hive, it will have a link to a hive block, so a steem node will determine that the transaction is invalid. And vice-versa.

I'm very happy that the jaggy representative democracy of the old steemit, that was turned into a fascist regime by Justin.
In this initiative, I see a huge collective work that is leading the Hive to a much more liquid democracy and opening the doors for a higher level of decentralization.
Your post and comments are the living images of the work of communal decision-process.
Hierarchy eliminates consensus and blocks realizable Utopias.
Thanks to all the people that contributed to building this new glorious world in such a short period of time, and with almost zero errors.
I couldn't resist leaving here for the community an extract of a post I wrote a long time ago on Steemit.

Consensus is not possible in centralized structures. We can't solve social problems with centralized despotic authority, regulations and power clustering. Consensus (consent) can only exist when:

a) - Everybody is involved in building solutions for the community;
b) - Everybody is informed with proper continuous feedback;
c) - Everybody knows the risks of taking that decision.

Consensus is a general agreement on a proposition to act and change the destiny of all the members of a community and face the risks involved.
Consensus can be "good" or "bad" because collective decisions involve risks that reflect in all the future of the community.
Any consensus in equalitarian groups can be right or wrong about the consequences of the collective choices and actions agreement.

When there is manipulation in the discussion of collective solutions, by self-interest people or groups that fight for Power then it can't be called consensus, but an imposition of a hierarchical structure.
Consensus exists only in equalitarian groups, where everybody has the same rights to express their will and importance by influence and be influenced by all the others.

It is a good move to be on both platforms, for those who stay and those who leave.
Es una buena jugada estar en las dos plataformas, para los que se queda y los que se van.


  1. adding code to do a second round of airdrops on some of the accounts that were excluded from the previous airdrop...

Guess the immutability of the chain has proven to be no big deal. We all now understand that on the Hive Blockchain possession is ten tenths of the law.

  1. final testing and fixes for the delayed voting power code that is meant to stop future voting attacks by exchanges or someone who hacks an exchange

Bravo. This should aid in easier @null fucking of future large investors.

Chain immutability only applies to a given version of the software. Rules and data can always be changed at a hardfork. The original data and original software doesn't change though, as long as someone wants to preserve it and operate it.

This whole HIVE/STEEM has shown me that on DPoS blockchains possession is ten tenths of the law. It must be fun to play Santa Claus. 😎👍

Exciting time to be alive!

HF23 was the first successful hard fork that I can remember since I got here that didn't end up in issues.