Conheça as curvas matemáticas que mantém o Bitcoin seguro

Todos gostam de matemática, certo? Bem, talvez não, mas é inegável que a ciência dos números tem papel importantíssimo no nosso mundo, e com o Bitcoin não é diferente. 

Realmente não é necessário entender de aerodinâmica para viajar em um avião, ou mesmo compreender o funcionamento do chip de cartão de crédito para usá-lo. 

Mas se você está interessado em compreender mais sobre matemática por trás do ouro da internet, continue comigo que eu vou te mostrar de maneira simples as belas curvas que protegem as suas chaves privadas.

A criptografia

Todos nós gostamos de privacidade, não porque temos algo para esconder, mas sim porque a privacidade é o estado natural do ser humano. Todo mundo fecha a porta do banheiro durante o banho pois isso é o óbvio a se fazer. Similarmente, o Bitcoin foi um grande avanço para a privacidade financeira individual.

Criptografar uma mensagem consiste em esconder ou embaralhar uma mensagem ou informação de modo que a ela só seja visível para aqueles que possuam a chave de descriptografia.

Durante toda a história, diversas técnicas para se embaralhar mensagens foram utilizadas, desde as mais básicas, como a Cifra de César, até a robusta, porém simples, Criptografia de Curva Elíptica (CCE) que protege o Bitcoin, Ether e outras criptomoedas.

SHA 256 e as curvas elípticas

O SHA256 é uma função de hash implementada pela Agência de Segurança Nacional dos EUA, utilizada para encriptar um dado digital em um código de 256 bits. Esse código é uma espécie de assinatura digital desse dado. No site SHA256 Online você pode converter qualquer entrada de dados uma uma saída criptografada.

O mais importante disso é que o SHA256 é um protocolo de chave assimétrica, com isso você pode facilmente converter uma entrada de dados em uma saída criptografada, porém é absurdamente difícil realizar a operação contrária, e é por conta desta propriedade que a sua chave privada se mantém segura.

Por conta dessa característica, você pode converter a sua chave pública na sua chave privada, mas o contrário não pode ser feito. Já imaginou se você pudesse encontrar a chave privada da misteriosa carteira com 1 milhão de bitcoins a partir da chave pública?

O SHA256 é uma implementação da criptografia de curvas elípticas, que por sua vez, são funções matemáticas definidas pela expressão y^2=x^3+b.

Signal >> Blog >> A curve by any other name

Ao alterar os valores para a variável ‘b’, infinitas formas emergem nos gráficos, qualquer um pode brincar de gerar essas funções em softwares como o Geogebra, basta plotar a função descrita acima e se divertir.

Dentre essas infinitas possibilidades, Satoshi Nakamoto teve que escolher uma delas, e ele optou pela função y^2=x^3+7, conhecida como secp256k1. Mas por que não 8? 10? 100? Por que 7? Satoshi pode te explicar melhor:

“Não encontrei nada que recomendasse um tipo de curva, então apenas … escolhi um.”

Talvez porque 7 é fator de 21? Satoshi era realmente um sujeito de manias estranhas.

Sim, é essa princesa que mantém o Bitcoin seguro, mas como? Diversas técnicas de criptografia computacional utilizam-se de um fator numérico que não pode ser facilmente calculado. Muitos algoritmos ainda utilizam a multiplicação de dois números primos para formarem um terceiro número. Como é relativamente difícil fatorar primos, o ataque por força bruta pode se tornar inviável.

Com o desenvolvimento da computação, a fatoração de primos se tornou uma tarefa trivial, isso se você possuir uma máquina potente o suficiente, logo surgiu-se a necessidade de um problema matemático ainda mais difícil que o produto de dois primos. E é aí que entra o secp256k1.

A equação utilizada para gerar a chave do protocolo é a equação R=P+Q. Onde P e Q são a interseção de uma reta posicionada aleatoriamente no gráfico da função. R é o valor espelhado de -R que é o terceiro ponto de interseção da função. Se você possui conhecimento avançado em matemática e deseja saber mais sobre o assunto,  demonstração dessa equação pode ser encontrado no artigo Introduction to elliptic curves.

Além disso, a função secp256k1 não está definida para os números naturais (1, 2, 3…), mas sim para os corpos de Galois em um subconjunto de 256 inteiros, e isso faz com que o X da função esteja contido em: X ∈ ( 0 < Z < 1.1579209e+77), um valor bem alto que permite a criação de muitas chaves privadas.

Dessa maneira a matemática e a criptografia permitem o pleno funcionamento do do Bitcoin. Portanto, a criptomoeda não foi  desenvolvida em alguns anos como muitos imaginam, mas ela deriva de séculos de conhecimento matemático aculmulados até a era moderna. 

Leia mais: É possível um ataque de força bruta no Bitcoin?

The post Conheça as curvas matemáticas que mantém o Bitcoin seguro appeared first on Cointimes.


Conheça as curvas matemáticas que mantém o Bitcoin seguro posted first on cointimes

Comentários

Postagens mais visitadas deste blog

“Uber” descentralizado ganha espaço na Califórnia