Imagem da matéria: O que eu descobri explorando o código do real digital | Opinião
Foto: Shutterstock

O Banco Central do Brasil lançou recentemente o chamado “kit onboarding”, um repositório no GitHub (um site usado por programadores para compartilhar códigos) que contém informações sobre os contratos inteligentes do Real Digital e algumas instruções sobre como executar um nó para participar da rede.

Também foram fornecidas nesse repositório as interfaces desses contratos. No entanto, infelizmente, o código-fonte em si não foi disponibilizado pelo Banco Central. Foi nesse ponto que decidi replicar os contratos com base nas definições apresentadas logo no segundo dia após a publicação pelo BC.

Publicidade

Uma das primeiras observações que fiz foi o uso de uma blockchain privada chamada Besu, o que me leva a crer que essa solução está aproveitando a onda das criptomoedas, uma vez que um banco de dados tradicional, muito mais barato para as finanças do governo, já resolveria para uma CBDC. Apesar dessa observação, o uso da blockchain Besu permite aos desenvolvedores ter acesso à implementação de contratos inteligentes na linguagem Solidity, que é atualmente a linguagem mais amplamente aceita para a construção de smart contracts.

Análise das interfaces

Ao analisar as interfaces, conseguimos criar um contrato “dummy”, ou seja, um contrato que não faz nada, mas possui a mesma interface apresentada pelo Banco Central. Como meu objetivo era obter um contrato que pelo menos se assemelhasse ao que o Real Digital será quando o Banco Central divulgar o código-fonte, decidi criar esse contrato.

Para não me alongar muito neste artigo, vou limitar minha explicação à funcionalidade dos dois principais contratos usados nesse projeto do Banco Central: CBDC Access Control  e Real Digital. No final do artigo você pode conferir no link do meu GitHub todos os outros contratos.

CBDC Access Control

O contrato `CBDCAccessControl` é responsável pela camada de controle de acesso para o token Real Digital e outros contratos que funcionarão em conjunto com ele. Ele define diferentes funções e atribui “roles” (papéis) a certos endereços para controlar quem pode executar determinadas ações no contrato.

Publicidade

As principais funcionalidades do contrato são:

  1. Determinar quais carteiras podem enviar/receber tokens.
  2. Controlar os papéis de qual endereço pode emitir/resgatar/congelar saldo de uma carteira.

A implementação dessas funcionalidades é feita através do uso de “roles” definidos no contrato. Cada “role” representa um conjunto específico de permissões relacionadas a uma ação específica. Aqui estão os “roles” definidos no contrato:

  • `PAUSER_ROLE`: Permite pausar o contrato.
  • `MINTER_ROLE`: Permite fazer o `mint` (emissão) de tokens nos contratos do token.
  • `ACCESS_ROLE`: Permite habilitar um endereço para receber o token.
  • `MOVER_ROLE`: Permite acesso à função `move`, ou seja, transferir o token de outra carteira.
  • `BURNER_ROLE`: Permite acesso à função `burn`, que destrói tokens.
  • `FREEZER_ROLE`: Permite bloquear o saldo de uma carteira, por exemplo, para realizar um swap de dois passos.

Esses “roles” são atribuídos a endereços específicos dentro do contrato. Cada endereço pode ter um ou mais “roles” atribuídos a ele, dependendo das permissões necessárias.

Além dos “roles”, o contrato também possui funções como `enableAccount`, `disableAccount` e `verifyAccount`. Essas funções permitem habilitar ou desabilitar uma carteira para receber o token e verificar se uma carteira está autorizada a receber o token.

No geral, o contrato `CBDCAccessControl` fornece um mecanismo para controlar o acesso e as permissões relacionadas ao token Real Digital. Ele garante que apenas endereços com os “roles” apropriados possam executar certas ações, como emitir, transferir, queimar e bloquear tokens.

Publicidade

Sobre o autor

Gustavo Toledo é o fundador da startup Coinsamba, especialista em smart contracts e colaborador ativo de projetos open-source. Com vasta experiência junto às blockchains Dash e Celo, ele lidera projetos na área web3.

VOCÊ PODE GOSTAR
Imagem da matéria: Ações da Coinbase atingem mínima de 7 meses enquanto mineradoras de Bitcoin despencam em meio à guerra comercial de Trump

Ações da Coinbase atingem mínima de 7 meses enquanto mineradoras de Bitcoin despencam em meio à guerra comercial de Trump

Mercado acionário dos EUA continuou despencando em resposta aos recentes anúncios de tarifas do presidente Donald Trump
Imagem da matéria: Apreensão com abertura do pregão faz mercado cripto desabar e Bitcoin cai abaixo dos US$ 80 mil

Apreensão com abertura do pregão faz mercado cripto desabar e Bitcoin cai abaixo dos US$ 80 mil

Bitcoin cai menos do que altcoins, como Ethereum e Solana, que desabam na casa dos dois dígitos. Pi Network é única exceção no top 100
Imagem da matéria: Presidente Trump assinará revogação de polêmica regra sobre corretores DeFi

Presidente Trump assinará revogação de polêmica regra sobre corretores DeFi

Regra exigiria que plataformas de finanças descentralizadas (DeFi) coletassem e relatassem informações de contribuintes
celular com logo GameStop com fundo azul

GameStop adiciona Bitcoin como “ativo de reserva de tesouraria”

Ação meme mais famosa do mercado, GameStop atualizou sua Política de Investimentos para incluir “certas criptomoedas, incluindo Bitcoin”