¿Es el diseño modular el futuro?

IntermedioMar 05, 2024
Este artículo explora la comparación entre blockchains monolíticas y modulares, analiza el potencial de la modularización para mejorar el rendimiento de los sistemas descentralizados y anticipa su profundo impacto en el futuro de blockchain.
¿Es el diseño modular el futuro?

Introducción

Hace aproximadamente una década, el mundo vio un aumento en el crecimiento de los teléfonos inteligentes móviles. En ese momento, algunas grandes empresas pensaron que podrían revolucionar los teléfonos inteligentes mediante la introducción de arquitecturas modulares. En 2013, Google anunció Project Ara, un nuevo teléfono inteligente con un diseño modular. A diferencia de los teléfonos "monolíticos" de hoy en día, hechos de piezas selladas de aluminio y vidrio, Ara permitiría a los usuarios personalizar sus teléfonos de muchas maneras, lo que permitiría que todas las partes esenciales fueran modulares. No se vería obligado a actualizar a un nuevo teléfono con tanta frecuencia. En su lugar, simplemente puede agregar las mejores piezas nuevas a su teléfono anterior, de acuerdo con sus propias preferencias. Lamentablemente, la modularidad no tuvo éxito en el ecosistema de la telefonía móvil, y el concepto sigue siendo una pieza mayormente olvidada de la historia de la tecnología.

El teléfono inteligente modular puede servir como una advertencia para las cadenas de bloques modulares, ya que la exageración de las soluciones nuevas y emocionantes no garantiza una victoria a largo plazo, a pesar de los inconvenientes legítimos de las herramientas actuales. Sin embargo, en el caso de las cadenas de bloques, la demanda de escalabilidad de los usuarios ya está empujando a los desarrolladores a construir y adoptar arquitecturas modulares. Esta demanda hace que sea poco probable que las arquitecturas modulares de blockchain compartan el mismo destino que el de los teléfonos inteligentes modulares.

Pero, ¿qué es exactamente una arquitectura modular de cadena de bloques? ¿Cómo podemos asegurarnos de que estas soluciones no terminen como otro Proyecto Ara? Este artículo espera responder a todas estas preguntas.

Monolítico y modular

Antes de profundizar, aclaremos la diferencia entre arquitecturas monolíticas y modulares. La forma más sencilla de introducir este concepto sería con un ejemplo de un concepto familiar. Al igual que los teléfonos móviles tienen ciertos componentes centrales, como una cámara, una batería y una pantalla táctil, una cadena de bloques también tiene componentes básicos.

Un iPhone es un gran ejemplo de un teléfono "monolítico". Viene con todas las piezas necesarias para usar el teléfono y no ofrece muchas opciones de personalización. Claro, es posible que no pueda editar mucho las partes internas, pero es elegante y rápido. Sin embargo, puede haber un momento en el que desee personalizar aún más su teléfono. Supongamos que a medida que pasan los años, salen nuevos teléfonos con cámaras mucho mejores. El resto de su teléfono desactualizado puede funcionar bien, pero con su cámara existente, no puede igualar la experiencia de los teléfonos más nuevos.

Con una arquitectura modular, no tendrías que comprar un teléfono nuevo. En su lugar, puedes cambiar tu cámara como una pieza de lego y colocar una mejor.

El Proyecto Ara de Google es un ejemplo de un teléfono modular. El teléfono está hecho de bloques de construcción que se pueden intercambiar dentro y fuera de las partes a su elección. Siempre que se fabriquen piezas compatibles, Ara las apoyará.

Al igual que los teléfonos inteligentes, las cadenas de bloques se componen de múltiples componentes esenciales; Estos componentes se presentan a continuación:

  • Consenso
    • La capa de consenso de las cadenas de bloques proporciona orden y finalidad a través de una red de computadoras que llegan a un consenso sobre el estado de la cadena.
  • Ejecución
    • Esta capa maneja el procesamiento real de las transacciones mediante la ejecución de su código especificado. También es donde los usuarios suelen interactuar con la cadena de bloques, por ejemplo, mediante la firma de transacciones, la implementación de contratos inteligentes y la transferencia de activos.
  • asentamiento
    • La capa de liquidación sirve como plataforma para verificar la actividad ejecutada en las capas 2, como los rollups, así como para la resolución de disputas. Lo más importante es que es donde se registra el estado final de la cadena de bloques real.
  • Disponibilidad de datos
    • Los datos necesarios para verificar que una transición de estado es válida deben publicarse y almacenarse en esta capa. Esto debe ser fácilmente recuperable y verificable en caso de ataques o fallos operativos en los que los productores de bloques no proporcionen datos de transacciones.

