How blockchain makes self-sovereign identities possible