Anda di halaman 1dari 4

 

  

Projeto Libertatem 
11/11/2018 
─ 

Márcio Inácio Santana 


Tarik Santiago Esmin 
Universidade Federal de Lavras  

 

 

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. 

Requisitos funcionais essenciais 


[RF01] Gerar chaves: 
O  sistema  deve  permitir  que  um  usuário  executando  um  nó  da  rede  gere  um  par  chaves, 
sendo  elas  a chave de verificação(pública) e a chave de assinatura(privada). A chave pública 
funcionará  como  forma  de  referenciar  o  usuário  na  rede  sem  revelar  sua  identidade  bem 
como  verificar  a  autenticidade  de  uma  de  uma transação assinada digitalmente, enquanto 
a chave privada será utilizada para assinar digitalmente as transações realizadas por ele. 
 
[RF02] Enviar moedas: 

 

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. 

Requisitos não funcionais essenciais 


[NF01] Intervalo de adição de bloco: 
Um novo bloco deve ser adicionado na rede, quando houver pelo menos uma transação 
nele, em média a cada um minuto. 
 
[NF02] Consenso/Segurança: 
Um  novo  bloco  deve  ser  adicionado  à  blockchain(Registro  cronológico  global  de 
transações)  apenas  se  ele  tiver  “obtido consenso” de pelo menos 50% dos nós de que ele é 
válido. 
 

 

Arquitetura simplificada da rede 


 

 
 
 

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 

Anda mungkin juga menyukai