En pocas palabras, una cadena de bloques monolítica realiza todas estas tareas por sí sola, en una sola pieza de software, mientras que una cadena de bloques modular las separa en múltiples piezas de software. Llegados a este punto, te preguntarás cuáles son las desventajas de una cadena de bloques que se encarga de todas estas tareas a la vez.

Esto nos lleva al viejo problema, el trilema de la escalabilidad.

El trilema de la escalabilidad dice que una cadena de bloques solo puede tener dos de las tres características siguientes: descentralización, seguridad y escalabilidad. Las cadenas de bloques monolíticas existentes tienden a optimizarse para las esquinas seguras y escalables del triángulo. Bitcoin y Ethereum ponen más énfasis en ser lo más descentralizados y seguros posible. Desafortunadamente, esto tiene un precio. Las cadenas descentralizadas no suelen tener un gran ancho de banda para ejecutar transacciones. Ethereum limita alrededor de 20 transacciones por segundo, y Bitcoin cae aún más bajo en la escala. 20 transacciones por segundo es lamentablemente inadecuado si queremos utilizar estos protocolos a escala global. Algunas cadenas monolíticas podrían, al menos teóricamente, acercarnos mucho más a la escala global, ya que su TPS y su rendimiento general son suficientes. Sin embargo, a menudo carecen de descentralización, el principio básico de la tecnología blockchain.

Una arquitectura modular tiene como objetivo externalizar parte del trabajo de una cadena de bloques para hacer cadenas de mayor rendimiento mientras se mantiene la descentralización. Veamos Ethereum y analicemos cómo se espera que aproveche la modularidad.

¿Te gustan las inmersiones profundas en criptomonedas? Suscríbete gratis para recibir nuevas publicaciones y mantenerte informado sobre las últimas tendencias y temas de la industria.

Un ecosistema centrado en Ethereum


Ejemplos: La mayoría de las capas 1, combustible

Ethereum, tal y como existe hoy en día, es una cadena de bloques monolítica. La mayoría de las otras cadenas de bloques de capa 1 de hoy en día también se clasificarían como cadenas de bloques monolíticas y se estructurarían como tales. Al igual que en el ejemplo del iPhone, ciertas capacidades de las cadenas de bloques monolíticas a veces comienzan a quedarse atrás de las de las alternativas más nuevas, lo que lleva a la pérdida tanto de desarrolladores como de consumidores mientras buscan la capa 1 más nueva e innovadora. Para abordar los cuellos de botella actuales de Ethereum en el rendimiento, los desarrolladores están creando capas de ejecución de paquetes acumulativos para aumentar el ancho de banda de las transacciones.

Ejemplos: Optimismo, Arbitrum, Combustible, Scroll, ZkSync

Los rollups como capa de ejecución son el método de escalado más utilizado en Ethereum hoy en día. Los rollups son cadenas de bloques separadas con una ejecución de transacciones de mayor rendimiento y cuyos resultados netos se asientan en Ethereum para heredar efectivamente su (mucho mejor) seguridad y descentralización.

En un nivel alto, un rollup es solo una cadena de bloques que publica el resultado neto de sus bloques en otra cadena de bloques. Sin embargo, este es solo uno de los componentes de ser un rollup, ya que también necesita pruebas de fraude y validez y un método de inserción de transacciones sin permiso. Los rollups logran esto sincronizando los datos entre dos contratos inteligentes, uno implementado en la capa 1 y otro implementado en la capa 2. Este diseño es lo que lo convierte en un rollup y no en una cadena lateral. Estos componentes clave son necesarios para que un paquete acumulativo sea seguro, ya que el paquete acumulativo se puede detener o censurar sin ellos.

