Pesquisa Flipstarter: um contrato inteligente simples para pagamentos de garantia

0 39
Avatar for phabulu
4 years ago

( This is a Portuguese translation of the original Post, I'm not part of Flipstarter Team, I'm a community member helping with a translation into my Native Language, all credits belong to: Flipstarter)

( Esta é uma tradução em português do Post original, não faço parte da equipe Flipstarter, sou membro da comunidade ajudando na tradução para o meu idioma nativo, todos os créditos pertencem a: Flipstarter

A tecnologia de pagamento de garantia inicial do Flipstarter usa transações como Qualquer um pode Pagar . "Flipstarter 500k, 6 campanhas independentes" usará essa técnica.

No entanto, também dissemos que a experiência do usuário pode ser melhorada no futuro usando contratos inteligentes. Este é o primeiro artigo em que eu gostaria de explorar técnicas adicionais que o Flipstarter ou qualquer pessoa possa usar para criar soluções de financiamento voluntárias. Os artigos futuros abrangerão técnicas ou técnicas mais sofisticadas que negociam algum nível de falta de confiança para uma melhor experiência do usuário.

Conteúdo

Definições

  • Pagamento de garantia: maneira alternativa de dizer contrato de garantia, a idéia geral de que o financiamento é feito com base em tudo ou nada para aumentar a imparcialidade da perspectiva do financiador.

  • Moeda: Nome comum para UTXO.

  • Contrato: Nome abreviado para contratos inteligentes usando o Bitcoin Cash p2sh (pagamento para hash de script). Mais especificamente, falarei sobre convênios.

Um contrato simples para pagamentos de garantia

Aqui está um contrato (2020-03 ainda sob revisão para correção e segurança), escrito em Spedn, que é o mais simples possível para um pagamento de garantia. Ele permite que muitos contratos independentes sejam criados e combinados em um pagamento de garantia.

Todos os contratos participantes têm três requisitos compartilhados (com exemplos):

  • Forward amount - Valor encaminhado: o valor total da saída deve ser 1,0 BCH

  • Forward target - Alvo em frente: deve pagar para comer o BCH # 106

  • Expiration - Expiração: pode pagar antes do bloco 700.000; depois disso também pode reembolsar

Cada contrato participante possui dois requisitos exclusivos (com exemplos):

  • Refund amount - Valor do reembolso: o valor do produto deve ser o mesmo que o valor do financiamento.

  • Refund target - Meta de reembolso: deve pagar para o endereço do financiador (ou o que eles escolherem quando criaram o contrato)


Com essas condições, os três contratos abaixo são irrecuperáveis:


Mas eles são resgatáveis se cooperarem em uma transação. Isso basicamente recria a transação Anyone-Can-Pay (Qualquer um pode pagar) com contratos:


Durante ou após o bloqueio de expiração, cada contrato também pode ser reembolsado de acordo com as instruções do financiador original:


Como ele se compara à versão 1 do Flipstarter - Anyone-Can- Pay + plugin?

  • Mesmo: realiza o mesmo pagamento de garantia.

  • Melhor (muito melhor): os usuários podem pagar diretamente a um código QR com qualquer carteira comum. No entanto, as carteiras ainda não são inteligentes o suficiente para entender os parâmetros do contrato inteligente e mostrá-los ao usuário. O usuário precisa confiar que o endereço mostrado por uma campanha está fazendo o que ele espera.

  • Melhor: as promessas não são revogáveis ​​até que a campanha expire.

  • Pior: A solução do contrato requer uma complexidade extra significativa da implementação devido à falta de infraestrutura para criar, financiar e resgatar contratos.

  • Pior: uma transação com quem pode pagar pode lidar com mais de 500 promessas. Devido ao limite no tamanho da transação única (100 mil bytes para não-mineiros) + no tamanho grande do contrato inteligente, um único pagamento de garantia com esses contratos pode lidar apenas com 100 a 200 promessas.

A complexidade pode ser tratada com tempo e investimento.

O número limitado de compromissos é um problema devido ao compromisso mínimo efetivo. Por exemplo, para uma campanha de US $ 100.000, como a atual campanha de Cash Fusion da bitcoin.com, a promessa mínima efetiva é de US $ 1.000. Embora isso reflita a realidade - que grandes contribuições criam a grande maioria do valor de uma campanha, não é bom para o engajamento e oferece a todos a chance de colocar a pele no jogo.

Promessas limitadas podem ser resolvidas com duas técnicas:

  1. Contratos mais sofisticados, que discutirei em artigos futuros.

  2. Evitando o problema mínimo usando camadas como sites comuns de financiamento coletivo. Então temos uma imagem mais razoável.

Conclusão - são necessários tempo e recursos para estabelecer uma solução inteligente de contrato

As três coisas necessárias para o Flipstarter implementar essa solução simples de p2sh são:

  1. Revisão por pares da correção e segurança do contrato.

  2. Infraestrutura para criação, financiamento e rastreamento de contratos inteligentes do Flipstarter.

  3. Implementação de camadas fixas em vez de permitir que as pessoas se comprometam com o valor que quiserem entre mínimo e máximo.

Esta é uma campanha que poderíamos criar para o próprio Flipstarter para financiar esse desenvolvimento.


Imagem principal por qimono por Pixabay


1
$ 0.50
$ 0.50 from @emergent_reasons
Sponsors of phabulu
empty
empty
empty
Avatar for phabulu
4 years ago

Comments