Ir al contenido principal

Arquitectura

Resumen del Stack de Celo, incluyendo su blockchain, contratos principales y aplicaciones.


Introducci贸n al Stack de Celo

Celo est谩 orientado a brindar la experiencia m谩s simple posible para los usuarios finales, que pueden no estar familiarizados con las criptomonedas y pueden estar utilizando dispositivos de bajo costo con conectividad limitada.

Un enfoque al stack completo

Para lograr esto, Celo adopta un enfoque completo, en el que cada capa del stack se dise帽a teniendo en cuenta al usuario final mientras se considera a otras partes interesadas (por ejemplo, operadores de nodos en la red) involucradas en habilitar la experiencia del usuario final.

Blockchain de Celo

Un protocolo criptogr谩fico abierto que permite a las aplicaciones realizar transacciones con este y ejecutar contratos inteligentes de forma segura y descentralizada. El c贸digo del Blockchain Celo tiene ascendencia compartida con Ethereum y mantiene la compatibilidad total con EVM para contratos inteligentes. Sin embargo, utiliza un mecanismo de consenso Tolerante a fallas bizantinas (BFT) en lugar de Prueba de Trabajo, y tiene diferentes formatos de bloque, formato de transacci贸n, protocolos de sincronizaci贸n de clientes, y mecanismos de pago y precios de gas.

Contratos Principales de Celo

Un conjunto de contratos inteligentes que se ejecutan en el Blockchain Celo que comprenden gran parte de la l贸gica de las caracter铆sticas de la plataforma, incluidas las monedas estables ERC-20, las atestaciones de identidad, su prueba de participaci贸n y gobernanza. Estos contratos inteligentes son actualizables y gestionados por un proceso de gobierno descentralizado.

Aplicaciones

Aplicaciones para usuarios finales construidas en la Plataforma de Celo. La aplicaci贸n de billetera Celo, la primera de un ecosistema de aplicaciones, permite a los usuarios finales gestionar cuentas y realizar pagos de forma segura y sencilla aprovechando las innovaciones del protocolo Celo. Las aplicaciones toman la forma de software externo m贸vil o backend: interact煤an con el Blockchain Celo para emitir transacciones e invocar el c贸digo que forma la API de los Contratos Principales de Celo. Los terceros tambi茅n pueden implementar contratos inteligentes personalizados que sus propias aplicaciones pueden invocar, lo que a su vez puede aprovechar los contratos principales de Celo. Las aplicaciones pueden utilizar servicios centralizados en la nube para proporcionar alguna de sus funcionalidades: en el caso de la billetera de Celo, las notificaciones push y un feed de actividad de transacci贸n.

El Blockchain Celo y los Contratos Principales de Celo, juntos comprenden el Protocolo Celo.

Topolog铆a de Red de Celo

La topolog铆a de una red Celo consiste en m谩quinas que corren el software del Blockchain Celo en varias configuraciones distintas:

Validadores

Los validadores recopilan transacciones recibidas de otros nodos y ejecutan cualquier contrato inteligente asociado para formar nuevos bloques, luego participan en un protocolo de consenso Byzantine Fault Tolerant (BFT) para avanzar en el estado de la red. Dado que los protocolos BFT pueden escalar solo a unos pocos cientos de participantes y pueden tolerar que como m谩ximo un tercio de los participantes act煤en maliciosamente, un mecanismo de prueba de participaci贸n admite solo un conjunto limitado de nodos para este rol.

Nodos completos

La mayor铆a de los computadores que ejecutan el software del Blockchain de Celo no est谩n configurados para ser validadores o no se eligen como tales. Los nodos de Celo no "minan" como en las redes de Prueba de Trabajo. Su funci贸n principal es atender peticiones de clientes ligeros y reenviar sus transacciones, por las que reciben los honorarios asociados a dichas transacciones. Estos pagos crean una 鈥渞ampa sin permiso鈥 para que los individuos de la comunidad ganen monedas. Los nodos completos mantienen al menos un historial parcial del blockchain transfiriendo nuevos bloques entre s铆, y puede unirse o salir de la red en cualquier momento.

Clientes ligeros

Las aplicaciones incluyendo la Billetera Celo tambi茅n se ejecutar谩n en cada dispositivo una instancia del software del Blockchain de Celo que funciona como un "cliente ligero". Los clientes ligeros se conectan a nodos completos para realizar solicitudes de datos de cuentas y transacciones y para firmar y enviar nuevas transacciones, pero no reciben ni retienen el estado completo de la cadena de bloques.

Billetera de Celo

La aplicaci贸n de Billetera Celo es una billetera totalmente no administrada que permite a los usuarios custodiar ellos mismos sus fondos usando sus propias claves y cuentas. Todas las funciones cr铆ticas, como el env铆o de transacciones y la verificaci贸n de saldos, se pueden realizar sin confianza utilizando el protocolo de cliente ligero punto-a-punto. Sin embargo, la billetera utiliza algunos servicios centralizados en la nube para mejorar la experiencia del usuario cuando sea posible, por ejemplo:

  • Servicios Google Play: para precargar las invitaciones en la aplicaci贸n
  • Servicio de Notificaci贸n de Billetera Celo: env铆a notificaciones push al dispositivo cuando un usuario recibe un pago o solicitudes de pago
  • API del Blockchain de la Billetera Celo: proporciona una API GraphQL para consultar transacciones en la cadena de bloques por cuenta, que se utiliza para implementar un feed de actividad de los usuarios.

Cuando un usuario final descarga la billetera Celo, por ejemplo, Google Play Store, los usuarios conf铆an en cLabs (o en la entidad que ha puesto la aplicaci贸n disponible en Play Store) y Google para entregar un binario correcto, y la mayor铆a de los usuarios sentir铆an que depender de estos servicios centralizados para proporcionar esta funcionalidad adicional vale la pena.