Did you notice issues using steemit.com today? How about powering up? Logging in? How about trying to transfer SBD this morning to blocktrades only to receive a message like this one:
Or 
How Did This Happen?
You Do The Math!
- We do not have enough seed nodes to handle all activity of the steem blockchain at its current growth rate without limiting users bandwidth. Period.
- over 90% of currently active seed nodes and ALL of the full RPC nodes are top 20 witness owned and operated either directly or via proxy thus creating a single point of failure (i.e. api.steemit.com ) for the network. Basically, api.steemit.com+unavailable=Dude where's my dough?
- 90% of users on the steemit network are essentially (and this is an assumption) in the "minnow" or "dolphin" class which makes us the majority however we tend to carry considerably less bandwidth.
- There is zero monetary incentive to buy, build, manage and maintain the seed nodes which empower our network (however the top 20 witnesses do get paid, so they're encouraged to also run seed nodes because they are assumed to be able to afford them though not a requirement)
- The steemit blockchain is growing at a phenomenal rate!
After Reading articles like the one posted by who is also a witness (See The Bandwidth Limitation - Problems and Solutions ) and others like
Call For Steem Seed Nodes! , I Began thinking of ways that not just myself, but we as a community could contribute to fixing addressing the issue with available seed nodes er.. The lack thereof. At the same time trying to figure out how to add value to the network (As if building a witness and 2 seed nodes myself out of pocket wasn't enough) So I decided to start a project called Steemit Forever!
For the past two weeks, I've been working on this and other steem related projects to empower the steem blockchain+steemit network as well as strengthen the integrity of it's infrastructure. I took a few approaches on addressing some of the current obstacles that we are facing technology wise as this is an area where I will probably add the most value. I created a witness server which you can vote for simply by clicking here, and two seed nodes which can be found at steemit.chainchopper.com along with the current active list of nodes operated by top 20 witnesses. The alpha seed node is a donation from chainchopper.com . I will maintain it as long as I have funds to do so till this witness can afford it on its own. I did this in good faith with the presumption that most people on steemit are generally good and want to see the network succeed as do I. But that's just the beginning . . .. .
The Mission - More Math
"To serve and to protect the integrity of the community by empowering it's technology and it's supporters"
So you're probably thinking to yourself "The hardware contributions and technical expertise that you bring is all great, and it's good to see you come bearing gifts, but what will this mean for me?" Firstly, Steem nodes are what make this network function. This is something every single user will benefit from. Keep in mind that there are no payouts or monetary incentives for running seed nodes (which is probably why we have so few). Especially for people like us who are minnows here on steemit and cannot afford to run them or lack the time to learn how to do it properly. By now you're probably wondering " how and why should we pay for the seed nodes if they won't make us any money?" Well, the idea is that once people are informed and grow to understand the need for seed nodes along with the importance behind an initiative to remove centralized points of failure on a platform that is in it's own right cash-centric, we will empower a witness that's purpose is to stand for and protect the blockchain by providing the needed technology as well as carrying out civic contributions in the form of delegated SP. Decentralization will be promoted by separating services both within our local groups, as well as remaining separate from current node groups thus providing fast and efficient redundancy in case of failure. . But if you're asking seriously how this project can work for you, then i believe this can be achieved in a few ways starting but not limited the following:
- I propose to create two new seed nodes for every 500 witness votes for
. (1 full RPC node + 1 standard seed node built to proactive CPU/Memory/Storage specifications) This process will continue as needed and may very well mean that I will have to continue to fund these out of pocket as witness votes do not guarantee that it will receive rewards from blocks.
- 50% Of the rewards produced by
will be used to fund and maintain the actual seed nodes and RPCs
- Give It Back! Voters of the witness
will become eligible to become recipients of a percentage of delegated SP from a fund held by @chainchoppers as outlined below.
- Separation! Separation! Separation! .... Did I say separation? Share the work load of the steem block chain processing with current nodes whilst remaining independently hosted. This will create an effective "Fail-Over" contingency making us less vulnerable as currently there are none in place. (who would have thought?)
The Blame Game
Who's fault is it? Well, It's yours. . Let me explain why. A year ago, published a post calling for more seed nodes (See link above). Granted, this call was seemingly more directed to top 50 witnesses (and rightfully so). A week ago, I'd been noticing issues with node availability while setting up a witness and seed node. This is evidence that even someone with as much influence as
can be brushed off and summed to a no-action (It works right? what's there to fix?). I published a post called "Steemit Forever!" Over the course of the past week, I noticed at least 5 of the top ranked witnesses had made posts regarding their server upgrades and availability. This is great, and this is the type of action we should be taking, however, This is a problem that the top 50 witnesses cannot address in their current positions. Inherently, they are a minority by design. This, in theory, is to promote competition among witnesses according to The Steem White Paper In an effort to encourage them to basically work together to eliminate fraud and I quote " The elected witnesses are presumably trusted by those who have a vested interest . . . . By paying those who are elected, Steem creates market competition to earn the right to produce feeds. " Now, Proof of Brain would suggest that in order for the top 20 witnesses to succeed that they must indeed unify. That's not the problem. That's actually probably "smart". The problem, is that ALL of the seed nodes and RPCs are owned by the top 20 witnesses... Now do you get it? So you see, there is no way for the current witnesses as owners of the infrastructure to fix this problem with seed nodes without further contributing to what will become an even bigger problem in the future due to the fact that many of them use the same service providers and technical teams. This created a single point of failure for us today, with no failover. But alas, it is not their fault.. It's not their fault at all because running seed nodes isn't what they were elected to do nor is it officially supposed to be their job. At some point, witnesses inherited the task. Some out of necessity, some do it because they are just good people that want to see steemit succeed and give back to the community. At the same time, It's the fact they inherited the task that causes problems like the one we faced today. This is due to the unilateral structure of witnesses. Many of us have voted for witnesses for many many different reasons, so why not let them do what it is they do without the burden of worrying about the availability of seed nodes? Quite honestly, I'd rather sit back and watch from the bench rather than to sit my seeds in the middle of a cat fight :)
The Solution
Let's build community owned steem seed nodes and full RPC nodes. These will be called "Forever Nodes"
-- The nodes that this project builds will indeed benefit everyone and these nodes will forever belong to the community for it's use. Hence the project moniker "Steemit Forever". In the case that this project does succeed and the witness begins to earn, I have set up a steemit account @chainchoppers which will hold 50% of payments earned from the witness. This will be called "The Fund" . The other 50% will be designated to operational costs for the witness and forever nodes. Funds distributed to the
(The Fund) account will be converted to Steem Power. It will be disbursed (delegated) evenly to 25 voters of
witness in the form of SP for a total of 50 voting users per month. These voters will be chosen at random regardless of their reputation or current SP and account value. This process will repeat bi-weekly commencing on the first day of the first month following the first successful block written by
which can be checked on steemian.info. Over time, this gives 50% of rewards back to the steemit community, while giving everyone a chance to earn curation rewards from the SP while they have it thus giving back to the community. The delegates will maintain the SP they received during the 14-day period and will keep all curation rewards during this period. At the end of the holding period, the SP will be retracted, and redistributed to another 25 randomly chosen delegates from the voting list (Kinda like a lottery that you didn't buy a ticket for) . . This can change as needed, but it is the only way I could think of to prevent someone from actively cheating by voting from 100 different accounts and unfairly saturating the payout pool with monster bot votes. If anyone has any suggestions regarding this, please feel free to discuss it in the comments below. Lastly, In the event that I am unable to maintain the nodes due to any reason health or otherwise, the rewards pool will be disbursed evenly among ALL current active voters in the form of SBD during a period not to exceed 90-days giving ample opportunity for server keys and ownership to pass for a proper dissolution.
What Can We Do About It?
Vote This Witness and you're all set!
You may think it's a coincidence that this happened while I was in the middle of writing this article, but I have been screaming ever since I joined steemit that this could/would happen only to get ignored. I'd forecast an issue could be eminent if we did not do something about the availability of seed nodes and divide ownership of the network more evenly, however with such low sp and rep, it likely fell onto deaf ears. Even more shocking is that even though has already contributed 3 nodes, it only has 3 witness votes including myself (wow). Needless to say, to whom it may concern, "I told you so". Hopefully with today's outages we can learn something about ourselves and the responsibility we have to the community. Most people before today probably even thought that this didn't concern them, but what about now? I am doing my part the best I can. With your help, we can prevent this type of service denial and interruption in the future!
Community Action - If anyone wants to consider setting up nodes themselves (please do) and need help, I usually hang out with the other witnesses on steemit.chat or PAL on discord. If I'm available, I'll be signed in under Chainchopper or Justinadams, and can answer questions regarding setup etc. I'll also setup seed nodes or witnesses for others in special cases where we could come to an agreement. If you're interested in checking the status of the Forever node(s) , as well as all Full RPC nodes and seeds owned by the top 20 witnesses, Head over to our secure website steemit.chainchopper.com where it will show who's online and available and who's not. And if you're feeling froggy, Donations are always an option.
Steemit Forever!