Hi Fellow Smokers,
Just making a post to explain what is a smoke witness, how much are they rewarded and why witnesses are important ? ( I will try to explain in layman terms and this is not a guide on how to set up witness server).
What is a smoke witness ?
A "smoke witness" is responsible for producing the blocks and signing(validating) the blocks that can be used to record your daily transactions on smoke.io such as voting, posting, resmoking, flagging, claiming rewards, transfer tokens etc. on to the blockchain.
modifed from unsplash: https://unsplash.com/search/photos/network
Everything you do on smoke.io is a transaction!
Each block generated by a witness could have 0 to ‘n’ number of transactions
i.e a vote/flag/comment/post/transfer all are individual transactions , and could be present in a single block.
Examples of block where there were 0 transaction
Examples of block where there were 1 transaction
Examples of block where there were 2 transaction
Why witnesses are important for blockchain and minimal viable product (MVP) like smoke.io operating on blockchain?
Without any witness producing blocks, the DApps like smoke.io operateing on blockchain just can't operate.
So the major responsibility of a witness is to produce blocks round the clock, throughout the year, so that people can do normal transactions like, voting, commenting, claiming reward, posting, flagging and what not.
This is the reason why they are getting paid for it, "to maintain a block producing node 24 * 7 * 365 hours in an year".
As quoted by @unnamed another importance of witness is:
Actually the reason why witnesses matter even more is because of the consensus mechanic. While “saving the records” (the historical ledger) is an absolutely important matter, the most important role off the witnesses is decentralization and that not because “censor resilience” and those things commonly heard.
The first and most important role of the witnesses is to protect the “platform/protocol” from itself and maintain the open structure of it for the future so businesses can build on it. Basically, to avoid that a centralized organization flips the game and rules overnight.
One of the tasks that contains in .PO* platforms is to also produce the blocks in the ledger (and on most blockchains that also means host them). But the witnesses (on DPOS the top 20) are the governance of the platform. Producing the blocks is a task delegated to them and being rewarded for such is a “feedback loop”
As a witness you are also expected to keep monitoring your node frequently and take proactive measures to avoid missing blocks. This is number 1 duty as a witness. All other tasks that you do as a user of smoke.io is secondary, as smoke.io can't operate if all the witness ignore their job.
How much does a smoke witness gets paid?
As per the smoke network whitepaper:
Every day a set amount of new SMOKE is created by the network (inflation).
From this reward pool, 10% is allocated to witnesses who produce blocks.
As per my observation each top 20 gets a chance to produce blocks and sign them every minute. i.e a block is produced every 3 second by one of the top 20 witness, and the 21st block is produced by a non-top 20 witness selected based on some algorithm(not sure how exactly that works)
I'm one of the top 20 witness and I make about 0.032742 SMOKE POWER every minute. (~ 47 SMOKE POWER a day)
How much does a witness exactly make in terms of SP?(exact value depends on daily inflation rate and rotations)
|Rank 1 to Rank 20||45 to 50 SMOKE POWER A DAY||Every top 20 witness makes about 0.032742 SMOKE POWER every minute.|
|Rank 21||40 SMOKE POWER A DAY||About 0.166689 SMOKE POWER every 6 minutes|
|Rank 22||30 SMOKE POWER A DAY||About 0.166689 SMOKE POWER every 8 minutes|
|Rank 23 to Rank 27||24 SMOKE POWER A DAY||About 0.166689 SMOKE POWER every 10 minutes|
|Rank 28 to Rank 30||20 SMOKE POWER A DAY||About 0.166689 SMOKE POWER every 12 minutes|
|Rank 31 to Rank 33||14 SMOKE POWER A DAY||About 0.166689 SMOKE POWER every 17 minutes|
|Rank 34||10 SMOKE POWER A DAY||About 0.166689 SMOKE POWER every 24 minutes|
|Rank 35 to Rank 36||8 SMOKE POWER A DAY||About 0.166689 SMOKE POWER every 30 minutes|
|Rank 37 to Rank 40||3 SMOKE POWER A DAY||About 0.166689 SMOKE POWER every 72 minutes|
|Rank 41 to Rank 45||1 SMOKE POWER A DAY||About 0.166689 SMOKE POWER every 240 minutes|
|Rank 46 to Rank 50||1 SMOKE POWER IN THREE DAY||About 0.166689 SMOKE POWER every 720 minutes|
|Rank 51+||Data unavailable, I believe 1 SMOKE POWER in a moonlight!||NA|
Note: Above numbers vary every day based on inflation rate, witness rotation, missed blocks
So as a witness it is your first responsibility to do what you are getting paid for! That is to run a reliable node without missing many blocks!
Can you run a node without missing a single block forever?
Answer is "No(in a real world)", as the requirements change sometimes we observe the witness node fail. For example, as our user base grows, number of transaction increase, the block size needed increases, thus memory requirement increase.
And recently we observed a need in raising shared memory size, due to which many of the witness missed blocks.
So what should a witness do ?
An ideal witness would
- Make sure that he sets up all measures needed to monitor his node as frequently as possible(i.e don't just set up witness node and forget about it).
- Make sure that as soon as he gets notified of missed block, he takes necessary action to resolve the issues
- Make sure to notify fellow witnesses if they are missing blocks(don't sit idle and let them miss blocks thinking that you may get more blocks to produce. Rather you will let the blockchain perform poorly and impact the system negatively
Whatever other contribution you make as a community member is secondary(though it's important!)
As a witness, if you don't produce blocks, the smoke community users can't make a post, can't upvote, can't flag, can't comment, cant' claim rewards in a smooth and efficient manner.
My witness Server - Costs me about $40 a month(about $20 for each server)
I have two servers for running witness. One for main and one backup, each with 4GB Memory, 2 CPU, 80GB Disk Space. Both are hosted in different data centers , so that if one data center has issues, atleast one of my server will be available to run the witness node.
I'm not posing any referral link to Digital Ocean, as my post is not intending to make money out of referral program.
My witness monitoring device number one(pWP by @bbq-iguana): Cost me about $70 to set up
It monitors my witness node and if there is a block miss, it sends me an email saying I missed a block and also it switches to my backup server so that I don't miss more blocks, so that I can continue to produce blocks
Testing the setup: I intentionally missed a block to test my setup, I got the email notification and the witness server switched to back up server - testing success!
My witness monitoring device number two(by @roelandp) : Joined the telegram witness missed block notification bot group
If you see above @wikileaksonweed missed a block, and he was able to immediately look into the issue and resolve it(or he is in the process of resolving the issue). Kudos to him!
Missing a block isn't a crime, but ignoring it/ not caring about it after setting up witness is not good.
My personal stats as a witness:
When I didn't have any monitoring set up I missed about 160 Blocks since the beginning of my witness setup.
Then I missed one more block while setting up pWP monitoring system.
Now I have 4 manual eyes(my eyes and my wife @bgw 's eyes :D ) and then pWP by @bbq-iguana set up on my raspberry pi, then telegram notification by @roelandp all constantly monitoring my witness nodes :grinning:
As I mentioned earlier on Telegram/Discord:
Irrespective of my witness rank , it’s my responsibility to get the basic thing right , that is running the node all around the year.
So I’m trying everything to avoid missing blocks, set up back up node, setup email notification for missing blocks, got added to telegram notification, so that’s the first step.
I also agree that responsibility doesn’t end there, continuous interest and active participation and responding to other experts and taking their input all are important in growth of this platform.
My personal stats as a contributor
Quote from a stoned @betgames after smoking a bowl and getting high (my writing talent increases 100 times after I smoke, lol) :
"We learn together, We smoke together and We grow together!"
“Until now we were walking alone, after smoke.io all those who were walking alone joined together to walk together "
We are a witness on smoke.io( @betgames) if you think we(me and my wife) can spread joy here and support community, please consider voting for “betgames” as witness .