<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def signature(self):
 """The 32-byte ECC tag signature programmed at chip production. The signature is provided as a string and can only be read. The signature attribute is always loaded from the tag when it is accessed, i.e. it is not cached. If communication with the tag fails for some reason the signature attribute is set to a 32-byte string of all zeros. """

        log.debug("read tag signature")
        try:
            return bytes(self.transceive(b"\x3C\x00"))
        except tt2.Type2TagCommandError:
            return 32 * b"\0"