Token Allowance uma função interessante dos tokens Ethereum ERC-20 e ERC-777, com a qual podemos conceder permissões específicas para acessar e usar fundos para DApps e DEX para que possam realizar operações de forma autônoma e segura. 

UUma das funções mais interessantes de Tokens ERC-20 (e o token ERC-777) de Ethereum é o "Abono" o "Permissões de acesso de token" dentro de uma série de parâmetros descritos pela programação de uma plataforma. Esta é uma função bastante comum no mundo dos tokens e seu objetivo é permitir a interação automática dos tokens. smart contracts com dinheiro que é arranjado em uma determinada direção. Com isso, o DApps y DEX pode fazer uso desses recursos e realizar certas operações de forma autônoma com eles.

A permissão ou permissões de acesso, permitir que um terceiro tenha o direito de realizar uma transação de uma determinada quantidade de nossos tokens, que estão associados ao nosso endereço. Tudo isso sem dar a chave privada do seu endereço.

Mas por que dar acesso ao nosso dinheiro a um contrato inteligente em vez de manter o controle sobre ele? Bem, aqui vamos esclarecer a utilidade desse tipo de função e, o mais importante, como essa função pode facilitar muito nossa interação com contratos inteligentes.

Por que foram criadas funções de abatimento?

En Ethereum, um token são moedas que nada mais são do que unidades de conta em um contrato inteligente armazenado no blockchain. O projeto Ethereum, desde o seu início, tem sido amplamente utilizado para criar tokens de diferentes tipos, devido à sua enorme flexibilidade para essa tarefa. Diante dessa situação, os desenvolvedores do Ethereum decidiram criar uma especificação para criar esses tokens de forma padronizada, estamos falando do token padrão ERC-20.

Este padrão definiu a estrutura básica do contrato inteligente, a forma e as funcionalidades dos tokens no Ethereum. Uma dessas funções é a função de permissão, que permite aos detentores desses tokens conceder permissões de uso específicas para Dapps, DEX e DeFi para tokens contidos em um determinado endereço.

Desta forma, o saldo em tokens que uma pessoa possui em um endereço pode ser gerenciado pelo Dapp com o nosso consentimento. Assim, por exemplo, se quisermos enviar tokens automaticamente usando um Dapp, a função de permissão nos permite configurar essas ações sem a necessidade de estar ativamente pendente de execução da ação.

É aqui que foi criada a capacidade de permitir que outros endereços movam seus tokens. Um endereço pode ser um contrato inteligente ou simplesmente um endereço controlado por uma pessoa ou máquina.

No entanto, geralmente é concedido subsídio a contratos inteligentes, que cumprem regras escritas, imutáveis ​​e transparentes. Poder confiar no seu bom comportamento e que não pode nos roubar.

Por outro lado, a função de abatimento permite definir o montante justo e necessário que queremos disponibilizar para utilizar num contrato inteligente. Esta é, sem dúvida, mais uma medida de segurança que nos permite controlar a forma como os contratos inteligentes realizam as suas diferentes operações enquanto interagimos com eles. E o melhor de tudo, permite-nos fazê-lo de forma descentralizada, sem que terceiros de confiança tenham de intervir neste processo.

Tokens ERC-20 e a chegada da permissão

Pode-se dizer que a chegada da "permissão" ao mundo criptográfico veio com a chegada dos ERC-20 da Ethereum. Este padrão possui em sua estrutura uma série de funções padrão que facilitam o trabalho dos desenvolvedores para a criação de contratos inteligentes e Dapps que permitem uma interação descentralizada entre o usuário e a rede Ethereum e seus tokens associados.

Para isso, os ERC-20s, entre outros contratos inteligentes, têm uma função específica conhecida como "abatimento" e que é definida de forma geral como segue:

subsídio de função (tokenOwner de endereço, gastador de endereço)

Basicamente, o que a função pede é uma série de permissões de uso. Essas permissões permitem que o contrato inteligente transfira de nosso endereço para um endereço definido pelo contrato inteligente uma certa quantidade de seu token (chamado de alocação). Esta transferência é limitada a apenas um valor especificado e aceito pelo usuário Dapp. Na verdade, esta é uma medida de segurança que permite controlar os gastos que o contrato inteligente pode incorrer em cada interação e em sua totalidade.

Exemplo de mesada

Um exemplo dessa funcionalidade pode ser o seguinte:

Um usuário deseja interagir com o contrato inteligente de, por exemplo, Compound fazer um investimento em um dos pools deste protocolo. Essa interação é controlada pelos contratos inteligentes do Compound e, nesse ponto, o Compound solicitará ao usuário um acesso (permissão) a uma certa quantidade de tokens sob seu poder. Ao aceitar a referida interação, a Compound pegará os tokens, fará o investimento no pool correspondente e a partir daí retornará o saldo bloqueado no referido pool, juntamente com outros dados de interesse do usuário.

Em todos os momentos podemos constatar que o processo de "concessão" é um processo de solicitação e que requer a autorização expressa do usuário. Assim, por exemplo, se um Dapp solicitar acesso não solicitado a uma balança, você deve rejeitar esse acesso malicioso.

Quanto você sabe, cryptonuta?

O subsídio pode representar um risco de segurança para nossos fundos?

FALSO!

A função de permissão destina-se a ser uma função segura e fornece apenas acesso limitado ao endereço e tokens de que necessita. Como todo esse sistema não é intermediário e é descentralizado, você pode ter certeza de que isso não comprometerá sua segurança. No entanto, recomendamos que você sempre preste atenção às solicitações de acesso e aceite apenas aquelas que você tenha solicitado explicitamente.

Tolerância em outros contatos inteligentes

Obviamente, o exemplo anterior aplicado ao ERC-20s também se aplica a outros contratos padronizados ou não inteligentes. Um bom exemplo é o token ERC-777 que tem essa funcionalidade planejada para oferecer recursos compatíveis e mais avançados do que os tokens ERC-20 populares. Mas também, existem outros contratos inteligentes onde esse tipo de propriedade não existe.

Por exemplo, existem diferentes plataformas que fazem uso de contratos inteligentes que fazem uso de permissão para interagir com os tokens de seus usuários. Um contrato inteligente que faz uso disso é 0x, em que opera Bit2Me DEX.

No entanto, podem ocorrer casos um pouco mais elaborados. Por exemplo em CryptoKitties A franquia é utilizada na compra dos gatinhos digitais da plataforma. Isso ocorre porque é necessária permissão para gastar dinheiro para adquiri-los e mantê-los. Mas os próprios "gatinhos digitais" não têm essa propriedade, já que são tokens não fungíveis ou NFT, sob o padrão ERC-721 da Ethereum. Basicamente, sendo não dispensáveis ​​e únicos, esses gatinhos não podem ser gastos ou acessados ​​de várias maneiras, portanto, não tem esse recurso.

Como podemos ver, esta função é bastante útil como meio de segmentação de acesso e segurança em contratos inteligentes e aplicativos descentralizados (Dapp), o que sem dúvida se mostra uma solução eficaz para proporcionar alta segurança em ambientes deste tipo.