The primary role of witnesses is to provide infrastructure to keep the chain running. Additionally, we decide on blockchain parameters for the best of the network. To achieve that, we run so-called "witness nodes." This is a computer/server running hived
software that validates blocks and connects to other nodes to share the data.
While it's usually better to host a witness node in a professional datacenter to ensure uninterrupted power and network connection, it's also important to have a local node to stay independent and have full control over it in case of emergencies.
When I was speaking about Hive at Berlin Blockchain Week, I met a guy from Solana. He shared some information about how power-hungry their nodes are and how much it costs to run them. I knew Hive is much better in all measures, but I wanted to know how low we could go in terms of power consumption.
I thought it would be a great experiment to show how efficient Hive software is.
And for the sake of explanation, I have more "full power" backup nodes to validate blocks and keep the chain running. It's just an experiment, yet another Hive witness node. Even such an experiment is useful for the network; the more nodes to share and connect, the better it is for Hive.
Hardware
I decided to try popular, secondhand thin clients that are available almost everywhere. They are cheap and quiet (most of them do not have active cooling!). I already have couple of such devices for local services like pihole or homeassistant and I often try different solutions just to have something to compare.
This time I decided to try Dell OptiPlex 3000 Thin Client:
- | - |
---|---|
Processor | Intel(R) Pentium(R) Silver N6005 @ 2.00GHz |
Memory | 8GB |
Network | RTL8111 Gigabit Ethernet Controller |
Storage | Western Digital Sn770 1TB NVMe drive |
Cost | ~$88 |
Dell OptiPlex 3000 Thin Client comes in a handy package as a read-to-use small computer. All you need to do is to connect couple of peripherals and press power button.
Unfortunately, the original SSD size is 2230 and my new one is 2280 (it's 50 mm longer), there was a conflict with a speaker. Fortunately, it was easily removable.
I also had to remove the threaded part that keeps the original drive in place. I just desoldered it.
Software
The recommended system for the Hive node is Ubuntu 22.04, so that's what I used. I decided to go with the server
version because I do not need to use a GUI, as I use a terminal to manage my nodes.
While the system is working exceptionally well, I experienced some issues with the network adapter. For some reason, the download/upload speed was much lower than 1 Gb/s, even when connecting to my other local devices. I found a thread on StackOverflow that the reason is a bug in the RTL8111 driver. I installed many versions of such and even compiled a couple of them from sources, but I never fully fixed the issue. It works at a sufficient speed but not the highest available. It's enough for the experiment.
Results
As I already said, this setup is working extremely well. I have already more than 2 months of uptime and just take a look at the load average!
engrave@local-hive-witness:~$ uptime
14:43:31 up 62 days, 13:38, 0 user, load average: 0.12, 0.15, 0.12
2025-02-23T15:41:35.671518 block_flow_control.cpp:113 on_worker_done ] Block stats:{"num":93585733,"lib":93585732,"type":"p2p","id":"05940145f38ed44f9ebe415c94e950099cf8b708","ts":"2025-02-23T15:41:36","bp":"quochuy","txs":13,"size":15546,"offset":-330736,"before":{"inc":34,"ok":34,"auth":0,"rc":0},"after":{"exp":0,"fail":0,"appl":1,"post":0,"drop":0,"size":233},"exec":{"offset":-336477,"pre":196,"work":5545,"post":2226,"all":7967}}
2025-02-23T15:41:38.698188 p2p_plugin.cpp:199 handle_block ] Got 25 transactions on block 93585734 by steempeak -- Block Time Offset: -301 ms
2025-02-23T15:41:38.698847 block_flow_control.cpp:113 on_worker_done ] Block stats:{"num":93585734,"lib":93585733,"type":"p2p","id":"059401466df97c2bdc2fb63b3485eae490e99235","ts":"2025-02-23T15:41:39","bp":"steempeak","txs":25,"size":7146,"offset":-301824,"before":{"inc":44,"ok":44,"auth":0,"rc":0},"after":{"exp":0,"fail":0,"appl":0,"post":0,"drop":0,"size":0},"exec":{"offset":-311560,"pre":170,"work":9566,"post":648,"all":10384}}
2025-02-23T15:41:41.699274 p2p_plugin.cpp:199 handle_block ] Got 26 transactions on block 93585735 by themarkymark -- Block Time Offset: -300 ms
2025-02-23T15:41:41.700471 block_flow_control.cpp:113 on_worker_done ] Block stats:{"num":93585735,"lib":93585734,"type":"p2p","id":"059401475365963bce5e1675b4172ef81ce6d7d2","ts":"2025-02-23T15:41:42","bp":"themarkymark","txs":26,"size":5875,"offset":-300861,"before":{"inc":46,"ok":46,"auth":0,"rc":0},"after":{"exp":0,"fail":0,"appl":0,"post":0,"drop":0,"size":0},"exec":{"offset":-316009,"pre":382,"work":14766,"post":1273,"all":16421}}
2025-02-23T15:41:44.683329 p2p_plugin.cpp:199 handle_block ] Got 25 transactions on block 93585736 by abit -- Block Time Offset: -316 ms
2025-02-23T15:41:44.685258 block_flow_control.cpp:113 on_worker_done ] Block stats:{"num":93585736,"lib":93585735,"type":"p2p","id":"05940148aea0541534d0a190ca8557b157f1e1c6","ts":"2025-02-23T15:41:45","bp":"abit","txs":25,"size":5325,"offset":-316828,"before":{"inc":46,"ok":46,"auth":0,"rc":0},"after":{"exp":0,"fail":0,"appl":0,"post":0,"drop":0,"size":0},"exec":{"offset":-332958,"pre":237,"work":15893,"post":2006,"all":18136}}
2025-02-23T15:41:47.692084 p2p_plugin.cpp:199 handle_block ] Got 26 transactions on block 93585737 by ocd-witness -- Block Time Offset: -307 ms
2025-02-23T15:41:47.694268 block_flow_control.cpp:113 on_worker_done ] Block stats:{"num":93585737,"lib":93585736,"type":"p2p","id":"0594014996a966ba9c95a8292f10dd87058bee7c","ts":"2025-02-23T15:41:48","bp":"ocd-witness","txs":26,"size":5081,"offset":-307932,"before":{"inc":45,"ok":45,"auth":0,"rc":0},"after":{"exp":0,"fail":0,"appl":0,"post":0,"drop":0,"size":0},"exec":{"offset":-312522,"pre":399,"work":4191,"post":2174,"all":6764}}
2025-02-23T15:41:50.737229 p2p_plugin.cpp:199 handle_block ] Got 60 transactions on block 93585738 by ausbitbank -- Block Time Offset: -262 ms
2025-02-23T15:41:50.739119 block_flow_control.cpp:113 on_worker_done ] Block stats:{"num":93585738,"lib":93585737,"type":"p2p","id":"0594014a6df065f9fc044aa95322b0891ad3c1d5","ts":"2025-02-23T15:41:51","bp":"ausbitbank","txs":60,"size":10187,"offset":-262814,"before":{"inc":81,"ok":81,"auth":0,"rc":0},"after":{"exp":0,"fail":0,"appl":1,"post":0,"drop":0,"size":256},"exec":{"offset":-274470,"pre":224,"work":11432,"post":1889,"all":13545}}
2025-02-23T15:41:53.697229 p2p_plugin.cpp:199 handle_block ] Got 26 transactions on block 93585739 by guiltyparties -- Block Time Offset: -302 ms
2025-02-23T15:41:53.698106 block_flow_control.cpp:113 on_worker_done ] Block stats:{"num":93585739,"lib":93585738,"type":"p2p","id":"0594014bede6934e3894ebd893d92bf7131bf53a","ts":"2025-02-23T15:41:54","bp":"guiltyparties","txs":26,"size":8979,"offset":-302786,"before":{"inc":45,"ok":45,"auth":0,"rc":0},"after":{"exp":0,"fail":0,"appl":0,"post":0,"drop":0,"size":0},"exec":{"offset":-315118,"pre":326,"work":12006,"post":868,"all":13200}}
2025-02-23T15:41:56.673515 p2p_plugin.cpp:199 handle_block ] Got 23 transactions on block 93585740 by pharesim -- Block Time Offset: -326 ms
2025-02-23T15:41:56.676561 block_flow_control.cpp:113 on_worker_done ] Block stats:{"num":93585740,"lib":93585739,"type":"p2p","id":"0594014c0461d8174058ea84454cf97daa00c6bc","ts":"2025-02-23T15:41:57","bp":"pharesim","txs":23,"size":4985,"offset":-326578,"before":{"inc":43,"ok":43,"auth":0,"rc":0},"after":{"exp":0,"fail":0,"appl":0,"post":0,"drop":0,"size":0},"exec":{"offset":-338302,"pre":384,"work":11340,"post":3080,"all":14804}}
2025-02-23T15:41:56.677105 chain_plugin.cpp:659 operator() ] waiting for work: 93.85%, waiting for locks: 0.04%, processing transactions: 5.61%, processing blocks: 0.44%, unknown: 0.06%
2025-02-23T15:41:59.689154 p2p_plugin.cpp:199 handle_block ] Got 29 transactions on block 93585741 by therealwolf -- Block Time Offset: -310 ms
2025-02-23T15:41:59.691063 block_flow_control.cpp:113 on_worker_done ] Block stats:{"num":93585741,"lib":93585740,"type":"p2p","id":"0594014d42e0e41930064502fc5bf83341b4e002","ts":"2025-02-23T15:42:00","bp":"therealwolf","txs":29,"size":5415,"offset":-310921,"before":{"inc":50,"ok":50,"auth":0,"rc":0},"after":{"exp":0,"fail":0,"appl":0,"post":0,"drop":0,"size":0},"exec":{"offset":-331295,"pre":432,"work":19942,"post":1936,"all":22310}}
2025-02-23T15:42:02.684282 p2p_plugin.cpp:199 handle_block ] Got 22 transactions on block 93585742 by arcange -- Block Time Offset: -315 ms
2025-02-23T15:42:02.686159 block_flow_control.cpp:113 on_worker_done ] Block stats:{"num":93585742,"lib":93585741,"type":"p2p","id":"0594014ede2112d623b346a891b1981cc36c3aa2","ts":"2025-02-23T15:42:03","bp":"arcange","txs":22,"size":10275,"offset":-315814,"before":{"inc":42,"ok":42,"auth":0,"rc":0},"after":{"exp":0,"fail":0,"appl":0,"post":0,"drop":0,"size":0},"exec":{"offset":-329110,"pre":932,"work":12364,"post":1910,"all":15206}}
2025-02-23T15:42:05.704456 p2p_plugin.cpp:199 handle_block ] Got 50 transactions on block 93585743 by yabapmatt -- Block Time Offset: -295 ms
2025-02-23T15:42:05.782216 block_flow_control.cpp:113 on_worker_done ] Block stats:{"num":93585743,"lib":93585742,"type":"p2p","id":"0594014f853ea547eaf59e23e1678918abbd30ce","ts":"2025-02-23T15:42:06","bp":"yabapmatt","txs":50,"size":13671,"offset":-295585,"before":{"inc":69,"ok":69,"auth":0,"rc":0},"after":{"exp":0,"fail":0,"appl":0,"post":0,"drop":0,"size":0},"exec":{"offset":-309258,"pre":202,"work":13471,"post":77743,"all":91416}}
Power consumption

Look at the chart - this is actually incredible. You can run fully featured computer with Hive software node under 5 W on average! It's even closed to 4 W. Think about it. Other blockchains consume many times more power! Not to mention those using PoW.
You can spread the word and let other people know how awesome Hive is!
Support me with your witness vote! Click on the image below: