Arquitetura
Visão geral do Celo Stack incluindo sua blockchain, contratos principais e aplicações.
Introdução à Pilha de Celo
O Celo é orientado por fornecer a experiência mais simples possível para usuários finais. que pode não ter familiaridade com criptomoedas e pode estar usando dispositivos de baixo custo com conectividade limitada.
Uma Abordagem Full-Stack
Para conseguir isso, Celo adota uma abordagem completa. onde cada camada da pilha é projetada em mente com o usuário final enquanto considera outros interessados (e.. operadores de nós da rede) envolvidos na ativação da experiência final do usuário.
Celo Blockchain
Um protocolo criptográfico aberto que permite que aplicativos façam transações com e executem contratos inteligentes de forma segura e descentralizada. O código da blockchain Celo compartilhou o ancestral com Ethereum e mantém compatibilidade completa com EVM para contratos inteligentes. No entanto, ele usa um Byzantine Fault Tolerant (BFT) mecanismo de consenso (Proof-of-of-Stake) em vez de Prova-de-Trabalho (Proof-of-Work) e tem um formato de bloco diferente, formato de transação, protocolos de sincronização do cliente e mecanismos de pagamento e preços do gás.
Celo Core Contracts
Um conjunto de contratos inteligentes rodando na blockchain do Celo que compreendem grande parte da lógica das funcionalidades da plataforma, incluindo moedas estáveis do ERC-20, certificados de identidade, proof-of-stake e governança. Esses contratos inteligentes são atualizáveis e gerenciados pelo processo de governança descentralizada.
Aplicações
Aplicações para usuários finais construídos na Plataforma Celo. O aplicativo Celo Wallet, o primeiro de um ecossistema de aplicações, permite aos usuários finais gerenciar contas e fazer pagamentos de forma segura e simplesmente aproveitando as inovações do Protocolo de Celo. Aplicativos assumem a forma de software móvel ou de back-end externos: eles interagem com a blockchain Celo para emitir transações e invocam o código que forma a API dos Contratos de Celo Core. Terceiros também podem implantar contratos inteligentes personalizados que seus próprios aplicativos podem invocar, o que, por sua vez, pode alavancar Contratos de Celo Core. Aplicativos podem usar serviços de nuvem centralizados para fornecer algumas de suas funcionalidades: no caso da Carteira de Melo, notificações push e um feed de atividade de transação.
Os Contratos do blockchain do Celo são constituídos pelo protocolo Celo.
Topologia da Rede Celo
A topologia de uma rede de Celo consiste de máquinas que executam o software blockchain do Celo em várias configurações distintas:
Validador
Validadores coletam transações recebidas de outros nós e executam contratos inteligentes associados para formar novos blocos, então participe de um protocolo de consenso de Byzantine Fault Tolerant (BFT) para promover o estado da rede. Uma vez que os protocolos BFT podem escalar apenas para algumas centenas de participantes e podem tolerar no máximo um terço dos participantes agindo maliciosamente, um mecanismo de proof-of-stake admite apenas um conjunto limitado de nós para esta função.
Full Nodes
A maioria das máquinas que executam o software blockchain do Celo não estão configuradas para serem ou não serem eleitas como validadores. Nós do Celo não fazem "mineração" como nas redes Proof-of-Word. O seu papel principal é atender solicitações de clientes light e encaminhar suas transações, para as quais eles recebem as taxas associadas a essas transações. Esses pagamentos criam uma 'permissionless onramp' para que os indivíduos da comunidade ganhem dinheiro. Os nós completos mantêm pelo menos uma história parcial do blockchain transferindo novos blocos entre eles e podem se juntar ou sair da rede a qualquer momento.
Light Clients
Aplicativos incluindo o Celo Wallet também serão executados no dispositivo de cada usuário uma instância do blockchain Celo que opera como um 'cliente leve'. Clientes Light se conectam a nós completos para fazer pedidos de dados de conta e transação e para assinar e enviar novas transações, mas eles não recebem ou mantêm o estado completo da blockchain.
Carteira Celo
A aplicação Celo Wallet é uma carteira totalmente não gerenciada que permite aos usuários auto custearem seus fundos usando as suas próprias chaves e contas. Todos os recursos críticos, como o envio de transações e a verificação de saldos podem ser feitos de forma confiável usando o protocolo de cliente de cliente peer-to-peer. No entanto, a carteira usa alguns serviços centralizados em nuvem para melhorar a experiência do usuário quando possível, por exemplo.:
- Serviços Google Play: para pré-carregar convites no aplicativo
- Serviço de notificação do Celo Wallet: envia notificações por push quando um usuário recebe um pagamento ou pedidos de pagamento
- Celo Wallet Blockchain API: fornece uma API GraphQL para consultar transações no blockchain em uma conta por conta. usado para implementar o feed de atividades do usuário.
Quando os usuários finais baixam a Carteira Celo, por exemplo, da Google Play Store, os usuários confiam nos cLabs (ou na entidade que disponibilizou o aplicativo na Play Store) e no Google para fornecer um binário correto, e a maioria dos usuários acham que vale a pena contar com esses serviços centralizados para fornecer essa funcionalidade adicional.