Blockchain-Technology-Lab / consensus-decentralization

Tool that analyzes blockchain decentralization on the consensus layer by looking at the block production distributions of various blockchain systems.
https://blockchain-technology-lab.github.io/consensus-decentralization
MIT License
25 stars 6 forks source link

Pool Clustering for Cardano is inaccurate due to methodology #135

Closed leo42 closed 9 months ago

leo42 commented 10 months ago

I find the the way clusters are identified will inevitably lead to inaccuracies since pools tickers are not unique and anyone can register a new pool with the ticker of an existing pool.

I strongly recommend moving to a system where pools in clusters are identified by their unique poolId, this can be in HEX.

I can assist in the migration if you like :)

LadyChristina commented 9 months ago

Hi @leo42, thanks a lot for raising this point. As I mentioned in #133, I agree with you that this is something we need to change. @dimkarakostas and I will talk about it and see how we can fit this task in our backlog, but in the meantime you are most welcome to propose specific changes yourself (I just changed my notifications settings, so I should be more responsive from now on!)

leo42 commented 9 months ago

Hello @LadyChristina.

Stake pools is Cardano have identifiers that can be used to more accurately group pool operations, there are 2 lists maintained inside the community : https://cexplorer.io/groups https://www.balanceanalytics.io/api/groupdata.json

As you can see Balance Analitycts offers free access but for Cexplorer you should request access and provide attribution to use their API.

Both lists are manually maintained and can be use as a start point or source of data for a new clustering process.

My Python is a bit rusty but it seems that if you craft new mappings "mapping_information/cardano_preprocessing" where all the files use the poolId as the primary identifier should be a good start