GIP-Draft: Should Gnosis DAO fund the continuation of the validator Monitoring Telegram bot?
- In Favour
- Against
GIP: <to be assigned>
title: Should Gnosis DAO fund the continuation of the validator Monitoring Telegram bot?
author: Nicolás Domínguez (nicolas@bootnode.dev), Manuel García (manu@bootnode.dev)
status: Draft
type: Funding
created: 2024-04-13
duration: 12 months
funding: 50,000 USDC + 250 GNO (exclusively dedicated to running validators for at least 1 year).
TL;DR
This is a proposal by bootnode.dev to continue the conversation about the Gnosis Chain validator monitoring bot that we developed earlier this year.
Introduction
The Telegram bot functions as a monitoring tool, notifying users of any issues and providing continuous updates on validators’ performance.
Featuring
- Setup: requires just withdrawal addresses, and retrieves all their validators.
- Dashboard: gives all important info in a small message automatically updated in real-time.
- Stats Updates
- Automated Notifications: for performance < 90%, status change (active/inactive), slashing
- Subsidized Claim
Link to set up the bot: Telegram: Contact @gbc_validators_bot
We have shipped the first version. KPIs (as of April 9, 2024):
- Users: 67
- Total registered validators: 56056 (~ 30% of the total Gnosis Chain 199512 active validators)
- Validators under active monitoring: 6038 (we can only monitor 200 validators per user due to resource constraints)
- Claimed Rewards: 100+ subsidized claims through our bot using a very convenient ‘/claim’ Telegram command (https://gnosisscan.io/txs?a=0x9683693f8164b4f8c6d804e690ac2c26f8fe56ed)
We are seeking funding to invest in building improvements. Additionally, we are applying for retroactive funding as significant work and infrastructure resources have already been invested in the solution that benefited the Gnosis community.
Motivation
We were not quite satisfied with the existing validator monitoring solutions for the following reasons.
- Gnosischa.in Free plan only allows monitoring up to 100 validators per account.
- Gnosischa.in Max paid plan (21 euro) allows monitoring up to 280 validators per account, and we (along with other community members) have more.
- Existing onboarding experience, including registering validators and configuring monitoring, was too complex and may deter less sophisticated users from trying.
- We wanted a simple dashboard with the most essential parameters, relevant notifications, and a simple way to claim rewards.
- We wanted to receive notifications per set of validators instead of individual validator identifiers.
- We didn’t want to use a native app or email. We wanted to start with a straightforward Telegram bot.
- We wished we had this for us, so we built the existing Prototype.
- We want to Open Source it.
Current monitoring tools
beaconcha.in is an excellent tool that works well for monitoring validators on the Ethereum chain. However, for Gnosis Chain, this tool is less optimal than for Ethereum. For instance, missing one attestation in Gnosis Chain, where blocks occur much faster than in Ethereum, may be less critical. We notify the operator if the validator only misses 4 or 5 attestations in a row (a feature validated with our beta testers). Another example is the absence of a method to load all validators from a withdrawal key. This limitation arises because, generally, users only have a few validators on Ethereum, which is NOT the case for Gnosis Chain.
Lastly, the most significant issue that Gnosis Chain validators face is the price of monitoring tools such as gnosischa.in service. For validating more than 100 validators, up to 280, the price is 21€ per month. This pricing structure appears unreasonable as it costs approximately 4% to 10% of a validator’s revenue to monitor 100 to 280 validators at USD300/GNO. Not even considering the operational expenses (infra, devops, bandwidth, etc).
Our solution
A Telegram bot that functions as a monitoring tool, notifying the user of any issue and providing continuous updates on the performance of their validators.
Here is the X Post announcing its beta access launch.
We have been testing the bot over the past month, and it has performed way better than expected. The bot currently utilizes the beaconcha.in API. It periodically polls requests for all validators added by users and delivers relevant statistics.
You can already test the bot: Telegram: Contact @gbc_validators_bot. The following is a screenshot of the stats provided by the bot a few days ago.
Features
Users/Operators will:
- Connect the Telegram bot and execute the command /load_validators followed by a withdrawal address. This command can be invoked multiple times if the user has more than one withdrawal address.
- Receive notifications when a validator misses several attestations in a row, or their overall performance falls below 90%.
- Get updates on validator status changes such as being down, up, slashed, or exited.
- Convenient Dashboard that showcases Total balance, Rewards stats: 1d, 7d, and 31d, Claimable rewards, as shown above.
- Claim rewards directly from TG (subsidized).
Roadmap
After testing the bot with real validators, we received valuable feedback from the support channel Telegram: Contact @GBC_validators_bot_support. Consequently, we plan to add and improve features and increase infrastructure resources to open the bot for all Gnosis Chain validators (~200k).
For this reason, we have devised a plan to make this bot free and accessible to everyone. Below is the Roadmap for how we will make it happen:
-
Milestone 0: Already delivered
- The bot has already been deployed and is open for anyone to join. The only temporary limitation is the number of validators that can be loaded per Telegram account (200).
-
Milestone 1: In-progress
- The bot has been running in a testing phase for the last two months. During this time, we have collected the following feedback from different users that we plan to address:
- Reduce alerting frequency when something goes wrong with a validator.
- Enable tracking of xDai rewards.
- Calculate effective APY.
- Improve performance.
- Improve UX for interactions such as loading validators, creating a command to check if new validators have been added for an account, specifying AM or PM for some dates, and others.
- Open Source it.
Timeline: 1 month.
- The bot has been running in a testing phase for the last two months. During this time, we have collected the following feedback from different users that we plan to address:
-
Milestone 2: not-started
- API adjustments: We will adjust the number of validators users can track while avoiding exceeding the monthly request quota.
- Validators onboarding: Step-by-step instructions, documentation, generate a bot ”brand” identity including website with basic information about the bot’s purpose and how to interact with it.
- Notifications (under evaluation): allow the community manager (e.g.: https://twitter.com/0xarmagan) to push notifications through the bot, like important upcoming node upgrades, links to the weekly report, etc.
- Historical rewards per month. We can save them to the DB to facilitate tax returns.
- Make the source code open source.
Timeline: 1 month.
-
Milestone 3: not-started
Our current API provider might not be the best solution due to its cost and restrictions, preventing us from scaling and minimizing the cost of monitoring/validator. We are exploring different options to offer an unrestricted service to all Gnosis validators and to provide real-time notifications. We’ve discussed this with community members like @dapplion, who recommended looking into the Dora project (a simplified version of a fork of beaconcha.in). After a thorough review, we found Dora to be a good starting point but only partially suited to our needs. To gather all the information our bot needs, we’re considering adding specific features from the beaconcha.in codebase. Other ideas involve hosting gnosischa.in Open Source stack in our infrastructure or finding an infrastructure partner (eg, those running RPCs/Nodes for Gnosis Chain). This topic requires more research.
The result of this research will be our team’s analysis, outlining each strategy’s advantages and disadvantages. We plan to develop a proposal for the DAO aimed at securing a long-term commitment that will enable us to keep the bot open and unlimited for the entire Gnosis chain validators community.Timeline: 1 month.
Note:
We are aware that Pectra is optimistically aiming to arrive at the end of the year. EIP-7251 will allow stakers to consolidate way more than 1 GNO into each index, up to 64 GNO. It will allow small stakers to reduce costs and make the network participation rates higher and more stable. We will have a better assessment much earlier than that on what the best solution would be from our point of view.
Benefits for the community/DAO
- Reduces monitoring costs for all Gnosis Chain validators, increasing performance and profitability.
- Simplifies validator monitoring setup, improving operator satisfaction.
- Built by an active validator, hence providing the most relevant features, stats, and user experience.
- It will be continuously supported by BootNode going forward.
- It is a fundamental tool for anyone running validators, and it is free to use. One of the goals of the Gnosis Chain is to be as decentralized as possible, and that won’t be possible without the appropriate tooling and low expenses.
Funding
-
Retroactive
- Prototype Research and Development: a team has dedicated several weeks to perform the required R&D to spec out and build the initial version.
- The initial version has already been used by 67 operators, even though there is a cap of 200 validators per account, which proves its relevance and need.
- Official Node Management documentation was updated to include bot setup instructions (Monitoring Validators | Gnosis Chain)
- Infrastructure (USDC 1288.72):
- Digital Ocean Services.
- Beaconcha.in API (Diamond Plan: 399 euros/month. 3 months so far): 1288.72 USDC (1,197 EURe swap to USDC - CoW Swap | The smartest way to trade cryptocurrencies)
-
Future Development
- Detailed in milestones 1 to 3.
-
Operation and Maintenance: 6 months, including the following costs and tasks:
- Gnosis Beacon Chain API plan.
- Infrastructure costs, monitoring, and operation.
- Support to validators by our team in the bot Support Telegram channel.
- Bug fixing, development, and maintenance.
- Pull Requests review and merge pipeline.
Funds requested:
- USDC: 50,000 that already includes retroactive funding for the delivered prototype
- GNO: 250 (exclusively dedicated to running validators for at least 1 year).
Progress status
- Monthly progress reports in the forum.
- Participation in the community calls.
- Frequent posts in X.
Gnosis Snapshot
Phase 2 Proposals: Please ignore this section, and leave as is. It is used for Phase 3 proposals.
Phase 3 Proposals: Add a link to the corresponding Gnosis Snapshot poll you’ve created.