Construyéndolo mejor: una guía simple para los casos de uso de Blockchain

 Según un reciente estudio de Deloitte, 92% de los 26.000 proyectos basados ​​en blockchain que se han creado en los últimos dos años están ahora muertos.




Después de escuchar esto por primera vez, tuve que preguntarme: ¿cómo se salió tanto de control este número?

Este artículo intenta articular exactamente qué causó este problema, con el objetivo de ayudarnos a los apasionados entusiastas de blockchain a evitar comenzar un proyecto que se convierta en parte del 92%.

Construyendo un buen caso de uso de Blockchain desde cero

Para aquellos que aún no están familiarizados con los conceptos básicos de cómo funcionan las cadenas de bloques, recomiendo leer primero el artículo " Blockchains, Cryptocurrencies & the New Decentralized Economy: Part 1 - A Gentle Introduction " escrito por Blockchain en Ashley Lannquist de Berkeley el año pasado.

Para aquellos que estén familiarizados con el tema, podemos comenzar a sumergirnos en las capacidades básicas de las cadenas de bloques que se pueden aplicar para crear casos de uso significativos.


Marco tecnológico de contabilidad distribuida


Con la tecnología de registros distribuidos (como blockchain), los usuarios pueden crear entornos de bases de datos en los que varios usuarios que no confían entre sí pero pueden intercambiar valores o agregar registros sin un coordinador central.

Al combinar conceptos de criptografía y teoría de juegos, las cadenas de bloques eliminan la necesidad de confiar en un sistema, lo que garantiza que los usuarios puedan interactuar de manera transparente con una menor dependencia de las autoridades de terceros.

Esta "descentralización" inherente de los sistemas de cadena de bloques es importante, ya que elimina los efectos negativos de los puntos centrales de falla: brechas en la seguridad, tiempo de inactividad de la red o interrupciones de la red. Además, mientras las garantías de seguridad y vida estén intactas, las cadenas de bloques librarán a las redes de la censura de transacciones o acciones maliciosas de actores no confiables.

Estos sistemas de contabilidad distribuida ya se han implementado con éxito en campos como "Finanzas" o "Solución de disputas", donde las partes que realizan transacciones históricamente han necesitado confiar en una autoridad central para supervisar los datos de las transacciones y garantizar que se cumplan los acuerdos anteriores.

Empresas como Hyperledger han creado blockchains de empresas privadas diseñadas para descentralizar estos ecosistemas de transacciones, apoyando las transacciones comerciales globales de las principales empresas tecnológicas, financieras y de la cadena de suministro. Es importante tener en cuenta que estas implementaciones son usos excepcionales, no ordinarios, de la tecnología blockchain, como lo demuestra el hecho de que el 92% de los proyectos basados ​​en blockchain han fallado hasta la fecha.

A continuación se muestra un diagrama de flujo que actúa como una lista de verificación para aquellos que buscan implementar una solución de cadena de bloques, así como un resumen de los pasos que debemos considerar antes de dar el salto hacia la tecnología de contabilidad distribuida (DLT).

Criterios a considerar al decidir sobre un caso de uso de Blockchain

Una lista de verificación al decidir sobre un caso de uso de blockchain


1. Base de datos
En primer lugar, cuando tratamos de establecer un caso de uso de blockchain, debemos preguntarnos si poseemos una base de datos que sea fundamentalmente segura en todos los puntos finales .

Si intentamos implementar una cadena de bloques en un sistema que es susceptible de manipulación o alteración del mundo exterior, perdemos la capacidad de tener cosas como falta de confianza y descentralización en nuestro sistema, lo que da como resultado un caso de uso de cadena de bloques relativamente limitado.

Un ejemplo de este tipo de problema se puede ver en casos de uso como "Seguimiento de diamantes de sangre", donde las empresas utilizan cadenas de bloques para rastrear el flujo de diamantes legales a lo largo de una cadena de suministro desde los productores hasta los consumidores. Aunque una cadena de bloques puede ser una buena solución para rastrear las transacciones asociadas con ese diamante, la solución aún genera mucha confianza en los empleados o nodos que ingresan estos diamantes en el sistema de la cadena de bloques. En este caso, el "punto final de la base de datos" no es seguro, lo que genera problemas de confianza que plagan el caso de uso de blockchain.

