RankSlicing: A decentralized protocol for supernode selection