
Spanish: 
Quien genera el "nonce"?
Si mi pool es el que genera el numero aleatorio..
como es que es protegido de que lo sepamos?
Que hace el al numero aleatorio este que sea "tamper-proof"?
Toda la red contribuye al numero aleatorio?
Bien..
El "nonce", el numero aleatorio..
es..
calculado independientemente..
miles de miles de miles de millones de veces por segundo..
por cada sistema de hardware de mineria..
Asi que, cuando un minero..
esta minando..
lo que están haciendo esencialmente es coordinar a través de una red..
un numero muy grande de computadoras de minado..
y estas computadoras de minado estan..
calculando miles de millones de "nonces" por segundo..
Y..
por cierto, no hay nada manual en esto..
cuando decimos "un minero esta minando"..
"un nonce se esta calculando"..
no hay nadie ahi sentado haciendo un calculo..

English: 
"Who generates the nonce?"
"If my pool generates the random number, 
how is it protected from us knowing it?"
"What makes that random number tamper-proof?"
"Does the whole network
contribute to the random number?"
All right. The nonce, the random number, is calculated
independently, billions of times per second by each...
mining hardware system.
When [someone] is mining, they are coordinating with
a very large number of computers over a network.
These mining computers calculate billions of nonces per
second. There is nothing manual about this, by the way.
When we say "a miner" or "mining," when a nonce is
being calculated, there is no one sitting [at a table]...

English: 
doing a calculation, validating transactions, and
checking a proof [on paper or a computer interface].
These are completely automated operations; computers
calculate billions of [possible] nonces per second.
What is the purpose of the nonce?
The nonce is simply a very large random number.
The space for nonce values is 32 bits, which means
there are 4 billion possible combinations;
there is also some extra space in the block's
[the coinbase script] which is called "extra nonce."
Extra nonce allows you to expand the 
[nonce space] to much more than 32 bits.
[Miners generate] many billion billions of combinations.
You may hear me say "billion billion" again in this [video],
because these numbers are truly very large.

Spanish: 
o validando transacciones, o haciendo click en una prueba..
estas son operaciones completamente automaticas sin asistencia que ocurren..
donde las computadoras calculan..
miles de millones de nonces por segundo, asi que..
Cual es el proposito del "nonce"?
El "nonce" es simplemente un numero aleatorio..
Y..
es un numero aleatorio muy grande..
el espacio para el "nonce" es 32 bits..
lo que da 4 mil millones de posibles combinaciones..
pero tambien hay un espacio extra..
en el bloque..
que se llama "extra nonce", y el "extra nonce" te permite expandir eso..
a mucho mas que 32 bits..
asi que puedes intentar muchas muchas miles de millones de combinaciones..
y me van a escuchar decir "miles de millones y miles de millones" una y otra vez en esta charla..
por que estos numeros son verdaderamente muy grandes..
asi que el proposito del "nonce" es ponerlo al "block heather"..

English: 
The purpose of [iterating on] the nonce is to
[add it] to the block header in a specific [field],
and then calculate a new block header hash.
When you repeatedly hash the [other] block header
[fields] plus the nonce, you will get 256-bit numbers.
[Those] numbers must start with a lot of zeros.
If it doesn't [match with the threshold],
you try again with a different nonce.
[When mining], the only part of the
header you can change is the nonce.
So a miner will construct a block, putting [unconfirmed
transactions from the mempool inside the block],
putting other information into the
header such as the timestamp, etc.
Once they have the header, they [could] plug in
any nonce they want; let's say the number 1.
Then they calculate the header hash and 
[check] if it matches this special pattern,
which starts with a lot of zeros.