Actualmente, la mayoría de los rollups ofrecen compatibilidad con EVM para ayudar a los desarrolladores de Ethereum a migrar fácilmente, pero en términos de eficiencia informática y facilidad de desarrollo, puede haber mejores alternativas para las capas de ejecución. Es posible que los usuarios incluso quieran más funciones de calidad de vida que no están presentes en las cadenas equivalentes de EVM, como la abstracción de cuentas. Dada la amplia gama de preferencias de los desarrolladores, es probable que esta tendencia continúe, y veremos soluciones aún más novedosas poblar el mercado, como las capas de ejecución SolanaVM y MoveVM. Fuel es un ejemplo de una capa de ejecución que no es compatible con EVM y cuyo único objetivo es realizar cálculos que no son posibles en otros rollups. Fuel es también la primera "capa de ejecución modular", que, como veremos, le permite ser un rollup soberano, una cadena de liquidación o incluso una cadena de bloques monolítica. Mientras que los rollups son solo capas de ejecución, Fuel puede ser más.

El combustible se puede modularizar de una manera que los rollups normales no pueden. De ahí el nombre de "capa de ejecución modular". Pronto nos sumergiremos en la mecánica de la arquitectura Celestia. (Fuente: Combustible)

Fuel ha demostrado que las capas de ejecución pueden ser creativas y priorizar la velocidad computacional sobre el soporte de EVM. Si bien muchos familiarizados con las arquitecturas modulares conocen Fuel, otro gran contendiente es menos conocido. Una de las próximas capas de ejecución modular más interesantes se llama Kindelia. Además de ser una de las capas de cómputo más rápidas, Kindelia tiene un sistema de prueba único que utiliza su máquina virtual. El HVM de Kindelia ofrece un verificador de pruebas casi instantáneo integrado en su lenguaje de contratos inteligentes llamado Kind. La amabilidad es esencial porque los contratos inteligentes pueden demostrar dentro de su código que su código está a salvo de exploits y funciona correctamente. Este tipo de diseño podría resolver el problema de los contratos inteligentes codificados incorrectamente y salvarnos de los exploits que plagan los contratos inteligentes en la actualidad. Esta es solo una de las formas en que Kindelia proporciona valor sobre otras capas de ejecución.

Pero escalar en términos de una capa de ejecución es solo una pieza del rompecabezas. Los desarrolladores buscan modularizar aún más las cadenas de bloques monolíticas para exprimir cada gramo posible de rendimiento. Esto nos lleva a cómo se puede modular la capa de disponibilidad de datos.

Ejemplos: Metis, ZkPorter, Anytrust

Un Validium es un rollup cuyos datos se mueven fuera de la cadena en lugar de almacenarlos en la cadena.

Pero, ¿por qué estamos moviendo datos fuera de la cadena? Esto se debe a que estamos tratando de optimizar la disponibilidad de los datos. La eficiencia general de un sistema consolidado depende en gran medida de las capacidades de su capa de disponibilidad de datos. Cuando esta capa no puede manejar el volumen de datos generados por el secuenciador de transacciones del paquete acumulativo, se produce un cuello de botella en el procesamiento de transacciones. Como resultado, el rollup no puede manejar transacciones adicionales, lo que lleva a un aumento de las tarifas de gas y/o tiempos de ejecución lentos. En otras palabras, el rendimiento de la capa de disponibilidad de datos del paquete acumulativo es un factor crítico para determinar sus capacidades generales de procesamiento de transacciones y las tarifas asociadas a ellas.

El inconveniente de los validiums es que están fuera de la cadena, lo que introduce más supuestos de confianza. Queremos una solución on-chain para mejorar la capa de disponibilidad de datos de Ethereum. La respuesta es Danksharding.

La integración de Danksharding en Ethereum lo transforma en una plataforma optimizada tanto para la liquidación como para la accesibilidad a los datos.

Lo que hace que Danksharding sea innovador es su capacidad para fusionar estos conceptos en una unidad cohesiva. Las pruebas y los datos acumulativos se verifican dentro del mismo bloque, creando un sistema fluido y eficiente. Sin embargo, como parte de su funcionamiento normal, los paquetes acumulativos requieren un almacenamiento significativo para sus datos comprimidos. Danksharding proporciona una solución a este requisito, ofreciendo el potencial de millones de TPS a través de múltiples rollups. Danksharding es una técnica que divide la actividad de la red en particiones para aumentar el espacio para los blobs de datos. Un blob de datos es un formato de datos más eficiente y estandarizado en Ethereum que puede transportar una gran cantidad de datos y es utilizado por los rollups para reducir las tarifas de gas. Danksharding utiliza el "muestreo de disponibilidad de datos" para permitir que los nodos verifiquen cantidades significativas de datos examinando solo una pequeña parte, allanando el camino hacia un futuro en el que las redes de capa 2 más baratas y rápidas puedan prosperar al tiempo que permiten transacciones directas en Ethereum.

