(IMPORTANT) THStakePool’s BAND protocol validator migration and slashing penalty

Tanwa Arpornthip
Sabai Finance
Published in
4 min readAug 7, 2020

(บทความภาษาไทย https://bit.ly/2F2Yonr)

IMPORTANT: You will stop receiving staking rewards from us until you redelegate your tokens to our new validator. YOU SHOULD REDELEGATE your tokens.

Please accept our sincere apologies. All delegators affected by the slash will be reimbursed.

THStakePool’s validator has been jailed for double-signing a block. There is a 5% penalty (slashing) on all delegators staking their BAND tokens with us.

What happened?

Early yesterday (7 August 2020), our cloud service provider informed us of an unexpected maintenance, which should have taken four hours to complete. Our team had been looking to move our BAND validator node to a new service provider with more redundancy for a long time. The unexpected maintenance seemed like an excellent opportunity to do so. The new service provider has been tested on the testnet, and we deemed it to be more stable and secure. We decided to perform node migration. However, during the process, the old service provider came back online unexpectedly briefly. The unexpected event should not have happened, but it did. THStakePool appeared to have run two nodes at the same time and double signed a block. As a result, our validator node is being “jailed” by the BAND mainnet per its protocol.

How does it affect you, THStakePool’s delegators, and your BAND tokens?

If you have staked BAND with THStakePool’s node, your BAND token is “slashed” by 5% as a penalty for our mistake in double signing the block. For example, if before the slash, you have 100 BAND staked with us, after the slash, you would lose 5 BAND and only have 95 BAND left in your wallet. This results in a reduction of your assets.

If you also have staked BAND with other nodes, that amount is unaffected.

If you have unbonded some BAND from a node, ours or others, that amount is unaffected. The remaining unbonding duration is unaffected.

What steps should you, a delegator, take?

IMPORTANT: You will stop receiving staking rewards from us until you redelegate your tokens to our new validator. YOU SHOULD REDELEGATE your tokens.

  1. The old, inactive, and jailed validator node has been renamed to “DO NOT DELEGATE | THStakePool” to indicate that this should no longer be used. Your stake in this validator will no longer receive any rewards.
  2. For an uninterrupted staking service, we have registered a new validator at address bandvaloper1vnsqgwu7jxd49u99etdzt028kkgwvuvz5x6lty. You can find our new validator displayed as “THStakePool” in your wallet.
  3. You should redelegate your BAND tokens to our new validator to continue receiving staking rewards.

What steps has THStakePool taken to address the issue?

Please accept our sincere apologies. All delegators affected by the slash will be reimbursed.

  1. We have compiled a list of the addresses affected by the slash. You can find a full list of addresses below. The snapshot of the addresses and the amount of BAND after the slash were taken at Block #B2195125.

2. We will reimburse all addresses according to the following calculation.

where BANDslashed is the amount of BAND tokens left in a wallet after the slash. For example, if there are 95 tokens left in a wallet after the slash, you will be reimbursed 95*(1/0.95–1) = 5.00 BAND. The reimbursed amount is rounded to two decimal points. Reimbursements will only be done in BAND tokens.

3. All reimbursements will be sent directly to the addresses shown in step#1 by 13 August 2020 00:00 UTC or 13 August 2020 07:00 Bangkok time.

4. The effect of the reimbursement is to bring all of our customers’ accounts back to the same BAND balance before the slash occurred. Please note that you still have to redelegate your tokens to our new validator to continue to receive staking rewards. Once you have redelegated, you will start earning rewards immediately.

How is THStakePool preventing similar problems in the future?

The problem was caused because our node migration script for BAND protocol was initially designed to handle only node monitoring within the same service provider. Because the major migration we were trying to do involves more than one provider, our migration script failed to detect the server on our old service provider coming back up online unexpectedly. We have redesigned our migration script to support multiple service providers monitoring. The new script provides us with the confidence to register a new validator, as mentioned earlier.

Still have more questions?

We understand that all this can be confusing. If you have more questions regarding anything, please feel free to contact us through our channels:

Facebook: https://fb.me/THStakePool
Telegram: https://t.me/THStakePool
Line: https://line.me/ti/g2/EeVublmkfMLvf4--i7oVMA

Again, please accept our sincere apologies. We know this is an unfortunate event, and we are trying to make it right by providing reimbursements to our customers. We do hope you will continue to provide your support by redelegating your tokens to our new validator. We are still committed to building a staking service that helps secure blockchains going forward.

--

--