2. Transactores
La siguiente pregunta más importante que debe hacerse antes de utilizar una cadena de bloques es si habrá o no múltiples partes coordinando la acción en nuestra base de datos .

Si nuestra base de datos no requiere coordinación entre un gran número de partes interesadas y puede funcionar con el uso de un "escritor" clave, entonces deberíamos usar una base de datos centralizada. Las cadenas de bloques son, por naturaleza, "Tecnología de contabilidad distribuida", y si no hay necesidad de "distribuir" la propiedad de la base de datos, entonces deberíamos usar una estructura de base de datos diferente.

Este punto, por simple que sea, a menudo se olvida en el proceso de construcción de un caso de uso de cadena de bloques de calidad. En realidad, el software centralizado como Oracle Database o MySQL tiene infraestructuras de transacciones mucho más sólidas que los sistemas de cadena de bloques descentralizados existentes, lo que significa que solo deberíamos usar DLT si la descentralización es absolutamente necesaria para nuestro proyecto.


Un caso para la centralización
Un ejemplo clásico de donde la centralización tiende a tener más sentido es el caso de uso de gigantes tecnológicos existentes como Facebook o Google, que administran Exabytes de datos de usuarios.

Aunque sería bueno que Google pudiera descentralizar las transacciones de sus usuarios, un caso de uso de blockchain no tiene sentido. Esto se debe a que es mucho más fácil rastrear la información en un sistema centralizado, donde toda la información pasa por un solo punto.

Básicamente, los sistemas centralizados pueden tener una integración interna mucho más cohesiva que los sistemas descentralizados y, como resultado, es mucho más probable que capitalicen cosas como las economías de escala que las DLT. De hecho, los productos de Google como Gmail solo pueden tener funciones como "filtros inteligentes de spam" porque Google puede ver fácilmente los correos electrónicos de casi todos.

3. Confianza
Después de determinar si la centralización es importante o no para su caso de uso, es crucial preguntarse en quién debemos confiar para que este sistema funcione y qué sucedería en el resultado donde se viola la confianza.

En cualquier sistema centralizado, la acción maliciosa puede tomar forma de varias formas. Una autoridad central no solo puede tratar de editar transacciones existentes, sino que también puede retener información, informar transacciones inconsistentes en la red o censurar a los usuarios para que no accedan a transacciones específicas. Si existe algún incentivo para que una autoridad central tome estas medidas en nuestro sistema existente, al menos debemos considerar implementar una medida de seguridad como blockchain en nuestro caso de uso.

Si la confianza entre los usuarios no es un problema importante, simplemente se puede utilizar una base de datos distribuida, en la que cada usuario mantiene una copia de la base de datos y es libre de editar y actualizar el estado de la base de datos a su gusto. Esto es mucho más fácil de implementar, ya que no será necesario considerar las características de seguridad de blockchain como "Tolerancia a fallas bizantinas" (resistencia a la manipulación e inconsistencia).

Caso especial: cadenas de bloques públicas frente a autorizadas

Foto de Samson Duborg-Rankin en Unsplash
También es importante tener en cuenta que hay formas de utilizar sistemas de cadena de bloques que fusionan conceptos de bases de datos centralizadas, bases de datos distribuidas y tecnologías de registros distribuidos.

Las " cadenas de bloques autorizadas " son un ejemplo de este matrimonio de conceptos, que combinan la autorización de usuario centralizada con un ecosistema de transacciones de cadena de bloques descentralizado.

Al tener la capacidad de controlar a los usuarios permitidos en la red blockchain, podemos disminuir la probabilidad de acciones maliciosas y aumentar el control sobre lo que el sistema está tratando de administrar, creando un sistema que no requiere tanta tolerancia a fallas, seguridad, y mantenimiento como una cadena de bloques "pública" tradicional.

La desventaja de esta estructura de cadena de bloques es que es mucho menos "sin confianza" que las cadenas de bloques públicas, ya que los usuarios aún tienen que confiar en la autoridad que otorga los permisos, así como en el mecanismo de consenso que utiliza el sistema.

