18/5/2017

Serie de Dialogic sobre Blockchain #1

Quizás no lo esperes, pero el componente fundamental de un blockchain se parece mucho a algo que todos tenemos: una huella dactilar. Las huellas dactilares digitales garantizan que ninguna parte pueda tomar el control de un blockchain. Pero, ¿cómo funciona exactamente? Es hora de hacer un poco de matemáticas...

Este texto ha sido traducido automáticamente y por lo tanto puede diferir del original. No se pueden derivar derechos de esta traducción.

💬 Click here to read this page in English.

Cómo funciona un blockchain? Parte 1: huella digital

Una huella digital es única. Si tienes la huella digital de una persona, puedes verificar fácilmente si esta pertenece a esa persona en particular. Sin embargo, si solo tienes una huella digital (sin una lista previamente recopilada de huellas dactilares), es prácticamente imposible encontrar a la persona a la que pertenece sin revisar las huellas digitales de todas las personas. Matemáticamente, también puedes determinar la huella digital de un trozo de información.

Hash

Esta huella digital digital, también conocida como hash, es la base de un blockchain. Para comprender por qué las huellas digitales son tan importantes, primero es importante entender cómo funcionan.

Cualquiera puede determinar la huella digital de un trozo de información calculando una suma matemática (complicada). No importa cuánto tiempo sea la información (¡al igual que las huellas digitales de las personas no dependen específicamente de su longitud!). Si tienes la información y la huella digital, puedes verificar fácilmente si coinciden.

En Bitcoin, un blockchain para transacciones financieras, se utiliza el llamado método de hash ‘SHA-256’. Puedes calcular tú mismo la huella digital SHA-256 de un trozo de texto, por ejemplo, aquí. La huella digital del texto "Tommy" es, por ejemplo:

5bee7cef227fe327178bd04bb7cc75ba9a36f1b8867ba1025430761a226539e9.

Ahora vamos a cambiar la letra mayúscula por una letra minúscula: ¿cuál es la huella digital de "tommy"?

044f4b3501cd8e8131d40c057893f4fdff66bf4032ecae159e0c892a28cf6c8e

A pesar de que solo una letra es diferente, ¡la huella digital es completamente diferente! No es ilógico: la huella digital tuya y de tu hermano o hermana, aunque se parezcan mucho, también será completamente diferente.

Si solo te diera la huella digital "044f4b.." de arriba, el único método para averiguar a qué texto corresponde sería revisar todos los posibles textos. Solo después de muchos intentos descubrirías que la huella digital corresponde al texto "Tommy". Por ello, los matemáticos llaman al método de la huella digital one-way: calcular la huella digital de la información es sencillo, pero encontrar la información a partir de una huella digital es casi imposible.

Prueba de trabajo

La aleatoriedad de los hashes permite utilizarlos para una aplicación interesante. Como viste antes, las letras y números en la huella digital son muy aleatorios. Matemáticamente, la probabilidad de que una huella digital de un determinado texto comience con un '0' es de 1 entre 16. Si te pido que busques un texto cuya huella digital comience con un '0', en promedio tendrás que intentarlo dieciséis veces (¡y si tienes mala suerte, más!). Si te pido una huella digital que comience con dos ceros, en promedio te costará 16 x 16 = 256 intentos; después de todo, si el primer número es un '0', solo hay una probabilidad de 1/16o de que el segundo número también sea cero.

El número de ceros con los que comienza un hash dice algo sobre la cantidad de textos que (en promedio) tuviste que intentar antes de llegar a este hash. Por lo tanto, un hash puede utilizarse como una especie de 'prueba de trabajo' (proof of work). Si me muestras un texto cuya huella digital comienza con dos ceros, sé que aproximadamente has calculado 256 veces una huella digital.

Volviendo al blockchain: ¿para qué sirven esas huellas digitales? En el blockchain, solo se aceptan nuevos bloques cuando demuestras que has realizado cierta cantidad de trabajo computacional. Esto evita que cualquiera añada bloques al azar: la potencia informática cuesta dinero y el cálculo en sí mismo lleva tiempo. Debido a que es muy costoso tener siempre más potencia informática que los otros participantes, ¡es prácticamente imposible asumir el control exclusivo de un blockchain!

Para comprender cómo algo funciona realmente, prefiero desmontarlo por completo y tratar de volver a montarlo por mí mismo.

¿Quieres saber más sobre este tema?

Tommy van der Vorst, partner

Conoce a Tommy

¿Solicitar una propuesta?

Si tienes una pregunta de investigación concreta o un encargo y deseas recibir una propuesta nuestra, puedes enviar tu pregunta por correo electrónico a tenderdesk@dialogic.nl. También puedes usar esta dirección para informarnos sobre (públicas) licitaciones. Responderemos en un plazo de cinco días laborables.

Más información