Spanish: 
en la ubicacion especifica dentro del bloque que es para el nonce..
y luego calcular un nuevo hash del "block heather"..
y cuando pones la informacion del "heather" mas la del "nonce"..
en el algoritmo de hasheado..
obtendras un hash..
un numero saldra, es un numero de 256 bits..
ahora, ese numero tiene que empezar con un monton de ceros..
si no lo hace..
intentas de nuevo..
con otro "nonce"..
asi que la unica parte del heather que puedes modificar..
es el "nonce"..
Asi que cuando el minero esta minando, lo que esta haciendo es..
estan construyendo un bloque..
estan poniendo todas las transacciones..
y la otra informacion dentro del "heather"...
el "timestamp", etc etc..
y una vez que tienen ese "heather"..
ponen un "nonce"..
cualquier "nonce"..digamos..
el numero 1..
y..
luego calculan el hash del "heather"..
y miran a ver si concuerda...
con el patron especial, el cual es que comience con muchos ceros..
y las chances del mismo comenzando con 1 cero..

English: 
The chances of it starting with a zero [become] lower
the more zeroes you expect at beginning of the number.
Let's say you are just looking for one bit to be 0.
About half of the hashes you produce will have
a zero bit in the beginning; half will have a one bit.
If you want two zeros, that is a one-in-four chance.
If you want three zeros, a one-in-eight chance.
If you want four zero bits in the beginning, 
then that is a one-in-sixteen chance.
By the time you reach the [number of zeros] with
blocks mined today, you are looking at probabilities...
of about one-in-five septillion nonces
having that many zeros at the beginning.
How do you find one [such nonce] in five septillion
[iterations]? Well, you try a septillion hashes per second.

Spanish: 
van a reducirse mientras mas ceros se esperen encontrar en el comienzo del numero..
pero, al comienzo..
digamos que estas buscando por un bit que sea 0..
entonces aproximadamente la mitad de hashes que produzcas..
tendran 1 bit cero en el comienzo..
y la otra mitad de hashes tendran un 1..
Si quieres 2 ceros en el comienzo entonces es una chance de 1/4..
Si quieres 3 ceros al comienzo es una chance de 1/8..
Si quieres 4 ceros bits al comienzo entonces es una chance de 1/16..
y para cuando llegues a los numeros en los bloques que vemos hoy..
estamos viendo a aproximadamente 1 en 5 septillones chances..
de que obtengas esa cantidad de ceros en el comienzo del bloque..
y como encuentras esa chance de 1 sobre varios septillones? Bueno..
Intentas septillones de veces por segundo..

Spanish: 
y haces eso intentando la mayor cantidad de nonces posibles con el heather que has construido..
Uno de los mineros..
va a tener suerte..
en uno de esos intentos..
van a encontrar..
un "nonce" que cuando se ponga en el bloque que han construido como candidato..
va a producir un heather que tiene esta cantidad..
de bits de ceros en el comienzo que concuerda con el patron..
concuerda con la dificultad requerida por la red..
ese es un bloque ganador, ese es un bloque valido..
Y tan pronto como encuentren eso, pueden luego..
anunciar este numero aleatorio..
Asi que el numero aleatorio no es..
"tamper-proof" no es secreto..
el pool de minero no elige este numero aleatorio..
cada maquina de mineria ahi fuere esta intentando..
miles de millones de estos numeros al azar..
cada segundo..
y desechan todos los resultados hasta que encuentrran un numero aleatorio ..

English: 
You try many possible nonces, [as fast as your hardware
can handle], with the header you have constructed.
One of the miners will be lucky in [each ten-minute
round] of those attempts and find a nonce that,
when fitted into the candidate block they 
have constructed, will produce a header...
that has [enough] zeros in the beginning to 
match the difficulty required by the network.
That is the winning valid block. As soon as they find it,
they can [propagate it to the rest of the network].
The random number isn't tamper-proof or secret.
The mining pool doesn't pick this random number.
Every mining machine out there is trying 
billions of these random numbers every second.

English: 
They will discard all the results until they find
one that produces a hash [with enough zeros].
"Is it possible to develop a mining 
algorithm for guessing the nonce,
which will fast-track solving
the [proof-of-work] challenge?"
"Could that be related to the recent 
shattering of the SHA-1 [hash algorithm]?"
That is an excellent question. Yes, it is possible to create
a shortcut that allows you to predict the nonce value...
that is required in order to produce
proof-of-work for a specific target.
That would involve breaking SHA-256.
The SHA-1 hash algorithm was recently
'SHAttered,' as the popular expression goes,
meaning SHA-1 has been compromised in 
such a way that you can create a collision.

Spanish: 
que produce un hash que tiene las propiedades especificas que comienza con un monton de ceros..
Pregunta: Es posible desarrollar un algoritmo para adivinar un "nonce"?
Lo que aceleraria la solucion del desafio del bitcoin por un minero?
Podria relacionarse eso al reciente quiebre de sha1?
Esa es una excelente pregunta..
De hecho, si, hay una posibilidad de crear un atajo..
que te permita predecir el valor ..
que se requiere en el "nonce" para producir el objetivo especifico de "proof-of-work"..
Eso involucraria romper..
o quebrar, sha256..
Sha1 fue recientemente quebrado..
como dice la expresion popular, lo que significa que..
el algoritmo criptografico sha1 ..
perdon, algoritmo de hasheado criptografico..
ha sido comprometido de tal manera..
que puedes crear una colision..
eso significa que puedes producir..

English: 
[A collision] is where you can produce [the 
same output hash value from two different inputs].
Producing [an identical fingerprint from two different
inputs], a hash collision as it is called, is a fatal flaw.
If you discover a fatal flaw in an algorithm, 
as it has been in SHA-1, then it is no longer...
a suitable cryptographic hash function to use...
for the purposes of fingerprinting 
documents, digital keys, or in SSL certificates.
The integrity of messages validated through
those cryptographic hash algorithms, like SHA-1,
can no longer be [trusted] for those purposes, 
because it has been fatally compromised.

Spanish: 
una pre-imagen especifica al algoritmo de hasheado criptografico..
que va a resultar ..
en un hash deseado..
como su output..
esa habilidad de producir un hash deseado desde una pre-imagen..
que es quizas identico a otro..
a la huella de otra pre-imagen..
una colision, como es llamada..
es una falla fatal..
y si descubres una falla fatal como fue descubierta en un algoritmo como sha1..
entonces ese algoritmo no sirve mas..
como algoritmo de hasheado criptografico..
no puedes utilizarlo para utilizar el "finger print" en documentos..
no puedes utilizarlo para, por ejemplo, "finger print" llaves digitales..
certificados, ssl, llaves criptograficas..
y la integridad de mensajes que son validados con ese algoritmo de hasheado criptografico..
y es por eso que sha1 no puede ser utilizado mas para esos propositos por que ha sido comprometido fatalmente..

Spanish: 
De todas maneras, la mineria de Bitcoin utiliza sha256..
sha256..
es enormemente mas complicado de comprometer..
asi que, todo algoritmo de hasheado criptografico tiene cierta vida util..
en promedio, unos 20-25 años hasta que ese algoritmo no pueda ser mas considerado seguro..
dependiendo del algoritmo criptografico, la vida util..
quizas sea mayor o menor, algunos tienen..
debilidades que son descubiertas..
lo que acortan la vida util..
lo hacen mas facil encontrar un atajo para comprometer ..
la mayoria de los algoritmos criptograficos estan basados en alguna funcion "trapdoor"..
una funcion matematica..
que no tiene atajos..
donde la cantidad de computo requerida..
para ir hacia una direccion vs la otra..
es inmenso..
y mientras no puedas encontrar un atajo..
ese algoritmo estara seguro..
a cierta cantidad de computo..

English: 
However, Bitcoin mining uses SHA-256, which
is much more complicated to compromise.
Every cryptographic algorithm has a certain shelf life;
on average, it is twenty to twenty-five years...
before it can no longer be considered secure.
Depending on the algorithm, the shelf life 
may be a bit more or less than that.
[When] weaknesses are discovered, that shortens
the shelf life and makes it easier to compromise.
Most cryptographic algorithms are based on a kind of
trapdoor mathematical function that has no short-cut,
where the amount of computation required to go one
way through the algorithm versus the opposite way...
is immense.

