This RFC is a part of another one: https://hackmd.io/RdQ2afmrSJ-X4ru7hLe24w # Problem It turned out that one builder can submit eventually winning payload to multiple relays. Thus relays send their signed bids to mev-boost, where only one signed bids will be selected to be included to a chain. # Solution `Mev-m` recognizes and stores the highest bids from multiple relays and builders. `Mev-m` should store all data from Relays regarding blocks. Consider ongoing steps to solve the problem. - Implement changes from [Indexing relays separately - HackMD](https://hackmd.io/@rOVWtirgSgu6p7oJgzGwVg/HyDr35L-a) - Create a new table `relays`, and retrieve data from `relay-m` endpoint `/v1/relays`: - id - relay_pubkey - builder_pubkey - Create a new table for multiple relays in `mev-m` database `relay_payload_source` which contains the following fields: - relay_id - slot_number - signed_value - proposer_fee_recipient - deprecate fields `builder_key`, `relay_pubkey` in `slot_storage` table and use new ones from `relay_payload_source` table - Create a new service that will pull data regarding block, and will have below features: - pull data from `Relay-M` via `/v1/stats/:statId/:slotNumber` endpoint - store data into `payload_source` table - Create a new section in Grafana "MEV-Monitoring DB" dashboard that reflects the following metrics: - number of values for slot from various relays (X: slot_number, Y: number of values) - difference between actual slot's value and the rest values from each known relay