Comparación horizontal de varias arquitecturas blockchain
Comparación horizontal de varias arquitecturas blockchain
A menudo escucho a la gente hablar sobre blockchain. Desde el nacimiento de Bitcoin en 2009, se están desarrollando y desarrollando constantemente varios sistemas blockchain o aplicaciones Blockchain basadas en blockchain. Se aplica a una gran cantidad de escenarios, y la tecnología blockchain en sí cambia y mejora constantemente.
Blockchain también se denomina libro mayor distribuido, que corresponde a un libro mayor centralizado, como por ejemplo un banco. A diferencia de los libros de contabilidad centralizados, los libros de contabilidad distribuidos dependen del almacenamiento redundante de datos del libro de contabilidad en todos los nodos participantes para garantizar la seguridad del libro de contabilidad. En pocas palabras, blockchain utiliza tres tecnologías subyacentes: tecnología de red peer-to-peer, tecnología criptográfica y algoritmos de consenso distribuido. Por lo general, el sistema blockchain también "viene con una función gratuita" llamada contrato inteligente. Aunque los contratos inteligentes no son una parte necesaria del sistema blockchain, debido a la naturaleza descentralizada de la cadena de bloques, puede proporcionar un entorno informático confiable para los contratos inteligentes.
Para adaptarse a las necesidades de diferentes escenarios, el sistema blockchain a menudo necesita someterse a varias transformaciones durante la aplicación real para cumplir con los requisitos de negocios específicos, como autenticación de identidad, mecanismo de autenticación, protección con contraseña, etc. Gestión de claves, frecuencia de transacciones, tiempo de respuesta, protección de la privacidad, requisitos regulatorios, etc. Las empresas que realmente aplican sistemas blockchain a menudo no tienen la capacidad de llevar a cabo tales transformaciones, por lo que gradualmente han aparecido en el mercado algunos marcos para personalizar sistemas blockchain dedicados. Al utilizar estos marcos, es fácil personalizar productos adecuados para el sistema Blockchain. tu propio negocio.
Este artículo realizará una comparación horizontal de varios frameworks blockchain típicos actualmente en el mercado para ver qué características tienen y cuáles son las diferencias entre ellos. Para que la comparación sea justa, este artículo solo analizará los marcos de blockchain de código abierto.
Una breve introducción a cada arquitectura blockchain
1. Bitcoin
Bitcoin se originó a partir de un hombre llamado Satoshi Nakamoto en un artículo titulado "Bitcoin: A Peer-to". -Peer Electronic Cash System", publicado en 2008, describió una moneda a la que llamó "Bitcoin". Moneda electrónica y sus algoritmos. En los años siguientes, Bitcoin continuó creciendo y madurando, y la gente reconoció y abstrajo gradualmente su tecnología subyacente. Esta es la tecnología blockchain. Como creador de blockchain, Bitcoin juega un papel importante en la familia blockchain. La cantidad de altcoins desarrolladas en base a la tecnología Bitcoin es tan incontable como las estrellas en el cielo.
Se puede aprender del artículo que el propósito de Satoshi Nakamoto al diseñar Bitcoin es realizar un sistema de efectivo electrónico basado completamente en una red de igual a igual, de modo que los pagos en línea puedan ser iniciados directamente por una de las partes. y pagado a otro. Por un lado, no es necesario pasar por ningún intermediario. En resumen, espera que el diseño de Bitcoin pueda lograr los siguientes objetivos:
● Puede emitir moneda sin necesidad de una agencia central
● Puede realizar pagos sin necesidad de intermediarios.
● Mantener el anonimato del usuario
● Las transacciones no se pueden revertir
Desde la perspectiva de un sistema de efectivo electrónico, los objetivos anteriores se logran básicamente en la implementación de Bitcoin, pero Todavía quedan algunos problemas técnicos por resolver, como ataques de escalabilidad, limitaciones de capacidad de bloque, bifurcaciones de bloque, escalabilidad, etc.
En términos de escenarios de aplicación, actualmente se diseñan una gran cantidad de proyectos de moneda digital en base a la arquitectura Bitcoin. Además, existen algunos casos de aplicación más prácticos, como monedas de colores, t?, etc.
Las monedas de colores (coloredcoins), al rastrear cuidadosamente los entresijos de algunos Bitcoins específicos, se pueden distinguir de otros Bitcoins. Estos Bitcoins específicos se denominan monedas de colores. Tienen algunas propiedades especiales y, por lo tanto, tienen un valor independiente del valor nominal de Bitcoin. Utilizando esta característica de las monedas de colores, los desarrolladores pueden crear otros activos digitales en la red Bitcoin. Las monedas de colores son en sí mismas Bitcoins y no requieren de un tercero para su almacenamiento y transferencia, aprovechando la base ya existente de Bitcoin.
t? es una aplicación de la cadena de bloques de Bitcoin en el campo financiero. Es una plataforma de negociación de acciones públicas y privadas basada en blockchain lanzada por el minorista estadounidense en línea Overstock.
2. Ethereum
El objetivo de Ethereum es proporcionar una cadena de bloques con un lenguaje completo de Turing, que pueda usarse para crear contratos para escribir estados arbitrarios. Con la función de conversión, los usuarios Puede crear una aplicación basada en blockchain y aplicarla a escenarios distintos de la moneda simplemente implementando lógica con unas pocas líneas de código.
La filosofía de diseño de Ethereum no es "soportar" directamente ninguna aplicación, pero el lenguaje de programación completo de Turing significa que, en teoría, se puede crear cualquier lógica de contrato y cualquier tipo de aplicación. En resumen, además de los objetivos de diseño de Bitcoin, Ethereum también necesita lograr los siguientes objetivos:
● Lenguaje de contrato completo de Turing
● Almacenamiento de estado persistente integrado p>
Actualmente existen cientos de proyectos de contrato basados en Ethereum, los más famosos incluyen Augur, TheDAO, Digix, FirstBlood, etc.
Augur es una plataforma de mercado de predicción descentralizada basada en la tecnología blockchain de Ethereum. Los usuarios pueden usar monedas digitales para predecir y realizar apuestas, confiando en la sabiduría de la multitud para predecir el resultado de los eventos, lo que puede eliminar efectivamente los riesgos de contraparte y los riesgos de centralización del servidor.
Debido a limitaciones de espacio, no presentaremos más proyectos basados en la plataforma de contrato inteligente Ethereum. También hay muchos proyectos de blockchain que se han modificado según el código de Ethereum, pero casi todos son proyectos de código cerrado y solo se pueden inferir en función de algunas características públicas, por lo que no se discutirán en este artículo.
3. Fabric
Fabric es un marco blockchain desarrollado por IBM y DAH, y es uno de los miembros del proyecto de Hyperledger. Funciona de manera similar a Ethereum y también es una plataforma de contrato inteligente distribuida. Pero a diferencia de Ethereum y Bitcoin, es un marco desde el principio, no una cadena pública, y no tiene un token incorporado.
Hyperledger es un proyecto de código abierto lanzado por la Fundación Linux en 2015 para promover la tecnología y los estándares blockchain. Sus miembros incluyen: ABN AMRO, Accenture y más de una docena. Como grupo de diferentes intereses, el objetivo es. para permitir a los miembros trabajar juntos para construir una plataforma abierta para satisfacer varios casos de usuarios de muchas industrias diferentes y simplificar los procesos comerciales.
Como marco de blockchain, Fabric adopta un diseño débilmente acoplado para modularizar el mecanismo de autenticación, la verificación de identidad y otros componentes para que puedan reemplazarse fácilmente por otros personalizados durante el proceso de solicitud. Además, Fabric también utiliza tecnología de contenedores para ejecutar código de contrato inteligente (código de cadena) en Docker, de modo que los contratos inteligentes se puedan escribir en casi cualquier lenguaje de alto nivel.
Los siguientes son algunos objetivos de diseño de Fabric:
● Diseño modular, los componentes se pueden reemplazar
● Contratos inteligentes que se ejecutan en Docker
Ya hay muchos proyectos de prueba de concepto (POC) desarrollados utilizando la arquitectura Fabric en proceso de implementación, incluidos intentos de algunas instituciones financieras. Sin embargo, debido a que el proyecto acaba de comenzar, aún no existe una aplicación madura.
4. DNA
DNA (Arquitectura de redes distribuidas, arquitectura de red distribuida) es una arquitectura blockchain desarrollada por "Distributed Technology", una empresa emergente de blockchain con sede en Shanghai que puede admitir simultáneamente. diferentes tipos de aplicaciones y escenarios, como cadenas públicas, cadenas de alianza y cadenas privadas, y se integran rápidamente con los sistemas comerciales.
A diferencia de Ethereum y Fabric, DNA admite una variedad de activos digitales en la parte inferior del sistema. Los usuarios pueden crear sus propios tipos de activos directamente en la cadena y utilizar contratos inteligentes para controlar su lógica de emisión. Para la mayoría de los escenarios de aplicaciones de blockchain, los activos digitales son indispensables, y desarrollar un conjunto de lógica de transferencia y emisión basada en contratos inteligentes para cada activo digital es un gran desperdicio e ineficiente.
Por lo tanto, es muy necesario que la capa inferior de la cadena de bloques proporcione funciones directas de activos digitales. Para aquellos escenarios de aplicación que no requieren ningún activo digital, también se puede escribir una lógica personalizada arbitraria basada en la arquitectura de contrato inteligente proporcionada por DNA.
Los objetivos de diseño de DNA incluyen principalmente los siguientes puntos:
● Soporte subyacente para múltiples activos digitales
● Contratos inteligentes completos de Turing y persistencia del estado p>
● Interoperabilidad entre cadenas
● Finalidad de las transacciones
Actualmente, muchas instituciones financieras han adoptado la arquitectura de ADN para llevar a cabo el desarrollo de productos de prueba de concepto de blockchain. Además, se han implementado algunos proyectos blockchain, como Xiaoyi Blockchain, Fachain, etc.
Antshares es una cadena pública posicionada en la digitalización de activos. Digitaliza activos y derechos en el mundo físico y descentraliza servicios financieros como registro y emisión, transacciones de transferencia, compensación y entrega a través de un sistema peer-to-. protocolos de red de pares. Adopta un modelo de desarrollo comunitario y es arquitectónicamente consistente con el ADN, lo que permite la interoperabilidad entre cadenas con cualquier sistema blockchain basado en ADN.
FaChain es la primera cadena de bloques de almacenamiento de evidencia legal comercial a gran escala del mundo. Es un sistema de registro y preservación de evidencia basado en la tecnología de cadena de bloques de ADN y está establecido y operado por múltiples instituciones. El sistema no tiene un punto de control central y, una vez que se ingresan los datos, no pueden ser manipulados por una sola agencia o nodo, cumpliendo así con los requisitos para el almacenamiento de pruebas judiciales.
5. Corda
Corda fue desarrollada por R3CEV, una startup blockchain con sede en Nueva York. La R3 Blockchain Alliance iniciada por ella ha atraído docenas de participación de los principales bancos, incluido Wells Fargo. , Bank of America, Bank of New York Mellon, Citibank, Commerzbank, Deutsche Bank, HSBC, Mitsubishi UFJ Financial Group, Morgan Stanley, National Australia Bank, Royal Bank of Canada, SEB, Société Générale, etc.
También se puede ver en la composición de los miembros de R3 que Corda es una arquitectura blockchain utilizada específicamente para negocios bancarios e interbancarios. Aunque el propio R3 afirma que Corda no es una cadena de bloques, a juzgar por varias características, tiene algunas características de una cadena de bloques.
Comparación técnica
1. Activos digitales
A continuación, se realizarán una serie de comparaciones técnicas sobre los marcos blockchain mencionados anteriormente y se presentarán sus diferencias y similitudes. desde múltiples dimensiones.
Los tokens integrados de Blockchain son a menudo un modelo de incentivo económico y un medio para prevenir transacciones spam. Bitcoin nace con un solo token incorporado, por lo que todas las "transacciones" en el sistema Bitcoin son esencialmente comportamientos de transferencia, a menos que se agreguen activos digitales adicionales a Bitcoin a través de una capa de protocolo externo.
Ethereum y DNA tienen tokens integrados Además de los incentivos económicos mencionados anteriormente y la prevención de transacciones spam, su función también es proporcionar un canal de cobro para las funciones integradas del sistema. Por ejemplo, la operación de contrato inteligente de Ethereum requiere GAS, y la creación de activos digitales de DNA también requiere una cierta cantidad de tokens.
Ethereum y Fabric no tienen soporte integrado para múltiples activos digitales, pero implementan las funciones correspondientes a través de contratos inteligentes. La ventaja de este enfoque es que el diseño del sistema puede ser muy simple y el comportamiento de los activos puede especificarse arbitrariamente, con un alto grado de libertad. Sin embargo, dicho diseño también traerá una serie de impactos negativos. Por ejemplo, todos los creadores de activos tienen que escribir ellos mismos una lógica empresarial repetida y los usuarios no pueden operar sus activos de forma unificada.
Por el contrario, DNA y Corda adoptan un método para admitir múltiples activos digitales en el nivel inferior, lo que permite a los creadores de activos crear fácilmente sus propios tipos de activos, y los usuarios también pueden crear sus propios tipos de activos en el mismo cliente. Gestionar todos los activos. Para escenarios comerciales con lógica más compleja, también pueden usar contratos inteligentes para mejorar las funciones de los activos o crear una lógica comercial que no tenga nada que ver con los activos.
2. Sistema de cuentas
UTXO (Salida de transacciones no gastadas) es un mecanismo: cada moneda digital se registrará bajo la propiedad de una cuenta. Una moneda digital también tiene dos estados. no se ha gastado o se ha gastado. Cuando necesite utilizar una moneda digital, marque su estado como gastado, cree una nueva moneda digital por la misma cantidad y registre su propiedad en una nueva cuenta. En este proceso, la moneda digital marcada como gastada se denomina entrada de la transacción, y la nueva moneda digital creada se denomina salida de la transacción. En una transacción, puede contener múltiples entradas y múltiples salidas, pero la suma de las mismas. las entradas y la suma de las salidas deben ser iguales. Para calcular el saldo de una cuenta, simplemente agregue las denominaciones de todas las monedas digitales registradas en la cuenta.
Bitcoin y Corda utilizan un mecanismo de cuenta como UTXO, mientras que Ethereum utiliza un mecanismo de saldo más intuitivo: cada cuenta tiene un estado y el saldo actual de la cuenta se registra directamente en la lógica del estado. La transferencia consiste en restar una parte del saldo de una cuenta y sumar el saldo correspondiente a otra cuenta. La parte restada y la parte sumada deben ser iguales. El ADN es compatible con ambos modos en términos de mecanismo de cuenta.
Entonces, ¿cuáles son las ventajas y desventajas del modo UTXO y el modo de equilibrio? El mayor beneficio de UTXO es que las transacciones basadas en UTXO se pueden verificar en paralelo y ordenar arbitrariamente, porque todos los UTXO no están relacionados entre sí, lo que es muy útil para la escalabilidad futura de blockchain y el diseño basado en equilibrio. no hay tal ventaja; por el contrario, la ventaja del diseño de equilibrio es que la idea de diseño es muy simple e intuitiva, lo que facilita la implementación del programa, especialmente en contratos inteligentes, es muy difícil lidiar con el estado de UTXO. Esta es también la razón por la que Ethereum, con contratos inteligentes como función principal, elige el diseño de equilibrio, mientras que las arquitecturas centradas en activos digitales como Bitcoin, OnchainDNA y Corda prefieren los diseños UTXO.
En cuanto a la autenticación de identidad, Bitcoin y Ethereum básicamente no tienen un diseño de autenticación de identidad. La razón es muy simple, porque las ideas de diseño de ambos enfatizan la privacidad y el anonimato y se oponen a la supervisión y la centralización, mientras que la certificación de identidad está vinculada. introducir algunos centros o instituciones centrales debilitadas. Fabric, DNA y Corda optaron por utilizar certificados digitales para autenticar las identidades de los usuarios porque los tres tienen como objetivo de diseño aplicarse a los sistemas financieros existentes, y los sistemas financieros deben considerar el cumplimiento y aceptar la supervisión. Además, los sistemas financieros existentes han adoptado ampliamente los certificados digitales. soluciones, que pueden integrarse rápidamente con sistemas blockchain.