Hola habr Les traigo a su atención la traducción del
artículo "¿Necesita una Blockchain"?
Parte 1 (Gestión de la cadena de suministro)
Blockchain se introdujo como una innovación tecnológica que podría conducir a una revolución en las relaciones públicas y el comercio.Esta reputación está relacionada en parte con sus propiedades que permiten a las partes desconfiar entre sí para interactuar e intercambiar activos financieros sin depender de un tercero de confianza.
En este artículo, analizaremos críticamente si blockchain es realmente la mejor solución para un caso de uso específico.
Distinguimos entre las cadenas de bloques públicas (sin permiso) de Bitcoin \ Ethereum y privadas (autorizadas) Hyperledger \ Corda y contrastamos sus propiedades con las de las bases de datos administradas centralmente. Mostraremos una metodología estructurada para determinar los enfoques técnicos óptimos para resolver problemas específicos aplicados. Analizaremos tres casos: gestión de la cadena de suministro, pagos interbancarios e internacionales y organizaciones autónomas descentralizadas.
- Fondo de blockchain
El nombre blockchain proviene de una cadena de bloques. Cada bloque está asociado con el anterior a través de un hash criptográfico. Un bloque es una estructura de datos que le permite almacenar una lista de transacciones. Los nodos de la red Blockchain crean e intercambian transacciones y cambian el estado de la cadena de bloques. Las transacciones pueden tener sentido de la cantidad de dinero, pero no se limitan a esta aplicación y pueden, por ejemplo, ejecutar programas de usuario llamados contratos inteligentes.
Las siguientes diferencias son características de los participantes en las redes bajo consideración. Como con cualquier base de datos, un "escritor" es una entidad que escribe el estado en la base de datos. En el blockchain, esto se refiere al participante involucrado en el protocolo de consenso y que participa en llenar el blockchain con datos. El escritor acumula transacciones en bloques y agrega bloques a la cadena de bloques. Un escritor también puede ser llamado "validador". El "lector" es una entidad que no participa en el llenado de la cadena de bloques, pero puede participar en el proceso de creación de transacciones, o simplemente leer, analizar o auditar la cadena de bloques.
Sistemas públicos de blockchain
Bitcoin y Ethereum proporcionan un ejemplo de redes públicas que son abiertas y descentralizadas. Cualquier nodo puede unirse y salir de la red y convertirse en un validador o lector en cualquier momento. no existe un organismo central de gobierno que controle la membresía o restrinja lectores o escritores. Esta apertura implica la legibilidad de los registros por cualquier nodo. Sin embargo, el uso de primitivas criptográficas proporciona la capacidad técnica para crear una red pública de blockchain con información privada oculta (Zerocash)
Sistemas privados de blockchain
Para limitar el número de participantes, se propusieron los llamados sistemas privados de blockchain. Aquí, la autoridad central distribuye los derechos y atributos de las operaciones de lectura y escritura a la cadena de bloques. Para garantizar el aislamiento y la privacidad, los lectores y escritores pueden tener cadenas de bloques paralelas separadas conectadas entre sí. Los sistemas más conocidos son Hyperledger y Corda R3.
- Las propiedades
La verificabilidad pública permite a todos verificar la corrección del estado actual del sistema. En los registros distribuidos, los validadores acuerdan cada estado; este es un subconjunto limitado de todos los usuarios. Sin embargo, cualquier observador puede asegurarse de que el estado del registro cambie de acuerdo con el protocolo y que todos los observadores tengan el mismo tipo de registro. En sistemas centralizados, diferentes observadores pueden tener diferentes tipos de estado. Por lo tanto, no pueden determinar la exactitud de la transacción. En cambio, deberían confiar en la autoridad central.
La transparencia de los datos y el proceso de actualización del estado es un requisito para el escrutinio público. Sin embargo, la cantidad de información disponible para el navegador puede variar, y no todos los participantes necesitan acceso a cada información.
La confidencialidad es una parte importante de cualquier sistema, existe una contradicción interna entre confidencialidad y transparencia. La confidencialidad es ciertamente más fácil de lograr en un sistema centralizado, ya que no requiere transparencia y escrutinio público.
La integridad de la información asegura que la información esté protegida contra cambios no autorizados, es decir, que los datos recibidos sean correctos. La integridad de la información está estrechamente vinculada al escrutinio público. Si el sistema proporciona verificabilidad pública, cualquiera puede verificar la integridad de los datos; de lo contrario, la integridad solo puede garantizarse si el sistema centralizado no se ve comprometido.
La redundancia de datos es importante para muchos casos de uso. En los sistemas blockchain, la redundancia está inherentemente asegurada a través de la replicación en los nodos. En los sistemas centralizados, la redundancia generalmente se logra mediante la replicación en varios servidores físicos y mediante la creación de copias de seguridad.
Trust Anchor determina quién representa la máxima autoridad
en este sistema, que tiene el derecho de otorgar y revocar permisos de lectura
y acceso de escritura al sistema.
La contradicción entre transparencia y confidencialidad . Existe un compromiso inherente entre transparencia y confidencialidad. Un sistema completamente transparente permite a cualquier persona ver cualquier parte de la información, es decir, no se proporciona confidencialidad. Del mismo modo, en un sistema totalmente privado no proporciona ninguna transparencia. Sin embargo, el sistema puede proporcionar confidencialidad garantizada, sin pérdida de información sobre el estado de cada participante individual. La confidencialidad en el sistema público se puede lograr utilizando métodos criptográficos, pero generalmente se produce a expensas de una menor eficiencia. La criptomoneda Zerocash, por ejemplo, utiliza criptografía computacionalmente costosa para garantizar el anonimato completo, mientras que al mismo tiempo proporciona suficiente transparencia para verificar públicamente el estado del registro.
- ¿Dónde tiene sentido la cadena de bloques? En general, el uso de una cadena de bloques abierta o cerrada tiene sentido cuando varias entidades que desconfían mutuamente quieren interactuar y cambiar el estado del sistema, y no al menos usar un tercero de confianza. Para facilitar el proceso de toma de decisiones, proporcionamos el diagrama en la Fig. 1. se considera una o varias partes que escriben el estado del sistema, es decir, el escritor, esta es una entidad con derecho a escribir en una base de datos típica o un participante de consenso en el sistema blockchain.

