Note: is this too wordy? I think I got carried away a bit @admin please advise if I need to cut this down
I am Kiriakos and I run the Spectrum Pool
I’m a nerd that started programming in the 90s and never really stopped.
I also like to talk and organize meetups and hackathons and in the last years have increasingly been interested in supporting diversity and equal opportunity in society and specifically the tech sector.
I have been on and of with Blockchain for the past ten years. The key aspect that intrigued me back then and still drives me is the idea of participatory networks, systems where you don’t need authorization of the current players to join. POW ideology turned me off blockchain but discovering Cardano and Ouroboros in late 2017 made me understand: I want to become a key part of the financial backbone of the future!
So let me introduce you to:
The Spectrum Pool [SPEC]
71k ADA (subject to increase)
Core Nodes: Germany Hamburg / Greece Kavala
Relays: Ireland Dublin, USA San Francisco, Singapore
(Note: I am in the process of scouting additional locations to set up relays, probably South/Central Africa, South America and North-East Asia if you have ideas about what locations/providers would be interesting let’s chat! contact links above )
Core Nodes (Block Producers)
Main node: Ryzen 5 (6 Core 12 Threads), 32GB Ram, 1Gb/s Downstream, 100Mb/s Upstream
Fail-over 1: Intel i5 (2 Core 4 Threads), 8GB Ram, 1Gb/s Downstream, 100Mb/s Upstream
Fail-over 2: Intel i5 (2 Core 4 Threads), 8GB Ram, 50Mb/s Downstream, 16Mb/s upstream
CNWR-1: [Linode] AMD EPYC 4 Core 8GB Ram, 40Gb/s* Downstream, 5Gb/s* Upstream
CNWR-2: [Digital Ocean] Intel Xeon Gold 6140 4Core 8Gb RAM, 2Gb/s symmetrical (empirically measured)
CNWR-3: [AWS] AMD EPYC 2 Core (4 Threads), 8GB Ram, 5Gb/s symmetrical
Developer Machine: Ryzen 5 (6 Core 12 Threads), 32GB Ram, 1Gb/s Downstream, 100Mb/s Upstream
CI Server: Rock 64, 4 Core, 4GB Ram, 1Gb/s Downstream, 100Mb/s Upstream
Docker registry: Rock 64, 4 Core, 4GB Ram, 1Gb/s Downstream, 100Mb/s Upstream
VPN Server: [AWS] AMD EPYC 2 Core (4 Threads), 16GB Ram, 8Gb/s symmetrical
VPN Keyserver: Raspberry pi 3+, 4 Core, 4GB Ram, 1Gb/s Downstream, 100Mb/s Upstream (rotates keys in 3 to 7 day intervals, also does SSL and DNS zone dissemination for the whole kindstudios.gr domains)
Website: same as VPN server
Key Management: Kingston Secure key + Raspberry Pi 3, airgapped!
.* Linode network speeds are theoretical maximums, suffice it to say, the linode relays have more than enough bandwitdh
I am a programmer by profession. Currently I am serving as Head of Software engineering at a Technology unit of PwC. I’ve got more than 20 Years of experience creating software, more than 10 of which I have participated in creating and operating world spanning solutions.
After work I am a programmer too! There are more than 20 SBCs running at home right now and a couple of servers and my AWS server bill wasn’t low either all those years.
The upside to that is that I already operate everything I needed to get this pool running! Having that much hardware running and so many services (I run my own web stack, from Authoritative DNS, multiple VPNs, ACME setups, to mail and web presences to developer labs with Kubernetes, Gitlab CI/CD, etc. all self spun, none out of the box) teaches one to invest heavily in reproducibility and automation.
This allowed me to have all the knowledge and infrastructure templates needed to create a robust and safe Cardano Stake Pool. You need to not here that for most part I did not re-use existing services but i created ex a dedicated CI server for the cardano node builds and for updating relays and core nodes.
Why should users check out your pool?
Only by diversifying the pool’s technology can you really have a robust solution.
By using a different ISP for each node (AWS, Linode, DO) I can guarantee that systemic problems with the ISPs won’t take SPEC down.
By using two different OSes for the hosts (Debian and Archlinux) and running
cardano node on two different, self build images (Debian and NixOs) I can increase the robustness against unforeseen software problems. A pool only relying on Ubuntu as a base OS could be defeated by exploiting a single zero day, for SPEC this would only mean shutting down some of the nodes until a fix is in place.
By running software updates in an automated, staggered and time-delayed way I can ensure that no one update will kill the pool
I have committed to two things when getting started and I will hold to these!
Only ever run one pool!
I firmly believe that this network can only be successful if and only if enough independent pool operators validate the network. Economies of scale and financial incentives (operator greed) can incentivize creating sibling pools (1pct2, 1pct3, etc). This weakens the network since in effect this is a sibyl attack. There are two ways to circumvent this. One is, delegators not choosing stake with thos SPOs. The other one is SPOs to not create sibling pools in the first place. As noted above, I want to part of the financial backbone of the future, which I think Cardano will be. But I want to do this in the correct way!
SPEC will always support charity!
This is very important to me, I don’t want to get rich via operating this pool*. So SPEC will always donate a substantial amount of its profits to charity as long as pool operations don’t suffer from that. I already started yesterday even though the pool hasn’t turned a profit yet. I did this to make a statement. Put my ADA where my mouth is! Until
d=0.5, SPEC will donate all its own proceeds(the 350+2%ADA) to the Pencils of Promise charity that supports providing education to children in developing countries. Keep in mind that this does not affect Stakeholder bottom line, ROS is still excellent with only 2% Pool fee.
.* I’m pretty sure that ADA appreciation on its own will put me in a good position at some point. So currently it is more altruism and the inherent interest to make Cardano a successful, civilization defining project that drive me.
Future Community Plans
I am still ironing out a lot of the software that I have written to manage this pool. In the future I want to create Blog Posts and Github repositories (and participate in existing ones) that share the tools I created so that it gets easier for people to become SPOs and run pools in a robust way. Currently I am planing a lot of work on quality gates for checking that Node builds operate correctly and better than the previous one to aid in automated deployment. I plan to make a Blog Post about that in the next weeks.
The Spectrum Pool will also be a platform on which I want to start running additional Goguen Era services like Oracle Pools for example. I am very much looking forward to participate in the Cardano Computation Layer, not only by creating dApps but by actually providing computation resources. The computation layer services will probably be coupled with the Stake Pool infrastructure in some way and so may even start providing a better returns to Delegators in the future? Not sure at the moment, but from what I have read it looks like that. I’m very happy to discuss with like minded people
Okay, that’s it. So to get all that of the ground I will need some delegation, I keep stockpiling ADA but alone I won’t make it! Support me?
I’m looking forward for feedback and comments or discussion on Twitter and Telegram