¿Qué es el Checksum?

El Checksum es una sencilla función criptográfica que nos permite verificar y saber con exactitud si una dirección de Bitcoin está escrita de forma correcta. Una sencilla utilidad que nos permite identificar errores de tipeo o de otro tipos. Todo con el fin de evitar perder nuestros fondos por enviar nuestros bitcoins a una dirección que está mal formada.

La suma de verificación o CheckSum, es una sencilla función que se utiliza para detectar que una serie de datos o archivos no ha sido modificado. Una función muy útil para garantizar la integridad y la protección de la información cuando se pierde o se comparte con otros usuarios en la red.

Su funcionalidad está basada en un algoritmo sencillo de verificación que permite crear pequeños hash o cadenas de caracteres que luego pueden ser usados ​​para verificar antes o después de una transmisión de datos, la validez de los datos transmitidos. Dicho hash generalmente está ubicado en la parte final del archivo o cadena verificado. Y de esta forma, sirven como una firma que ayuda a verificar la integridad de la información.

Muy útil por ejemplo, cuando deseemos incluir una verificación automática que nos permita saber si lo que escribimos o los datos que nos han llegado realmente representan la información deseada.

En tal, el checksum en Bitcoin (y en otras criptomonedas) son ampliamente utilizados, y acá conoceremos más sobre esta pequeña pero potente función, y como nos ayuda a hacer de Bitcoin, un desarrollo mucho más seguro para todos.

Origen de los CheckSum

La aparición de las primeras funciones CheckSum datan de los trabajos iniciales de William Wesley Peterson, un científico computacional y matemático que dedicó varios años a la investigación, diseño e implementación de las primeras CheckSum del mundo. Más específicamente, Peterson diseño la primera función CheckSum o de suma de verificación, en el año de 1961, la conocida CRC (Verificación por redundancia cíclica), que luego daría vida a estándares industriales como CRC8 o CRC32C, entre otras derivadas de muy amplio uso .

Desde entonces, las funciones CheckSum o de suma de verificación han sido parte esencial de nuestras vidas. Desde un simple reproductor de CD, pasando por los televisores, el sistema de conversión digital-analógico y viceversa, las transmisiones de datos por cable (como el Ethernet de nuestros computadores) o por radio (como las que realizan nuestros celulares). En fin, la utilidad de las checksum es gigantesca y seguramente está presente en cosas que ni remotamente pensarías que la tienen aplicadas.

Por otro lado, William W. Peterson fue un grandioso desarrollador de tecnologías y mejora de lenguajes de programación, hasta su muerte el 6 de mayo de 2009. En su honor, las empresas Intel y AMD, agregaron a sus procesadores resistentes la función CRC32c. Está es la función checksum más ampliamente conocida de Peterson, y que todavía es ampliamente utilizada en la industria.

¿Cómo funciona CheckSum?

La función CheckSum fue creada a partir de la aplicación de un algoritmo sencillo. Este tiene como objetivo utilizar una serie de matemáticas y lógicas complejas para convertir una secuencia de datos en una cadena de números fijos conocidos como hash de suma de verificación.

Este pequeño hash se utiliza luego para verificar de forma muy rápida si una determinada información ha sufrido daños. Bien sea por almacenamiento (datos escritos o leídos de forma incorrecta) o por transmisión de los mismos (las redes de transmisión siempre tienen una pérdida relacionada con distintos factores). O inclusive si algun actor malicioso la ha modificado de forma premeditada.

Entonces, cómo esta función permite verificar la integridad de una información, se utiliza ampliamente al momento de compartir o almacenar datos en la red. Puesto que los datos, al estar acompañados de los valores hash generados a partir de ellos mismos mediante una función hash, adquieren algunas propiedades extras que les permiten ser verificados y validados a sí mismos cuando son compartidos o almacenados.

Por ejemplo, si un usuario desea compartir un archivo en la red con otro usuario, debe suministrar un valor hash del archivo de manera que este mismo valor pueda ser obtenido al momento de aplicar la función hash sobre ese archivo. Garantizando entonces que el archivo compartido sí llegó de forma correcta y sin alteraciones a su destinatario.

