Solucionado (ver solução)
Solucionado
(ver solução)
9
respostas

Blockchain - Confidencialidade

Olá, estou fazendo o curso de Blockchain e gostaria de saber um pouco mais sobre a questão que envolve a confidencialidade das transações realizadas utilizando-se dessa tecnologia. Entendo que cada pessoa teria uma espécie de chave e ao realizar uma transação a rede validava que essa transação por essa chave é válida ou não, guardando-a no registro de históricos da rede. Mas qual a confidencialidade que temos na relação usuário-chave? Como rastrear o que uma pessoa fez?

9 respostas
solução!

Herbert,

O usuário tem duas chaves, a chave pública (que você pode usar como paralelo agência e conta do banco) e a chave privada (a senha do banco). Apenas o usuário tem acesso a chave privada. Caso alguma outra pessoa pegue esta chave privada, seria equivalente a você anotar a sua senha e deixar fácil pra alguém usar.

Só podemos rastrear que um usuário fez, na blockchain. Se por acaso o usuário disser que não fez uma transação e mesmo assim ela ocorreu, não tem como voltar atrás (vide o fork da Blockchain do Ethereum devido a um bug).

Esta é a beleza da Blockchain, está totalmente livre de intermediários e por isso requer responsabilidade de todos os usuários. Se vocẽ neglicenciar sua chave privada, a responsabilidade é apenas sua.

Apenas para te tranquilizar, as carteiras de criptomoedas são bastante seguras. Pesquise sobre hot wallets e cold wallets.

Sim, mas como preservar a confidencialidade. Por exemplo. Se eu fizer uma transação baseada em blockchain, como garantir que outras pessoas não saibam que fui eu que fiz?

A resposta curta é, sim. É possível que uma transação seja feita e não saibam que foi você.

Algumas blockchains de criptos como Verge(XVG) e Monero(XMR) são garantem total privacidade. Na blockchain do bitcoin, é recomendado que cada transação tenha um endereço diferente. Este endereço é gerado baseado em um hash da public key , então isso faz com que o seu endereço (a sua conta/agência) nunca seja passe pela blockchain. Consequentemente, não saibam que foi você que fez a transação.

Exatamente o que João falou :). No nosso curso, até explico que estamos usando o hash baseado numa parte da chave privada do usuário. Uso a privada pq é a que o usuário usa na hora de dar o voto para o candidato e também porque estamos em um ambiente controlado.

Perceba que usamos a mesma parte de geração de endereço para associar com a informação que estamos salvando.

Quando falamos de chave pública e privada, associo diretamente a certificados digitais. O raciocínio é o mesmo certo? Ainda não entendi como garantir a confidencialidade e ao mesmo tempo a propriedade da transação no blockchain. Nas aplicações, como a da eleição por exemplo, cada uma deve ter um registro dos participantes certo? no exemplo, cadastro do eleitor. A partir daí a aplicação faz as transações baseadas em um rash público protegendo as informações do cadastro do participante certo? Como rastrear quem fez o que? Isso em relação ao cadastro de eleitor por exemplo, ou rastrearíamos apenas as chaves que realizaram as transações? Obrigado pela paciência....

Opa, acho que entendi melhor agora. No caso da votação vc já matou, só sabemos as chaves que executaram as transações, mas não ligamos essas as chaves a nenhum identificador do mundo real, um e-mail por exemplo.

Mas isso é uma decisão da aplicacao :). Se a sua aplicação quiser deixar cadastrado que tal chave é de tal e-mail, pode também. Manter a confidencialidade das transações é uma decisão de negócio, para o Bitcoin foi um requisito, não quer que toda aplicação vai precisar.

Obrigado Alberto. Então é correto afirmar que caso a aplicação não faça uma relação que permita essa identificação, as transações serão todas feitas a partir de nossa chave pública, ficando impossível de se identificar quem fez o que certo? Será possível identificar qual chave pública fez o que. Interessante isso, essa é base para um uso ruim dessa tecnologia onde transações (no caso do bitcoin, dinheiro) podem ser movimentadas na rede sem que seus autores possam ser identificados não é? É impossível por exemplo a partir de uma ordem judicial, saber quem comprou uma determinada qtde de bitcoins por exemplo. Se a pessoa que fez a transação quiser se manter no anonimato, nunca ninguém saberá que foi ela. Fique tranquilo, minhas perguntas são nesse sentido pois além de Ti questiono sempre questões legais e penso em perícias que poderiam ser realizadas ok? Muito obrigado pela atenção.

Herbert,

quando tiver um tempo, dá uma olhada neste projeto originalmy. Ele tem a ideia de garantir a autenticidade, poderia facilmente ser usado para votações. Além disso, a Estônia está implementando um sistema de i-voting, tudo baseado no Id único dos cidadãos estonienses (ou estonianos, sei lá hahahah). Escuta esse episódio do hipsters.tech que fala um pouco sobre como funciona esse sistema na Estonia.

Valeu João e Alberto. Obrigado. Vou ler as indicações. Obrigado.