What is a witness?
No worries, I'm not going in your neighborhood with a friend and knock on your door and preach about Steem (hmmm that could be an idea though... lol). This post is not aimed to be a tutorial, but in a nutshell, Steem Witnesses are a set of people who run a piece of software on a server that will create blocks on the Steem blockchain and validate transactions via a consensus mechanism called Delegated Proof of Stake (DPOS).
You know that Steemit.com is a decentralized blogging system, right? That means the data is not stored in a central server. But in that case, where is that data? You are not running any software, so unlike Bittorrent, you are not seeding anything back to the other users. The Steem Witnesses are some of the people who run seeds nodes and witness nodes. Witnesses nodes (servers with steemd software) validate transactions, create blocks and insert them into the blockchain. Seed nodes act as nodes of the decentralized database that powers Steemit.com. These nodes are crucial to Steemit.com and thus to us authors. Running a server to act as a witness or seed node can be costly. Currently, the bare minimum needed is:
- a server on a low latency network of at least 100Mbps both ways
- 32 GB RAM
- 120 GB (SSD if you run a witness node)
But like anything about Steem, the requirements info above will be outdated very soon. The in-memory data that a node uses is currently about 31 GB, that means on a server with the specs as above, you would have to start using space on the hard drive if the server runs out of memory. Using hard drive space for storing data is cheaper than storing into memory, however, a hard drive is much slower than the RAM. A Steem Witness node needs to create a block every 3 seconds, so any slow down might end up with a block being missed.
In order to run a full node (which does not ignore the content of comments, posts, votes, memos etc...), the server is required to have more than 256GB of RAM. Most dedicated server hosting companies are only offering 64GB of RAM which can already cost few hundreds of US dollars. This is why the top Witnesses are crucial to the service, they are spending a lot of money and time and it requires a lot of skills to keep a full-blown node to run 24/7/365.25 to record and validate all the transactions that you and I are doing every day.
There are incentives to become witness though:
- the top 20 Steem Witnesses are rewarded few hundreds of SBD per day
- the top 20 Steem Witnesses can decide on the future of Steem by accepting or denying an upgrade of the software at the next Hard Fork.
- you are participating in keeping the system up and running, you are now giving back to the system
- Witnesses below the rank of 20 also play an important role as backup Witnesses in case the some of the top ones are in trouble, they are rewarded less depending on the number of vote power they receive.
There are also challenges:
- as mentioned above, a quality server costs a lot and requires some good system administration skills in case something goes wrong
- you need Steem users to vote for you as a Witness. With Bitcoin, anyone can mine and get the payment. With Steem, it's a little bit like democracy, you need to show to the people that you a worth their trust by doing more than just validating transactions and creating new blocks. For example: @gtg and @someguy123 are helping the community with some great tutorials and update on the witness side of things, @teamsteem give supports to a lot of us and write amazing tutorials, @jerrybanfield also promotes Steem outside of Steemit.com (have you seen all his articles and videos?). This is just a few examples.
This chapter was meant to be short, but I failed lol. So just to conclude, Steem Witnesses play a crucial role, without them there is no Steemit.com!
Why am I getting involved?
I could just sit there and carry on blogging about compost worms, black soldier fly larvae and homesteading and get my author and curation rewards. But I'm also thinking of the platform itself, I wanted to contribute, even if only as a backup Witness. It is also a great way to get to understand how things work behind the scene, what happens why you click that upvote button and it spins for a couple of seconds before updating your vote?
I work mainly as a Senior Web Developer for a TV channel in Australia and have been into programming since 1993 with work experience in Web Development since 1997. I already have my own dedicated server on which I'm hosting my occasional (on the side) customers websites and my own ones. I'm comfortable with setting up and administrating a server and I'm sure with the help of experienced Steem Witnesses, I'd be able to get things running smoothly.
Why you should vote for me?
Well, first of all, you need to know that as a Steem user, you have the right to vote for 30 Witnesses. Currently, the big majority of users are not voting or have not used all their 30 voting slots! So, really, spend some time and go to cast your votes here: https://steemit.com/~witnesses and if you don't know who to vote for yet, then scroll to the bottom to the page and choose a user you trust as your voting proxy, whoever that person is voting for, the system will automatically vote for them on your behalf, easy. Show that you care about the platform.
Now, why you would consider me for your vote? If you are one of my followers, you know that I'm regularly posting quality content about my main topic: worm farming, black soldier fly farming & backyard gardening. Throughout all my various activities, I've always valued sharing of knowledge and Steemit is the ideal platform for this. By upvoting for my content you are already supporting me. By voting for me as Witness, you will be helping me help you. Maintaining a server for the Witness node costs money, as I get more vote I will be able to create more blocks and hopefully, this will pay off the expenses and unless I become one of the top 20, I won't be making any profit from being a Witness.
My current and future contribution :
Help fighting against scammers:
You must have noticed that recently there have been many complaints of people being tricked into clicking on some Steemit.com clone sites which steal your credentials. Some people with high reputation and full wallet have seen their wallet drained off their SBDs and STEEMs. So I responded to @runicar call for help and started working on a Chrome extension that would alert users if they were to click on those types of links: Steemed Phish Extension
Gentle fight against plagiarism and abuse
Steemit is a place where we can make money from thin air, so obviously, this attracts people looking for making easy money while we hard our asses off to make it a valuable platform. I have recently been regularly monitoring the new #introduceyourself tag for fake accounts and reporting them. I've also started my anti-plagiarism bot which I will be introducing later on when it is stable enough but there are a lot of challenges to overcome.
Creating useful tools
As I learn more about the platform and get enough skills, I will start developing useful tools for everyone to use. This will however, come slowly as I my free time is very limited with all the activities I'm already doing and a family I have to care for. But Steemit is a long-term investment, not a short-term opportunity.
My Witness server's specs
- CPU: Intel Xeon E3-1225v2 (4 cores / 4 threads)
- RAM: 32Go DDR3 1333 MHz
- Harddrive: SoftRaid 3x120Go SSD
- Bandwidth: 250 Bps
- Linux distribution: Ubuntu 16.04 LTS
- Witness: Steem-in-a-box by @someguy123
I will be upgrading this server to keep up with the increase traffic.
How and where to vote?
If you think I'm worthy of a Witness, head to the Witness Voting page. Because I'm new, I won't be showing up in the list (top 50 Witnesses), so scroll down to the bottom and type in my account name (without the @ sign):
If you still need some time to decide who to vote for, maybe you can assign me or someone you trust as your vote proxy by filling the form on at the bottom the same page https://steemit.com/~witnesses. You will then automatically vote for the same Witnesses as your proxy:
- The image at the top has been generated with the Canva app using my own photo.
- My 6 year old boy helped me take the photo of my eye on an iPhone and it got edited with SnapSeed app.
- My first vote for witnesses
- A Full Steemit User's Guide to Steem Witnesses
- Steemitguide : What is a Exactly is a STEEM Witness and why every User should Vote !
- Guide to Being a Good Witness
- The Complete Noob Guide to STEEM Witness Setup
- Your guide to setting up a Witness Server (STEEM-in-a-box HF19)