English: 
As long as you can't find shortcuts, that algorithm
is secure up to a certain amount of computation.
If there is no shortcut, SHA-256 will continue
to be secure for decades and decades longer.
If a short-cut is found, that doesn't [necessarily] mean
it is fatal and will invalidate [use of] the algorithm.
It may weaken it by a certain percentage; [maybe it
becomes] twice as easy to find a [specific] hash [value].
Maybe it becomes four times as easy. That will certainly
weaken the algorithm and shortened its shelf life.
As computing power [and capacity] continues
to develop, at some point it would be [inviable].
So far, no short-cut has been discovered in SHA-256. 
One of the reasons we know that is because of Bitcoin,

Spanish: 
Si no hay ningun atajo, sha256, continuara siendo seguro..
por decadas y decadas mas..
Si una vulnerabilidad es encontrada, o algun tipo de atajo, eso no significa que sea fatal..
no necesariamente invalida inmediatamente el algoritmo..
quizas lo debilite un cierto porcentaje..
quizas lo haga el doble de dificil..
perdon, el doble de facil..
encontrar el hash adecuado..
o quizas 4 veces mas facil encontrar el hash deseado, y eso ciertamente..
al debilitar el algoritmo..
le acorte la vida util, ya que a medida que el poder de computo continue desarrollandose..
eso significa que en algun punto sera viable..
romper el algoritmo esencialmente..
Hasta ahora no ha habido ningun atajo que haya sido descubierto para sha256..
y una de las razones que sabemos eso..
es por que Bitcoin representa..
esencialmente una piñata global gigante..
llena con 15 billones de dolares..

Spanish: 
que si explotas con el atajo correcto para sha256..
puedes romperla y colectar 15 billones de dolares, o..
puedes colectar algun porcentaje de eso, antes que el valor colapse catastroficamente..
al romperse la piñata..
Esencialmente, es un "honeypot" (pote de miel), bitcoin representa..
una prueba global..
que nos dice, que sha256 es seguro..
Como sabes que sha256 es seguro..?
Bitcoin esta valuado en 15 billones y nadie lo ha roto aun..
Ahora, en algun punto, quizas se vuelva obvio que sha256 no es mas seguro..
o esta llegando al final de su vida util, o encontramos nuevos vectores quizas en una decada..
o en un periodo de tiempo mas largo que lo hagan inseguro..
en ese punto..
Los desarrolladores de Bitcoin, en colaboracion con el resto de la comunidad..
tendran que trabajar para modificar el algoritmo de proof-of-work y reemplazarlo con un mas moderno..
algoritmo..

English: 
which represents a global [cryptographic] piñata stuffed
with $15 billion; if you bash SHA-25 with a short-cut,
you can break it open and collect some percentage
of that value before Bitcoin collapses catastrophically.
Essentially, it is a honeypot. Bitcoin is a global test
that tells us SHA-256 is still secure. How do you know?
Bitcoin is worth $15 billion. No one has cracked it yet.
At some point, it may become obvious that SHA-256
is no longer secure and reaching the end of its life,
or we find new [attack] vectors that may 
make it insecure in a decade or a longer.
[When that happens], the Bitcoin developers,
in collaboration with the rest of the community,
would need to modify the proof-of-work algorithm
and replace it with a more modern hash algorithm.

Spanish: 
y eso ciertamente seria algo muy grande ..
Asi que es asi como sabemos..
que no hay ningun atajo a sha256..
y si bitcoin estaria utilizando sha1..
Entonces, algun minerio ahi afuera, hoy..
podria haberlo roto..
y muy rapidamente todos los mineros ahi afuera podrian haberlo roto..
inutilizandolo como algoritmo de minado..
Es bitcoin un incentivo para el desarrollo de computadoras quanticas?
Me refiero, siendo una posible amenzada a la seguridad de la red, acaso esto no acelera la carrera hacia esto?
Piensas que los mineros si quiera piensan en esto? Muy buena pregunta..
Bitcoin es un pote de miel, es una recompensa a cualquiera que produzca cualquier tecnologia..
ya sea una colision a sha256 que hablabamos antes..
o que sea un atajo de computador cuantico al sha..
o a "ecdsa" (algoritmo de curva eliptica de firma difgital)..

