La tecnología blockchain, la privacidad, seguridad de una base de datos y la normativa conoce tu transacción KYT. Parte IV

 

Introducción

En la primera parte estudiamos que es el cumplimiento de normativas para la industria financiera, la cual está sujeta a una amplia gama de regulaciones, decimos enfocarnos en 4:

  • Cumplimiento contra el lavado de dinero (AML).

  • Cumplimiento conozca a su cliente (KYC).

  • Cumplimiento conozca a su transacción (KYT).

  • Privacidad y seguridad de datos.

En la segunda parte abordamos con mucho detalle los cumplimientos sobre AML y KYC.

En la tercera parte explicamos como la tecnología blockchain (TB) ayuda a cumplir con la normativa “privacidad y seguridad de datos durante se transmiten por la red”.

En esta cuarta parte estudiaremos dos normativas:

 

La privacidad y seguridad de una base de datos (almacenar datos).

  • Confidencialidad o cifrado de datos.

  • Autenticación o control de acceso.

  • Capacitación de los empleados.

Conozca a su transacción (KYT):

Los procesos de KYT generalmente involucran el monitoreo y análisis de transacciones financieras para determinar el origen y destino de los fondos, así como de las personas y entidades involucradas en las transacciones.

Nota: Aquí llamamos protocolo al conjunto de programas o contratos inteligentes que hacen las operaciones o gobiernan automáticamente el blockchain.

 

La tecnología blockchain, la privacidad y seguridad de una base de datos (DB).

Recordemos que la criptografía es el area de la informática que utiliza algoritmos y protocolos matemáticos para asegurar la información y protegerla del acceso o la modificación no autorizados. La criptografía se utiliza para una variedad de propósitos, que incluyen:

  • Integridad: para asegurar que la información no ha sido alterada o manipulada durante la transmisión o el almacenamiento.

  • Autenticación: para verificar la identidad de las partes involucradas en una comunicación o transacción.

  • Confidencialidad: para mantener la información privada y evitar que personas no autorizadas la lean.

Estos tres propósitos que cumple la criptografía coinciden con los propósitos del cumplimiento normativo Privacidad y seguridad de datos que hemos descrito al inicio de este artículo.

 

Formato de una base de datos:

La base de datos relacional (BDR) o SQL:

SQL (Structured Query Language), es un tipo de base de datos (BD) que cumple con el modelo relacional, que es el modelo más utilizado actualmente y almacena los siguientes datos:

Las bases de datos no relacionales (BD NoSQL):

Utiliza el formato JSON (JavaScript Object Notation), este formato de texto sencillo facilita el intercambio de datos y es independiente del lenguaje de programación utilizado.

 Observación importante:

La tecnología blockchain utiliza el formato JSON, porque permite aplicar la criptografía, aspecto que no es posible con el formato SQL o relacional.

 

Las transacciones blockchain:

A continuación, ilustramos una transacción del blockchain Ethereum:

  • Esta en formato JSON.

  • Al aplicarle una función criptográfica (lo explicaremos a continuación) obtenemos el hash de la transacción:

94b261714bfcf7e7aeb315223dfb7ac1e1fc711f3a0bf3f4a3da1b016bcc2c99

Observación: Si alguien altera un dato de esta transacción, cambia el hash, por tanto, el protocolo blockchain, rechazara el cambio.

 

Cómo funcionan los bloques:

Un bloque es una colección de datos o transacciones más recientes en un tiempo determinado, por ejemplo, en Bitcoin las transacciones de cada 10 minutos formaran un bloque.

En la siguiente imagen con los datos del bloque 154,595 de BTC, que también está en formato JSON, identificamos tres conceptos:

  • El hash que identifica al bloque (ver flecha roja).

  • El hash del bloque anterior llamado previous_hash (flecha amarilla).

  • Un arreglo tx que almacena las transacciones de ese bloque (flecha verde).

Nota: Este bloque la puede encontrar en el sitio blockchain.com.

 

Como la función hash protege un bloque de transacciones:

Una función hash criptográfica es un algoritmo matemático que transforma cualquier bloque arbitrario de datos en una nueva cadena de caracteres con una longitud fija.

Usaremos el hash256, en los siguientes ejemplos usaremos el sitio en línea que genera un hash.

Paso 1. Copiamos el bloque en el sitio web (Ver flecha roja) de la imagen:

Paso 2: obtenemos una expresión que llamaremos Hash A:

d1d88446b969021c9eca571bc08e78f1a7c2c2b1096aaa491a4144948b51310c

Paso 3: Que sucede si un atacante del blockchain, altera un dato del bloque, en la siguiente imagen:

  • El último símbolo del previous_hash que es la letra a se cambia por un cero (ver fleche verde).

  • Se genera un nuevo hash de este bloque (ver fleche azul), que llamaremos Hash B:

4d593f59b791ea35129ef8344e409ef7828e825214679e291c91f834cf4fd7ce

Paso 4: El protocolo blockchain de Bitcoin, verifica el hash256 cada vez que se guarda de nuevo el bloque:

Si el hash B es diferente al hash A

d1d88446b969021c9eca571bc08e78f1a7c2c2b1096aaa491a4144948b51310c

4d593f59b791ea35129ef8344e409ef7828e825214679e291c91f834cf4fd7ce

Como los hashes son diferentes. La cadena de bloques no permitirá guardar los cambios y se mantendrá el archivo inicial del bloque. 

 

La tecnología blockchain y el cumplimiento conozca su transacción (KYT)

La TB permite que sus bloques que almacenan las transacciones se consideren como un libro mayor de contabilidad, compartido entre miles de nodos o computadoras. Cada usuario tiene una cuenta o dirección de usuario como:

0x0a8E3D8953d52138C827B03CF0e747031E5c2906

Nota: Esta es una dirección del blockchain Binance Smart Chain (BSC) que es compatible con Ethereum.

En el explorador de BSC podemos identificar en cuantas transacciones ha participado esta cuenta desde que se creó:

  • Copiamos la cuenta o dirección en el explorador BSC (ver flecha roja).

  • Esta cuenta solo ha participado en dos transacciones (ver flecha amarilla).

Al darle clic a la primera transacción (ver flecha verde), puedo ver los detalles:

  • Que cuenta envía los fondos (ver flecha roja).

  • A que cuenta se enviaron (flecha amarilla).

  • Cuanto se envio (flecha verde).

  • Otros datos, la fecha y hora, en que bloque se almacena.

 

Observaciones finales:

El protocolo blockchain reduce el riesgo de fraude y manipulación, porque:

  • Alterar una transacción o un bloque implica cambiar el hash correspondiente y el protocolo no lo permite.

  • Cada bloque tiene el hash del bloque anterior (previous_hash) por lo que tendría que alterar los bloques anteriores, Bitcoin tiene mas de 750,000 bloques y Ethereum mas de 16 millones a febrero del 2023.

  • Si un atacante pudiera guardar los cambios, tendría que hacerlo en el 51% de los nodos (el protocolo toma las decisiones por consensos o mayoría simple).

  • En el caso de Ethereum tendría que cambiar el 51% de los 200,000 nodos, es decir 102,00 nodos, Bitcoin tiene más de 50,000 nodos.

  • El libro blockchain permite conocer en cuantas transacciones ha participado una cuenta o dirección, no hay forma de que se deje por fuera alguna transacción de la cuenta.

 
Carlos Sampson