Si no hay necesidad de almacenar datos, no se necesita una base de datos, es decir, blockchain, como forma de base de datos, es inútil. Del mismo modo, si solo hay un escritor, la cadena de bloques no proporciona garantías adicionales y la base habitual es más adecuada porque proporciona un mejor rendimiento en términos de ancho de banda y latencia. Si hay un tercero de confianza (TPA) disponible, hay dos opciones: la primera opción es si TPA está siempre en línea, las operaciones de escritura pueden transferirse y puede funcionar como un verificador para las transiciones de estado. En segundo lugar, si TPA generalmente está fuera de línea, puede funcionar como una autoridad de certificación en la configuración de una cadena de bloques permitida, es decir, donde se conocen todos los escritores del sistema. Si todos los escritores confían entre sí, es decir, suponen que ningún participante es malicioso, una base de datos compartida por escritura es probablemente la mejor solución. Si no confían el uno en el otro, tiene sentido usar una blockchain privada.
Dependiendo de si se requiere verificación pública, a cualquiera se le puede permitir leer el estado (blockchain público con diferenciación de derechos) o el conjunto de lectores también puede estar limitado (blockchain privado con diferenciación de derechos) Si el conjunto de autores no es fijo y los participantes lo desconocen, como es el caso con Con muchas criptomonedas como Bitcoin, una blockchain pública es una solución adecuada:

