¿Qué opciones son adecuadas para las direcciones de Ethereum con sumas de verificación?

Dado que las direcciones de Ethereum no tienen sumas de verificación , ¿deberían proliferar las direcciones ICAP (que sí tienen una suma de verificación)?

¿O hay otras opciones más adecuadas para la proliferación de direcciones de Ethereum con suma de verificación?

Por ejemplo, ¿sería más adecuada esta propuesta de mejora de Ethereum (EIP) o alguna otra (por ejemplo, una billetera HD )?

# code from EIP linked above
def checksum_encode(addr): # Takes a 20-byte binary address as input
    o = ''
    v = utils.big_endian_to_int(utils.sha3(addr))
    for i, c in enumerate(addr.encode('hex')):
        if c in '0123456789':
            o += c
        else:
            o += c.upper() if (v & (2**(255 - i))) else c.lower()
    return '0x'+o

Respuestas (1)

La idoneidad está sujeta a discusión, por lo que intentaré ceñirme a los hechos y al estado actual (rápido) de implementación.

En general, las direcciones ICAP que comienzan con XE... solían ser la forma deseada de implementar mecanismos de direcciones seguras. Actualmente, solo el cliente C++ y el cliente JavaScript ofrecen la implementación de ICAP. Se podría introducir una aceptación más amplia de los formatos de dirección ICAP y la compatibilidad del cliente en otros clientes después de la bifurcación de Homestead.

Geth, por ejemplo, planea un soporte ICAP rudimentario desde la versión 1.4.1 en adelante.

Más recientemente, la idea de Vitalik de la codificación de suma de comprobación hexadecimal se implementó de forma experimental en la API de JavaScript y en la billetera DApp de Ethereum .

Existe confusión sobre por qué tiene que haber otro estándar de suma de verificación de direcciones. Los críticos afirman que las direcciones hexadecimales codificadas con suma de comprobación no se reconocen de inmediato como distintas de las direcciones hexadecimales regulares y, por lo tanto, la capa adicional de seguridad solo aparece a nivel de software, no a nivel de usuario.

Por lo tanto, implementar y usar ICAP debería ser la opción más adecuada , ya que agrega más seguridad para los usuarios y actualmente es el formato de dirección habilitado para suma de verificación más distribuido, aunque no todos los clientes lo admiten. Aún.