Quorum de JP Morgan es un gran ejemplo de un caso de uso de blockchain autorizado, ya que han creado un producto que empodera a la industria financiera con transacciones de alta velocidad (docenas a cientos por segundo) aprovechando la necesidad reducida de BFT que realiza transacciones entre un conjunto autorizado de usuarios permite (ver QuorumChain ).

4. Desintermediación
Antes de embarcarse en un caso de uso de blockchain, también es importante determinar si la desintermediación es necesaria para nuestro sistema de transacciones.

Si nuestra solución previa a la cadena de bloques está sujeta a grandes tarifas de intermediarios o demoras en el tiempo de confirmación, las cadenas de bloques son una opción natural para acelerar este proceso, reduciendo los costos para todos los usuarios.

Si la desintermediación no es esencial para nuestro sistema de transacciones, es mucho más fácil asignar la tarea de verificar las transacciones a un intermediario o autoridad central, eliminando la necesidad de validadores distribuidos en la red blockchain.

Un gran ejemplo de un caso de uso que utiliza la desintermediación en este momento es slock.it , que ha construido un negocio digital en torno al concepto de crear contratos inteligentes para dispositivos IOT individualizados, eliminando la necesidad de intervención o ajuste humano. Con la tecnología de slock.it, cualquier dispositivo IOT puede tener su propia identidad y puede celebrar acuerdos complejos (incluido el acuerdo para recibir pagos), todo sin utilizar intermediarios.

5. Dependencia de transacciones
La pregunta final que debemos hacernos antes de implementar un caso de uso de blockchain es si nuestras transacciones dependen o no unas de otras.

La dependencia de transacciones es una característica que se puede ver en todo tipo de sistemas de bases de datos, particularmente en sistemas multiusuario que involucran a numerosas partes o sistemas que involucran el intercambio de activos o bienes (como bienes raíces o comercio minorista, por ejemplo).

Si nuestras transacciones no necesitan interactuar entre sí, es mucho más eficaz utilizar una estructura de base de datos "maestro/esclavo", en la que un nodo "maestro" actúa como campeón de validación y aprobación para un determinado subconjunto de transacciones que " los nodos esclavos hacen el trabajo de llevar a cabo.

Si nuestras transacciones dependen unas de otras, determinar cómo distribuir las transacciones correspondientes entre los nodos maestros se vuelve bastante difícil, lo que resulta en la necesidad de algo como una cadena de bloques para alterar el estado colectivo de la base de datos.

Además, las cadenas de bloques ofrecen atomicidad (la capacidad de evitar actualizaciones parciales de una base de datos) a sus usuarios, lo que garantiza que las transacciones que dependen unas de otras se ejecutarán de inmediato sin posibilidad de cancelación o manipulación a mitad de la operación. Esto asegura que no se creará ni destruirá riqueza como resultado de cualquier estructura de transacción complicada en el sistema.

Resumen
¡Felicitaciones, ahora estamos bien encaminados para construir un caso de uso adecuado! A pesar del tono contrario de este artículo, en realidad existen numerosas aplicaciones de las tecnologías de cadena de bloques que pueden afectar en gran medida a los sistemas de transacciones existentes para mejorarlos. Sin embargo, antes de convertirse en una de estas aplicaciones, es importante preguntarnos qué necesita nuestro caso de uso para funcionar antes de decidirse por blockchain como la solución adecuada.

Si somos capaces de progresar en el diagrama de flujo que se muestra arriba, estamos en camino de tener un caso de uso sólido de blockchain, aumentando nuestra probabilidad de convertirnos en uno del 8% de los proyectos de blockchain que podrán resistir la prueba. de tiempo.

Apéndice
En el espíritu del artículo, pensé en agregar algunos de mis casos de uso favoritos de blockchain a continuación: ¡animo a todos a tomarlos como un ejercicio para pensar en los factores que hacen que los casos de uso sean valiosos!

i) Gnosis : mercado de predicción descentralizado construido en la plataforma Ethereum

ii) Blocknotario : servicio notarial descentralizado con verificación de sello de tiempo

iii) Zcash : criptomoneda abierta y sin permiso que protege por completo la privacidad de las transacciones mediante criptografía de conocimiento cero.




Fuente
https://medium.com/blockchain-at-berkeley/building-it-better-a-simple-guide-to-blockchain-use-cases-de494a8f5b60
wesley graham
5 de febrero de 2018
Escuchar



Comentarios