Danksharding también es genial, ya que heredaría toda la seguridad y descentralización de Ethereum. Sin embargo, esto tiene un inconveniente. Debido al ritmo relativamente lento de desarrollo de Ethereum, es probable que estemos a años de que Danksharding se implemente correctamente en Ethereum. EIP-4844 planea introducir Proto-Danksharding, que es el primer paso para lograr Danksharding. EIP-4844 mejora Ethereum mediante la introducción de una nueva transacción que se adapta a los blobs de datos. Este almacenamiento especializado para datos acumulativos allana el camino para un mercado de tarifas más rentable.

¿Qué sucede si desea una capa de disponibilidad de datos rápida pero no quiere sentarse a esperar a que se lance Danksharding? Celestia es un protocolo que ofrece precisamente eso. Pasando de una visión centrada en Ethereum sobre la modularidad, vale la pena sumergirse en Celestia para ver de qué otra manera se pueden interpretar las cadenas de bloques modulares.

Un ecosistema centrado en Celestia

Celestium es una solución única que combina la disponibilidad de datos de Celestia con la liquidación y el consenso de Ethereum. Danksharding sigue siendo el método más seguro debido a su integración en Ethereum, descentralización y robustez. Sin embargo, algunos rollups prefieren buscar la escalabilidad ahora mismo en lugar de esperar a que Danksharding se implemente en Ethereum.

Para los proyectos que no pueden esperar a Danksharding, una opción posible es utilizar soluciones de disponibilidad de datos fuera de la cadena, como Validiums, que utilizan un "Comité de Disponibilidad de Datos" (DAC) para dar fe de que los datos están disponibles. Sin embargo, este método no es tan descentralizado ni seguro, ya que se basa en una firma múltiple, y no hay forma de verificar si el DAC es honesto actualmente o si lo ha sido en el pasado.

Celestium ofrece una alternativa más segura a los DAC. Con Celestium, la certificación de que los datos están disponibles está respaldada por la participación de todo el conjunto de validadores de Celestia, lo que significa que si 2/3 de los validadores proporcionan información incorrecta, pueden ser recortados y potencialmente perder una gran suma de dinero. Esto proporciona una respuesta dura e inmediata, a diferencia de un DAC donde no existe penalización.

Además, los usuarios pueden verificar la honestidad de Celestia ejecutando el muestreo de disponibilidad de datos en los bloques y comprobando el Quantum Gravity Bridge, que es el puente de mensajería de 1 vía sin confianza de Celestia a Ethereum. Los puentes suelen ser la parte más vulnerable de cualquier solución, por lo que se deben construir redundancias.

Celestium, junto con Danksharding, utiliza el muestreo de disponibilidad de datos (DAS) para verificar la naturaleza no maliciosa de todos los datos. DAS permite a los nodos garantizar la disponibilidad de un bloque descargando segmentos aleatorios y alertando en caso de que falte alguna parte. Este sistema de alerta es solo un aspecto de un mecanismo DAS que emplea pruebas de fraude (como Celestia). En el caso de un mecanismo DAS de prueba de validez como Danksharding, no hay necesidad de un sistema de alerta, ya que las pruebas de validez garantizan la exactitud de la codificación de borrado y los compromisos. Estos mecanismos reducen el riesgo de datos de bloques ocultos y garantizan que numerosos nodos inspeccionen aleatoriamente el bloque.

Un nodo muestrea aleatoriamente un bloque para comprobar su disponibilidad. (Fuente: Vitalik Buterin)

El muestreo de datos es lo que hace que Celestia y Danksharding sean tan seguros. Al menos los usuarios saben que si se produce una corrupción, pueden detectarla rápidamente. En cambio, con la caja negra de un DAC, podría haber corrupción durante un año y nadie se daría cuenta.

Ejemplos: Combustible

