Professional Documents
Culture Documents
17a Semcomp
17a Semcomp
1 / 22
Bitcoin
Requisitos
**
17a Semcomp
2 / 22
Bitcoin
Equao: y2 = x3 + 7
Definida no corpo de Galois Z2256 232 29 28 27 26 24 1
Assustou? Segure-se na cadeira e voc poder
ganhar o equivalente a R$40 em bitcoins!
Blockchain
**
**
**
17a Semcomp
3 / 22
Bitcoin
17a Semcomp
4 / 22
Bitcoin
P { 2.08707 , - 4.01136 }
= x
+ 0x + 7
Q { 0.0870688
P { - 1.71293 , 1.405 }
, - 2.64588 }
= x
+ 0x + 7
curve : y
Q { 1.48707 , - 3.20756 }
= x
P { 2.08707 , - 4.01136 }
P + Q { 2.30357 , 4.3845 }
+ 0x + 7
Q { 2.08707 , - 4.01136 }
P + Q { - 1.52108 , - 1.86567 }
P + Q { - 1.708 , 1.42031 }
P + Q
4
2
2
P + Q
2P
-2
-2
-2
Q
P
-4
-2
-4
P = Q
-4
-2
-2
17a Semcomp
5 / 22
Bitcoin
e ry = s (px rx ) py
onde
s=
py qy
px q x
e ry = s (px rx ) py
onde s =
3p2x + a
2py
17a Semcomp
6 / 22
Bitcoin
Corpo de Galois
**
***
17a Semcomp
7 / 22
Bitcoin
Curva discreta
17a Semcomp
8 / 22
Bitcoin
Propriedades interessantes
17a Semcomp
9 / 22
Bitcoin
17a Semcomp
10 / 22
Bitcoin
e + dA rx
k
mod n
(e + rx dA ) G =
e + dA rx
k
(e + rx dA ) G = k G = R
17a Semcomp
11 / 22
Bitcoin
17a Semcomp
12 / 22
Bitcoin
O que um hash?
17a Semcomp
13 / 22
Bitcoin
712.836.511-73
+ 221.152.476-12
---------------933.988.987-85
297.173.619-91
+ 768.172.923-28
---------------944.235.431-09
onde:
(8 + 7) mod 11 = 4
(7 + 8) mod 11 = 4
onde:
(7 + 1) mod 11 = 8
(3 + 2) mod 11 = 5
onde:
(9 + 2) mod 11 = 10
(1 + 8) mod 11 = 9
Uma funo hash H segura jamais poderia ter essa propriedade. Uma
pequena mudana na entrada deve corresponder a uma grande
mudana na sada. A sada deve parecer aleatria caso a entrada no
seja conhecida. Mais que isso obviamente existem hashs repetidos
para certos pares de entradas M1 , M2 , pois a entrada tem geralmente
muito mais bits que a sada, mas nenhum destes pares deve ser
conhecido, ou seja, H(M1 ) , H(M2 ) para M1 , M2 para todo hash j
calculado no mundo.
Paulo Matias (IFSC-USP)
17a Semcomp
14 / 22
Bitcoin
*
*
Transaes
Transaction
Owner 1's
Public key
Transaction
Owner 2's
Public key
Hash
Owner 3's
Public key
Hash
Ver
i
fy
Owner 0's
Signature
Hash
Ver
i
fy
Owner 1's
Signature
gn
gn
Si
Owner 1's
Private Key
Owner 2's
Signature
Si
Owner 2's
Private Key
Owner 3's
Private Key
17a Semcomp
15 / 22
Bitcoin
Transaes
Lista de entradas:
**
**
**
Lista de sadas:
**
**
17a Semcomp
16 / 22
Bitcoin
Transaes
17a Semcomp
17 / 22
Bitcoin
Blockchain
17a Semcomp
18 / 22
Bitcoin
Blockchain
17a Semcomp
19 / 22
Bitcoin
*
*
Para ser vlido, o valor numrico do hash do bloco deve ser menor
que um limiar de esforo ajustado a cada 2016 blocos ( 14 dias).
Existe um campo livre no bloco (nonce) que pode ser
modificado para alterar o hash final.
17a Semcomp
20 / 22
Bitcoin
Lio de casa
17a Semcomp
21 / 22
Bitcoin
Concluso
17a Semcomp
22 / 22