Change public_key from abstractproperty to abstractmethod