Fala pessoal..
Eu desenvolvi a algum tempo atrás um sistema para arrecadar fundos em Reais, só que por motivos administrativos da equipe, que não se entendia mais veio a ser retirado do ar. Mas como eu sou o dono da plataforma, estou querendo agora migrar esta ferramenta para trabalhar com bitcoins, só que surgiu várias dúvidas e venho aqui compartilhar com vocês pra ver se podem me ajudar.
O sistema está todo pronto e funcional, porém preciso alterar todos os tipos de transações e fazer integração ao blockchain para poder usar com bitcoin.
Não é mineração e nem passa pela minha cabeça ser SCAM. Quero que seja algo legal legitimado, como um faucet site por exemplo, onde o cara entra e e ganha seus bitcoins e fica feliz. Não quero receber bitcoin de ninguém, apenas um pequeno lucro em cima das transações feitas. Quando trabalhávamos com R$ todos os participantes foram beneficiados. E acredito que também funcione no bitcoin. Mas enfim, aos poucos vou passando mais informações específicas do projeto, quero apenas conseguir uma forma de acertar essas transações com o blockchain..
Mas vamos lá a algumas das dúvidas..
1º. Vocês aconselham que eu armazene os bitcoins do pessoal nas carteiras do sistema? Ou é melhor, a cada transação, mandar os bitcoins para as carteiras de cada participante (isso que pretendo - não quero guardar bitcoin de ninguém)?
2º. O que vocês aconselham para transferência dos bitcoins transacionados? Recomendam o uso da API do próprio blockchain? Ou conhece algum outro serviço que seja legal e funcional? Essa forma atenderia o exemplo citado na pergunta
3º.?
3º. A cada transação feita, deverá ser paga uma taxa de administração para o sistema, ou seja, numa transferência pretendo tirar, por exemplo, do valor enviado 15% para pagar fees e a taxa de administração; 05% de fees e 10% enviar para as carteiras could do sistema e os outros 85% seriam enviados ao destinatário especificado pelo sistema, resumindo, consigo fazer uma única transação com a API do blockchain e/ou outra conhecida, enviar valor específico pra mais de uma carteira? Sem que o usuário tenha que fazer mais de uma transação?
Vamos a um exemplo, onde M1 e M2 são dois membros do sistema, então temos:
• M1 deve enviar
BTC 0.00050000 BTC para M2
* carteira |---> 85% =
BTC 0.00042500 (carteira pessoal do M2)
* fee |---> 05% =
BTC 0,00002500 (taxa do blockchain)
* sistema |---> 10% =
BTC 0.00005000 (carteira could do sistema)
Obs.: 1. Acredito que dessa forma eu teria que receber os bitcoins, tratar e destinar corretamente. 2. Esses percentuais não são os oficiais, ainda estou definindo-os.
Alguém tem alguém tem alguma sugestão de como posso fazer?
4º. O que vocês indicam como forma de segurança? Tanto para as carteiras como pro próprio sistema que está desenvolvido em php.
5º. Quais cuidados devo tomar para meu sistema não ser considerado um SCAM e não ser recriminado na comunidade?
Bom, é mais o menos isso, gostaria de algumas sugestões de vocês, principalmente quanto aos tópicos acima, e caso alguém tenha interesse falem que agente mantém contato por aqui, sem mais agradeço a atenção de todos.
Moderadores, criei novo post porque não encontrei os assuntos pretendidos nos tópicos anteriores.. Obrigado.Tentando dar uma luz nas dúvidas:
1- Tudo vai depender da natureza do sistema. Você sempre precisa manter o suficiente para seu sistema funcionar, mas pouco o suficiente para não ser visado pro hackers. Calcule o minimo necessário para que o sistema opere e tente manter apenas esse valor na carteira do proprio sistema, o resto, transfira direto para uma carteira fria (offline) ou para a carteira dos participantes. Só tome cuidado, transações de valores muito pequenos irão gerar taxa muito altas. Pode ser útil aguardar que um valor mínimo seja acumulado antes de efetuar um pagamento. Se for possível, dê essa opção ao usuário, que ele configure o valor da transferencia, com um limite minimo e outro maximo, dimensionados para balancear esses dois fatores: grande o suficiente para as taxas não serem caras demais, mas baratos o suficiente para não gerarem riscos para sua carteira. Sugir um valor minimo de 0.001 BTC e um máximo de 0.5 BTC. Mas isso vai depender do serviço que pretende prestar e da expectativa de velocidade de retorno por parte dos seus usuários.
2 - Tudo depende dos valores que pretende transacionar, da sua necessidade de segurança e da capacidade da sua equipe de segurança. A melhor solução é sempre rodar uma carteira local. (bitcoin-core ou electrum seriam duas boas opções que permitem acesso via script php). A API do blockchain tem limites de uso, e fica fora do ar com frequencia. Além de não ter um bom histórico de segurança. Existem outras carteiras mais seguras como a bitgo ou a coinbase que podem ser melhores, dependendo do volume do negócio.
3- Aconselho a usar valores fixos para as taxas de transação, e não valores percentuais. Assim, uma transação de 100 BTC ou uma transação de 0.005 BTC irão gerar os mesmos 0.00005 BTC de taxa, e serem processadas com a mesma presteza pelos mineradores. Não aconselho a usar valores abaixo de 0.0005 BTC. o valor do sistema pode ser mantido como percentual, já que é uma remuneração pelo uso do serviço.
4- segurança, em especial de sistema que envolvem dinheiro, não é para amadores. Contrate uma consultoria profissional ou mantenha valores sempre extremamente baixos no seu sistema. Usar sempre sistemas de código aberto, e publicar o código do seu sistema no github também, ajudam a ter as falhas de segurança auditadas por terceiros. Mais do que isso não poderia dizer sem saber da natureza do sistema. De qualquer forma, boas práticas de programação segura e de segurança de redes sempre são bem vindas. Esse documento da OWASP é uma boa base para isso: file:///C:/Users/joao.ferreira/Downloads/OWASP_Top_10_-_2013_Brazilian_Portuguese.pdf
5- Não faça propaganda antecipada, não faça promessas vagas, não ofenda ou ironize as criticas. Tente não ignorar nenhuma critica que seja pertinente, e tente não desmerecer as criticas que você considera não serem pertinentes, afinal, elas podem ser pertinentes para outro grupo de pessoas. Certifique-se que seu produto não se assemelha nem pode ser usado por terceiros como uma forma de ponzi ou pirâmide. Não faça propaganda enganosa, nem prometa o que não pode cumprir. Evite segredos e não faça afirmações que não possam ser comprovadas. atente para que seu produto não prejudique os usuários, memso que de forma acidental. E por ultimo, certifique-se que sue produto atenda à legislação brasileira ou portuguesa, dependendo do seu publico alvo.