Algumas grandes questões pairam no ar do Bitcoin Cash no momento. Algumas delas são sobre o financiamento voluntário dos comuns.
Funcionaria na escala que precisamos?
Pode ser consistente o bastante para suportar planos de longo prazo?
É possível ter prestação de contas adequada com um grupo distribuído de apoiadores?
Um grupo de voluntários se reuniu para criar Flipstarter e nos ajudar a dar um passo na direção de responder "sim" a todas essas perguntas. Pretendemos testar e lançar tudo que descreveremos abaixo nas próximas semanas.
Objetivo 1: Financiar uma única proposta usando um contrato de garantia, não-custodial e independente de confiança em terceiros
Firmamos uma parceria com o EatBCH e iremos publicar juntamente com eles uma proposta de pequeno porte, que incluirá:
Seu método de prestação de contas
A quantia que eles precisam
Então, você poderá decidir se quer ou não apoiá-los. A diferença principal de uma doação comum é que você poderá se valer de um contrato de garantia. Pegando emprestado da Wikipedia:
Um contrato de garantia [...] é um mecanismo da teoria de jogos e uma tecnologia financeira que facilita a criação voluntária de bens públicos e bens de clube em face a problemas de ação coletiva como a clandestinidade.
De maneira vinculativa, membros de um grupo se comprometem a contribuir para uma ação A se uma quantia alvo for atingida (talvez até uma data de validade) [...]. Nesse caso, a ação é realizada e o bem público é produzido; caso contrário, as partes não estão obrigadas a levar a ação a termo e quaisquer contribuições monetárias são estornadas.
Com Bitcoin Cash há várias formas de realizar um contrato de garantia e iremos abordá-las abaixo.
Objetivo 2: Engajar pelo menos as comunidades de língua Chinesa e Inglesa
Como parte de um esforço generalizado de aumentar a comunicação entre comunidades normalmente isoladas, todo conteúdo do projeto será publicado, no mínimo, em inglês e chinês. Se você gostaria de contribuir traduções técnicas de alta qualidade em outros idiomas, por favor entre em contato conosco.
Como funciona: contratos de garantia no Bitcoin Cash
Alguns podem se lembrar do projeto Lighthouse. Essa primeira etapa do Flipstarter é basicamente o Lighthouse porém reduzido à sua principal característica. Esta é uma antiga funcionalidade de transações chamada "AnyoneCanPay" (N.do.T: Qualquer Um Pode Pagar).
A idéia é que, numa transação padrão, você assina digitalmente para aprovar:
Todas as saídas
Todas as entradas
Com AnyoneCanPay, você assina parcialmente uma transação para aprovar:
Todas as saídas
Apenas as suas entradas
Em outras palavras, desde que todos concordem com o total das saídas, qualquer um pode ajudar a pagar, e tudo acontece sem necessitar confiança em terceiros.
Experiência do usuário
A situação atual das carteiras é que todas suportam principalmente transações padrão, como as descritas acima. O arranjo AnyoneCanPay não é suportado por nenhuma carteira popular. O cliente Lighthouse processava isso porém ele também tinha seus problemas e acabou sendo esquecido em meio ao crescente debate em torno do tamanho máximo dos blocos que ocorria.
Logo, precisamos criar uma forma para que pessoas participem de contratos de garantia. Consideramos muitas opções que serão descritas em breve, e para a primeira versão decidimos por um plugin para o Electron Cash. A experiência será a seguinte:
Instale um plugin para o Electron Cash.
Ache uma proposta no site do Flipstarter e decida o valor da sua contribuição.
Copie um campo de texto do site e cole no plugin para Electron Cash. O texto contém a informação necessária para criar sua contribuição.
O plugin retorna um resultado que você deve copiar e colar de volta no site. Ele contém sua contribuição na forma de uma transação parcial, assinada. Note que quando o plugin cria uma moeda para sua contribuição ela é congelada, de forma que você não a gaste acidentalmente. Você pode descongelá-la manualmente a qualquer momento.
O site coleta e monitora contribuições até que ele tenha o suficiente para construir a transação completa.
O site finaliza o contrato de garantia, e efetua o pagamento para o endereço do beneficiário.
Se a campanha não consegue contribuições suficientes, então todos podem descongelar suas moedas e utilizá-las normalmente. Ou seja, a moeda não sai do Electron Cash até que a campanha seja totalmente bem sucedida.
Parece um pouco desajeitado, mas esse processo é seguro, não requer custódia, tampouco que o usuário retire suas moedas do Electron Cash e nos permite ter algo em funcionamento mesmo com tempo e recursos limitados.
Outras opções que consideramos:
Usuários pagam para um código QR gerado por uma página web temporária capaz de criar uma contribuição AnyoneCanPay.
Prós: Experiência do usuário fácil mesmo com carteiras comuns.
Contras: Risco real de perda de fundos se o código tiver bugs, ou se o usuário cometer erros.
Utilizar um smart contract onde doações são feitas a uma série de contratos que se comunicam entre si (design de @TobiasRuck).
Prós: Experiência do usuário fácil mesmo com carteiras comuns.
Contras: Complexidade que atrasaria o lançamento da primeira campanha, e usuários teriam que esperar na fila para que contribuições anteriores fossem completadas antes que pudessem fazer as suas.
Usar um smart contract onde doações sãofeitas numa árvore distribuída de contratos (design em construção de emergent_reasons#100🌵).
Prós: Experiência do usuário fácil mesmo com carteiras comuns.
Contras: Complexidade que atrasaria o lançamento da primeira campanha.
Se você souber de uma solução sem custódia, que não precise de confiança em terceiros e com uma experiência de usuário melhor que as acima, por favor entre em contato conosco.
O futuro
Há uma longa lista do que podemos aperfeiçoar após os primeiros objetivos serem alcançados. Voluntários continuarão a construir, e há a oportunidade de uma equipe com fins lucrativos desenvolvê-la até ter uma plataforma completa. O que quer que aconteça, estamos criando a primeira versão para que qualquer um possa fazer sua cópia e realizar sua própria campanha.
Como participar
Em breve teremos alguns testes em privado antes da campanha oficial do EatBCH. Se quiser participar, por favor entre em contato conosco.
Nós temos os talentos para finalizar nossa lista de tarefas mas há quase uma infinidade a ser feito após a primeira versão, se você estiver disposto a manter o código e apresentar um bom plano.
Os repositórios atuais estão num grupo do Gitlab do Flipstarter. Partes ainda não estão visíveis pois estamos limpando o código-fonte.
Agradecimentos
Um gigantesco obrigado para o grupo de voluntários trazendo o Flipstarter para a realidade. Agradecimentos especiais para aqueles fazendo o levantamento pesado:
@Dagur (plugin do Electron Cash)
Jonathan#100☯ (design do frontend, backend e implementação em nodejs)
@Leandro_DiMarco (Logo, designs, diagramas)
@Sploit (Implementação do backend em Golang)
Quaisquer gorjetas do read.cash serão enviadas para o endereço multisig do Flipstarter co-assinado por emergent_reasons e im_uname.
Contato
telegram @Leandrodimarco
telegram @Marcocosta