Skip to main content

Base58 | Bitcoin Glossary | Mapping Bitcoin

Base58

Protocolo

Also known as: Base58Check

Codificación de Bitcoin con 58 caracteres alfanuméricos que omite caracteres confusos (0, O, I, l) para reducir errores al copiar direcciones manualmente.

Descripción general

Base58 es un sistema de codificación que convierte datos binarios en una cadena compacta y legible por humanos usando 58 caracteres alfanuméricos. Fue diseñado por Satoshi Nakamoto específicamente para Bitcoin con el fin de minimizar la posibilidad de errores cuando los usuarios copian o transcriben manualmente direcciones y claves privadas.

Conjunto de caracteres

Base58 usa los siguientes caracteres, excluyendo deliberadamente aquellos que se confunden fácilmente:

Alfabeto Base64 estándar:
  A-Z  a-z  0-9  +  /

Base58 elimina estos caracteres ambiguos:
  0 (cero)      ← confundido con O
  O (mayúscula) ← confundido con 0
  I (mayúscula) ← confundido con l o 1
  l (minúscula) ← confundido con I o 1
  + y /         ← no son alfanuméricos

Alfabeto Base58 resultante:
  1 2 3 4 5 6 7 8 9
  A B C D E F G H J K L M N P Q R S T U V W X Y Z
  a b c d e f g h i j k m n o p q r s t u v w x y z

Base58Check

Base58Check extiende Base58 anteponiendo un byte de versión y agregando una suma de verificación de 4 bytes (los primeros 4 bytes de un hash SHA-256 doble del payload). Esta suma de verificación permite a las billeteras detectar errores tipográficos antes de enviar una transacción a una dirección inválida.

Transición a Bech32

Aunque Base58Check sirvió bien a Bitcoin durante años, ha sido en gran medida reemplazado por Bech32 para direcciones SegWit. Bech32 proporciona una detección de errores más robusta, no distingue entre mayúsculas y minúsculas, y produce códigos QR más pequeños. Sin embargo, Base58Check todavía se usa ampliamente para direcciones legacy y claves privadas codificadas en WIF.