En la tabla 1, comparamos algunas propiedades de blockchains públicas y privadas y bases de datos centralizadas. En un sistema centralizado, el rendimiento en términos de retraso y rendimiento es mucho mejor que en los sistemas blockchain, ya que los sistemas blockchain tienen una complejidad adicional (comunicativa y computacional) debido al mecanismo de consenso. Por ejemplo, Bitcoin actualmente admite un rendimiento de aproximadamente 7 transacciones por segundo (que podría ampliarse a aproximadamente 66 sin comprometer la seguridad), mientras que un sistema centralizado como Visa puede procesar más de cincuenta mil transacciones en su apogeo. Existe un compromiso entre la descentralización, es decir, qué tan bien el sistema escala a los escritores sin confianza mutua y ancho de banda, es decir, cuántos estados de actualización puede procesar el sistema en un momento dado. Al decidir sobre el uso de un sistema blockchain, este compromiso también debe tenerse en cuenta. - Casos de uso
Supply Chain Management
En la gestión de la cadena de suministro (SCM), el flujo de materiales y servicios necesarios para producir un producto dado incluye varios ciclos intermedios de almacenamiento y producción hasta la entrega al punto final de consumo. Típicamente, múltiples compañías interactúan y comercian globalmente dentro de una cadena de suministro dada. Debido a esta complejidad, los costos asociados de la administración de activos, procesos y detección de fallas son especialmente costosos.
Varias compañías (por ejemplo, Skuchain, Provenance, Walmart, Everledger) anuncian soluciones basadas en blockchain para aumentar la efectividad de las soluciones de gestión de la cadena de suministro. Algunos incluso argumentan que la tecnología blockchain está allanando el camino para la cadena de demanda, en lugar de las cadenas de suministro, donde las empresas se beneficiarán de una mayor flexibilidad para interactuar con diferentes mercados y equilibrar los riesgos de los precios. SCM tradicional es impulsado por la programación y las comunicaciones. La demanda futura se estima en función de la demanda pasada y actual, la información se envía a las partes interesadas que esperan recibir información relevante a tiempo para responder a cambios, demoras o errores. Las empresas deciden qué producto se lanzará al mercado a qué hora, y los clientes controlan indirectamente la demanda.
En la gestión de la cadena de demanda (DCM), el interés del cliente es el núcleo: los precios reducidos, un servicio al cliente más rápido y una entrada al mercado más rápida con una idea o un producto mínimamente viable (MVP) son solo algunos ejemplos. DCM aumentará la flexibilidad al requerir que todos los interesados tengan datos en tiempo real para ver lo que los consumidores quieren y compran. Por lo tanto, todos los participantes en la cadena de demanda deben estar estrechamente conectados a la red. Al contrario de SCM, que "optimiza el flujo" y puede basarse en evaluaciones de mercado incompletas e inexactas, DCM requiere que las compañías tengan una visión completa y precisa del mercado y elijan activamente las mejores soluciones de fabricación. Por lo tanto, el flujo de información en DCM es del tipo pull y no del tipo push : las partes interesadas no necesitan esperar las notificaciones, pueden solicitar activamente el estado del sistema.

Los miembros de SCM varían ampliamente entre diferentes cadenas de suministro, y los mismos miembros pueden desempeñar diferentes roles en diferentes cadenas de suministro. La base de la segmentación para varios actores en la cadena de suministro generalmente está determinada por su propiedad en la parte del producto que se produce. Esto significa que para cada cadena de suministro en la que participa el participante, se requiere una cadena de bloques separada, lo que degrada claramente el desempeño de la decisión final.
Siguiendo nuestra metodología de la Sección 3, SCM, la retención de datos es, por supuesto, necesaria. Están involucrados varios validadores, es decir, varios participantes de SCM que poseen una cierta parte del producto final. Skuchain está diseñado para usar una sola fuente de confianza, que, sin embargo, elimina el componente descentralizado de la cadena de bloques y, por lo tanto, será equivalente a un servidor central de confianza. Continuando con nuestra metodología, SCM técnicamente puede usar siempre TTP en línea. Si esto no es posible, se conocerán al menos todos los validadores, lo que nos permite elegir entre una cadena de bloques pública o privada. Este razonamiento nos deja con la pregunta de si se puede confiar en todos los validadores. La gestión de la cadena de suministro tiene un problema inherente
interfaz entre el mundo digital y el físico. Se requiere que una persona, o alguna máquina bajo el control de un validador, registre que cierto producto llegó al almacén y, por ejemplo, su calidad es adecuada. Si no hay confianza en el trabajo de estos empleados, entonces toda la cadena de suministro está técnicamente comprometida, ya que cualquier atacante podría proporcionar cualquier dato. Si, por otro lado, todos los validadores son confiables, la cadena de bloques no es necesaria; una base de datos ordinaria con acceso de escritura lo organizará.
Tenga en cuenta que si, de alguna manera, la conexión entre el mundo digital y el físico se implementa de manera segura, entonces se deben revisar las consideraciones anteriores.
Pagos interbancarios e internacionales
ver continuación
Organizaciones autónomas descentralizadas
ver continuación