Auditoria do contrato inteligente do BNK: Segurança ao invés de velocidade

Desde o início do projeto do Bankera, a segurança tem sido nossa principal preocupação. Isso se refletiu em nossa escolha em utilizar o padrão ERC223 para o código-fonte do token Banker (BNK), que foi, então, completamente desenvolvido pelo nosso time. Outra empresa poderia ter optado por uma rota mais curta e utilizado o código de outro token para desenvolver o seu, mas nós sabíamos que isso poderia resultar em falhas de segurança como o bug ‘batch overflow’ recentemente descoberto em diversos contratos inteligentes em ERC20. Além disso, nós não estamos criando um simples token, mas um contrato inteligente que distribui semanalmente uma comissão aos detentores de token BNK, o que nunca foi feito por outros. Logo, além de criar um código-fonte único para nosso token BNK, nós também submetemos o código para auditorias públicas e privadas para garantir sua segurança.

Auditoria do contrato inteligente do BNK: Segurança ao invés de velocidade

Quatro etapas de auditoria

Nós decidimos submeter o contrato inteligente do BNK para quatro etapas de auditoria. Enquanto alguns podem achar isso excessivo, medidas como essa evitam que problemas maiores aconteçam. Como estamos utilizando um padrão diferente e desenvolvemos nosso código desde o início – ao invés de simplesmente copiar e colar, o ‘batch overflow’ não nos afeta, mas queremos evitar quaisquer situações semelhantes. Como atualmente não é possível atualizar um contrato inteligente de Ethereum – apenas criando um novo, o time do Bankera submeteu o código do BNK para as seguintes análises:

  • Primeira e segunda auditoria interna. O time de IT do Bankera analisou detalhadamente o código e implementou melhorias sugeridas.
  • Auditoria realizada por uma empresa privada. O exame do código levou duas semanas e nenhuma falha significativa foi encontrada.
  • ‘Bug bounty’ na plataforma Solidified, altamente conceituada pela auditoria de contratos inteligentes. Durante três semanas, especialistas da Solidified analisaram o contrato inteligente do BNK.
  • Auditoria pública. Contribuidores também revisaram o código, que fora disponibilizado em nossa página no GitHub. Essa etapa durou uma semana e mais informações a respeito podem ser encontradas em nosso post sobre o token BNK.

Na plataforma Solidified, a revisão do código foi feita de acordo com a seguinte estrutura:

  • Bugs críticos – bugs que permitiriam o roubo de fundos dos usuários e com grande probabilidade de acontecerem.
  • Bugs graves – bugs que poderiam bloquear fundos dos usuários ou causar erros de cálculo e má distribuição de recompensas; com grande probabilidade de acontecerem.
  • Bugs inferiores – bugs menores, tais como evitar as tarifas ou outro comportamento não intencional; e bugs com menor probabilidade de acontecerem.

44 especialistas revisaram o contrato na plataforma Solidified e nenhum bug crítico ou grave, que poderia ameaçar os fundos dos usuários, foi encontrado. Como o contrato do BNK possui o padrão ERC223, houve diferenças em relação a definição de “Adesão ao Padrão de Token ERC20”. O revisor que apresentou esse ponto foi recompensado por um bug inferior.

O quê vem a seguir?

Agora, todas as auditorias foram completas e as melhorias sugeridas já foram implementadas pelo nosso time de TI. Simultaneamente ao desenvolvimento do contrato inteligente, nossa equipe de TI também esteve trabalhando na integração do contrato inteligente à infraestrutura da SpectroCoin, pois um não funciona sem o outro. Dentro de duas semanas, contribuidores poderão retirar e depositar seus tokens de/para carteiras compatíveis com ERC20 e ERC223. O suporte completo para ERC20 e ERC223 na SpectroCoin, um sistema já em operação, também não é tarefa simples, dada sua complexidade; nossos desenvolvedores precisam garantir que os usuários possam retirar e depositar seus tokens ERC20/ERC223 sem problemas. Uma vez que essa etapa seja completada, os Bankers (BNK) serão listados na plataforma HitBTC. A integração do contrato inteligente realizada pela equipe de desenvolvedores da HitBTC deverá ser totalmente finalizada em junho.

Seguindo o lançamento do BNK na HitBTC, os tokens serão listados também na SpectroCoin. Como a SpectroCoin não é uma plataforma de trading, é necessário estabelecer o preço do BNK por meio da análise de outras corretoras, seus preços e sua liquidez. Logo, BNKs serão disponibilizados para câmbio primeiramente na HitBTC e, depois, na SpectroCoin. Após finalizar o código-fonte de ERC223, nosso time de TI se concentrará no suporte dos tokens BNK como NEM Mosaic.

Desde o post anterior em nosso blog sobre o token BNK, nós recebemos feedback dos detentores de token BNK a respeito da escolha entre os blockchains de Ethereum e NEM. Para dar aos nossos contribuidores a possibilidade de fazer a escolha mais adequada, nós decidimos oferecer a possibilidade de trocar seus tokens de ERC223 para NEM Mosaic na SpectroCoin. Isso significa que, caso você tenha transferido seus tokens para uma carteira ERC20 ou ERC223, mas gostaria de mudar todos ou parte de seus tokens para NEM Mosaic, tudo que você precisa fazer é depositá-los na SpectroCoin e então transferir os tokens para o blockchain de sua preferência. A possibilidade de troca de blockchains estará disponível apenas na SpectroCoin.

Compartilhe você também as boas notícias! Mais novidades e updates serão disponibilizados nas semanas seguintes, então, fiquem ligados em nossos canais!