Skip to content

Emergency stop for apps #151

Description

@izqui

Option 1

Allow app developers to selfdestruct an app contract (the deployed library that proxies rely on). This would force all organizations using the app to upgrade (kernel.setAppCode(...)) to a new version (with the vulnerability fixed) to keep on using it.

Reference @3esmit 3esmit/Hive-Democracy@2d5641b

Problem: organizations might remove the ability to update apps in order to guarantee immutability. In that case a destructed app could be fatal, because selfdestructing a contract is irreversible.

Something to keep in mind is that an app developer can unilaterally implement this option in their app.

Option 2

Implement a list at the network level of contracts that have been emergency stopped. In order to add a contract to the list, a significant amount of tokens are staked to immediately pause the contract for the entire network. A period would follow in which more stakeholders would decide whether it was a real threat (and reward the submitter) or if it was just a spam attack (slashing the deposit and removing the contract from the stopped contracts list).

Problem: would require to extend the Kernel so it could fail before returning an stopped app address.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions