O banco digital com Stellar é possível?

Oct 18 2020

Considere um banco digital com depósitos em várias moedas de cripto-tokens (espelhamento fiat), troca de tokens, transações e carteiras digitais. O banco deve cobrar taxas de transação configuráveis ​​com o limite superior. A bifurcação da Stelar parece uma opção viável para esse fim. Stellar é capaz de cunhar e queimar tokens, fazer a troca de tokens e transações.

Eu gostaria de adicionar várias perguntas a essas perguntas .

  • Conforme afirma a documentação, o mecanismo de inflação foi desabilitado na versão 12 do protocolo . Para onde vão as taxas de transação agora? Como configurar as taxas de token nativo a serem acumuladas na conta do banco central?

  • É possível limitar o fornecimento XLM sem fim? Onde no código-fonte isso está configurado?

  • Vejo que é possível configurar o tamanho das taxas de transação . Eu entendo que as taxas podem ser ajustadas dinamicamente usando JS SDK enquanto o sistema está funcionando?

  • É possível configurar o limite superior da taxa de transação?

  • Atualmente, não há um mecanismo compatível para definir taxas de token nos próprios tokens (ao contrário do Waves, que tem esse recurso ). No entanto, parece que há uma solução alternativa :

    Defina "autorização necessária" para seu ativo, mas não allowTrust para nenhum usuário em geral. Em vez disso, exija que eles coloquem cada operação de pagamento + taxa de pagamento entre uma operação allowTrust e uma operação allowTrust (revogar). Desta forma, sua autorização (por meio da co-assinatura de cada transação com a conta do emissor do ativo) para usar aquele ativo é concedida apenas temporariamente dentro desta transação atômica.

    Embora o SEP-8 mostre uma maneira padronizada de automatizar o processo de co-assinatura, afaik ainda não existe uma carteira que o implemente. Você terá que codificar sua própria carteira e serviço de co-assinatura.

    Eu tinha em mente criar uma troca automatizada que trocaria o token fiat por um token nativo dinamicamente ao criar uma transação e permitiria aos usuários pagar as taxas de transação após a troca acontecer, nos bastidores. Isso exigirá serviço oracle com os feeds de taxa de câmbio. Qual abordagem é melhor?

Respostas

1 OrbitLens Oct 18 2020 at 15:55

Para onde vão as taxas de transação agora?

Para a piscina de inflação. Como não há processo de redistribuição da inflação, esses tokens XLM estão efetivamente bloqueados por enquanto. Isso pode mudar no futuro, quando a nova proposta de distribuição da inflação for introduzida.

Como configurar as taxas de token nativo a serem acumuladas na conta do banco central?

Essa opção não existe, mas você sempre sabe o valor atual bloqueado no pool de taxas.

É possível limitar o fornecimento XLM sem fim? Onde no código-fonte isso está configurado?

A oferta não é infinita, é estritamente limitada. Por exemplo, a montagem XLM existente total atual no pubnet é 105443902087.3472865XLM (20B XLM em circulação, 55B XLM está bloqueado para sempre, o resto bloqueado em contas de garantia). Quando você cria uma rede privada, a conta do genesis recebe 100000000000 XLM e você pode regular o fornecimento XLM total queimando tokens desnecessários.

Eu entendo que as taxas podem ser ajustadas dinamicamente usando JS SDK enquanto o sistema está funcionando?

Sim, você define a taxa máxima que está disposto a pagar pela transação - individualmente para cada transação. Mas, ao contrário de outros blockchains, os nós Stellar Core geralmente cobram uma fração dessa taxa dependendo da carga da rede. Se não houver preço de pico (que entra em vigor apenas quando há mais de 1000 operações suspensas no mempool), será cobrada a taxa mínima.

É possível configurar o limite superior da taxa de transação?

Sim, você sempre especifica o limite superior na transação, consulte a explicação acima.

Atualmente, não há mecanismo compatível para definir taxas de tokens nos próprios tokens.

Certo, e não há planos para adicionar esse mecanismo no futuro próximo, pelo que eu sei. Isso pode ser complicado devido à mecânica DEX on-chain. Cobrar taxas por negociação pode resultar em vários casos extremos porque Stellar não tem o tamanho mínimo de lote ou limitações de valor mínimo de negociação - você pode acabar recebendo valor zero de ativo em micro negociações.

Existe uma alternativa para a allowTrustabordagem sanduíche e pode ser adequada para o seu caso se você realmente quiser construir o banco on-chain. Durante o processo de integração do usuário, você pode adicionar um signatário adicional à conta. Isso permite que você controle todas as operações desta conta. Um usuário não pode transferir ou trocar quaisquer ativos sem sua permissão explícita - uma assinatura na transação é necessária. Ao mesmo tempo, você também não pode fazer nada com esta conta sem a confirmação do usuário. Esse esquema permite que você aplique políticas gerais (como KYC e AML) e crie regras de validação individuais complexas para seus usuários.

permitir que os usuários paguem as taxas de transação após a troca acontecer, nos bastidores

Duvido muito que isso possa ser implementado sem escrever uma tonelada de código. Você pode cobrar as taxas na própria transação. Além disso, verifique esta implementação de âncora cross-blockchain por Umbrel. Um bom ponto de partida para a construção do fiat↔crypto e crypto↔crypto mecanismo de gateway.