English: 
Certainly, that would be a very big undertaking.
[Anyway], that is how we know there
is [currently] no shortcut to SHA-256.
If Bitcoin was using SHA-1 today, some miner out there
would have been able to break it very quickly.
At which point, it is no longer
useful as a mining algorithm.
"Is Bitcoin an incentive for the
development of the quantum computer?"
"Being a possible threat to the network's security,
doesn't this accelerate the race towards [building one]?"
"Do miners think about this at all?" Great question.
Effectively, Bitcoin is a honeypot. It provides a bounty
for anyone who produces [various types of attacks],
whether it is a SHA-256 collision that we were talking
about before, or a quantum computing short-cut to...
the elliptic curve digital signature algorithm.

Spanish: 
eso quizas resulta en poder comprometer algo o parte de Bitcoin, o debilitar Bitcoin..
Ciertamente eso provee un incentivo, asi que puedes pensar en Bitcoin como una prueba..
Bitcoin nos dice, sha256 es seguro, "ecdsa" es seguro, hoy...
De todas las amenazas, y como sabemos eso?
Por que continua manteniendo la seguridad sobre 15 billones de dolares..
asi que podemos asumir que estas tecnologias no han sido comprometidas aun..
Acelera el desarrollo de estas cosas?
Posiblemente, pero pienso que la mayoria de los desarrollos interesantes en la computacion cuantica..
puede entregar una mucho mas grande recompensa para aquellos que desarrollen estas tecnologias..
mas que los 15 billones de dolares adjuntados a ..
Bitcoin, la computacion cuantica tiene amplias aplicaciones..
Aun mas, la aplicacion de la computacion cuantica a Bitcoin es marginal en el mejor de los casos..
Primero que nada..

English: 
That may result in a compromise or 
weakening of some parts of Bitcoin.
Certainly that provides an incentive.
You can think of Bitcoin as a test.
Bitcoin tells us that SHA-256 is [currently] secure,
that ECDSA is [currently] secure, from these threats.
How do we know that? Because it continues
to maintain security with over $15 billion in value.
Therefore, we can assume that these 
[algorithms] have not been compromised yet.
Does Bitcoin accelerate their development? Probably.
Although, most of the really interesting developments...
in quantum computing can deliver a far greater
reward for those who develop them than $15 billion.
Quantum computing has very broad applications.
Furthermore, the application of quantum computing
to [attack] Bitcoin is [probably] marginal at best.

English: 
First of all, SHA-256 and cryptographic hash
algorithms like SHA are not particularly easy...
to optimize using quantum algorithms.
The elliptic curve digital signature algorithm (ECDSA)
and elliptic curve cryptography can be massively...
optimized with quantum computing.
In fact, quantum algorithms for doing elliptic curve
factoring do exist, and will allow someone to break...
elliptic curve cryptography eventually.
For now, the elliptic curves that we use are far
greater than any quantum computer can factor.
so that is not a risk [right now].
At some point, it would become a risk.
[When someone has] very powerful 
quantum computers which can do that,
then the security of elliptic curve 
cryptography is no longer good.

Spanish: 
Sha256 y algoritmos criptograficos como sha..
No son particularmente facil de optimizar utilizando algoritmos de computacion cuantica..
ECDSA y criptografia de curva eliptica pueden ser masivamente optimizados con computacion cuantica..
y algoritmos cuanticos para hacer curva eliptica..
de factoreo, de hecho..
ya existen..
y van a permitir..
que alguien quiebre la criptografia de curva eliptica eventualmente..
De hecho, hay un largo campo de curva eliptica..
por ahora, las curvas elipticas que utilizamos son mucho mas grandes..
en el campo donde las curvas elipticas son utilizadas, es mayor que cualquier computacion cuantica pueda factorear..
asi que eso no es un riesgo, pero en algun punto eso puede volverse un riesgo..
y en ese punto tendrias computadores cuanticos muy poderosos que puedan hacer eso..
Y luego la seguridad de criptografia de curva eliptica no es mas buena..

