Skip to content

Implement a consumer chain halt system #21

@tbruyelle

Description

@tbruyelle

Following #9, we want to halt a consumer chain if the consumer pool has not enought funds for a block. Before implementing this system, we need to design it, let's use this issue for that.

We have essentially 2 different ways to implement the consumer halt :

  1. the consumer chain panics like if it was waiting for an upgrade
  • pro: the cost for running this consumer chain becomes 0 or negligible
  • cons: might be more difficult to recover from that. Once the consumer maintainers have refunded the consumer pool, how to restart the chain since it is totally stopped ?
  1. the consumer chain still runs but does not accept transactions
  • pro: easy recover. Once the consumer maintainers have refunded the consumer pool, the provider chain can send an IBC message to the consumer saying it can accept transaction again.
  • cons: the consumer chain still produce blocks, so there is still a cost for the validators.

We could probably design a more nuanced system, essentially 2) followed by 1) after a timeout. I think this would be more acceptable, since option 1 is a bit too severe.

Please comment and share your point of view.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions