Tecnología de la red Bitcoin

En este artículo vamos a explicar de una manera simple cómo funciona la red Bitcoin.

No pretendemos que te después de leerlo seas Master en tecnología Bitcoin. Pretendemos que conozcas conceptos básicos y a partir de ellos puedas entender la tecnología subyacente de Bitcoin además de otros proyectos del ecosistema. Podrás entenderlo porque muchos de estos conceptos son comunes a todos ellos. Debes tener en cuenta que todos los conceptos que vas a ver son aplicables en el entorno informático que es dónde se desarrolla la red.
Vamos a enumerar los conceptos básicos:

01 Función Hash

La verás representada así H(x) y es un algoritmo matemático que transforma cualquier bloque de datos arbitrario en una
nueva serie de caracteres con una longitud fija. Independientemente de la longitud de los datos de entrada. Esta función tiene tres características principales: toma cualquier serie de datos como input, devuelve un resultado siempre de la misma longitud (256 bits) y es eficientemente computable. La función hash que usa Bitcoin es una función específica y se llama SHA-256. El proceso gráfico de cómo funciona sería en siguiente:

Dentro de la Función Hash tenemos también que conocer qué es un puntero hash. Es básicamente dónde se almacena cierta información. Mientras, en informática, un puntero normal te da una forma de recuperar la información, un puntero hash nos va a permitir recuperar la información directamente. También el puntero hash nos permitirá verificar que la información no haya cambiado. Por lo que un puntero hash nos dice dónde está algo y nos informa de qué valor tenía. Para entenderlo gráficamente esta sería su representación:

La forma en que Bitcoin usa esto para esto es para crear una cadena de bloques con información que sea un registro inviolable. Esto quiere decir que si alguien a posteriori, añade alguna información al principio de la cadena, se detectará la variación en el registro. Si un participante quiere introducir información en mitad de la cadena, el puntero hash de esa nueva información no será identificado porque antes no estaba. Esto hará que se invalide todo el bloque anterior por lo que detectaremos la manipulación de los datos. Esto es lo que significa registro inviolable. Una cadena de bloques de información correcta se representaría así:

Al comienzo de cualquier cadena de bloques siempre habrá un bloque con características especiales al resto al que llamaremos “bloque génesis”. El bloque génesis de la cadena de Bitcoin fue creado el 3 de enero de 2009 por Satoshi Nakamoto y tiene un dato curioso. Contiene el titular del periódico ‘The Times’ del 3 de enero de 2009 como prueba sobre su fecha de creación.

02 Firma digital

Para firmar las transacciones en red y que puedan ser verificadas necesitamos que estén firmadas. Bitcoin utiliza firmas digitales para ello, como cualquier firma del mundo analógico, necesitan tener dos características. Primero, solo una persona puede crear su propia firma, pero cualquiera que la vea debería poder verificar que es válida. Y lo segundo la firma debe estar vinculada a un documento en particular para que nadie pueda cogerla, cortarla y pegarla en otro documento. Para construir esto en criptografía, es decir en la red Bitocoin, necesitamos una API para firmas digitales que realice tres cosas:
a.- Tiene que generar claves indicando qué tamaño en bits tendrá el número de letras resultante. Este proceso produce dos claves o keys, una secreta solo para nuestro uso, y una pública para que cualquiera pueda verificar la firma.

b.- Debe hacer la operación de firmar. Cogemos un mensaje que queremos firmar y tiene que devolver una firma o cadena de bits que representa la firma con nuestra clave secreta.

c.- Tiene que poder existir verificación de que esa firma es correcta utilizando la parte pública de la firma.

03 Descentralización

Se dice que Bitcoin es una red descentralizada principalmente porque es un red peer to peer (P2P) ya que cualquiera puede ejecutar un nodo de Bitcoin. Es decir, cualquiera puede participar de la validación de los bloques. La minería Bitcoin, está técnicamente abierta a cualquiera.
La principal diferencia con una red centralizada es que en ésta existe un único nodo central que conoce y controla la información contenida en las transacciones. Los participantes deberían ser admitidos por el organismo central: En una red descentralizada los participantes se rigen únicamente por el principio de adhesión.
Bitcoin además de ser una red descentralizada es una red distribuida. Con una característica principal que es la ausencia de cualquier tipo de centro.
Los nodos se unen uno a otro de tal forma que ninguno de ellos tiene poder de filtro sobre la información que se transmite en la red. Desaparece la idea de centro y periferia. Si cayera algún nodo, no desconectaría ningún otro, por lo tanto se convierte en una red práctica, robusta y eficiente.
Veamos gráficamente los tres tipos de red descritos:

04 Consenso distribuido (DLT)

Imagina un número n de nodos y cada uno de estos nodos está computando una o varias transacciones en la red. Un nodo individual tiene que “escuchar” todas esas transacciones y elegir una para validar. Finalmente entre todos los nodos tendrá que darse el consenso de la operación válida para ampliar la cadena de bloques por lo que se dice que ocurrirá “protocolo de consenso”. Todos los nodos correctos deberán decidir sobre el valor de consenso. Este valor consensuado no puede ser un valor arbitrario. Debería ser un valor que se propuso como entrada por al menos uno de estos nodos correctos. Dado que una variedad de nodos están transmitiendo transacciones a la red lo que todos quieren consensuar es exactamente qué transacciones fueron emitidas, y el orden en que ocurrieron estas transacciones. Para que este consenso sea eficiente ha de producirse bloque a bloque. Para que un bloque sea válido, todas las transacciones incluidas deben ser correctas. Si alguna transacción por alguna causa no llegó a un bloque, podría simplemente esperar y entrar en el siguiente bloque. Una vez validado se agregará a la cadena de bloques de consenso.
Un nodo escogido aleatoriamente se propondrá para continuar la cadena pero ese nodo también podría ser un nodo malicioso o un nodo defectuoso y proponer un bloque que contiene algunas transacciones no válidas. Si eso sucede, otros nodos señalarán su aceptación o rechazo del bloque, al incluir el hash de este último bloque en su siguiente bloque o ignorando este bloque e incluyendo el hash de lo que fue el bloque anterior que consideraron válido. Para evitar que se extiendan transacciones fraudulentas existe una política de nodos honestos que siempre siguen la rama válida más larga. Además se extenderá preferentemente el bloque que se ha escuchado antes en la red. En teoría la posibilidad de que se validen transacciones fraudulentas decrece exponencialmente con el número de confirmaciones. Lo más común es confirmar 6 veces/6 transacciones. La identidad del nodo que da la primera confirmación se queda grabada en el bloque.

 

 

Además de esto, Bitcoin tiene unas características en su DLT para evitar posibles fallos. Ha introducido los incentivos. Bitcoin es una moneda y puede usarse para incentivar a los participantes a actuar honestamente y el consenso en su red ocurre durante un prologado período de tiempo. A medida que pasa el tiempo, tu probabilidad aumenta más y más. Y la probabilidad de que estés equivocado al hacer una suposición sobre una transacción baja exponencialmente.

05 Prueba de trabajo (Pow)

En una DLT en lugar de elegir un nodo de forma aleatoria para validar una cadena de bloques, la red Bitcoin podrá seleccionar uno en proporción a un recurso que esperamos que nadie pueda monopolizar que consideramos que es el poder de cálculo. Entonces un sistema de prueba de trabajo (PoW) es aquel dónde seleccionamos nodos en proporción a su poder de cómputo. Por lo que entre ellos competirán mediante el uso de su poder de computación. Y eso dará como resultado que los nodos sean seleccionados automáticamente en esa proporción. Los nodos que compiten en esta selección son lo que se denomina “Mineros”.

Muchos de estos conceptos son comunes a los proyectos tecnológicos que se desarrollan a partir de Bitcoin, los llamados Alternative-coins (alt-coins) o el resto de activos digitales que no son Bitcoin. Esperamos que ahora te sientas más familiarizado con una tecnología que ya es presente y que ha venido para quedarse.

[siteorigin_widget class=»Inbound_Image_Widget»][/siteorigin_widget]