A diferencia de los rollups tradicionales en Ethereum, los rollups soberanos funcionan de manera diferente. A diferencia de los rollups estándar, los rollups soberanos no se basan en un conjunto de contratos inteligentes en la capa 1 para validar y anexar bloques a la cadena canónica. En su lugar, los bloques se publican como datos sin procesar directamente en la cadena, y los nodos del resumen son responsables de verificar la regla de elección de bifurcación local para determinar la cadena correcta. Esto desplaza la responsabilidad de la liquidación de la capa 1 a la acumulación. A diferencia de los rollups tradicionales, no existe un puente establecido con confianza minimizada entre un rollup soberano y Celestia. Esto puede verse como algo negativo, ya que querría que un puente se redujera lo más posible en cuanto a la confianza, pero esto da a los rollups soberanos la ventaja de una ruta de actualización independiente a través de la bifurcación. Esto permite una coordinación más fácil y actualizaciones más seguras que las que pueden ofrecer los rollups no soberanos. Técnicamente, no debemos considerar esto como un rollup, ya que un rollup generalmente implica tener una capa unificada de liquidación y disponibilidad de datos. Debido a esto, los rollups soberanos también se conocen simplemente como blockchains soberanas.

Para facilitar a los desarrolladores la creación de rollups soberanos en Celestia, Celestia ha creado Rollmint, reemplazando a Tendermint como mecanismo de consenso. Esto permite que los rollups publiquen bloques directamente en Celestia en lugar de pasar por el proceso de Tendermint. Con este diseño, la comunidad detrás de la cadena tiene plena soberanía y no está sujeta a la autoridad de ninguna otra máquina estatal. Esto lo diferencia de las comunidades detrás de contratos inteligentes o rollups en Ethereum, que están sujetos al consenso social de la comunidad de Ethereum.

Ejemplos de una cadena de liquidación: combustible, cevmos, dYmension

La creación de un componente de liquidación independiente y modular es lo que define el concepto de acumulación de liquidación. Actualmente, los rollups utilizan la cadena principal de Ethereum para las liquidaciones, pero existen soluciones adicionales aparte de esta. La cadena Ethereum se comparte con otras aplicaciones no roll-up para transacciones de contratos inteligentes, lo que lleva a una escala reducida y a una falta de especialización.

Una capa de liquidación ideal para los rollups solo permitiría los contratos inteligentes de rollup y las transferencias simples entre rollups, al tiempo que prohibiría o encarecería la liquidación de transacciones por parte de las aplicaciones que no son rollups.

El diseño de Celestia ofrece una capa de consenso de estado global estándar para que los desarrolladores construyan paquetes acumulativos de ejecución que formen parte de un único clúster con confianza minimizada. También permite la conexión de confianza minimizada entre los resúmenes en la misma capa de consenso de estado global, un nuevo concepto que no se ve en las arquitecturas actuales. Queda por ver si los desarrolladores adoptarán o no este nuevo paradigma de cross-rollup.

Ejemplos de cadenas de asentamiento incluyen Cevmos, Fuel y dYmension, con Polygon compitiendo con Celestia al construir su interpretación de una arquitectura modular. En el diseño modular de Polygon, Polygon Avail sirve como componentes modulares de disponibilidad de datos y consenso, mientras que la cadena de bloques de Polygon funciona como capa de liquidación.

El caso de las cadenas monolíticas

Muchos artículos sobre cadenas de bloques modulares suelen pronunciar la capa 1 monolítica como una tecnología de dinosaurio en comparación con las soluciones modulares más nuevas. Actualmente, es difícil respaldar completamente esta afirmación, ya que un problema importante con estas soluciones de escalado son las suposiciones de confianza adicionales que agregan al sistema general. Si bien hemos discutido cómo la mayoría de los DAC y validiums son inseguros, esto puede incluso extenderse a la capa de ejecución (es decir, los rollups).

Algunos de los rollups más utilizados hoy en día aún no se han descentralizado realmente, a pesar de que aseguran miles de millones de dólares. En el momento de escribir este artículo, Optimism aún no tiene pruebas de fraude funcionales, y Arbitrum es mutable a partir de una sola multifirma. Ambos protocolos están trabajando para abordar estos problemas como parte de su desarrollo programado, pero es importante tener en cuenta que la descentralización no es un hecho solo porque un protocolo use una arquitectura particular. Además, los puentes entre todas las piezas de componentes modulares, principalmente los rollups soberanos, pueden enfrentarse a las mismas inseguridades a las que se enfrentan los puentes entre cadenas. Por último, un problema importante es que existe una complejidad añadida al desarrollar sobre una pila modular; Para algunos desarrolladores, puede ser un desafío. Con el tiempo, esperamos que los rollups resuelvan estos problemas y logren una descentralización suficiente. Sin embargo, las capas 1 monolíticas también podrían descentralizarse mientras tanto.

