LogoLogo
SDKAPI
Next
Next
  • Learn
    • Introduction
      • Obol Collective
      • OBOL Incentives
      • Key Staking Concepts
      • Obol vs Other DV Implementations
      • Obol Splits
      • DV Launchpad
      • Frequently Asked Questions
    • Charon
      • Introduction to Charon
      • Distributed Key Generation
      • Cluster Configuration
      • Charon Networking
      • CLI Reference
    • Futher Reading
      • Ethereum and Its Relationship With DVT
      • Community Testing
      • Peer Score
      • Useful Links
  • Run a DV
    • Quickstart
      • Quickstart Overview
      • Create a DV Alone
      • Create a DV With a Group
      • Push Metrics to Obol Monitoring
    • Prepare to Run a DV
      • How and Where To Run DVs
      • Deployment Best Practices
      • Test a Cluster
    • Running a DV
      • Activate a DV
      • Update a DV
      • Monitoring Your Node
      • Claim Rewards
      • Exit a DV
    • Partner Integrations
      • Create an EigenLayer DV
      • Create a Lido CSM DV
      • DappNode
  • Advanced & Troubleshooting
    • Advanced Guides
      • Create a DV Using the SDK
      • Migrate an Existing Validator
      • Enable MEV
      • Combine DV Private Key Shares
      • Self-Host a Relay
      • Advanced Docker Configs
      • Beacon node authentication
    • Troubleshooting
      • Errors & Resolutions
      • Handling DKG Failure
      • Client Configuration
      • Test Commands
    • Security
      • Overview
      • Centralization Risks and Mitigation
      • Obol Bug Bounty Program
      • Smart Contract Audit
      • Software Development at Obol
      • Charon Threat Model
      • Contacts
  • Community & Governance
    • Governance
      • Collective Overview
      • The Token House
      • The RAF
        • RAF #1
      • Delegate Guide
      • Grants Program
        • How to create a proposal in Questbook?
        • Grant Track for Boosting Obol DV Adoption
        • Grant Track for Strengthening the Collective: Operators & Community Growth
        • Grant Track for Establishing OBOL Token’s Role in DeFi & Governance
    • The OBOL Token
      • Token Utility
      • Staking & stOBOL
      • Token Distribution & Liquidity
      • Token Holders FAQ
      • TGE FAQ
    • Community
      • Staking Mastery Program
      • Techne
    • Contribution & Feedback
      • Filing a Bug Report
      • Documentation Standards
      • Feedback
  • Walkthrough Guides
    • Walkthroughs
      • Walkthrough Guides
  • SDK
    • Intro
    • Enumerations
      • FORK_MAPPING
    • Classes
      • Client
    • Interfaces
      • ClusterDefinition
      • RewardsSplitPayload
    • Type-Aliases
      • BuilderRegistration
      • BuilderRegistrationMessage
      • ClusterCreator
      • ClusterLock
      • ClusterOperator
      • ClusterPayload
      • ClusterValidator
      • DepositData
      • DistributedValidator
      • ETH_ADDRESS
      • OperatorPayload
      • SplitRecipient
      • TotalSplitPayload
    • Functions
      • validateClusterLock
  • API
    • What is this API?
    • System
    • Metrics
    • Cluster Definition
    • Cluster Lock
    • State
    • DV Exit
    • Cluster Effectiveness
    • Terms And Conditions
    • Techne Credentials
    • Address
    • OWR Information
  • Specification
Powered by GitBook
On this page
  • Risk: Obol hosting the relay infrastructure
  • Risk: Obol being able to update Charon code
  • Risk: Obol hosting the DV Launchpad
  • Risk: Obol custodying pre-signed exit messages
  • Risk: Obol going bust/rogue

Was this helpful?

Edit on GitHub
  1. Advanced & Troubleshooting
  2. Security

Centralization Risks and Mitigation

Outlining potential centralization risks and their mitigations

PreviousOverviewNextObol Bug Bounty Program

Last updated 4 days ago

Was this helpful?

Risk: Obol hosting the relay infrastructure

Mitigation: Self-host a relay.

One of the risks associated with Obol hosting the infrastructure allowing peer discovery is that if Obol-hosted relays go down, peers won't be able to discover each other and perform the DKG. To mitigate this risk, external organizations and node operators can consider self-hosting a relay. This way, if Obol's relays go down, the clusters can still operate through other relays in the network. Ensure that all nodes in the cluster use the same relays, or they will not be able to find each other if they are connected to different relays.

The following non-Obol entities run relays that you can consider adding to your cluster (you can have more than one per cluster, see the --p2p-relays flag of ):

Entity
Relay URL

https://charon-relay.dsrvlabs.dev

https://obol-relay.infstones.com/

https://relay-2.prod-relay.721.land/

https://relay-1.obol.figment.io/

https://obol-relay.nodeguardians.io/

Risk: Obol being able to update Charon code

Mitigation: Pin specific docker versions or compile from source on a trusted commit.

Another risk associated with Obol is the Labs team having the ability to update the used by node operators within DV clusters, which could introduce vulnerabilities or malicious code. To mitigate this risk, operators can consider pinning specific versions or hashes of the Docker image or git repo commits that have been and accepted by the network. This would ensure that any updates are carefully vetted and reviewed by the community, and only introduced into a running cluster gradually. The labs team will strive to communicate the security or operational impact any Charon update entails, giving operators the chance to decide whether they want potential performance or quality of experience improvements, or whether they remain on a trusted version for longer.

Risk: Obol hosting the DV Launchpad

Mitigation: Use or locally and distribute the files manually.

Hosting the first Charon frontend, the , on a centralized server could create a single point of failure, as users would have to rely on Obol's server to access the protocol. This could limit the decentralization of the protocol and could make it vulnerable to attacks or downtime. Obol hosting the launchpad on a decentralized network, such as IPFS would be a first step but not enough. This is why the Charon code is source-available and contains a CLI interface to interact with the protocol locally.

To mitigate the risk of launchpad failure, consider using the create cluster or create dkg commands locally and distributing the key shares files manually.

Risk: Obol custodying pre-signed exit messages

Mitigation: Use withdrawal address initiated exits or validator client exits

Risk: Obol going bust/rogue

Mitigation: Use key recovery.

The final centralization risk associated with Obol is the possibility of the company going bankrupt or acting maliciously, which could lead to a loss of confidence in the Charon client. To mitigate this risk, Obol has implemented a key reconstitution mechanism. This would allow the clusters to continue operating and to (re)create full validator private keys suitable for standard staking setups even if Obol is no longer able or willing to provide support.

Before the Pectra hardfork, there was no way for a delegator to exit their validator without the co-operation of the node operator(s). In an effort to reduce this risk, Obol developed the command, which allows operators to pre-sign and download exit messages to give to the delegator for safe keeping, ensuring they could broadcast them at any point in time. This feature relies on Obol's , and means the Obol core team could in theory initiate an unwanted exit. If a delegator does not want to be exposed to that centralization risk, they should not use Charon's built-in exit commands, and instead should initiate exits using the exit contract, or alternatively by running normal exit commands on the operator's validator clients.

Guides to exiting validators using all three approaches are outlined .

A guide to recombine key shares into a single private key can be accessed .

LibP2P relays
charon run
Charon code
thoroughly tested
create cluster
create dkg
DV Launchpad
Charon exit
API
EIP7002
here
here
DSRV
Infstones
Hashquark
Figment
Node Guardians