Projeto Libertatem
11/11/2018
─
1
Visão geral
Uma versão de dinheiro eletrônico puramente ponto-a-ponto permitiria que
pagamentos online fossem enviados diretamente de uma pessoa para outra sem a
necessidade de passar por uma instituição financeira, como bancos, por exemplo. Garantir
a autenticidade e evitar o problema do “gasto duplo” são dois desafios que precisam ser
enfrentados para se criar um sistema em que uma moeda digital possa circular de maneira
descentralizada.
Propomos um sistema P2P descentralizado baseado em assinaturas digitais
associadas à tecnologia blockchain para criar uma moeda digital que seja imune aos
problemas mencionados anteriormente e possa ser utilizada por qualquer indivíduo
executando um nó da rede.
Objetivos
Construir uma moeda digital com as seguintes características:
1. Descentralizada(Não necessita de confiança em intermediários para ser emitida,
circular, ou ter transações validadas).
2. Garanta a autenticidade de uma transação;
3. Possua elevado nível de invulnerabilidade a ataques;
4. Permita a consulta e verificação do histórico de transações ocorridas por parte de
qualquer interessado a qualquer tempo.
O sistema deve permitir que um usuário da rede envie moedas digitais para outro usuário,
indicando a chave pública do usuário de destino e assinando a transação com sua chave
privada.
[RF03] Receber moedas:
O sistema deve permitir que um usuário da rede receba moedas de outro usuário da
mesma, para isso é necessário que ambos tenham gerados seus pares chaves, as chaves
públicas identificam remetente e destinatário da transação enquanto as chaves privadas
permitem assinar digitalmente as transações.
[RF04] Validar transação:
O sistema deve permitir que qualquer usuário executando um nó da rede, que deseje
fazê-lo, possa verificar a autoria e a validade de uma transação. A autoria é verificada
utilizando-se a chave pública do remetente de uma transação bem como a transação em si
e a assinatura da mesma enquanto a validade é verificada através da comparação do saldo
do destinatário e o valor enviado.
[RF05] Minerar(validar) um bloco de transações:
O sistema deve permitir que qualquer usuário executando um nó da rede, que deseje
fazê-lo, possa adicionar um bloco de transações ao registro global de transações da rede
chamado de blockchain, para isso deve ser encontrada uma prova de trabalho que
comprove que o nó tem direito a adicionar esse bloco á blockchain.
Desafios técnicos
I. Utilização de tecnologias de assinaturas digitais
II. Utilização de protocolos de comunicação em redes P2P
III. Utilização de funções hash criptográficas
IV. Possível utilização de árvores Merkle