Spanish: 
pero la criptografia de curva eliptica puede ser reemplazada en Bitcoin por otros algoritmos..
y debido al mecanismo por el cual..
las llaves publicas no son mostradas a la red hasta que un monto de gasta ...
Si sigues la mejor practica de solo utilizar una direccion una sola vez..
Para cada transaccion..
entonces el unico momento en que tu llave publica es mostrada a la red..
es cuando la gastas el monto de bitcoins que estaba en esa direccion..
entonces, aun asi, si pudieses romper llaves publicas..
como se utilizan en criptografia de curva eliptica..
no tendrias nada de bitcoin para obtener por que solo se utilizo una vez..
las direcciones de bitcoin estan aseguradas mediante dos aplicaciones de algoritmos de hasheado..
sha256..
y md-160..
y esos son mucho menos suceptibles, como asi tambien sha256, el algoritmo de minado..
son mucho menos susceptibles a algoritmos cuanticos hasta donde sabemos..

English: 
But elliptic curve cryptography can be 
replaced in Bitcoin with other algorithms.
Because public keys are not demonstrated to the network until an amount [from one of its addresses]...
is spent, by following the best practice of only using
an address once, then your public key is only shown...
to the network when you have already spent that bitcoin;
[therefore, nothing is stolen if ECDSA is broken].
Even if someone was able to break the public keys
[produced by] the elliptic curve signature algorithm,
you wouldn't [be able to steal any] bitcoin
if addresses are only ever used once.
Bitcoin addresses are secured through
two applications of hashing algorithms:
SHA-256 and RIPEMD-160
Those, as well as the mining algorithm, are far less
susceptible to quantum algorithm optimizations,
as far as we know.

English: 
It may be a very long time until quantum 
cryptography has any impact on Bitcoin.
The other [aspect] to consider is, it also depends
on how broadly quantum [computing] is available.
If quantum computing is broadly available, then just
as you can make better algorithms for cracking keys,
you can also make better algorithms for making keys.
You could make quantum cryptography algorithms.
If quantum computing becomes broadly available,
then I can use it for encryption and digital signatures.
[In that scenario, the fact that] others have quantum
computing would not make any difference,
My cryptography, digital signatures and mining algorithm
[have been] adjusted to secure [the network again].
[The problem] is really the unequal 
availability of quantum cryptography,

Spanish: 
asi que quizas pase un largo tiempo hasta que la criptografia cuantica tenga cualquier impacto..
en Bitcoin..
Y, por supuesto, lo otro a considerar es..
tambien depende de cuan ampliamente disponible este la criptografia cuantica..
perdon, computacion cuantica este disponible..
Si la computacion cuantica esta ampliamente disponible..
entonces, de igual manera que puedes hacer mejores algoritmos para quebrar llaves..
tambien puedes hacer mejores algoritmos para hacer llaves..
Puedes hacer algoritmos cuanticos de minado..
puedes hacer algoritmos criptograficos cuanticos..
asi que si la criptografia cuantica, perdon, computacion cuantica esta ampliamente disponible..
entonces puedo utilizar la computacion cuantica para hacer encriptacion, firmas digitales y mineria..
y luego el hecho de que otros tengan computacion cuantica..
no hace ninguna diferencia por que mi criptografia, mis firmas digitales y mi mineria..
son igual de seguros..
asi que seria mas sobre la disponibilidad desigual..
de criptografia cuantica, lo cual es otro tema aparte, quizas para otra sesion..

English: 
which is a whole other topic that is for another session.