Así mismo, al momento de archivar y almacenar una información, ésta puede ser verificada posteriormente calculando y guardando el resultado del valor hash obtenido. Así, cuando se necesite hacer una comprobación, puede usar el valor hash guardado para saber si la información ha sido alterada o no, por cualquier motivo.

Casos de uso de la funcion

Suma de comprobación

Los casos de uso de las funciones CheckSum son muy variados. Como ya hemos mencionado son partes muy fundamentales en los aparatos electrónicos y de la informática en general. Pero con el fin de que pueda comprender con mayor claridad el alcance de las mismas veremos a continuación algunos casos de uso reales y muy cotidianos de estas funciones:

Tecnología GSM

La tecnología GSM que hace posible que podamos usar la mayoría de nuestros celulares en la actualidad hace un amplio uso de las funciones checksum en sus sistemas de transmisión digital de voz y datos. Recordemos que la información digital que se envía a la red celular va codificada, comprimida y modulada de tal forma que la misma puede llegar de un punto a otro en la red celular con la menor pérdida de información y calidad.

Pero al ser una red de datos del tipo inalámbrico existen diversos factores que alteran la calidad de la información enviada. Cualquier tipo de interferencia puede causar pérdidas de información y con ello, perderemos calidad en los servicios. Para hacer frente a esta situación se utilizan las funciones checksum. Gracias a estas funciones la red puede verificar de forma rápida que la información enviada y esté recibida en perfectas condiciones, y de no estarlos, si se detecta un error, la mis red es capaz de tratar de corregirlo, la mayor parte del tiempo con éxito .

Así que si, gracias a las funciones checksum es que tienes llamadas de voz, mensajería y datos de alta calidad en nuestras redes celulares actuales.

cuentas bancarias

Otro uso muy común de las funciones de checksum es el de verificar que la información de una cuenta bancaria es correcta. Cada vez que vez un número de cuenta bancaria no solo ves un grupo de números que te identifican dentro de ese banco. Sino que también está un dato que les permite verificar que esos números que han entregado son los correctos.

Por ejemplo, en las cuentas bancarias del tipo IBAN, estos números de control o checksum son los primeros cuatro dígitos. Los primeros dos indican el país de origen de la cuenta, y los otros dos indican el número de control. Este número de control está relacionado con los últimos 10 números que identifican la cuenta bancaria. Y esto nos garantizan que, no nos equivocaremos al introducir un número de cuenta bancaria.

Direcciones de criptomonedas

A través de la función CheckSum o suma de verificación usted podrá comprobar rápida y fácilmente que la dirección que está utilizando es la correcta. O si por el contrario, está alterada de alguna manera. Evitando enviar de forma inconsciente sus criptomonedas a una dirección falsa, incorrecta o inexistente.

Aunque, en teoría, sería imposible enviar bitcoins a una dirección que no existe o que está escrita de forma incorrecta. Debido a que estas direcciones cuando son generadas incorporan un código de suma de control. Este dato representa el valor hash de la dirección y los datos de la suma conforman un esquema alfanumérico propio conocido como Base58Check.

Este guarda la suma de verificación de forma directa dentro de la dirección. Y con ello, si se introduce una dirección de forma incorrecta, las sumas de verificación de ambas direcciones no coinciden. De esta forma, el monedero impide realizar una transacción cuando las direcciones se introducen de forma incorrecta.

En Bitcoin la función hash SHA-256 se aplica dos veces para generar un hash de 32 bytes, donde los primeros 4 bytes (32 bits) son tomados como el checksum para detectar los errores de tipografía en las direcciones. Y, aunque a través de esta suma de verificación no se puedan obtener las claves asociadas a la dirección, si permite la verificación de dichas claves. Con lo que se logra evitar que se cometa un error al realizar una transacción.

Este sencillo procedimiento garantiza que no te equivocarás al introducir una dirección de Bitcoin. De hecho, la probabilidad de que te equivoques es de 1 en 4.294.967.295.

CriptoMundo

CriptoMundo.com es un medio digital independiente que difunde noticias y contenido sobre criptomonedas y tendencias emergentes de tecnologías financieras. Ofrece noticias, guías, artículos de opinión y gráficos en tiempo real.

Monedas

Bitcoin

Ethereum