--- tags: game-of-chains --- # Software upgrade proposal for provider chain - New version: `goc-december` - Block height: 480681 - [From block height estimator](https://docs.google.com/spreadsheets/d/13HsQTevmnUycX2uihh32EcuY0u8I-EcvBLgLd8vs69w/edit#gid=1637021708) Description: ``` # goc-december upgrade This upgrade for the GoC provider chain will bring two new exciting features to Interchain Security that are very important for us to test. ### Key Assignment This is one of the most-requested features by validators. Key Assignment allows validators to use different keys on consumer chains than they use on the Cosmos Hub. By sending one transaction, a validator is able to indicate which public key they will be using to validate a consumer chain. Validators can use a different key for each consumer chain. We will introduce two new GoC tasks for this feature: - Assign a key on an existing consumer chain - Assign a key on a new consumer chain before it is started ### Slashing rate limiter This protects the Cosmos Hub against the worst-case scenario of a malicious consumer chain binary which slashes many validators as part of an attack. The rate limiter will stop an unusually large amount of validation power from being slashed and jailed at once. Most likely, this code will never actually be triggered, but it's good to have it in place. The security benefit that it brings also translates into an operational benefit- higher confidence in safety means less work needs to be expended by validators and core teams on auditing consumer chain upgrade proposals. We will test this code by launching a malicious `slasher` consumer chain which will try to slash all validators. Due to the rate limiting code, only a few validators at most will be slashed and jailed per hour. The validators who are jailed can then unjail themselves to prevent takeover of the chain. We will introduce two new GoC tasks for this feature: - Vote yes on the `slasher` consumer chain - Unjail yourself if and when you are slashed ## Upgrade details - The upgrade will occur at block height 480681 (this will be reached on Tuesday December 6, at approximately 15:00 UTC). - The new binary must be built with commit [b56fe257ec4c5647bdc105602b57273936b714eb](https://github.com/cosmos/gaia/commit/b56fe257ec4c5647bdc105602b57273936b714eb) from the `cosmos/gaia` repo, `glnro/ics-sdk45` branch. - No binaries are specified in this proposal: if you are using Cosmovisor, make sure the `DAEMON_ALLOW_DOWNLOAD_BINARIES` variable is set to `false`. - Visit the [provider chain information page](https://github.com/hyphacoop/ics-testnets/tree/main/game-of-chains-2022/provider#status) for more details. ``` Submit proposal command: ``` gaiad tx gov submit-proposal software-upgrade goc-december \ --title goc-december \ --deposit 1uprov \ --upgrade-height 480681 \ --description "# goc-december upgrade This upgrade for the GoC provider chain will bring two new exciting features to Interchain Security that are very important for us to test. ### Key Assignment This is one of the most-requested features by validators. Key Assignment allows validators to use different keys on consumer chains than they use on the Cosmos Hub. By sending one transaction, a validator is able to indicate which public key they will be using to validate a consumer chain. Validators can use a different key for each consumer chain. We will introduce two new GoC tasks for this feature: - Assign a key on an existing consumer chain - Assign a key on a new consumer chain before it is started ### Slashing rate limiter This protects the Cosmos Hub against the worst-case scenario of a malicious consumer chain binary which slashes many validators as part of an attack. The rate limiter will stop an unusually large amount of validation power from being slashed and jailed at once. Most likely, this code will never actually be triggered, but it's good to have it in place. The security benefit that it brings also translates into an operational benefit- higher confidence in safety means less work needs to be expended by validators and core teams on auditing consumer chain upgrade proposals. We will test this code by launching a malicious \`slasher\` consumer chain which will try to slash all validators. Due to the rate limiting code, only a few validators at most will be slashed and jailed per hour. The validators who are jailed can then unjail themselves to prevent takeover of the chain. We will introduce two new GoC tasks for this feature: - Vote yes on the \`slasher\` consumer chain - Unjail yourself if and when you are slashed ## Upgrade details - The upgrade will occur at block height 480681 (this will be reached on Tuesday December 6, at approximately 15:00 UTC). - The new binary must be built with commit [b56fe257ec4c5647bdc105602b57273936b714eb](https://github.com/cosmos/gaia/commit/b56fe257ec4c5647bdc105602b57273936b714eb) from the \`cosmos/gaia\` repo, \`glnro/ics-sdk45\` branch. - No binaries are specified in this proposal: if you are using Cosmovisor, make sure the \`DAEMON_ALLOW_DOWNLOAD_BINARIES\` variable is set to \`false\`. - Visit the [provider chain information page](https://github.com/hyphacoop/ics-testnets/tree/main/game-of-chains-2022/provider#status) for more details." \ --from coordinator \ --gas auto \ --chain-id provider \ -b block ``` Submit proposal command (theta test): ``` gaiad tx gov submit-proposal software-upgrade goc-december \ --title "Test: Upgrade the provider chain to goc-december" \ --deposit 1uatom \ --upgrade-height 14000000 \ --description "# goc-december upgrade This upgrade for the GoC provider chain will bring two new exciting features to Interchain Security that are very important for us to test. ## Key Assignment This is one of the most-requested features by validators. Key Assignment allows validators to use different keys on consumer chains than they use on the Cosmos Hub. By sending one transaction, a validator is able to indicate which public key they will be using to validate a consumer chain. Validators can use a different key for each consumer chain. We will introduce two new GoC tasks for this feature: - Assign a key on an existing consumer chain - Assign a key on a new consumer chain before it is started ## Slashing rate limiter This protects the Cosmos Hub against the worst-case scenario of a malicious consumer chain binary which slashes many validators as part of an attack. The rate limiter will stop an unusually large amount of validation power from being slashed and jailed at once. Most likely, this code will never actually be triggered, but it's good to have it in place. The security benefit that it brings also translates into an operational benefit- higher confidence in safety means less work needs to be expended by validators and core teams on auditing consumer chain upgrade proposals. We will test this code by launching a malicious \`slasher\` consumer chain which will try to slash all validators. Due to the rate limiting code, only a few validators at most will be slashed and jailed per hour. The validators who are jailed can then unjail themselves to prevent takeover of the chain. We will introduce two new GoC tasks for this feature: - Vote yes on the \`slasher\` consumer chain - Unjail yourself if and when you are slashed ## Upgrade details - The upgrade will occur at block height 480681 (this will be reached on Tuesday December 6, at approximately 15:00 UTC). - The new binary must be built with commit [b56fe257ec4c5647bdc105602b57273936b714eb](https://github.com/cosmos/gaia/commit/b56fe257ec4c5647bdc105602b57273936b714eb) from the \`cosmos/gaia\` repo, \`glnro/ics-sdk45\` branch. - No binaries are specified in this proposal: if you are using Cosmovisor, make sure the \`DAEMON_ALLOW_DOWNLOAD_BINARIES\` variable is set to \`false\`. - Visit the [provider chain information page](https://github.com/hyphacoop/ics-testnets/tree/main/game-of-chains-2022/provider#status) for more details." \ --from dante-customer \ --gas auto \ --fees 2000uatom \ --node http://sentry-01.theta-testnet.polypore.xyz:26657 \ --chain-id theta-testnet-001 \ -b block ```