Cardano-node: [BUG] - the pool was retired but this shouldn't have happened

Created on 20 Sep 2020  路  6Comments  路  Source: input-output-hk/cardano-node

During the blockchain analysis (with db-sync and ledger state), I found some anomalies: the pool 00beef093364aeb927bd422c74bae9b1ce7aae4e73057cf8027cc79f was retired but this shouldn't have happened

  1. This pool was registered in the epoch 210 (2020-08-09 03:49:11, transaction ID 8b0d76b8b01bf9530eb7a1222ced2e243da07ae392fffb2c0d699b99f75de912)
  2. After that a retire certificate was sent (2020-08-09 04:58:51, transaction ID 55e5f20d2e911f2f419d62d452e928b60c637766510d61908c1e6e203717047b, the retire epoch was specified as 211)
  3. After that (still in the epoch 210, 2020-08-11 11:18:51, transaction ID 25f3a9217c15ef7150f4e8f1c399f19286ef2d3a5785ca00ee1ddab1353d7aad) a new registration certificate was sent again, with the same pool_id, reward_addr, etc
  4. No more retire certificates were sent

According to the documentation this new registration certificate should have overrule the deregistration certificate. But for some unknown reason this did not happen, and the pool was retired on the end of the 210 epoch, the deposit 500A was returned to the reward address.

P.S. since the registration/retire history was taken from db-sync, it is possible that this is not the node problem, but db-sync problem

bug

All 6 comments

since the registration/retire history was taken from db-sync, it is possible that this is not the node problem, but db-sync problem

the deposit return suggests cardano-db-sync is working as expected. @erikd can confirm

the deposit return suggests cardano-db-sync is working as expected. @erikd can confirm

I meant, the db-sync may not contain a data, for example, about another one retire certificate, or something like this... I'm not sure, It's just a guess

2 more abnormal pools

The first one 6be95b4a93d8a6f66f102453924e9acdf309bef2ef67cc772154fc01 has the same problem like previous

  1. The retire certificate was sent in the epoch 216 (2020-09-09 08:58:44, transaction ID b718538a09cd49b937c53b089b1a3bfd9d88b52ba8f3ccdc1ebb155f7d7729e0, the retire epoch was specified as 217)
  2. After that (still in the epoch 216, 2020-09-09 22:42:35, transaction ID de55c6578b73b5f75bd6ad7278b09beb423f03c3ba50e085caa4b0d861046da9) a new registration certificate was sent again, with the same pool_id, reward_addr, etc
  3. The pool was retired on the end of the 216 epoch, the deposit 500A was returned to the reward address

And something else happened to the second pool 6dbbf0718c4eae698d5033a16ea8b3f1c9334dbffb620eb4ee2ef125:

  1. The retire certificate was sent in the epoch 209 (2020-08-05 11:32:11, transaction ID 6adf35f420843c0ffdbea1175ecfcfa364f34039c4f159fbd602d963d68e776f, the retire epoch was specified as 220)
  2. The pool was retired on the end of the 216 epoch, the deposit 500A was returned to the reward address

00beef :)

After that (still in the epoch 210, 2020-08-11 11:18:51, transaction ID 25f3a9217c15ef7150f4e8f1c399f19286ef2d3a5785ca00ee1ddab1353d7aad) a new registration certificate was sent again, with the same pool_id, reward_addr, etc

It looks to me like this pool re-registration certificate successfully removed the pool from its upcoming retirement.

I have a ledger state dump (from the cardano-cli) with timestamp 2020-08-11 23:35:40 EDT, which is 2020-08-12 03:35:40 UTC, that shows that 00beef has been removed from the list of retiring pools. I can also see from this dump that the pool re-registered this epoch, since it shows up in the future pool parameters mapping _fPParams.

No more retire certificates were sent

It looks to me like there actually was another retirement certificate sent before the end of the epoch.

I have a ledger state dump with timestamp 2020-08-12 08:27:24 EDT, which is 2020-08-12 12:27:24 UTC, that shows that 00beef has been staged for retirement in epoch 211. So sometime in that ~9 hour window it appears to have been set for retirement again.

Yes, sorry to bother, and thanks for help. As I suggested at the beginning, this is db-sync problem (database does not contain info about 2-nd retire cert), not the node problem https://github.com/input-output-hk/cardano-db-sync/issues/306

Not a bother at all! I was happy help narrow down the problem. Thank you for writing such a detailed, easy to follow issue!

Was this page helpful?
0 / 5 - 0 ratings