En nuestros informes anteriores se analizó cómo algunas capas 1 monolíticas se escalan internamente con una arquitectura DAG. Este es solo un ejemplo que muestra que las cadenas de bloques monolíticas están tratando de innovar sin depender de componentes fuera de la cadena, y se está trabajando en innumerables otras optimizaciones para maximizar el rendimiento. No podemos simplemente desacreditar la idea de un nuevo diseño de blockchain que pretende resolver todos los rincones del trilema de la escalabilidad.

Conclusión

Así como había teléfonos modulares, ahora hay cadenas de bloques modulares. Sin embargo, ver el potencial de un futuro centrado en el rollup basado en Danksharding indica que es poco probable que la arquitectura modular de blockchain sufra el mismo destino que el teléfono modular. Las capas de ejecución como Kindelia y Fuel verán especialmente el crecimiento de los usuarios, ya que su enfoque en la velocidad y las nuevas características permitirán que las aplicaciones construidas sobre ellas sean realmente innovadoras.

Desafortunadamente, muchos de estos diseños modulares aún no se han probado, y es posible que algunos diseños modulares de blockchain nunca obtengan una adopción generalizada. Los validiums pueden eliminarse por completo a medida que Celestia y Danksharding se adopten ampliamente. Los rollups soberanos de Celestia pueden enfrentar algunos de los mismos problemas de puente que los de capa 1 existentes, lo que dificulta la adopción debido a preocupaciones de seguridad y complejidad.

Un futuro de blockchain descentralizado y modular aún está muy lejos. Mientras tanto, las cadenas de bloques monolíticas seguirán siendo relevantes y seguirán innovando. Cuando finalmente lleguemos a un futuro en el que las cadenas de bloques modulares se adopten ampliamente, el panorama de las cadenas de bloques monolíticas también puede verse completamente diferente. Sin embargo, necesitamos soluciones de escalado para dar servicio a las cadenas de bloques existentes con liquidez y usuarios, y a largo plazo, una arquitectura de cadena de bloques modular probablemente será la mejor manera de hacerlo.

Autor

Robert McTague es asociado de inversiones del Eco Fund de Amber Group, el fondo de riesgo de criptomonedas en fase inicial de la empresa. Recientemente ganó el tercer premio durante ETHSF con algunos amigos construyendo sobre Fuel. Es muy optimista sobre el futuro de las cadenas de bloques modulares.


La información contenida en esta publicación (la "Información") se ha preparado únicamente con fines informativos, está en forma resumida y no pretende ser completa. La Información no es, ni pretende ser, una oferta de venta o una solicitud de oferta de compra de ningún valor. La Información no proporciona y no debe ser tratada como un consejo de inversión. La información no tiene en cuenta los objetivos de inversión específicos, la situación financiera o las necesidades particulares de ningún posible inversor. No se hace ninguna representación o garantía, expresa o implícita, con respecto a la imparcialidad, corrección, exactitud, razonabilidad o integridad de la Información. No nos comprometemos a actualizar la Información. No debe ser considerado por los posibles inversores como un sustituto del ejercicio de su propio juicio o investigación. Los posibles inversores deben consultar con sus propios asesores legales, regulatorios, fiscales, comerciales, de inversión, financieros y contables en la medida en que lo consideren necesario, y tomar cualquier decisión de inversión basada en su propio juicio y asesoramiento de dichos asesores que consideren necesario y no en ninguna opinión expresada en este documento

Renuncia:

  1. Este artículo es una reimpresión de [bitcoininsider.org], Todos los derechos de autor pertenecen al autor original [Robert McTague]. Si hay objeciones a esta reimpresión, comuníquese con el equipo de Gate Learn y ellos lo manejarán de inmediato.
  2. Descargo de responsabilidad: Los puntos de vista y opiniones expresados en este artículo son únicamente los del autor y no constituyen ningún consejo de inversión.
  3. Las traducciones del artículo a otros idiomas son realizadas por el equipo de Gate Learn. A menos que se mencione, está prohibido copiar, distribuir o plagiar los artículos traducidos.
Empieza ahora
¡Regístrate y recibe un bono de
$100
!
Crea tu cuenta