docs: def begin(self):
          """
          This method will implement the handshake of the
          Bitcoin protocol. It will send the Version message,
          and block until it receives a VerAck.
          Once we receive the version, we'll send the verack,
          and begin downloading.
          """
          log.debug("handshake (version %s)" % PROTOCOL_VERSION)
          version = Version()
          version.services = 0    # can't send blocks
          log.debug("send Version")
          self.send_message(version)