Análise Técnica da Plataforma Credits
Descrição Geral da Plataforma Credits
A Credits é uma plataforma baseada em tecnologia blockchain e contratos inteligentes para o desenvolvimento e execução de aplicações descentralizadas. Serve uma mediação entre a tecnologia e o negócio. Alta velocidade de transações, descentralização, escalabilidade e as baixas taxas oferecidas permitem a transformação de modelos tradicionais de negócios, eliminando os problemas de segurança, transparência e confiança.
A plataforma tem os seguintes recursos:
- Alta capacidade de rede — mais de 50 mil transações por segundo;
- O tempo mínimo para processar uma transação é de cerca de 0,1 segundo;
- Taxas baixas que variam partindo de US $ 0,001;
- Contratos inteligentes com recursos e ferramentas avançadas.
Descrição das tecnologias
1. A Credits usa as seguintes linguagens de programação para sua plataforma:
- C ++ — Para desenvolvimento do núcleo da plataforma
- Java — Para o desenvolvimento do núcleo para processar contratos inteligentes
2. Uso de funções multithreading e safe-thread para atender às tarefas que requerem muitos recursos.
3. Uso de bibliotecas de rede da família Boost.ASIO.
4. módulo de rede:
- Rede P2P
- IPv4 <-> IPv6
- CTDP (Credits Transfer Data Protocol) — protocolo de rede baseado em UDP com envio e processamento de confirmações de entrega de pacotes pelos nodes da rede
5. Módulo de armazenamento:
- Armazenamento em bloco distribuído
- Solução NoSQL
- Núcleo de banco de dados de Berkeley otimizado para tarefas de alta carga e operações de leitura / gravação rápida.
6. Módulo Solver (módulo de tomada de decisão):
- CDCA (Credits Decision Consensus Algorithm) — algoritmo de consenso exclusivo com recursos de DPoS e BFT;
- Gerenciamento do processo de sincronização;
- Gestão do processo de tomada de decisão
7. módulo API:
- Thrift como possibilidade de padronizar interações entre a plataforma e sistemas de terceiros;
- Configurações de portas para interações
8. Módulo de contratos inteligentes:
- Java — linguagem Java padrão para desenvolvimento de contrato inteligente;
- JVM — Java Virtual Machine padrão
Ecossistema do Projeto
Credits Node
O Node é um aplicativo interativo que se comunica através da rede com outros nodes por meio de pacotes UDP. Todos os nodes formam um gráfico conectado nos princípios de DLT. A tarefa de um node no nível da rede é fornecer consistência de rede e trocar mensagens com outros nodes. Um node é um aplicativo instalado no computador, processa e armazena transações, confirma condições de contratos inteligentes, processa chamadas de sistemas de terceiros e fornece os dados mediante solicitação deles. Todos os nodes da rede possuem a mesma funcionalidade definida.
Existem vários tipos de nodes na rede:
1. Writing Node (Node de Escrita). Um node pode ser escolhido como um Writing Node no caso de ele participar de um consenso, passá-lo quando uma decisão tomada sobre o conjunto de transações e consequentemente o bloco formado corresponder à decisão tomada por outro Trusted Node (Node Confiável) daquela rodada. O Writing Node pode gravar blocos previamente formados no armazenamento e distribuí-los a outros nodes para posterior adição ao seu armazenamento. Também transmite para a rede uma lista dos Nodes Confiáveis da próxima rodada (1ª etapa do consenso). O bloco e a lista de nodes confiáveis para a próxima rodada devem ser assinados pelos nodes confiáveis da rodada atual e essa decisão pode ser validada em qualquer node da rede.
2. Trusted Node (Node Confiável). É um node escolhido pelos resultados da votação entre Trusted Nodes da rodada anterior para validar o conjunto atual de transações, formar um novo bloco a partir de transações processadas e validadas e selecionar os nodes a serem incluídos na lista Trusted Nodes da próxima rodada. Qualquer bloco ou roundtable enviado para a rede para validação deve ser assinado por Trusted Nodes. Depois que o bloco é formado, ele deve ser validado por todos os Trusted Nodes e enviado para o Writing Node para adicioná-lo ao armazenamento. Para a sincronização de uma pool de transações que está sendo validado por Trusted Nodes, os nodes classificam todas as transações na mesma ordem, sincronizando seus metadados.
3. Common Node (Node Comum). É um node que acabou de se unir à rede ou um node que não participa do consenso. Sua principal função é a sincronização e armazenamento atualizado (blockchain). Ele pode enviar blocos para outros nodes ao receber uma solicitação de sincronização deles, enviar o hash da versão de armazenamento atual no node para participação na seleção dosTrusted Nodes.
Credits Desktop Wallet
A Desktop Wallet possui duas funções. A primeira função permite transferir CS e executar os métodos e funções de contratos inteligentes. A segunda é um ambiente de desenvolvimento onde o programa de computador pode ser apresentado como um contrato inteligente, desenvolvido em Java.
A Carteira virtual do Google Desktop deve estar instalada para criar e implantar contratos inteligentes na plataforma da Credits.
A Desktop Wallet permite que você explore o histórico de transações, crie, edite e execute métodos de um contrato inteligente escrito com Java sem instalar um ambiente de desenvolvimento integrado, somente a JVM deve ser instalada.
Tem as seguintes funções:
- Saldo de exibição;
- Explorar o histórico de transações;
- Explorar operações com contratos inteligentes;
- Fazer transações;
- Criar um token via contrato inteligente;
- Operações com contratos inteligentes já implantados;
- Criar contrato inteligente;
- Implantar contrato inteligente.
Credits Monitor
O Credits Monitor é um aplicativo/serviço da Web que fornece a capacidade de explorar o ledger público com uma lista completa de transações. O monitor é desenvolvido na linguagem de programação С#. Extensões são escritas com JS. Ele se conecta à rede via API. Estatísticas de rede estão sendo atualizadas a cada segundo.
O Monitor fornece as seguintes informações:
- Número total de nodes da rede;
- Estatísticas de transações;
- Exibir saldo;
- Informações detalhadas sobre transações da carteira selecionada;
- Informações gerais sobre um contrato inteligente;
- Visão geral do contrato inteligente aberto.
O Monitor é implementado na arquitetura do node e fornece informações reais recebidas sobre todas as alterações nos blocos, ele também não participa do consenso.
https://developers.credits.com/en/Articles/a_About_the_Monitor
Credits Web-Wallet
A Credits Web Wallet é um aplicativo da Web fácil de usar, flexível e ajustável para interação segura e fácil com a rede da Credits. Ela permite a transferência da moeda de um usuário para outro, operando com um contrato inteligente já implementado (se não for necessário compilar por conta própria) sem a instalação do node do cliente completo.
Ele sincroniza automaticamente com a rede em tempo real e se conecta à rede via API.
A Web Wallet tem as mesmas funções da Desktop Wallet, excluindo a capacidade de criar e carregar novos contratos inteligentes.Tem as seguintes funções:
- Saldo de exibição;
- Explorar o histórico de transações;
- Explorar operações com contratos inteligentes;
- Fazar transações;
- Criar um token via contrato inteligente;
- Operações com contratos inteligentes já implantados.
https://developers.credits.com/en/Articles/a_How_to_use_Web_Wallet
Acompanhe a CREDITS nas mídias sociais!
TWITTER — https://twitter.com/CREDITSBrasil
FACEBOOK — https://www.facebook.com/CREDITSBrasil
TELEGRAM — https://t.me/creditsPortuguese