El Libro de Satoshi Por Phil Champagne y Blockchain España
El Libro de Satoshi Por Phil Champagne y Blockchain España
El Libro de Satoshi Por Phil Champagne y Blockchain España
en inglés
The Book of
Satoshi
PHIL CHAMPAGNE
El Libro
de Satoshi
blockchainespana.com
e l l i b r o d e
Satoshi
E L L I B R O D E
Satoshi
<<<< >>>>
Phil Champagne
BlockchainEspana.com
1
Copyright © 2014 por Phil Champagne, Todos los derechos reservados.
La parte del contenido de este libro que proviene del foro de Internet es de dominio
público. Doy plenos derechos a cualquier persona para copiar y distribuir copias
electrónicas de este libro, ya sea en parte o en su totalidad.
Publicado en inglés en Estados Unidos por e53 Publishing LLC
Publicado en español por Blockchain España con una licencia Creative Commons by
Sharealike (CC BY SA) por cesión de Phil Champagne. Consultar con
libroblockchain@gmail.com para la reproducción del texto español.
Se debe citar:
Champagne, Phil. El Libro de Satoshi (Edición BlockchainEspana.com):
Descargable desde: http://www.libroblockchain.com/satoshi/
2
Contenidos
Agradecimientos 7
1. Introducción 13
3
EL LIBRO DE SATOSHI
4
CONTENIDOS
5
EL LIBRO DE SATOSHI
Bitcoin:
Un sistema de dinero Electrónico Peer-to-Peer 321
Índice 341
Colaboradores 344
6
Agradecimientos
ME GUSTARÍA EXTENDER mi profundo agradecimiento a las
siguientes personas por su contribución a este trabajo:
Phil Champagne
7
A Quién Está Dirigido
Este Libro
ESTE LIBRO CONTIENE la mayoría de los escritos de Satoshi
Nakamoto, creador de Bitcoin, publicados en correos electrónicos y foros
durante el lapso de poco más de dos años durante el cual se lanzó Bitcoin y se
consolidó. Cualquier persona interesada en aprender sobre Bitcoin y, más
específicamente, sobre los procesos de pensamiento de su creador, apreciará
este libro. Su contenido será de lectura fácil para cualquiera que tenga
experiencia en software. Sin embargo, los economistas e inversores sin
experiencia en tecnología de la información también pueden estar interesados
en los escritos de Satoshi, algunos de los cuales se refieren a conceptos
económicos. Dependiendo de la experiencia y el interés, ciertos lectores
pueden estar interesados sólo en algunos capítulos.
8
Prólogo a la Versión
en Español
Hasta principios de 2017 Bitcoin y la tecnología Blockchain erán temas
de poco dominio público, y a raíz del boom especulativo de las criptomonedas
y de las ICOs (Initial Coin Offering, Oferta inicial de monedas), que, sumado al
interés corporativo por esta tecnología, impulsaron su interés a nivel global.
Una de las razones por las que escribimos a finales de 2016 el libro
“Blockchain: la revolución industrial de internet” fue para intentar crear una
herramienta de acceso a la tecnología Blockchain para la población de habla
hispana, y, que el idioma no fuera una barrera de entrada al conocimiento de
esta tecnología. Queríamos que nuestros países pudieran participar en el
cambio global que se avecina, y no ser meros espectadores de lo que hacían
otros.
9
EL LIBRO DE SATOSHI
Por eso Blockchain no sólo es una tecnología. Es mucho más que eso.
Por lo menos así fue para las personas que iniciaron las Blockchain públicas.
Satoshi Nakamoto quería crear Bitcoin como un dinero de las personas que
funcionara entre pares (P2P o Peer to Peer). Satoshi se inspiró en soluciones
propuestas por diferentes Cypherpunks, un movimiento anarcocapitalista
tecnológico que quiere dar herramientas a las personas para proteger su
privacidad. El origen de este movimiento lo encontramos en los años 90 y
venía a su vez inspirado en otros movimientos similares de décadas anteriores,
dentro del ámbito académico y científico en muchos casos.
Algunas de las personas en las que se inspiró Satoshi fueron Hal Finney,
destinatario de la primera transacción de bitcoins realizada por Satoshi y que en
2004 creó un sistema llamado Real Proof of Work para crear un tipo de dinero
digital descentralizado. Nick Szabo, al que se le atribuye ser el inspirador del
concepto de contrato inteligente (Smart Contract) – tan omnipresente en las
conversaciones actuales - y promotor de un prototipo de moneda llamado
Bitgold. Wei Dai que diseñó un sistema llamado B-money o Adam Back, que
conceptualizó un sistema antispamming para los emails, llamado HashCash, y
que sirvió de inspiración para crear el modelo de consenso de Prueba de
Trabajo (Proof of Work). Back sigue activo en el ecosistema y es cofundador
de la conocida startup Blockstream donde desarrollan las posibilidades de
Bitcoin. Todos ellos se identifican como Cypherpunks, al igual que lo hace
Vitalik Buterin, co creador de Ethereum. Todas estas personas citadas no
participaron en estos proyectos para lucrarse sino para crear herramientas que
ayudarán a la humanidad a progresar, poniendo a nuestra disposición
desarrollos y nuevos de sistemas de organización social que quizás pudieran
ayudar a superar las limitaciones de nuestros sistemas de organización, muy
centralizados desde los últimos 200 años.
Por todas estas razones Blockchain es mucho más que una tecnología, es
un instrumento de cambio social.
10
PRÓLOGO A LA VERSIÓN EN ESPAÑOL
11
EL LIBRO DE SATOSHI
un imperio en declive (el de la UE) que nos impida ser protagonistas del
progreso global.
Alex Preukschat,
12
1
Introducción
Traducción por Iván Durán Fabeiro
13
EL LIBRO DE SATOSHI
14
INTRODUCCIÓN
15
EL LIBRO DE SATOSHI
1
En 2014 Andresen dejó la función de desarrollador líder de bitcoin, dejando a cargo a
Wladimir van der Laan.
16
INTRODUCCIÓN
17
EL LIBRO DE SATOSHI
Satoshi Nakamoto. Todos han sido probados como falsos y todos negaron ser
Satoshi Nakamoto también. Sin embargo, muy recientemente, un periódico
afirmó haber identificado a un californiano, un ingeniero con el nombre actual
de Dorian Satoshi Nakamoto, como el Satoshi Nakamoto de Bitcoin. Dorian
Nakamoto lo ha negado y yo me inclino a creerle. Por un lado, Dorian
Nakamoto no demuestra el dominio del inglés que el Satoshi Nakamoto de
Bitcoin ha demostrado a través de sus escritos. Lo más relevante para este libro
concerniente a este episodio es que, aparentemente provocó que el Satoshi
Nakamoto de Bitcoin rompiera su silencio y publicará este mensaje en el foro
de p2pfoundation el viernes 7 de marzo de 2014:
18
INTRODUCCIÓN
19
Cómo y Por Qué
2
Funciona Bitcoin
Traducción por Iván Durán Fabeiro
20
EL LIBRO DE SATOSHI
demostrado, hasta ahora ser una solución viable. Para completar nuestra
exposición, revisaremos las implicaciones económicas que tiene Bitcoin.
21
CÓMO Y PORQUÉ FUNCIONA BITCOIN
1GaMmGRxKCNuyymancjmAcu3mvUnVjTVmh
22
EL LIBRO DE SATOSHI
23
CÓMO Y PORQUÉ FUNCIONA BITCOIN
Hasta ahora, hemos hablado de cómo se ven las transacciones y cómo son
validadas. Si Bitcoin fuera un sistema operado centralmente, la historia podría
terminar aquí: una sola entidad sería responsable de esta tarea. Sin embargo,
Bitcoin es un sistema descentralizado y, como tal, esta tarea se comparte entre
un conjunto de nodos (mineros) que participan voluntariamente distribuidos
por todo el mundo. Entender cómo un sistema que incluye la contabilidad y la
autorización de transferencia de pagos puede ser operado por diferentes
entidades, de tal manera que se apoye en sus propios intereses personales, es
esencial. Esta característica del sistema es una de esas claves que hay que
comprender y a la que aludí antes como una que a menudo se les escapa a los
críticos de Bitcoin.
24
EL LIBRO DE SATOSHI
25
CÓMO Y PORQUÉ FUNCIONA BITCOIN
La forma en que opera Bitcoin explica por qué el minero que fue el
primero en llegar a una solución, se acreditará a sí mismo la cantidad de
recompensa por bloque permitido por el protocolo Bitcoin. Así, se asegura la
aceptación de su bloque por parte de los otros mineros y la recepción de sus
recompensas asociadas (por ejemplo, las comisiones de transacción). De la
misma forma, los otros mineros no consiguen ninguna ganancia rechazando el
bloque, aunque sea válido. El sistema de pago de Bitcoin mantendrá su valor
sólo cuando funcione correctamente. Si los mineros rechazaran todos los
bloques, excepto los propios, no se alcanzaría un consenso, el valor del sistema
en general se destruiría y, ninguno de los mineros se beneficiaría. En tal caso,
cualquier cantidad de bitcoins que los mineros posean perdería su valor. Por lo
tanto, todos los mineros se benefician si todos respetan el protocolo Bitcoin
establecido en el software compartido de Bitcoin. Así, Bitcoin encarna lo
inverso de la tragedia de los comunes descrita anteriormente.
26
EL LIBRO DE SATOSHI
27
CÓMO Y PORQUÉ FUNCIONA BITCOIN
28
EL LIBRO DE SATOSHI
Los mineros que buscan la solución por lo general deben calcular el hash
millones de veces para encontrar el patrón correcto, pero sólo se necesita un
único cálculo de hash por parte de otros mineros para validarlo una vez que se
encuentra.
29
CÓMO Y PORQUÉ FUNCIONA BITCOIN
después, Alice puede probar que ella tenía la solución más temprano
revelándola y, teniendo Bob el hash del resultado, puede comprobar que
coincide con el valor de hash que se le dio antes. (Este es un ejemplo de un
simple esquema de transacción; en la práctica, Alice y Bob serán programas
de computadora, y el secreto sería algo menos fácil de falsificar que una
supuesta solución de rompecabezas).
Las funciones hash forman parte del proceso que permite a los usuarios
firmar digitalmente un documento o texto en Bitcoin. En el contexto del trabajo
de prueba de Bitcoin, que se discutirá a continuación, las dos características
más útiles de las funciones hash son las siguientes:
30
EL LIBRO DE SATOSHI
La prueba de trabajo puede pensarse, por tanto, como una carrera entre
mineros bitcoin para descubrir el hash SHA-256 del bloque que intentan crear
y que tendrá una cierta característica. Como vimos anteriormente, la
producción del hash es simplemente un número muy grande expresado en
hexadecimal. El objetivo del minero, el problema que debe ser resuelto, es
generar una producción de hash inferior a un valor determinado. El primer
minero que calcule un valor con esta característica gana, y su versión del
bloque, una vez validado por los otros mineros, será agregado a la cadena de
bloques discutida anteriormente en este capítulo.
El número dentro del bloque Bitcoin que se prueba contra el valor límite
se conoce como "nonce". Cada minero incrementa su nonce en una cierta
cantidad hasta que el hash de salida para su bloque está por debajo del umbral
establecido. Como dijimos anteriormente, cada bloque del minero tiene
información diferente y por lo tanto un hash de salida diferente para el mismo
"nonce". Este proceso se ilustra en la Figura 4.
31
CÓMO Y PORQUÉ FUNCIONA BITCOIN
00000000000000000000c6647dad26b01b28f534343450d75d3b6b6b28828550
39b673
32
EL LIBRO DE SATOSHI
con los primeros dieciséis dígitos de la salida que igualan a 0, el hash de salida
podría caer por debajo del umbral establecido por el protocolo de Bitcoin. Por
lo tanto, el minero que obtuvo este número primero -y así "ganó" ese bloque-
tuvo que seguir cambiando el número "nonce" hasta que se generó un número
hexadecimal que tenía al menos el número deseado de 0s delante. Al igual que
en una lotería, los mineros que compran la mayoría de los "tickets" (es decir,
que generan la mayoría de los números de salida del SHA-256) tienen más
posibilidades de encontrar un número con el número correcto de 0s. Este
requerimiento del sistema Bitcoin ha llevado a una carrera para crear hardware
capaz de generar más hashes por segundo. El afortunado minero que primero
descubrió el hash del bloque #282.435 de la cadena de bloques incrementó el
nonce a 505.482.605 indicado en decimal, lo que significa que este minero tuvo
que generar más de 500 millones de hashes antes de encontrar uno con el
número correcto de ceros anteriores.
Una vez que un minero descubre un nonce con el correcto hash de salida,
el bloque es transmitido y otros mineros lo verifican, lo aceptan, y comienzan a
trabajar en el siguiente bloque. Por lo tanto, Bitcoin funciona como un juego de
lotería en curso que se reinicia cada 10 minutos. ¿Quién será el afortunado
minero que encontrará un nonce con las características correctas?
33
CÓMO Y PORQUÉ FUNCIONA BITCOIN
34
EL LIBRO DE SATOSHI
mineros dando por buena la versión del bloque #29302 del minero A y la otra
mitad, la versión del minero B. Cuál de estas dos versiones sobrevivirá
Hasta ahora hemos cubierto cómo funciona Bitcoin, pero no por qué.
Para entender esto, es necesario conocer algunos conceptos adicionales, por
ejemplo, qué es un programa informático de código abierto. Estos conceptos
los citamos y explicamos a continuación:
35
CÓMO Y PORQUÉ FUNCIONA BITCOIN
36
EL LIBRO DE SATOSHI
37
CÓMO Y PORQUÉ FUNCIONA BITCOIN
http://bitcoin.org/bitcoin.pdf
38
EL LIBRO DE SATOSHI
El dinero tiene todas las propiedades listadas arriba y, además, una más:
39
CÓMO Y PORQUÉ FUNCIONA BITCOIN
Para mantener su poder adquisitivo a largo plazo (es decir, no estar sujeto
a la inflación), la oferta monetaria debe ser limitada. El oro y la plata han sido
utilizados como dinero durante miles de años. Su suministro en este planeta es
limitado y requiere que cualquiera que tenga la intención de adquirir estos
metales tenga que emplear tiempo y energía para destinarlos a la minería. Se
podría decir que el esfuerzo invertido en la minería de un metal precioso es
análogo a la prueba de trabajo en el sistema Bitcoin. Compare este trabajo real
con lo sencillo que es imprimir billetes de dólar. El papel moneda se adoptó
inicialmente para actuar sólo como un sustituto conveniente (derivado) de los
metales preciosos, facilitando así las transacciones. Las monedas de papel, al
ser fácilmente reproducibles, siempre han estado sujetas a la inflación, ya que
los orfebres -y más tarde los banqueros- utilizaban la reserva fraccionada para
prestar más (es decir, imprimir más papel moneda), de lo que en realidad tenían
respaldado por oro almacenado. Esto ha conducido a las frecuentes crisis y
"corralitos bancarios" que ensucian los libros de historia.
40
EL LIBRO DE SATOSHI
realizar transacciones con las que el oro y la plata nunca han podido competir
directamente. Hasta ahora, sólo existían monedas controladas por un ente
central y transmisibles electrónicamente, lo que permitía a los controladores
decidir libremente el tamaño de la oferta de la moneda subyacente. El
Presidente Nixon lo demostró claramente cuando eliminó la convertibilidad del
dólar en oro en los mercados de divisas. La guerra de Vietnam y la "gran
sociedad" de Lyndon Johnson se financiaron diluyendo el dólar estadounidense
en una imprenta electrónica. Tomó tiempo para manifestarse vía la subida de
precios de los commodities, pero una vez que lo hizo, el precio del oro en
dólares ha sido efectivamente más alto que el establecido de $ 35 por onza de
oro que prevalecía antes de que el dólar dejara de estar asociado al patrón oro.
Luego se convirtió en una moneda que libre flotación, de constante inflación,
como cualquier otra moneda nacional existente en la actualidad.
41
CÓMO Y PORQUÉ FUNCIONA BITCOIN
42
3
El Primer Mensaje en la
Lista de Correo de
Criptografía
Traducción por Iván Durán Fabeiro
http://www.bitcoin.org/bitcoin.pdf
43
EL LIBRO DE SATOSHI
● La prueba de trabajo para la nueva generación de monedas también
impulsa a la red para evitar el doble gasto.
Satoshi Nakamoto
______________________________________________________________________
44
4
Problemas de
Escalabilidad
He estado trabajando en un nuevo sistema electrónico de efectivo
que es totalmente peer-to-peer entre personas, sin tercera parte
45
EL LIBRO DE SATOSHI
de confianza.
Necesitamos en gran medida tal sistema, pero por la forma en que
entiendo su propuesta, no parece escalar al tamaño requerido.
Para que la transferencia de prueba de trabajo de los tokens tenga
valor, deben tener valor monetario. Para tener valor monetario, deben
de ser transferidos dentro de una red muy grande - por ejemplo, una
red de intercambio de archivos similar a bittorrent.
Para detectar y rechazar un evento de doble gasto de manera
oportuna, se debe tener la mayoría de las transacciones anteriores de
monedas en la transacción, que, ingenuamente implementadas,
requiere que cada punto tenga la mayoría de las transacciones
pasadas, o la mayoría de las transacciones anteriores que ocurrieron
recientemente. Si cientos de millones de personas están haciendo
transacciones, eso es mucho ancho de banda, cada uno debe saberlo
todo, o una parte sustancial del mismo.
_____________________________________________________________
El ancho de banda puede no ser tan prohibitivo como crees. Una
transacción típica sería de unos 400 bytes (ECC es muy compacto). Cada
transacción debe transmitirse dos veces, por lo que digamos 1KB por
transacción. Visa procesó 37 mil millones de transacciones en el año fiscal
2008, o un promedio de 100 millones de transacciones por día. Esas
muchas transacciones requieren 100GB de ancho de banda, o el tamaño
de 12 DVD o 2 películas de calidad HD, o aproximadamente $ 18 en ancho
46
PROBLEMAS DE ESCALABILIDAD
Si la red llegará a ser tan grande, tomaría varios años, y para entonces,
enviar 2 películas HD a través de Internet probablemente no parecería un
gran problema.
Satoshi Nakamoto
_______________________________________________________________
47
5
El Ataque del 51%
Traducción por Jose Manuel Arenillas
Pero y si no lo hacen. Nodos deshonestos que regularmente controlan
granjas de 100.000 máquinas infectadas o más. Gente que conozco
administran listas negras de máquinas infectadas que envían spam y a
menudo ven un millón de nuevas infecciones al día.
48
EL LIBRO DE SATOSHI
Esta es la misma razón por la que hashcash no puede funcionar en el
Internet de hoy en día. Los buenos tienen considerablemente menos
poder de cómputo que los malos.
_____________________________________________________________
Gracias por referirte a este punto.
No hice esa afirmación con la firmeza que requería. El requisito es que los
buenos, colectivamente, tengan mayor potencia de CPU que cualquier
atacante único.
Podría haber muchas granjas pequeñas de máquinas infectadas que no son
lo suficientemente grandes como para superar en poder de cómputo a la
red, y todavía podrían hacer dinero generando bitcoins. Entonces, las
granjas más pequeñas son los “nodos honestos”. (Necesito un mejor
término que “honestos”). Cuantas más granjas pequeñas participen en
generar bitcoins más alta es la potencia necesaria para superar a la de la
red. Montando granjas mayores, también serían demasiado pequeñas
como para superar la potencia de la red, para que también generen
bitcoins. De acuerdo con la teoría de “la cola larga”, las pequeñas,
medianas y grandes granjas unidas sumarán más potencia que la mayor
granja de equipos infectados.
La red Bitcoin podría reducir el spam mediante el desvío de las granjas
zombies a la generación de bitcoins en su lugar.
Satoshi Nakamoto
_______________________________________________________________
49
6
Sobre Redes Centralmente
Controladas Versus Redes
Peer-to-Peer
[Extensa exposición de la vulnerabilidad de un sistema al uso de la
fuerza por parte de los monopolios eludidos]
Si, pero podemos ganar una gran batalla en la carrera y conquistar un
nuevo territorio de libertad para varios años.
50
EL LIBRO DE SATOSHI
Los gobiernos son buenos cortando cabezas de redes centralizadas como
Napster, pero las redes P2P puras como Gnutella y Tor parece que
aguantan por sí mismas.
Satoshi
_______________________________________________________________
51
7
Satoshi Sobre la Tasa de
InFlación Inicial del 35%
Traducción por Jose Manuel Arenillas
Hay tres formas por las que un gobierno puede financiar un gasto
deficitario: inflación de moneda (impresión de nueva moneda), préstamos
públicos, e impuestos. Los gobiernos tienden a favorecer la creación de
moneda por decreto (es decir, crear nueva moneda), lo que permite culpar de
los inevitables aumentos de precios a los especuladores más que a su verdadero
culpable, la inflación monetaria. Esta fue la excusa utilizada por el gobierno de
Venezuela en 2013 y nuevamente en 2014. Si los gobiernos se vieran obligados
a usar oro, plata o bitcoins para financiar su gasto deficitario, tendrían que
financiarlo con subidas de impuestos, un recurso nada popular entre el público,
o con préstamos en los mercados de crédito. Esta última acción conduce a tipos
de interés más altos, a medida que aumenta la demanda para pedir dinero
52
EL LIBRO DE SATOSHI
Ray Dillinger:
la “moneda” es inflacionaria alrededor de un 35%, ya que es como los
ordenadores más rápidos lo obtienen anualmente … la tasa de inflación
del 35% está casi asegurada por la tecnología.
_____________________________________________________________
Gestionando el aumento de velocidad del hardware: "Para compensar el
aumento de velocidad del hardware y el interés variable de ejecutar
nodos a lo largo del tiempo, la dificultad de la prueba de trabajo está
determinada por una media móvil que apunta a una cantidad promedio de
bloques por hora. Si se generan muy rápido, la dificultad aumenta".
A medida que los ordenadores se vuelven más rápidos y aumenta la
potencia total para generar bitcoins, la dificultad aumenta
proporcionalmente para mantener constante la nueva producción total.
Por lo tanto, se sabe de antemano cuántos nuevos bitcoins se crearán
cada año en el futuro.
El hecho de que se produzcan nuevas monedas significa que la oferta
monetaria aumenta en una cantidad planificada, pero esto no se da
necesariamente como resultado la inflación. Si el suministro de dinero se
incrementa a la misma velocidad que aumenta el número de personas que
lo usan, los precios se mantienen estables. Si no aumenta tan rápido como
la demanda, habrá deflación y los primeros tenedores de dinero verán que
su valor aumenta.
53
SATOSHI SOBRE LA TASA DE INFLACIÓN INICIAL DEL 35%
Satoshi Nakamoto
_______________________________________________________________
54
8
Sobre Transacciones
Traducción por Jose Manuel Arenillas
55
EL LIBRO DE SATOSHI
que todo el mundo esté en la misma página es creer que la cadena más larga es
siempre la válida, pase lo que pase.
Se ha mencionado que, si una transacción emitida no llega a todos los
nodos, está bien, ya que se incluirá en la cadena de bloques en poco
tiempo. ¿Cómo sucede esto - qué pasa si el nodo que crea el
“siguiente” bloque (el primer nodo que encuentra la colisión hashcash)
no tiene constancia de la transacción y se añaden algunos bloques más
de nodos que tampoco tienen constancia de ella? ¿Todos los nodos que
han recibido la transacción tienen que guardarla con la esperanza de
agregarla en un bloque cuando hayan tenido la suerte suficiente como
para ser quien encuentre la siguiente colisión?
______________________________________________________________
Correcto, los nodos mantienen las transacciones en su set de trabajo
hasta que la incluyen en un bloque. Si una transacción llega al 90% de los
nodos, cada vez que se encuentra un bloque, tiene un 90% de
posibilidades de estar en él.
_______________________________________________________________
56
SOBRE TRANSACCIONES
O, por ejemplo, ¿qué ocurre si un nodo mantiene dos o más cadenas
esperando a ver cuál crece más rápido, y aparece un bloque para la
cadena A que incluye un doble gasto de una moneda que está en la
cadena B? ¿Esto se verifica o no? (Podría suceder si alguien hizo un
doble gasto y dos conjuntos diferentes de nodos recibieron las
diferentes transacciones con la misma moneda).
_____________________________________________________________
No hace falta comprobar eso. La transacción incluida en la rama más
larga se convierte en la válida, la otra no es. Si alguien intenta realizar un
doble gasto de esa manera, uno y solo un gasto será válido siempre, el
otro no lo será.
El atacante no está añadiendo bloques al final. Tiene que volver atrás y
rehacer el bloque en el que está su transacción y todos los bloques tras
este, así como todos los nuevos bloques que la red sigue añadiendo a la
cadena mientras está realizando el ataque. Está reescribiendo la historia.
Una vez que su rama es más larga se convierte en la válida.
Esto toca un punto clave porque, aunque todos los presentes pueden ver
las jugarretas, no hay forma de aprovecharse de ese hecho.
57
EL LIBRO DE SATOSHI
El destinatario solo necesita validar hacia atrás hasta una profundidad
suficiente en la cadena de bloques, lo que requerirá normalmente una
profundidad de 2 transacciones. Todas las transacciones antes de esa
pueden descartarse.
_______________________________________________________________
Correcto, exactamente. Cuando un nodo recibe un bloque, verifica las
firmas de todas las transacciones que contiene contra las transacciones
previas en los bloques. Los bloques sólo pueden contener transacciones
que dependan de transacciones válidas en bloques anteriores o en el
mismo. La transacción C puede depender de la transacción B que está en
el mismo bloque y B depender de la transacción A que está en un bloque
anterior.
_______________________________________________________________
Perdona por tantas preguntas, pero como he dicho parece una idea
muy original y prometedora y tengo ganas de ver cómo se desarrolla el
58
SOBRE TRANSACCIONES
proyecto. Sería de ayuda ver una descripción de la idea más orientada
al proceso, con detalles concretos de la estructura de datos de varios
objetos (monedas, bloques, transacciones), los datos que se incluyen
en mensajes y descripciones algorítmicas de los procedimientos para
manejar los diversos eventos que podrían ocurrir en este sistema.
Mencionaste que estás trabajando en una implementación, pero creo
que una descripción más formal del sistema sería un próximo paso útil.
_____________________________________________________________
Aprecio tus preguntas. De hecho, hice esto al revés. Tuve que escribir
todo el código antes de poder convencerme a mí mismo de que podría
resolver todos los problemas, después escribí el documento técnico. Creo
que podré publicar el código más pronto de lo que podría escribir una
especificación detallada. Estás en lo cierto en la mayoría de tus
suposiciones con las que has rellenado los espacios en blanco.
Satoshi Nakamoto
_______________________________________________________________
59
9
Sobre los Bloques
Huérfanos
Traducción por Jose Antonio Bravo
De acuerdo, supongamos que un nodo incorpora un grupo de
transacciones en su prueba de trabajo, todos ellos gastos únicos,
60
EL LIBRO DE SATOSHI
En un tiempo corto, todas las transacciones terminarán propagándose de
forma que todo el mundo tenga el conjunto completo. Los nodos que
estén trabajando en cada grupo estarán intentando añadir las
transacciones que faltan en su grupo. Cuando se halle la siguiente prueba
de trabajo, sea cual sea el bloque previo con el que ese nodo esté
trabajando, esta rama se convertirá en más larga y el vínculo se rompe.
En cualquiera de los dos equipos, el nuevo bloque contendrá la otra mitad
de las transacciones, por lo que, en cualquier caso, la rama contendrá
todas las transacciones. Incluso en el improbable caso que hubiese una
escisión dos veces seguidas, ambos equipos provenientes de la segunda
escisión contendrían de todas formas el conjunto completo de
transacciones.
No hay problema si las transacciones han de esperar uno o algunos ciclos
extra para meterse en un bloque.
Satoshi Nakamoto
_______________________________________________________________
61
10
Sobre la Sincronización
de Transacciones
Traducción por Jose Antonio Bravo
Pero mantener la coherencia es complicado. No tengo claro lo que
sucede cuando alguien informa de una transacción a un mantenedor, y
otra persona más transporta otra transacción a otro mantenedor. No es
posible saber si la transacción es válida hasta que se haya incorporado
a una vista globalmente compartida de todas las transacciones
anteriores, y nadie puede saber si una vista globalmente compartida de
todas las transacciones pasadas se comparte globalmente hasta que
haya pasado, y después de que muchas transacciones nuevas hayan
62
EL LIBRO DE SATOSHI
llegado.
¿Explicaste cómo hacer esto, y es difícil de entender para mí, o
confiabas en que podía hacerse, y de ahí que los detalles son un poco
vagos?
_____________________________________________________________
La cadena de prueba de trabajo es la solución al problema de la
sincronización, y para conocer cuál es la visión globalmente compartida
sin necesidad de confiar en nadie.
Cuando un nodo encuentra una prueba de trabajo, el nuevo bloque se
propaga por la red y todos lo añaden a la cadena y comienza a funcionar
en el siguiente bloque. Los nodos que tuviesen la otra transacción dejarán
de intentar incluirla en un bloque, desde que no es válida de acuerdo con
la cadena aceptada.
63
SOBRE LA SINCRONIZACIÓN DE TRANSACCIONES
Satoshi Nakamoto
_______________________________________________________________
64
11
Satoshi Discute las
Comisiones de
Transacción
Traducción por Jose Antonio Bravo
Por otra parte, no se puede poner a funcionar, ya que en el sistema
propuesto la tarea de seguir quién posee ciertas monedas es pagada
por señoreaje, lo cual requiere de inflación.
65
EL LIBRO DE SATOSHI
_____________________________________________________________
Satoshi Nakamoto
_______________________________________________________________
66
12
Sobre ConFirmación
y Tiempo de Bloque
Traducción por Jose Antonio Bravo
67
EL LIBRO DE SATOSHI
… es un poco duro si el tipo llegó segundo porque es probable que pierda
su moneda.
Cuando hay múltiples versiones de doble gasto de la misma transacción,
una y solamente una se convertirá en válida.
El tipo que recibió el doble gasto que se convirtió en no válido nunca
pensó que lo tendría en primer lugar. Su software hubiera mostrado cómo
la transacción pasaba de “no confirmada” a “no válida”. Si fuese
necesario, la interfaz de usuario puede hacerse de forma que oculte
transacciones hasta que las mismas sean lo suficientemente profundas en
la cadena de bloques.
_______________________________________________________________
Siento no haberlo aclarado. El tiempo objetivo entre bloques será
probablemente de 10 minutos.
68
SOBRE CONFIRMACIÓN Y TIEMPO DE BLOQUE
Queremos que los que gastan dinero tengan la certeza de que su
transacción es válida en el momento en que se necesita que un gasto
inunde la red, no en el momento que toma para una carrera de rama
ser resuelta.
_____________________________________________________________
El no repudio instantáneo no es una característica, pero es mucho más
rápido que los sistemas existentes. Los cheques en papel pueden ser
devueltos hasta una semana o dos más tarde. Las transacciones con
tarjeta de crédito pueden disputarse entre 60 y 180 días después. Las
transacciones con bitcoins pueden ser lo suficientemente irreversibles en
una hora o dos.
_______________________________________________________________
Si un nodo ignora todas las transacciones que no le importan, no sufre
consecuencias adversas.
_____________________________________________________________
Satoshi Nakamoto
_______________________________________________________________
69
El Problema del General
13
Bizantino
Traducción por Beatriz Lizarraga
Para ilustrar el problema, imagine que dos generales son requeridos para
atacar una ciudad al mismo tiempo. Si uno ataca y el otro no, las fuerzas del
general atacante serán aniquiladas por las defensas de la ciudad. La
comunicación entre los generales no es confiable; el mensajero que lleva el
mensaje sobre cuándo atacar debe atravesar la ciudad y, por lo tanto, podría ser
interceptado. El primer general puede, antes de las 9 a.m., enviar al mensajero
con el mensaje que comunica que el ataque comenzará ese mismo día. Sin
embargo, una vez enviado, el primer general no sabrá si el mensajero consiguió
pasar o no. Esta incertidumbre puede llevar al primer general a dudar en atacar,
ya que podría estar atacando solo si es que el segundo general no recibió su
mensaje.
70
EL LIBRO DE SATOSHI
http://en.wikipedia.org/wiki/Two_Generals%27_Problem
http://en.wikipedia.org/wiki/Byzantine_fault_tolerance
No es suficiente que todos sepan X. También necesitamos que todos
sepan que todos conocen X, y que todos saben que todos saben que
todos conocen X - lo que, como en el problema de los generales
bizantinos, es el clásico y difícil problema del procesamiento
distribuido de datos.
_____________________________________________________________
La cadena de prueba de trabajo es una solución al Problema de los
Generales Bizantinos. Trataré de re-expresarlo en ese contexto.
71
EL PROBLEMA DEL GENERAL BIZANTINO
No les importa especialmente cuándo será el ataque, solo que todos estén
de acuerdo. Se ha decidido que cualquiera que lo desee puede anunciar
un momento concreto, y que cualquier momento que se escuche primero
será el momento oficial de ataque. El problema es que la red no es
instantánea, y si dos generales anuncian diferentes momentos de ataque
casi al mismo tiempo, algunos pueden escuchar a uno primero y otros
escuchar al otro primero.
Usan una cadena de prueba de trabajo para resolver el problema. Una vez
que cada general recibe la hora de ataque que escuchan primero,
configuran su ordenador para resolver un problema de prueba de trabajo
extremadamente difícil que incluye el momento de ataque en su hash. La
prueba de trabajo es tan difícil que se espera que tarden 10 minutos en
trabajar todos a la vez antes que uno de ellos encuentre una solución.
Una vez que uno de los generales encuentra una prueba de trabajo, lo
transmite a la red, y todos cambian su cómputo actual de prueba de
trabajo para incluir esa prueba de trabajo en el hash en el que están
trabajando. Si alguien estaba trabajando con un momento de ataque
diferente, cambia a este, porque su cadena de prueba de trabajo ahora
es más larga.
Después de dos horas, el momento de ataque debe ser hasheado por una
cadena de 12 pruebas de trabajo. Cada general, verificando la dificultad
de la cadena de prueba de trabajo, puede estimar cuánta potencia de
CPU paralela fue gastada por hora, y ver lo que debe de haber requerido
la mayoría de los ordenadores para producir tanta prueba de trabajo en el
momento asignado. Todos debieron haberlo visto porque la prueba de
trabajo es prueba de que trabajaron en ello. Si la potencia de CPU
exhibida por la cadena de prueba de trabajo es suficiente para descifrar
la contraseña, ellos pueden atacar con seguridad a la hora acordada.
72
Tiempo de Bloque, una
14
Prueba Automatizada y el
Punto de Vista Libertario
Traducción por Beatriz Lizarraga
Por último, hace una referencia a cómo Bitcoin podría ser atractivo para
los libertarios, personas que abogan por las libertades individuales.
73
EL LIBRO DE SATOSHI
Creo que es necesario que los nodos mantengan una lista separada de
transacciones pendientes asociada a cada cadena candidata.
Con esta optimización, las ramas candidatas no son realmente ninguna
carga. Simplemente aguardan en el disco y no requieren atención a menos
que alguna vez se conviertan en la cadena principal.
_______________________________________________________________
O como James planteó anteriormente, si la transmisión de la red es
confiable, pero depende de un algoritmo de evolución potencialmente
lenta, ¿cómo afecta eso al rendimiento?
___________________________________________________________
Las transmisiones probablemente serán casi completamente confiables.
Las transmisiones TCP actualmente casi nunca se descartan, y el
protocolo de transmisión tiene un mecanismo de reintento para obtener
los datos de otros nodos después de un tiempo. Si las emisiones resultan
ser más lentas en la práctica que lo esperado, el tiempo objetivo entre
bloques deberá aumentarse para evitar el desperdicio de recursos.
Queremos bloques que normalmente se propaguen en mucho menos
tiempo de lo que lleva generarlos, de lo contrario los nodos pasarían
demasiado tiempo trabajando en bloques obsoletos.
74
TIEMPO DE BLOQUE, UNA PRUEBA AUTOMATIZADA Y EL PUNTO DE VISTA
LIBERTARIO
3. El sistema bitcoin resulta ser socialmente útil y valioso, por lo que
los operadores de nodos sienten que están haciendo una contribución
beneficiosa al mundo por sus esfuerzos (similar a los diversos proyectos
informáticos "@Home" donde las personas ofrecen voluntariamente sus
recursos informáticos para buenas causas).
_____________________________________________________________
En este caso, me parece que el simple altruismo puede ser suficiente para
mantener la red funcionando correctamente.
Es muy atractivo desde el punto de vista libertario si podemos explicarlo
adecuadamente. Sin embargo, soy mejor con el código que con las
palabras.
Satoshi Nakamoto
__________________________________________________________
75
Más Sobre Doble Gasto,
15
Prueba de Trabajo y
Comisiones de Transacción
Traducción por Beatriz Lizarraga
Cuando se gasta una moneda, el comprador y el vendedor firman
digitalmente un registro (ciego) de la transacción.
_____________________________________________________________
76
EL LIBRO DE SATOSHI
Las identidades no se utilizan, y no depende del recurso. Todo es
prevención.
_______________________________________________________________
Esto se hace vía un algoritmo corta-y-elige más o menos estándar
donde el comprador responde a varios desafíos con acciones secretas.
_____________________________________________________________
También podrían recibir cadenas mientras trabajan en la que están
tratando de extender, en las cuales los últimos "enlaces" son enlaces
que *no* son comunes a la cadena sobre la que están trabajando.
Correcto, si tiene la misma longitud, los enlaces se rompen manteniendo
el más antiguo de los recibidos.
_______________________________________________________________
Si contiene un doble gasto, crean una "transacción" que es una prueba
del doble gasto, lo agregan al pool A, lo difunden y continúan
trabajando.
_____________________________________________________________
No hay necesidad de informar de una "prueba de doble gasto" como esa.
Si la misma cadena contiene ambos gastos, entonces el bloque no es
válido y se rechaza.
Lo mismo si un bloque no tuvo suficiente prueba de trabajo. Ese bloque es
inválido y rechazado. No es necesario hacer circular un informe al
respecto. Cada nodo puede ver eso y rechazarlo antes de difundirlo.
77
MÁS SOBRE DOBLE GASTO, PRUEBA DE TRABAJO, Y COMISIONES DE
TRANSACCIÓN
Si hay dos cadenas competidoras, cada una con una versión diferente de
la misma transacción, una tratando de dar dinero a una persona y la otra
tratando de darle el mismo dinero alguien más, es el conjunto de la
cadena de prueba de trabajo la que resolverá cuál de los gastos es válido.
No estamos "al acecho" del doble gasto para hacer sonar la alarma y
atrapar al tramposo. Simplemente decidimos cuál de los gastos es válido.
Los receptores de transacciones deben esperar unos pocos bloques para
asegurarse de que la resolución haya tenido tiempo de completarse. Los
tramposos pueden intentar y hacer simultáneamente doble gasto todo lo
que deseen, y todo lo que lograrán es que, con unos pocos bloques, uno
de los gastos se vuelve válido y los otros se serán inválidos. Cualquier
doble gasto posterior se rechaza inmediatamente una vez que ya hay un
gasto en la cadena principal.
Incluso si un gasto anterior aún no estaba en la cadena, si ya estaba en
todos los pools de nodos, entonces el segundo gasto sería rechazado por
todos los nodos que ya tienen el primer gasto.
_______________________________________________________________
Si la nueva cadena es aceptada, y se dan por vencidos para agregar su
enlace actual, vuelcan todas las transacciones del grupo L al grupo A
(junto con las transacciones que han recibido o creado desde que
comenzaron a trabajar), eliminan del grupo A esos registros de
transacciones que ya son parte de un enlace en la nueva cadena, y
comienzan a trabajar de nuevo tratando de extender la nueva cadena.
_____________________________________________________________
Correcto. También se actualizan cada vez que aparece una nueva
transacción, por lo que L prácticamente contiene todo en A todo el
tiempo.
_______________________________________________________________
Un algoritmo de firma digital de uso intensivo de la CPU firma la
cadena incluyendo el nuevo bloque L.
_____________________________________________________________
Es una prueba de trabajo SHA-256 estilo Hashcash (preimagen parcial de
cero), no una firma.
_______________________________________________________________
78
EL LIBRO DE SATOSHI
¿Existe un mecanismo para garantizar que la "cadena" no consista
únicamente en enlaces añadidos solo por los 3 ó 4 nodos más rápidos?
Porque la emisión del registro de transacción podría pasar fácilmente
por alto esos 3 ó 4 nodos y, si lo hace, y esos nodos continúan
dominando la cadena, la transacción podría no ser agregada nunca.
_____________________________________________________________
Si estás pensando en ello como una firma digital de uso intensivo de la
CPU, entonces puedes estar pensando en una carrera por terminar
primero una operación larga y el que es más rápido siempre gana.
La prueba de trabajo es un hallazgo de colisión SHA-256 estilo Hashcash.
Es un proceso sin memoria en el que se hacen millones de hashes por
segundo, con una pequeña posibilidad de encontrar uno cada vez. El
dominio de los 3 ó 4 nodos más rápidos sería sólo proporcional a su parte
de la potencia total de la CPU. Cualquier oportunidad de encontrar una
solución en cualquier momento es proporcional a la potencia de su CPU.
Habrá comisiones por las transacciones, por lo que los nodos tendrán un
incentivo para recibir e incluir todas las transacciones que puedan. Los
nodos finalmente serán compensados con las comisiones de transacción
siempre y cuando el total de monedas creadas llegue al límite
predeterminado.
_______________________________________________________________
Además, el requisito de trabajo para agregar un enlace a la cadena
debe variar (de nuevo exponencialmente) con el número de enlaces
agregados a esa cadena en la semana anterior, lo que provoca un
estricto control de la tasa de generación de monedas (y por lo tanto de
inflación).
_____________________________________________________________
Correcto.
_______________________________________________________________
Necesitas la agregación de monedas para escalar esto. Es necesario que
haya una transacción "comprobable" donde alguien retire diez monedas
individuales y cree una nueva moneda con denominación diez, etc.
_____________________________________________________________
Cada transacción es una de estas. Sección 9, Combinar y dividir el valor.
79
MÁS SOBRE DOBLE GASTO, PRUEBA DE TRABAJO, Y COMISIONES DE
TRANSACCIÓN
Satoshi Nakamoto
_______________________________________________________________
La Lista de Correo de Criptografía
80
Sobre Criptografía de
16
Curva Elíptica, Ataques de
Denegación de Servicio
y ConFirmación
Traducción por Beatriz Lizarraga
81
EL LIBRO DE SATOSHI
Una forma de hacer esto sería hacer que la persona que recibe la
moneda genere una pareja de claves asimétricas, y dejar la mitad de la
clave publicada en la transacción. Para gastar la moneda más tarde,
deberá demostrar la posesión de la otra mitad de la clave asimétrica,
probablemente usándola para firmar la clave provista por el nuevo
vendedor.
___________________________________________________________
Correcto, son las firmas digitales ECC (Criptografía de Curva Elíptica). Se
usa un nuevo par de claves para cada transacción.
No es un pseudónimo en el sentido de que los nyms identifican a las
personas, pero al menos es algo pseudónimo en el sentido de que la
siguiente acción sobre una moneda puede ser identificada como
proveniente del propietario de esa moneda.
___________________________________________________________
Mmmm. No sé si me siento cómodo con eso. ¿Estás diciendo que no hay
esfuerzo para identificar y excluir los nodos que no cooperan? Sospecho
que esto dará lugar a problemas y posibles ataques de denegación de
servicio.
___________________________________________________________
No se trata de identificar a nadie. Como dijiste, es inútil y puede ser
fácilmente vencido con marionetas.
La credencial que establece a alguien como real es la capacidad de
suministrar potencia de CPU.
_______________________________________________________________
Hasta . . . ¿hasta qué? ¿Cómo sabe alguien cuándo una transacción se
ha vuelto irrevocable? ¿Son tres "unos pocos" bloques? ¿treinta? ¿un
centenar? ¿depende de la cantidad de nodos? ¿es logarítmico o lineal en
82
SOBRE CRIPTOGRAFÍA DE CURVA ELÍPTICA, ATAQUES DE DENEGACIÓN DE
SERVICIO Y CONFIRMACIÓN
número de nodos?
_____________________________________________________________
La sección 11 calcula el peor caso bajo ataque. Normalmente, 5 ó 10
bloques son suficientes. Si estás vendiendo algo que no merece un ataque
a escala de red para robarlo, en la práctica podrías cortarlo antes.
_______________________________________________________________
Pero a falta de identidad, no hay inconveniente para ellos si los gastos
se vuelven inválidos, si ya han recibido los bienes por los que gastaron
doblemente (acceso al sitio web, descarga, lo que sea). Los
comerciantes retienen la bolsa con monedas "inválidas", a menos que
esperen esos "pocos bloques" mágicos (¿y cómo pueden saber cuántos?)
antes de tratar al consumidor como si hubiera pagado.
Los consumidores no harán esto si gastan su moneda y les lleva una
hora liquidar antes de poder hacer lo que sea por lo que pagaron. Los
comerciantes no lo harán si no hay forma de cobrarle a un cliente
cuando descubren que su moneda no es válida porque el cliente tiene
doble gasto.
_____________________________________________________________
Este es un problema de la versión 2 que creo que se puede resolver muy
satisfactoriamente para la mayoría de las aplicaciones.
Durante esos 2 minutos, los nodos del comerciante pueden estar atentos a
una transacción de doble gasto. El que gasta doblemente no podrá
detonar su transacción alterna al mundo sin que la obtenga el
comerciante, por lo que tiene que esperar antes de comenzar.
Si la transacción real alcanza el 90% y la transacción de doble gasto
alcanza el 10%, el que genera el doble gasto solo tiene un 10% de
posibilidades de no pagar, y un 90% de posibilidades de que su dinero se
gaste. Eso no le merecerá la pena al estafador, con casi cualquier tipo de
mercancía.
83
EL LIBRO DE SATOSHI
Los bienes basados en la información, como el acceso a sitios web o las
descargas, no son defendibles. Nadie va a poder ganarse la vida robando
accesos a sitios web o a descargas. Pueden ir a las redes de intercambio
de archivos para robarlo. La mayoría de los productos de acceso
instantáneo no van a suponer un gran incentivo como para robar.
Si un comerciante realmente tiene un problema de robos, puede hacer
que el cliente espere 2 minutos o que espere recibir algo en el correo
electrónico, cosa que muchos ya hacen. Si realmente quieren optimizar, y
es una descarga grande, podrían cancelar la descarga en el medio si la
transacción resulta ser de doble gasto. Si se trata de un acceso a una
página web, normalmente no debería ser un gran problema permitir que
el cliente tenga acceso durante 5 minutos y luego cortar el acceso si es
rechazado. Muchas de estas webs tienen una versión de prueba gratuita
de todas formas.
Satoshi Nakamoto
_____________________________________________________________
84
Más Sobre el Grupo de
17
Transacción, Difusión de
Red y Detalles de
CodiFicación
Traducción por Arturo Monzón
85
EL LIBRO DE SATOSHI
Cada nodo envía a sus vecinos una lista de inventario de hashes de los
nuevos bloques y transacciones que tiene. Los vecinos solicitan los
productos que aún no tienen. Si este no llega después de un tiempo de
espera, lo solicitan a otro vecino que sí lo obtuvo. Debido a que todos o la
mayoría de los vecinos deberían tener cada producto, incluso si los
“coms” se revuelven con uno, pueden obtenerlo de cualquiera de los
otros vecinos, intentándolo de uno en uno.
El esquema de inventario de data requerida introduce una pequeña
latencia, pero en última instancia ayuda a acelerar más al mantener
bloques de datos extra fuera de las colas de transmisión y conservar el
ancho de banda.
_______________________________________________________________
Usted tiene un esquema y una propuesta para dicho diseño, que es un
gran paso adelante, pero el diablo está en los pequeños detalles.
_____________________________________________________________
86
MÁS SOBRE EL GRUPO DE TRANSACCIÓN, DIFUSIÓN DE RED Y DETALLES DE
CODIFICACIÓN
detalles funcionales no están cubiertos en el documento, pero el código
fuente llegará pronto. Te envié los archivos principales. (disponibles por
pedido en este momento y de pronto lanzamiento completo)
Satoshi Nakamoto
_______________________________________________________________
87
Primer Lanzamiento
18
de Bitcoin
Traducción por Arturo Monzón
http://www.zorinaq.com/pub/bitcoin-0.1.0.rar
http://www.zorinaq.com/pub/bitcoin-0.1.0.tgz
http://we.lovebitco.in/bitcoin- 0.1.0.rar
http://www.bitcointrading.com/files/bitcoin-0.1.0.rar
88
LIBRO DE SATOSHI
Enlace de descarga:
http://downloads.sourceforge.net/bitcoin/bitcoin-0.1.0.rar
Si puede mantener un nodo en ejecución que acepte conexiones
entrantes, realmente estará ayudando mucho a la red. El puerto 8333 en
su firewall necesita estar abierto para recibir conexiones entrantes.
El software sigue siendo alfa y experimental. No hay garantía de que el
estado del sistema no deba reiniciarse en algún momento si llegar a ser
necesario, aunque he hecho todo lo posible para construir en
extensibilidad y control de versiones.
Hay dos formas de enviar dinero. Si el destinatario está en línea, puede
ingresar su dirección IP y se conectará, obtendrá una nueva clave pública
y enviará la transacción con comentarios. Si el destinatario no está en
línea, es posible enviar a su dirección de Bitcoin, que es un hash de la
clave pública que ellos le dan. Recibirán la transacción la próxima vez que
se conecten y obtengan el bloque en el que se encuentra. Este método
tiene la desventaja de que no envía información de comentarios, y se
puede perder un poco de privacidad si la dirección es usada varias veces,
pero es una alternativa útil si ambos usuarios no pueden estar en línea al
mismo tiempo o si el destinatario no puede recibir conexiones entrantes.
89
PRIMER LANZAMIENTO DE BITCOIN
Cuando se agoten, el sistema puede soportar comisiones en las
transacciones si fuera necesario. Está basado en la competencia de
mercado abierto, y probablemente siempre haya nodos dispuestos a
procesar transacciones de forma gratuita.
Satoshi Nakamoto
90
Sobre el Propósito
19
91
EL LIBRO DE SATOSHI
Sabes, creo que había mucha más gente interesada en los 90, pero
después de más de una década de sistemas fallidos basados en
terceros confiables (Digicash, etc.), lo ven como una causa perdida.
Espero que puedan hacer la distinción de que esta es la primera vez
que sé que estamos intentando un sistema sin necesidad de
confianza.
___________________________________________________________
Sí, esa fue la característica principal que me llamó la atención. El
verdadero truco será hacer que la gente realmente valore los BitCoins
para que se conviertan en moneda.
_____________________________________________________________
Podría comenzar en un nicho reducido como puntos de recompensa,
tokens de donación, moneda para un juego o micropagos para sitios de
adultos. Inicialmente puede ser usado en aplicaciones de prueba de
trabajo para servicios que casi podrían ser gratuitos, pero no del todo.
Ya se puede usar para pago usando el correo electrónico. El cuadro de
diálogo de envío se puede redimensionar e ingresar el mensaje que desee.
Se envía directamente cuando se conecta. El destinatario hace doble click
en la transacción para ver el mensaje completo. Si alguien famoso recibe
más correos electrónicos de los que puede leer, pero aún le gustaría tener
una forma para que los fanáticos se comuniquen con él, podrían
configurar Bitcoin y dar la dirección IP en su sitio web. "Envía X bitcoins a
mi línea de prioridad en esta IP y leeré el mensaje personalmente".
Sitios de suscripción que necesitan alguna prueba de trabajo adicional
para su periodo de prueba gratuito para que no canibalice suscripciones,
podría cobrar bitcoins por la versión de prueba.
Puede tener sentido solo para obtener algunos en caso de que se ponga de
moda. Si suficientes personas piensan de la misma manera, eso se
convierte en una profecía autocumplida. Una vez que arranque, hay
tantas aplicaciones si puedes pagar sin esfuerzo unos pocos centavos a un
92
SOBRE EL PROPÓSITO PARA EL CUAL BITCOIN PODRÍA SER USADO PRIMERO
sitio web tan fácilmente como soltamos monedas en una máquina
expendedora.
Satoshi Nakamoto
http://www.bitcoin.org
Re: Porno
_______________________________________________________________
Bitcoin sería conveniente para las personas que no tienen una tarjeta de
crédito o no quieren usar las tarjetas que tienen, o bien no quieren que el
cónyuge lo vea en la factura o no confían en dar su número al "porno
chicos”, o miedo a una facturación recurrente.
93
20
"Prueba de Trabajo"
Tokens y Spammers
Traducción por Arturo Monzón
* Los ordenadores infectados de spam pueden arder con los filtros de
correo electrónico de pago por envío
94
EL LIBRO DE SATOSHI
que la recompensa sea mayor que el costo de operación). Un ordenador
cuyas ganancias están siendo robadas por una computadora infectada será
más llamativo para su propietario que en el caso actual, por lo tanto,
podríamos esperar que, en ese mundo, los usuarios trabajarán con más
dedicación para mantener sus ordenadores limpios de infecciones.
________________________________________________________________
Otro factor que mitigaría el spam si los tokens de prueba de trabajo tienen
valor: habría un motivo de ganar dinero para que las personas creen
cantidades masivas de falsas cuentas de correo electrónico para recolectar
tokens de prueba de trabajo del spam. Básicamente, estarían revirtiendo los
correos no deseados a los remitentes de spam con buzones de correo
automáticos que recopilan su prueba de trabajo y no leen el mensaje. La
proporción de buzones falsos con personas reales podría ser demasiado alta
para que el correo no deseado sea rentable.
El proceso tiene el potencial de establecer el valor del token de prueba de
trabajo en primer lugar, ya que los spammers que no tienen ordenadores
infectados pueden comprar tokens de los recolectores. Si bien esta recompra
permitiría temporalmente el envío de más spam, solo aceleraría el ciclo de
autodestrucción que lleva a que demasiados recolectores exploten a los
spammers.
Curiosamente, uno de los sistemas de oro electrónico (e-gold), ya tiene una
forma de spam llamada "limpieza". Los spammers envían una pequeña
cantidad de oro en polvo para colocar un mensaje de spam en el campo de
comentario de la transacción. Si el sistema permite a los usuarios configurar
el pago mínimo que están dispuestos a recibir, o al menos el mínimo que
puede tener un mensaje, los usuarios pueden establecer cuánto están
dispuestos a cobrar para recibir correo no deseado.
Satoshi Nakamoto
__________________________________________________________________
95
Bitcoin Presentado
21
en la Fundación P2P
Traducción por Arturo Monzón
He desarrollado un nuevo sistema de pago electrónico P2P de código
abierto llamado Bitcoin. Está completamente descentralizado, sin
servidor central o partes de confianza, porque todo se basa en la prueba
criptográfica en lugar de la confianza. Pruébalo o echa un vistazo a las
capturas de pantalla y al documento del proyecto:
La raíz del problema con la moneda convencional es toda la confianza que
se requiere para que funcione. Se debe confiar en que el banco central no
degrade la moneda, pero el historial de las monedas fiduciarias está lleno
de violaciones de esa confianza. Los bancos deben ser confiables para
96
EL LIBRO DE SATOSHI
Hace una generación, los sistemas informáticos de uso compartido de
múltiples usuarios tenían un problema similar. Antes de la encriptación
segura, los usuarios tenían que confiar en la protección mediante
contraseñas para proteger sus archivos, confiando en el administrador del
sistema para guardar su información privada. La privacidad siempre
puede ser anulada por el administrador en base a su criterio,
desvirtuando el principio de privacidad frente a otras preocupaciones, o
por orden de sus superiores. Entonces, la encriptación segura se volvió
disponible para las masas y ya no se necesitaba confianza. Los datos se
podían asegurar de una manera que era físicamente imposible poder
acceder para otros, no importa el motivo, no importa cuán buena sea la
excusa, no importa nada.
Es hora de que tengamos lo mismo para dinero. Con el dinero digital
basado en pruebas criptográficas, sin la necesidad de confiar en un
intermediario externo, el dinero puede ser seguro y las transacciones
realizarse sin esfuerzo.
Uno de los fundamentos para construir bloques como un sistema de este
tipo son las firmas digitales. Una moneda digital contiene la clave pública
de su propietario. Para transferirlo, el propietario firma la moneda junto
con la clave pública del próximo dueño. Cualquiera puede verificar las
firmas para verificar el recorrido de la propiedad. Funciona bien para
asegurar la propiedad, pero deja un gran problema sin resolver: el doble
gasto. Cualquier dueño podría intentar de nuevo usar una moneda ya
gastada, volviéndola a firmar a otro propietario. La solución habitual es
que una empresa fiable, con una base de datos central, compruebe el
gasto doble, pero eso nos devuelve al modelo de tercero de confianza.
Desde su posición central, la compañía puede invalidar a los usuarios, y
las tarifas necesarias para respaldar el trabajo de la compañía hacen que
los micropagos no sean prácticos.
97
BITCOIN PRESENTADO EN LA FUNDACIÓN P2P
Aprovecha la naturaleza de la información, que es fácil de difundir, pero
difícil de sofocar. Para detalles sobre cómo funciona, vea el documento
de diseño en http://www.bitcoin.org/bitcoin.pdf
El resultado es un sistema distribuido sin un único punto de fallo. Los
usuarios mantienen las claves de cifrado en su propio dinero y realizan
transacciones directamente entre ellos, con la ayuda de la red P2P para
verificar el doble gasto.
Satoshi Nakamoto
http://www.bitcoin.org
98
Sobre la
22
Descentralización Como
Clave para el Éxito
Traducción por Arturo Monzón
http://opencoin.org/
_____________________________________________________________
99
EL LIBRO DE SATOSHI
Podría ser. Están hablando de la vieja casa de moneda central de
Chaumian, pero tal vez solo porque eso era lo único disponible. Tal vez
podrían estar interesados en ir en una nueva dirección.
100
23
Sobre el Suministro
de Dinero
Traducción por Arturo Monzón
101
EL LIBRO DE SATOSHI
● Cuando alguien encuentra pruebas de trabajo para generar un bloque,
obtiene algunas monedas nuevas
● La dificultad de la prueba de trabajo se ajusta cada dos semanas para
apuntar a un promedio de 6 bloques por hora (para toda la red)
● Las monedas que se dan por bloque se dividen a la mitad cada 4 años
Se podría decir que las monedas son emitidas por la mayoría. Se emiten
en una cantidad limitada y predeterminada.
Como ejemplo, si hay 1000 nodos, y 6 obtienen monedas cada hora,
probablemente demore una semana antes de obtener algo.
Para la pregunta de Sepp, de hecho, no hay nadie que actúe como banco
central o reserva federal para ajustar la oferta monetaria a medida que
crece la población de usuarios. Eso habría requerido que una parte
confiable determine el valor, pero no conozco una forma de que el
software conozca el valor real de las cosas. Si hubiera alguna forma
inteligente, o si quisiéramos confiar en que alguien administre
activamente el suministro de dinero para vincularlo a algo, las reglas
podrían haber sido programadas para eso.
102
24
Lanzamiento de
Bitcoin v0.1.3
Traducción por Arturo Monzón
Parece que hemos terminado con los peores problemas de conexión a
Internet. 0.1.3 soluciona un problema por el que las comunicaciones de tu
nodo podrían desaparecer después de un tiempo. La red se está
ejecutando ahora más fluidamente con esta versión.
103
EL LIBRO DE SATOSHI
Satoshi Nakamoto
104
Sobre Documentos de
25
Sellado de Tiempo
Traducción por Enrique Palacios Rojo
La versión actual funcionará bien. Cada una se conectará en Internet,
mientras que las conexiones entrantes solo llegan al host a través del
puerto 8333.
105
EL LIBRO DE SATOSHI
Por cierto, no recuerdo si hablamos sobre esto, pero el otro día algunas
personas mencionaron el sellado de tiempo seguro. Se refieren a poder
probar que un cierto documento existía en un determinado momento
en el pasado. Me parece que los bloques apilados del bitcoin serían
perfectos para esto.
_____________________________________________________________
De hecho, Bitcoin es un servidor distribuido de sellado de tiempo seguro
para transacciones. Con algunas líneas de código se podría crear una
transacción con un hash extra de cualquier cosa que necesite ser sellada
en el tiempo. Debería agregar un comando para el sellado del tiempo de
un archivo de esta manera.
_______________________________________________________________
Correcto, y me gustaría ver más de una interfaz de librería que podría
ser llamada desde la programación o lenguajes de scripting, en el lado
del cliente también.
_____________________________________________________________
Exactamente
Satoshi Nakamoto
http://www.bitcoin.org
106
Foro de Bitcointalk
26
Mensaje de Bienvenida
Traducción por Enrique Palacios Rojo
Descarga
http://sourceforge.net/projects/bitcoin/files/
107
Sobre Maduración
27
de Bitcoin
Traducción por Enrique Palacios Rojo
M B
Desde la perspectiva del usuario, el proceso de maduración de bitcoin
puede ser desglosado en 8 pasos:
1. La transacción inicial de la red que sucede cuando pinchamos sobre
Genera Monedas.
2. El tiempo entre esa transacción inicial de red y cuándo la entrada del
bitcoin esté lista para aparecer en el listado de todas las
transacciones.
108
EL LIBRO DE SATOSHI
3. El cambio de entrada del bitcoin desde fuera del campo de Todas las
transacciones hacia el campo dentro de Todas las transacciones.
4. El tiempo desde que aparece el bitcoin en la lista de Todas las
transacciones y cuando la Descripción está lista para cambiar a
Generado (50.00 maduran en x más bloques).
5. El cambio de Descripción ha Generado (50.00 maduran en x más
bloques).
6. El tiempo entre el momento en que la Descripción dice Generado
(50.00 maduran en x más bloques) a cuando está listo para cambiar a
Generado.
7. El cambio de la Descripción ha Generado.
8. El tiempo que pasa después de que la Descripción haya cambiado a
Generado.
¿Cuáles de estos pasos requieren conectividad de red, uso importante de
CPU local y o uso significativo de CPU remoto? ¿Tienen nombres cada uno
de estos pasos?
RE: M B
Sirius-m, 22 de octubre 2009, 02:26 UTC
Por lo que sé, no hay transacciones de red cuando haces click en
“Generar monedas”-tu ordenador solo comienza a calcular la próxima
prueba de trabajo. El uso de CPU es del 100% cuando estás generando
monedas.
En este ejemplo, la conexión de red es usada cuando transmiten la
información sobre el bloque de prueba de trabajo que se ha creado (la
cual da derecho a la nueva moneda). Generar monedas con éxito
requiere una conectividad constante, para que se pueda comenzar a
trabajar en el siguiente bloque cuando alguien obtiene el bloque actual
antes que tú.
_____________________________________________________________
109
SOBRE MADURACIÓN DE BITCOIN
MADURACIÓN EN BITCOIN
Satoshi Nakamoto, 22 de noviembre 2009, 06:34:21 PM
1. Durante la generación (cuando la barra de estado dice "Generando" y
se está usando la CPU para encontrar una prueba de trabajo), debe
mantenerse constantemente en contacto con la red para recibir el
último bloque. Si su bloque no se vincula con el último bloque, puede
no ser aceptado.
2. Cuando se genera con éxito un bloque, es inmediatamente transmitido
a la red. Otros nodos deben recibirlo y vincularlo para que sea
aceptado como el nuevo bloque más reciente.
Piensa en ello como un esfuerzo de cooperación para hacer una cadena.
Cuando agregas un enlace, primero se debe encontrar el final actual de la
cadena. Si fueras a localizar el último enlace, deja pasar una hora y crea
tu enlace, y entonces vincúlalo al enlace final de hace una hora, otros
pueden haber agregado varios enlaces desde entonces y no van a querer
usar tu enlace que ahora se bifurca en el medio.
Después de crear un bloque, el tiempo de maduración de 120 bloques es
para asegurar completamente que el bloque sea parte de la cadena
principal antes de que puede ser gastado. Tu nodo no está haciendo nada
con el bloque durante ese periodo de tiempo, solo está esperando que se
agreguen otros bloques después del tuyo. No hace falta estar online
durante ese tiempo.
110
¿Cómo de anónimos son
28
los Bitcoins?
Traducción por Enrique Palacios Rojo
AL CONTRARIO QUE UNA MALETA llena de billetes de 100 dólares,
que se pueden mover sin dejar rastro, las transacciones de Bitcoin se registran
en un libro público mayor. Aunque las direcciones de Bitcoin son anónimas por
naturaleza, las transacciones realizadas en los nombres de estas direcciones no
lo son.
¿Pueden los nodos de la red saber el origen y el destino de las
direcciones bitcoin a las que se envían las monedas? ¿Los bloques
contienen una historia donde los bitcoins han sido transferidos y desde
dónde?
Los bitcoins se envían desde y hacia direcciones de bitcoin, que son
esencialmente números aleatorios sin información que los identifique
Cuando se envía a una dirección IP, la transacción aún se escribe a una
dirección de bitcoin. La dirección IP solo se usa para conectar el
ordenador del destinatario para solicitar una nueva dirección bitcoin, dar
la transacción directamente al destinatario y obtener una confirmación.
111
EL LIBRO DE SATOSHI
Los bloques contienen un historial de las direcciones de bitcoin a las que
una moneda ha sido transferida. Si las identidades de las personas que
usan las direcciones bitcoin no son conocidas y cada dirección es usada
solo una vez, entonces esta información sólo revela que alguna persona
desconocida ha transferido una cierta cantidad a otra persona.
La posibilidad de ser anónimo o pseudo anónimo depende de que no se
revele ninguna información de identificación sobre uno mismo que lo
relacione con las direcciones de bitcoin que se use. Si publica su dirección
de bitcoin en la web, entonces está asociando esa dirección y cualquier
transacción que se realice desde ella con el nombre con el que se ha
publicado. Si ha publicado bajo un seudónimo que no se ha asociado con
su identidad real, entonces sigues siendo pseudo anónimo.
Para una mayor privacidad, lo mejor es usar direcciones de bitcoin solo
una vez. Se puede cambiar las direcciones con la frecuencia que se quiera
utilizando Opciones->Cambiar su dirección. Las transferencias por
dirección IP usan automáticamente una nueva dirección de bitcoin cada
vez.
_______________________________________________________________
No.
_______________________________________________________________
¿Hay una opción de línea de comando que ejecute el proxy sock la
primera vez que se inicia Bitcoin?
_____________________________________________________________
El problema que tiene TOR es que el servidor IRC que Bitcoin utiliza
inicialmente descubre otros nodos que prohíben los nodos de salida de
TOR, como hacen todos los servidores IRC. Si ya se ha conectado antes,
entonces ya ha sido trazado, pero para la primera vez, se necesitaría
proporcionar la dirección de un nodo tal y como sigue:
bitcoin -proxy = 127.0.0.1:9050 -addnode = <someipaddress>
112
¿COMO DE ANÓNIMOS SON LOS BITCOINS?
Si alguien ejecuta un nodo con una dirección IP estática que pueda
aceptar conexiones entrantes se podría publicar su IP para usar para
-addnode, siendo esto la mejor opción.
¿Qué sucede si se envía bitcoins a una dirección IP que tiene múltiples
clientes conectados a través de una dirección de red traducida (NAT-
network address translation - por sus siglas en inglés)?
Cualquiera que haya configurado su NAT para reenviar el puerto 8333 lo
podrá recibir. Si tu router puede cambiar el número de puerto cuando se
reenvía, puede permitir que más de un cliente lo reciba. Por ejemplo, si
el puerto 8334 lo reenvía al puerto 8333 de un ordenador, entonces los
que envían lo pueden mandar a "x.x.x.x:8334"
Si su NAT no puede traducir los números de puerto, entonces no hay una
opción de línea de comando que cambie el puerto de entrada que vincula
ese bitcoin, pero lo revisaré.
113
29
Algunas Preguntas
Respondidas por Satoshi
Traducción por Arturo Monzón
SmokeTooMuch escribió:
He leído a través de muchos sitios, pero ahora tengo algunas preguntas
para las que no he encontrado respuesta.
114
EL LIBRO DE SATOSHI
(Me refiero a no recuperar las monedas perdidas para una persona,
pero si se crearon todas las monedas de 21 millones, y alguien pierde
su billetera con monedas de 1 millón, ¿los otros podrán crear estas
monedas de 1 millón ahora o están totalmente perdidas para la red
Bitcoin?)
7. He leído que actualmente hay alrededor de 130.000 bloques por ahí.
En mi pc solo me muestra unos 24.000. ¿Hay algo mal o es esto un
comportamiento normal?
8. Me temo que no entendí todo sobre la creación de bitcoin. ¿Cuántas
monedas crea una máquina en 24 horas en promedio?
9. Sé que el puerto 8333 debe ser enviado a la máquina que ejecuta
bitcoin. Ahora me pregunto si esto atañe para el TCP o el UDP.
¿Y se requiere este puerto para generar monedas? ¿O solo para
transacciones de pago?
115
ALGUNAS PREGUNTAS RESPONDIDAS POR STOSHI
10. He visto que el código fuente de bitcoin está abierto para todos.
¿Puede ser esto un peligro real? Si el código es manipulado, las
personas pueden crear más bitcoins que otros, ¿no? Esto sería una gran
fuga de seguridad.
11. He visto un formulario para calcular las monedas que se crearán en un
cierto período de tiempo. Tengo algo que hacer con la velocidad
máxima y disponibilidad de CPU. Ya no puedo encontrarlo, así que te
pido que me expliques la creación de la moneda. ¿Las máquinas más
lentas producen tantas monedas como las de gama alta?
12. ¿Existen otros sistemas de intercambio o posibles socios de pago a
excepción del nuevo estándar de libertad?
13. ¿Qué sucede cuando mi sistema falla? ¿Se guarda el monedero
automáticamente o sólo cuando Bitcoin se cierra manualmente? (¿Tal
vez incluso el ahorro en tiempo real cuando se crea una moneda o se
realiza el pago?)
14. ¿Hay alguna manera de ver cuántos bitcoins se han generado hasta
ahora? ¿Y cuántos años tiene Bitcoin?
Lo sé ... Muchas preguntas, pero estoy realmente interesado en tu
servicio y quiero saberlo todo antes de empezar a usarlo más
frecuentemente.
1-3: Para ese nivel de anonimato necesita conectarse a través de TOR, lo
que será posible con la versión 0.2, que está a solo unas semanas. Voy a
publicar instrucciones TOR en ese momento.
4: Versión 0.1.5: haga una copia de seguridad de todo el directorio
%appdata%\Bitcoin. Versión 0.2: sólo puede respaldar wallet.dat.
6: Esas monedas nunca pueden ser recuperadas, y la circulación total es
menor. Como se reduce la circulación efectiva, todas las monedas
restantes valen un poco más. Es lo opuesto a cuando un gobierno imprime
dinero y el valor del dinero existente disminuye.
7: Actualmente son 29,296 bloques. La circulación es el número de
bloques multiplicado por 50, por lo que la circulación actual es de
1,464,800 btc.
116
EL LIBRO DE SATOSHI
Si solo tiene 24k bloques, no debe haber terminado la descarga del
bloque inicial. Salga de Bitcoin y vuelva a iniciarlo. La versión 0.2 es
mejor/más rápida en la descarga del bloque inicial.
8: Normalmente unos pocos cientos en este momento. Ahora es fácil,
pero se hará más difícil a medida que la red crezca.
9: Buena pregunta, es TCP. El sitio web debe actualizarse para decir TCP
puerto 8333.
El reenvío de puertos es para que otros nodos se puedan conectar a
usted, por lo que le ayuda a mantenerse conectado porque puede
conectarse con más nodos. También lo necesita para recibir pagos por
dirección IP.
Ser código abierto significa que cualquiera puede revisar el código de
forma independiente. Si fuera de código cerrado, nadie podría verificar la
seguridad. Creo que es esencial que un programa de esta naturaleza sea
de código abierto.
11: Máquinas más lentas producen menos monedas. Es proporcional a la
velocidad del CPU.
13: Utiliza una base de datos transaccional llamada Berkeley DB. No
perderá datos en un bloqueo del sistema. Las transacciones se escriben en
la base de datos inmediatamente cuando se reciben.
14: Por ahora, puedes multiplicar el total de bloques por 50. La red de
Bitcoin lleva funcionando casi un año. El diseño y la codificación
comenzaron en 2007.
117
ALGUNAS PREGUNTAS RESPONDIDAS POR STOSHI
Además, sabemos que usa WLAN y su red no está protegida o está
débilmente protegida. Lo mismo ocurre con la configuración del
enrutador.
Ahora podemos iniciar sesión en la configuración de su enrutador,
cambiar las direcciones IP para el puerto reenviado 8333 a nuestro
sistema IP. Ahora nuestro cliente de bitcoin recibirá todos sus pagos.
(No es que tenga un interés en dañar a la gente, pero sé que la gente
criminal intentará muchas formas de obtener algo de dinero).
Por cierto: lo mismo debería funcionar cuando estás en un grupo LAN
con configuración de enrutador desprotegido.
118
30
Sobre la “DeFlación
Natural”
Traducción por Arturo Monzón
Por otro lado, cuando una moneda está intrínsecamente ligada a una
cantidad, los préstamos son extremadamente raros. Antes de la creación de la
Reserva Federal en los EE. UU. en 1913, la mayoría de las compras se
realizaban en efectivo, incluso para casas. La implicación de una moneda fija
en valor, o incluso una que gana en valor con el tiempo, es importante. La
gente no tendría que especular en fondos mutuos para su jubilación; en su
lugar, uno podría simplemente ahorrar el dinero para hacer una compra. Esto es
típicamente llamado "atesorar" por los medios financieros, pero también lo son
los fondos de jubilación. Básicamente, ahorrar significa demorar el consumo de
material, recursos y tiempo para que otros, incluidas las empresas que inviertan
en nuevas plantas, puedan mejorar la productividad actual. Más tarde disfrutará
de su jubilación debido a este retraso en el consumo. El concepto de dinero es
119
EL LIBRO DE STOSHI
Una pregunta rápida sobre "deflación natural" (como la llamo). Me di
cuenta de que es posible gastar en direcciones antiguas que ya no
funcionan. En esencia, las monedas no pueden ser reclamadas. ¿No
habría un efecto de deflación natural debido a esto? Quiero decir, si las
monedas alcanzan un máximo de 21,000,000, ¿no habría un número de
monedas lentamente revertidas por debido a los errores de pago?
_____________________________________________________________
Habría un interruptor de línea de comando en tiempo de ejecución para
indicarle que se ejecutará sin UI. Todo lo que necesita hacer es no crear
la ventana principal. Una forma simplista sería desactivar "pframeMain->
Show" y "ptaskbaricon->Show" en ui.cpp. A la red no les importa que la UI
no esté allí. La única otra UI es un cuadro de mensaje en CheckDiskSpace
si se queda sin espacio en el disco.
Luego, una utilidad de línea de comando separada para comunicarse con
él para hacer cosas. No estoy seguro de qué nombre debería tener.
"Deflación natural"... Me gusta ese nombre. Sí, habrá una deflación
natural debido a errores de pago y pérdida de datos. La creación de
monedas será eventualmente lo suficientemente lento como para ser
superada por la deflación natural y tendremos una deflación neta.
La segunda conversación:
120
SOBRE LA “DEFLACIÓN NATURAL”
Entonces, ¿cada vez que una persona pierde monedas, se pierden para
siempre? ¿Entonces la red bitcoin se reducirá lentamente con el
tiempo? (¡Porque siempre habrá gente que pierde billeteras!)
TIA
virtualcoin
_____________________________________________________________
Las monedas perdidas solo hacen que las monedas de los demás un poco
más valiosas. Piense en ello como una donación para todos.
________________________________________________________________
Sin embargo, me pregunto si existe algún punto en el que la dificultad
de generar una nueva base de monedas sea tan alta que, ¿tendría más
sentido tratar de recuperar las llaves de las monedas perdidas o robar
las monedas de otras personas? La dificultad de eso es realmente alta,
así que por ahora tiene mucho más sentido generar, pero solo me
pregunto ¿cuáles son las cifras reales? ¿Alguna vez se volvería más
productivo? Tal vez Satoshi puede abordar estas cuestiones…
_____________________________________________________________
Las computadoras tienen que ser 2^200 veces más rápidas antes que eso
comience a ser un problema. Alguien con mucho poder de cómputo podría
ganar más dinero generando que tratando de robarlo.
121
31
Bitcoin Versión 0.2
Está Aquí!
Traducción por Arturo Monzón
http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.2.0-
win32-setup.exe/download
http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.2.0-
win32.zip/download
http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.2.0-
linux.tar.gz/download
122
EL LIBRO DE SATOSHI
Nuevas características
● Martti Malmi
● Minimiza la opción de bandeja del sistema
● Inicio automático de arranque para que pueda mantenerlo
funcionando en segundo plano automáticamente
● Nuevo diseño de diálogo de opciones para futura expansión
● Programa de instalación para Windows
● Versión Linux (probado en Ubuntu)
Satoshi Nakamoto
Muchas gracias a Martti Malmi (sirius-m) por todo su trabajo de
codificación y por albergar el nuevo sitio y este foro, y a New Liberty
Standard por su ayuda en la prueba de la versión de Linux.
123
32
Recomendación Sobre
Formas de Hacer un Pago
Para un Pedido
1. El comerciante tiene una dirección IP estática, el cliente lo envía
con un comentario.
2. El comerciante crea una nueva dirección de bitcoin, se la da al
cliente y el cliente la envía a esa dirección. Esta será la forma
124
EL LIBRO DE SATOSHI
RSA vs ECDSA: no es el tamaño del ejecutable, sino el tamaño de los
datos. Pensé que no sería práctico si la cadena de bloques, las direcciones
de bitcoin, el espacio en disco y los requisitos de ancho de banda fueran
de magnitudes mayores. Además, incluso si usara RSA para los mensajes,
aún tendría sentido hacerlo para toda la red bitcoin con ECDSA y usar RSA
en paralelo solo para la parte del mensaje. En todo caso, todo lo que se
ha implementado hasta ahora se ha implantado como debería.
Podemos encontrar una mejor manera para esto mucho más adelante.
Podría usarse un separado (tal vez existente) correo electrónico o
infraestructura IM para pasar mensajes, y en lugar de RSA, tal vez
simplemente ponga un hash del mensaje en la transacción para demostrar
que la transacción es para la orden descrita en el mensaje. El mensaje
debería incluir un tipo de marca para que nadie pueda romper el hash y
revelar el mensaje corto.
125
33
Sobre la DiFicultad de la
Prueba de Trabajo
Traducción por Beatriz Lizarraga
Tuvimos nuestro primer ajuste automático de la dificultad de prueba de
trabajo el 30 de diciembre de 2009.
La dificultad mínima es de 32 zero bits, por lo que incluso si solo una
persona ejecuta un nodo, la dificultad no será más fácil que eso. Durante
la mayor parte del año pasado, estuvimos revoloteando por debajo del
mínimo. El 30 de diciembre rompimos por encima y el algoritmo se ajustó
hacia una mayor dificultad. Desde entonces se ha vuelto más difícil en
cada ajuste.
El ajuste del 04 de febrero llevó de 1,34 veces la dificultad a 1,82 veces
más difícil que el año pasado. Eso significa que solo genera el 55% de
monedas a igual cantidad de trabajo.
La dificultad se ajusta proporcionalmente al esfuerzo total sobre la red.
Si el número de nodos se duplica, la dificultad también se duplicará,
devolviendo el total generado a la tasa objetivo.
126
EL LIBRO DE SATOSHI
Para aquellos con inclinaciones técnicas, la dificultad de la prueba de
trabajo se puede ver buscando en "target:" en debug.log. Es un número
hexadecimal sin signo de 256 bits, cuyo valor de SHA-256 tiene que ser
menor que generar un bloque con éxito. Se ajusta cada 2016 bloques,
generalmente dos semanas. Ahí es cuando imprime
"GetNextWorkRequired RETARGET" en debug.log.
mínimo
0000000ffff0000000000000000000000000000000000000000000000000000
30/12/2009
00000000d86a000000000000000000000000000000000000000000000000000
0
11/01/2010
00000000c428000000000000000000000000000000000000000000000000000
0
25/01/2010
00000000be71000000000000000000000000000000000000000000000000000
0
04/02/2010
000000008cc30000000000000000000000000000000000000000000000000000
14/02/2010
000000006546570000000000000000000000000000000000000000000000000
0
24/02/2010
0000000043b3e50000000000000000000000000000000000000000000000000
0
08/03/2010
00000000387f6f00000000000000000000000000000000000000000000000000
21/03/2010
000000003813750000000000000000000000000000000000000000000000000
0
01/04/2010
000000002a11150000000000000000000000000000000000000000000000000
0
12/04/2010
0000000020bca70000000000000000000000000000000000000000000000000
0
21/04/2010
0000000016546f00000000000000000000000000000000000000000000000000
127
SOBRE LA DIFICULTAD DE LA PRUEBA DE TRABAJO
04/05/2010
0000000013ec530000000000000000000000000000000000000000000000000
0
19/05/2010
00000000159c240000000000000000000000000000000000000000000000000
0
29/05/2010
000000000f67c00000000000000000000000000000000000000000000000000
11/06/2010
000000000eba640000000000000000000000000000000000000000000000000
0
24/06/2010
000000000d31420000000000000000000000000000000000000000000000000
0
06/07/2010
000000000ae4930000000000000000000000000000000000000000000000000
0
13/07/2010
0000000005a3f400000000000000000000000000000000000000000000000000
16/07/2010
000000000168fd00000000000000000000000000000000000000000000000000
27/07/2010
00000000010c5a0000000000000000000000000000000000000000000000000
0
05/08/2010
0000000000ba180000000000000000000000000000000000000000000000000
0
15/08/2010
0000000000800e0000000000000000000000000000000000000000000000000
0
26/08/2010
000000000069200000000000000000000000000000000000000000000000000
0
fecha, factor de dificultad, % cambio
2009 1.00
30/12/2009 1.18 + 18%
11/01/2010 1.31 + 11%
128
EL LIBRO DE SATOSHI
129
S L
34 B
R
N
Traducción por Beatriz Lizarraga
R :E B
I
Satoshi Nakamoto, 21 de febrero 2010, 05:44:24 PM
_______________________________________________________________
xc escribió:
No echéis a sudar. Nadie murió nunca de una "espiral deflacionista" :-)
Estoy de acuerdo con "Yo no soy anónimo". El mercado elegirá la mejor
moneda tipo bitcoin. Sin embargo, creo que las reglas en las que
Satoshi fundó Bitcoin serán más que adecuadas para el futuro de una
próspera economía bitcoin.
130
EL LIBRO DE SATOSHI
Todo el mundo sabe exactamente lo rápido que crecerá el suministro
de bitcoins: está grabado a piedra en las reglas de la programación y la
red bitcoin. Aunque es cierto que no existe actualmente un mercado
totalmente desarrollado para dar un precio real a los bitcoins, tales
mercados e intercambios están siendo desarrollados. En lo que
concierne a los futuros generadores de bitcoins, la cuestión no es
cuánto "exigirá ... para compensar sus gastos". La pregunta que se hará
a sí mismo es "dados los valores de mercado actuales y mi capacidad
para utilizar la electricidad y los recursos de la CPU, ¿me vale la pena
generar bitcoins?". Si la respuesta es sí, él participa. Si es no, dejará de
intentar extraer bitcoins y se centrará en intercambiar activos
tangibles con bitcoins que sirven como intermediario apropiado. Si no
está seguro, seguirá intentándolo por un tiempo y luego tomará una
decisión final.
El número de nodos y la potencia computacional asociada de la CPU
fluirá, y ese flujo competitivo permitirá que los costes se aproximen al
valor (y no al revés). El valor será establecido por los mercados y por la
demanda de uso de bitcoin como intermediario comercial (un dinero).
En un futuro lejano, la competencia de los costes de transacción jugará
un papel más importante para el potencial operador de un nodo.
Dado el hecho de que los bitcoins son por su naturaleza electrónica
fácilmente divisibles, los precios podrán ajustarse fácilmente a las
presiones deflacionarias. Si muchos están ahorrando, los precios caerán
131
SOBRE EL LÍMITE DE BITCOIN Y LA RENTABILIDAD DE LOS NODOS
y la tasa de interés bajará. Esto fomenta la demanda (precios más
bajos) y disminuye el deseo de ahorrar (menos interés).
XC
_____________________________________________________________
Un precio de mercado racional para algo que se espera que aumente en
valor, ya reflejará el valor presente de los incrementos de expectativas
futuras. Mentalmente haces una estimación de probabilidad equilibrando
las posibilidades de que siga aumentando.
En ausencia de un mercado para establecer el precio, la estimación de
NewLibertyStandard basada en el coste de producción es una buena
suposición y un servicio útil (gracias). El precio de cualquier producto
tiende a gravitar hacia el coste de producción. Si el precio está por
debajo del coste, entonces la producción se ralentiza. Si el precio está
por encima del coste, las ganancias se pueden crear generando y
vendiendo más. Al mismo tiempo, el aumento de la producción
aumentaría la dificultad, empujando el coste de generación en el precio.
En años posteriores, cuando la nueva generación de monedas sea un
pequeño porcentaje de la oferta existente, el precio de mercado
determinará el coste de producción más que al revés.
132
S
35
P
C D
B
Traducción por Beatriz Lizarraga
R :C B
133
EL LIBRO DE SATOSHI
Si se diera una colisión, el colisionador podría gastar el dinero enviado a
esa dirección. Solo el dinero enviado a esa dirección, no toda la billetera.
Si usted estuviera tratando de hacer una colisionar intencionalmente, le
supondría 2^126 veces más tiempo generar una dirección de bitcoin
colisionante que generar un bloque. Podría haber conseguido mucho más
dinero generando bloques.
La semilla aleatoria es muy minuciosa. En Windows, utiliza todos los datos
del monitor de rendimiento que miden cada bit del rendimiento del disco,
las métricas de la tarjeta de red, el tiempo del CPU, la paginación, etc.
desde que se inicia su ordenador. Linux tiene un colector de entropía
incorporado. Además, cada vez que mueves el mouse dentro de la
ventana de Bitcoin estás generando entropía, y la entropía se captura a
partir del tiempo de las operaciones del disco.
134
36
Código QR
Traducción por Beatriz Lizarraga
https://bitcointalk.org/index.php?topic=177.msg1814#msg1814
_______________________________________________________________
Por supuesto, puedes utilizar servicios como vekja.net o mybitcoin.com
en un navegador móvil, depositando dinero allí en la medida en que
135
EL LIBRO DE SATOSHI
confíes en ellos.
_____________________________________________________________
Creo que esa es la mejor opción ahora mismo. Al igual que el dinero en
efectivo, no guardas todo tu dinero neto en el bolsillo, sólo llevas dinero
para gastos imprevistos mientras das una vuelta.
Podrían hacer una versión más pequeña de la web optimizada para
dispositivos móviles. Si hubiera una aplicación, podría ser una interfaz
para una de ellas, con la función principal de lector de código QR, o tal
vez ya existe una aplicación universal de lectura de códigos QR que los
sitios web puedan diseñar para aceptar escaneos.
Una interfaz web para tu propio servidor Bitcoin en casa no sería una
solución para todo el mundo. La mayoría de los usuarios no tienen una
dirección IP estática y es demasiado complicado configurar el reenvío de
puertos.
136
Icono/Logo Bitcoin
37
Traducción por Beatriz Lizarraga
(See http://commons.wikimedia.org/wiki/File:Bitcoin.svg)
New icono/logo
Satoshi Nakamoto, 24 de febrero 2010 09:24:23 PM
137
EL LIBRO DE SATOSHI
La sombra de la perspectiva era demasiado gruesa en los tamaños más
grandes. Actualicé 32, 48 y el tamaño completo.
Excelente. Debería ser un buen recurso para los que participan en el
concurso de banners. ¿Por qué dimensiones desiguales?
Está bastante bien si no puedes leer fácilmente la B en 16x16. En ese
tamaño solo necesitas ver que es una moneda. No importa tanto lo que
está grabado en relieve, solo que hay algún detalle, no parecería una
moneda si fuera un círculo liso en blanco.
Es un poco más ancho que alto por la perspectiva oscura debajo va más
hacia la derecha que hacia abajo.
¿Qué opináis los demás sobre el símbolo B con las dos líneas a través del
exterior? ¿Podemos vivir con eso como nuestro logo?
_______________________________________________________________
Cita de: Cdecker el 27 de febrero 2010, 03:24:07 AM
138
ICONO/LOGO BITCOIN
¿Qué tal una versión SVG? De esa forma, podríamos generar
automáticamente versiones más pequeñas y más grandes según sea
necesario.
_____________________________________________________________
No sé cómo hacer un SVG, pero hice el original muy grande, más de 500
píxeles de ancho, por lo que puede ser reducido. Daré el original cuando
haya terminado.
He tenido que personalizar cada tamaño de icono para que las líneas
verticales se posasen cuadradas en sus píxeles, de lo contrario quedan
feas, borrosas e inconsistentes. Así es el desafío de hacer íconos. El
original será bueno para escalar a tamaños personalizados entre 48 y 500,
pero no más pequeños.
139
38
Licencia GLP Versus
Licencia MIT
Traducción por Beatriz Lizarraga
140
39
Sobre la Regulación de
Transferencia de Moneda
Traducción por Arturo Monzón
Cuando haya suficiente magnitud, tal vez puede haber un sitio de
intercambio que no realice transferencias, que sólo conecte compradores
y vendedores para que ambos intercambien directamente, de forma
similar a como funciona e-bay.
Para hacerlo más seguro, el sitio de intercambio podría actuar como un
141
EL LIBRO DE SATOSHI
depósito en garantía para el comprador de bitcoin. El vendedor pone el
bitcoin en custodia, y el comprador envía el pago convencional
directamente al vendedor. El servicio de intercambio no maneja dinero
del mundo real.
Esto sería un paso mejor que e-bay. E-bay se las arregla para funcionar
bien a pesar de que los bienes enviados no se pueden recuperar si el pago
no se realiza.
142
40
Sobre la Posibilidad
de Una Debilidad
CriptográFica
Traducción por Arturo Monzón
143
EL LIBRO DE SATOSHI
Un matemático amigo mío señaló que hay muy pocos o ningún
protocolo hash que haya sobrevivido durante 10 años o más. ¿Cuál sería
la solución de Bitcoin si SHA256 se rompiera mañana?
SHA-256 es muy fuerte. No es como el paso incremental de MD5 a
SHA1. Puede durar varias décadas, a menos que haya un ataque de
innovación masivo.
_____________________________________________________________
Si SHA-256 llega a romperse del todo, creo que podríamos llegar a un
acuerdo sobre cuál sería la cadena de bloque honesta antes que
comenzara el problema, conectarla y continuar desde allí con una nueva
función hash.
Si la ruptura viene de forma gradual, podríamos hacer la transición a un
hash nuevo de una manera ordenada. El software podría ser programado
para comenzar a usar un nuevo hash después de un cierto número de
bloque. Todos tendrían que actualizarse en ese momento. El software
podría guardar el nuevo hash de todos los bloques antiguos para
asegurarse de que no se pueda usar un bloque diferente con el mismo
hash.
___________________________________________________________________
144
SOBRE LA POSIBILIDAD DE UNA DEBILIDAD CRIPTOGRÁFICA
SHA256 no va a ser roto por las mejoras computacionales de la ley de
Moore en nuestras vidas. Si se llegara a romper, será por algún método
revolucionario de craqueo. Un ataque que pudiera vencer completamente
a SHA256, como para llevarlo dentro de un rango computacionalmente
tratable, tiene una buena posibilidad de golpear también a SHA512.
Si vemos una debilidad en SHA256 que se aproxima gradualmente,
podemos hacer la transición a una nueva función hash después de un
cierto número de bloques. Todos tendrían que actualizar su software
hasta ese número de bloque. El nuevo software mantendría un hash nuevo
de todos los bloques antiguos para asegurarse de que no sean
reemplazados por otro bloque con el mismo hash.
145
41
Sobre una Variedad de Tipos
de Transacciones
Traducción por Jose Manuel Arenillas
Y veo que las salidas de las transacciones tienen un valor (el número de
bitcoins) y un puñado de bytes que se han generado a través del
pequeño lenguaje de scripting parecido a Forth construido en bitcoin.
Por ejemplo: [‘TxOut: value: 100.00 Script: DUP HASH160 6fad...ab90
EQUALVERIFY CHECKSIG’]
146
EL LIBRO DE SATOSHI
Primero: me pone un poco nervioso que bitcoin tenga un lenguaje de
scripting, aunque es un lenguaje de scripting realmente simple (no hay
bucles, no hay punteros, nada excepto matemáticas y criptografía) Me
pone nervioso porque es más complicado y la complicación es la
enemiga de la seguridad. También hace más difícil crear una segunda
implementación compatible. Pero creo que lo puedo asumir.
Repasando el código, las nuevas transacciones se verifica poniendo la
firma y la clave pública sobre la pila del intérprete y ejecutando el
script TxOut (¿lo he entendido bien?).
Y, ¿es esta flexibilidad en los tipos de monedas creadas la razón de
estar programado de esta manera?
_____________________________________________________________
La naturaleza de Bitcoin es tal, que una vez publicada la versión 0.1, el
diseño base estará escrito en piedra para el resto de su vida. Por esta
razón quise diseñarlo de tal manera que soportara cualquier tipo de
transacción que pudiera pensar. El problema era que, cada una requería
campos de datos y código específico así se utilizara o no, y sólo cubría un
caso especial cada vez. Hubiera sido una explosión de casos especiales. La
solución fue el script, que generaliza el problema de tal manera que las
partes involucradas en la transacción pueden describir su transacción
como un predicado que los nodos evalúan. Los nodos sólo tienen que
entender la transacción hasta el punto de evaluar si las condiciones del
emisor se cumplen.
El script es de hecho, un predicado. Es sólo una ecuación que devuelve
verdadero o falso. Predicado es una palabra larga y poco común así que lo
llamé script.
El receptor del pago comprueba el script con una plantilla. Por ahora el
receptor sólo acepta dos plantillas: pago directo y dirección bitcoin.
Futuras versiones podrán añadir más plantillas para más tipos de
transacciones y los nodos que ejecuten esas versiones o superiores podrán
recibirlas. Todas las versiones de los nodos de la red pueden verificar y
147
SOBRE UNA VARIEDAD DE TIPOS DE TRANSACCIONES
El diseño admite una tremenda variedad de posibles tipos de
transacciones que diseñé hace años. Operaciones de depósito en garantía,
contratos en condiciones de servidumbre, arbitraje de terceros, firma
multipartita, etc. Si Bitcoin evoluciona a lo grande, estas son cosas que
querremos explorar en el futuro, pero todas han tenido que diseñarse al
principio para asegurarse de que sean posibles de usar más tarde.
Lo sé, a muchos desarrolladores no les gusta que bifurquen su software,
pero en este caso tengo reales razones técnicas.
_______________________________________________________________
148
EL LIBRO DE SATOSHI
Esa es una característica interesante hasta que se hace popular y
alguien decide que sería divertido inundar la red de pagos con millones
de transacciones para transferir el último video de Lady Gaga a todos
sus amigos. . .
_____________________________________________________________
Esa es una de las razones de las comisiones. Hay otras cosas que podemos
hacer si fuera necesario.
_______________________________________________________________
Cita de: laszlo, 17 de junio 2010, 06:50:31 PM
¿Cuánto tiempo llevas trabajando en este diseño Satoshi? Parece muy
bien pensado, no es el tipo de cosa en la que te sientas y programas sin
tener muchas ideas y discusiones primero. Todo el mundo tiene las
preguntas obvias buscando agujeros, pero está aguantando bien : -)
_____________________________________________________________
Desde 2007. Hubo un momento en el que me convencí de que había una
manera de hacer esto sin necesidad de ningún tipo de confianza y no me
pude resistir a seguir pensando sobre ello. Diseñarlo dio mucho más
trabajo que programarlo.
149
42
El Primer Grifo Bitcoin
Traducción por Jose Manuel Arenillas
Para mi primer proyecto de codificación de Bitcoin, decidí hacer algo
que suena realmente tonto: He creado un sitio web que regala
Bitcoins. Está en: https://freebitcoins.appspot.com/
¿Por qué? Porque quiero que el proyecto de Bitcoin tenga éxito, y creo
que es más probable que sea un éxito si la gente puede obtener unas
150
EL LIBRO DE SATOSHI
cuantas monedas para probarlo. Puede ser frustrante esperar hasta que
tu nodo genere algunas monedas (y eso se volverá más frustrante en el
futuro), y comprar Bitcoins todavía es un poco complicado.
Por favor, pruébalo y consigue algunas monedas gratis, incluso si ya
tiene más Bitcoins que sabe qué hacer con ellos. Pueden conseguir
algunos y volver a donarlos; la dirección es:
15VjRaDX9zpbA8LVnbrCAFzrVzN7ixHNsC
_____________________________________________________________
Excelente elección de un primer proyecto, buen trabajo. Había planeado
hacer justo esto si alguien más no lo hacía, cuando se vuelva demasiado
difícil para los mortales generar 50BTC, los nuevos usuarios podrían
conseguir algunas monedas para jugar de inmediato. Las donaciones
deberían poder mantenerlo lleno. La pantalla que muestra el equilibrio en
el dispensador alienta a las personas a llenarlo.
Debería poner una dirección de bitcoin para donaciones en la página, para
aquellos que deseen agregarle fondos, lo ideal debería ser actualizar a
una nueva dirección cada vez que reciba algo.
_______________________________________________________________
El grifo Bitcoin está aguantando muy bien la sangría ... excepto que me
estoy quedando sin monedas para regalar, más de 5,000 han salido del
grifo desde que lo rellené anoche.
Cualquiera de vosotros, los primeros en adoptar que generaron decenas
de miles de monedas en los primeros días, ¿podrían enviar unos pocos
al grifo para que se regalen y que más personas puedan probar Bitcoin?
151
EL PRIMER GRIFO BITCOIN
Sé que la mayoría de ellos es probable que se pierdan (sospecho que
hay muchos “busca oportunidades” que no se quedarán el tiempo
suficiente para gastar sus 5 bitcoins), pero si ese es el caso,
incrementará el valor del resto de bitcoin, de todos modos…
5 BTC parecen mucho en estos días, probablemente una cantidad normal
debería ser en torno a 1 o 2 BTC.
Este es un servicio importante para que los nuevos usuarios puedan
conseguir algunos si generarlos es muy difícil.
152
43
¡Bitcoin 0.3 Publicado!
Traducción por Jose Manuel Arenillas
¡Anunciando la versión 0.3 de Bitcoin, la criptomoneda P2P! Bitcoin es
una moneda digital que utiliza la criptografía y una red distribuida para
reemplazar la necesidad de un servidor central de confianza. ¡Libérese
del riesgo de inflación arbitrario de las monedas administradas
centralmente! La circulación total de Bitcoin está limitada a 21 millones
de monedas. Las monedas se liberan gradualmente a los nodos de la red
en función de la potencia de CPU con la que contribuyen, por lo que
puede obtener una parte de ellas al contribuir con su tiempo de CPU
inactivo.
Novedades:
153
EL LIBRO DE SATOSHI
154
44
Sobre Segmentación
o “Botón de Apagado
de Internet”
Traducción por Jose Manuel Arenillas
Re: Anonimato!
Satoshi Nakamoto, 8 de junio 2010, 07:12:00 PM
_______________________________________________________________
Es difícil imaginar que Internet se dividiese en espacios herméticos. Sería
como un país que se desconecte deliberada y totalmente del resto del
mundo.
Cualquier nodo con acceso a ambos lados podría transmitir la cadena de
bloques, por ejemplo alguien que se salte el bloqueo con un módem de
acceso telefónico o un teléfono satélite. Solo haría falta un nodo.
Cualquiera que quiera seguir haciendo negocios estaría motivado.
Si la red se segmentara y luego se combinará de nuevo, todas las
transacciones que en la bifurcación más corta no estén también en la
bifurcación más larga volverían a la cola de transacciones y serían
elegibles para entrar en bloques futuros. Su número de confirmaciones
155
EL LIBRO DE SATOSHI
comenzaría de nuevo.
No sería fácil aprovechar la segmentación para hacer un doble gasto. Si es
imposible comunicarse de un lado a otro, ¿cómo gastar en cada lado? Si
hubiera una manera, entonces probablemente otra persona también la
utilice para para esparcirla sobre la cadena de bloques.
Usted debería saber si está en el segmento más corto. Por ejemplo, si su
país se separa del resto del mundo, el resto del mundo es el segmento
más grande. Si estás en el segmento más pequeño, debes asumir que no
hay nada confirmado.
156
SOBRE SEGMENTACIÓN O “BOTÓN DE APAGADO DE INTERNET”
A mí, como comerciante, solo me preocuparía si mi red es la
mayoritaria, por lo que después de reconectarme, mis transacciones
serán aceptadas. Por lo tanto, será suficiente para mí poder
monitorizar la cantidad actual de nodos distintos. Ponerlo en un gráfico
y dejar de procesar transacciones si ese número se reduce a la mitad.
Puede ser un servicio en un servidor web que ejecuta un nodo de
Bitcoin.
157
EL LIBRO DE SATOSHI
Si…
Comencé otro hilo sobre este tema en algún otro sitio, pero para un
proveedor individual, un simple servicio que rastree el tiempo promedio
entre bloques desde el último cambio oficial en dificultad y avise al
proveedor si un solo bloque tarda más del doble que el promedio, tal vez
suspendiendo la aceptación de nuevas monedas hasta que el proveedor
compruebe que está sucediendo. Cada bloque en fila tome más tiempo
que el promedio aumenta la confianza contra un falso positivo. Así que, si
un bloque tarda el doble que el promedio, seguido de una serie de
bloques que tardan un 75% más de tiempo que el promedio, entonces
puedes estar bien seguro de que ya no estás en la red de la mayoría.
_______________________________________________________________
158
SOBRE SEGMENTACIÓN O “BOTÓN DE APAGADO DE INTERNET”
Cita de: knightmb, 03 de agosto 2010, 07:02:13 PM
___________________________________________________________
Cita de: gavinandresen, 03 de agosto 2010, 06:38:44 PM
En la práctica, las divisiones probablemente sean muy asimétricas. Sería
difícil dividir el mundo por la mitad. Lo más probable es que fuera un
único país frente al resto del mundo, digamos una división de 1:10. En ese
caso, la cadena de la minoría tardará 10 veces más en generar 100
bloques, aproximadamente 7 días. También sería muy fácil para el cliente
darse cuenta de que está escuchando muy pocos bloques y que algo debe
estar mal.
_______________________________________________________________
¿Hay un límite programado para las bifurcaciones? Es decir, si tuviera
una pequeña red dividida de la red pública, gastase algunas monedas,
volviera unos días después y las sincronizará con la red pública (aparte
de la generación de monedas si ocurriese) ¿las transacciones deberían
estar bien?
_____________________________________________________________
No hay límite de tiempo. Asumiendo que no estaba gastando monedas
generadas en la bifurcación de la minoría, o realizando doble gastos que
hubiera recibido de alguien, sus transacciones se incluirían en la otra
cadena posteriormente.
159
Sobre la Monopolización
45
del Mercado
Traducción por Enrique Palacios Rojo
http://wealthcycles.com/features/the-hunt-brothers-capped-the-price-of-g
old-not-50-silver
R : V BTC A M
C E S BTC. E A R
Satoshi Nakamoto, 09 de julio 2010, 03:28:46 PM
_______________________________________________________________
160
EL LIBRO DE SATOSHI
Hola. (Lo siento si no entiendo algún concepto). Qué piensas de que un
intruso compre la moneda de Bitcoin y borrase todos los datos binarios.
De este modo podría destruir los sistemas del Bitcoin ¿Está la red del
btc protegida contra ese ataque?
_____________________________________________________________
Los famosos hermanos Hunt se arruinaron tratando de arrinconar al
mercado de la plata en 1979:
http://en.wikipedia.org/wiki/Cornering_the_market
_______________________________________________________________
161
Sobre la Escalabilidad
46
y los Clientes de Menor
Relevancia
Traducción por Enrique Palacios Rojo
162
EL LIBRO DE SATOSHI
Re: Escalabilidad
Satoshi Nakamoto, 14 de julio 2010, 09:10:52 PM
_______________________________________________________________
El diseño describe un cliente de transacciones pequeñas que no necesita
la cadena de bloques completa. En el diseño del PDF se llama Verificación
Simplificada de Pago. El cliente de menor peso puede enviar y recibir
transacciones, pero no se generan bloques. No necesita confiar en un
nodo para verificar pagos, ya que aún puede verificarlos por sí mismo.
Este tipo de cliente aún no se ha implementado, pero el plan es
implementarlo cuando sea necesario. Por ahora, todos ejecutan un nodo
completo de red.
Os anticipo que nunca habrá más de 100.000 nodos, probablemente
menos. Alcanzará un equilibrio en el momento que no valga la pena que
más nodos se unan. El resto serán clientes de menor peso , que podrían
ser millones.
163
Sobre Problemas en
47
Transacciones Rápidas
Traducción por Enrique Palacios Rojo
R :B M
Satoshi Nakamoto, 17 de julio 2010, 10:29:13 PM
2.?
164
EL LIBRO DE SATOSHI
No quieres tener que esperar una hora para que tu transacción se
confirme.
La compañía de máquinas expendedoras no quiere regalar un montón
de dulces gratis
Creo que será posible que una empresa de procesamiento de pagos
proporcione como servicio la distribución rápida de transacciones con un
buen sistema de confirmación en algo así como 10 segundos o menos.
Los nodos de red solo aceptan la primera versión de una transacción que
reciben para incorporarla en el bloque que están tratando de generar.
Cuando se transmite una transacción, si alguien más transmite un doble
gasto al mismo tiempo, es una carrera para llegar a la mayoría de los
nodos primero. Si una tiene una ligera ventaja, se extenderá
geométricamente a través de la red de manera más rápida y llegará a
mayor cantidad de los nodos.
1 0
4 1
16 4
64 16
80% 20%
Así pues, si un doble gasto tiene que esperar incluso un segundo, tiene
una enorme desventaja.
El procesador de pagos tiene conexiones con muchos nodos. Cuando
obtiene una transacción, la relanza y, al mismo tiempo, supervisa la red
de posibles dobles gastos. Si recibe un doble gasto en cualquiera de sus
muchos nodos de escucha, entonces alerta que la transacción es mala.
Una transacción doblemente gastada no llegaría muy lejos sin que uno de
los nodos oyentes la detecte. El doble gasto tendría que esperar hasta
que la fase de recepción (escucha) termine, pero para entonces, la
transmisión del procesador de pagos habría llegado a la mayoría de los
nodos, o está va tan por delante en la propagación de que el que realiza
el doble gasto que no tiene ninguna esperanza de alcanzar un porcentaje
significativo de los nodos restantes.
165
SOBRE PROBLEMAS EN TRANSACCIONES RÁPIDAS
R :E
Satoshi Nakamoto, 29 de julio 2010, 02:00:38 AM
Tengo curiosidad sobre lo que opinan los desarrolladores sobre la
escalabilidad. Por ejemplo, ¿podría el sistema manejar un millón de
usuarios haciendo cada uno 5 transacciones al día? 5 millones de
transacciones por día aproximadamente son 35.000 transacciones en
un período de 10 minutos
¿Hay un cuello de botella en la propagación de 35.000 transacciones a
un millón de nodos para la generación de bloques? ¿Ha sido diseñado
para esta situación?
_____________________________________________________________
El sistema actual donde cada usuario es un nodo de red no es la
configuración prevista para utilizarse a gran escala. Eso sería como si
cada usuario de Usenet ejecuta su propio servidor NNTP. El diseño deja
que los usuarios solo sean usuarios. Cuanto más cueste ejecutar un nodo,
menos nodos habrá. Esos pocos nodos serán un gran servidor de granjas.
El resto serán nodos cliente que sólo realizan transacciones y no generan
bloques.
Además, 10 minutos es demasiado tiempo para verificar que el pago
sea válido. Tiene que ser tan rápido como utilizar una tarjeta de
crédito hoy en día.
Mira la conversación de la máquina de snacks, donde describo cómo un
procesador de pagos podría verificar los pagos lo suficientemente bien, en
realidad muy bien (con una tasa bastante menor de fraude que las
tarjetas de crédito), en algo así como 10 segundos o menos. Si no me
crees o no lo entiendes, no tengo tiempo para intentar convencerte, lo
166
EL LIBRO DE SATOSHI
siento.
http://bitcointalk.org/index.php?topic=423.msg3819#msg3819
167
Artículo de Entrada en
48
http://en.wikipedia.org/wiki/Bitcoin
Este artículo está siendo considerado para ser eliminado de acuerdo
con la política de borrado de Wikipedia. Por favor, comparta sus
comentarios sobre este asunto en la entrada de este artículo en
Artículos para la eliminación de la página.
Este artículo necesita referencias que aparezcan en otras publicaciones
de confianza. Fuentes originales o fuentes relacionadas al tema no son
168
EL LIBRO DE SATOSHI
No puedo editarlo en este momento, ¿podéis guardar el artículo de
Wikipedia?
_____________________________________________________________
Si públicas en
http://en.wikipedia.org/wiki/Wikipedia:Articles_for_deletion/Bitcoin
no digas por favor, que “si, el bitcoin es tan importante y especial que
las reglas no deberían aplicarse" o argumentar que la regla no es muy
inteligente o injusta. Eso solo lo empeoraría. Intenta enfocarlo de
cómo se podría cumplir la norma.
169
ARTÍCULO DE ENTRADA EN WIKIPEDIA SOBRE BITCOIN
Obtenido de http://en.wikipedia.org/wiki/Bitcoin
“Esta página ha sido eliminada. El borrado y el registro de
movimiento de la página se proporciona bajo la referencia.
¿Qué tal si hacemos versiones en diferentes idiomas de una página
eliminada sin que ellos la eliminen? Hagámoslo si podemos. Yo puedo
escribir una versión en finlandés.
___________________________________________________________
170
EL LIBRO DE SATOSHI
párrafo como de 100 palabras o menos que simplemente identifique qué
es Bitcoin.
Ojalá que en lugar de eliminar el artículo, pongan una restricción de
longitud. Si algo no es lo suficientemente famoso, podría haber al menos
una parte del artículo identificando lo que es. A menudo me encuentro
con molestos enlaces rojos de las cosas que Wiki debería al menos haber
tenido en cuenta.
La acción en Wikipedia más estándar que deberíamos hacer es tener un
párrafo en una de las categorías más generales en la que somos
referencia, como Moneda Electrónica o Dinero Electrónico. Podemos
ponerlo ahí. Pero de nuevo ponlo corto. Sólo identificando lo que es.
Parece que el artículo será restaurado. Pero un punto que sigue
estando vigente es que muchas de las referencias del artículo son a
páginas de este foro. Si alguien puede reemplazar la referencia al foro
con una referencia a una página que no sea percibida como conflicto
de intereses, eso ayudaría.
171
49
Sobre la Posibilidad
de Robo de Monedas
Traducción por Arturo Monzón
___________________
2
http://bitcoinmagazine.com/7781/satoshis-genius-unexpected-ways-in-which-bitcoin-dodged-s
ome-cryptographic-bullet/
172
EL LIBRO DE SATOSHI
Satoshi concluyó que sería bastante difícil, ya que requeriría una fuerza
bruta de ataque para encontrar una clave pública con su hash correspondiente.
También muestra el valor del código fuente abierto (código que está abierto
para que todos lo vean) para la seguridad, a diferencia de la fuente cerrada.
Robo de Monedas
Publicado por Red, 25 de julio 2010, 05:08:03 PM
________________________________________________________________
Creo que hay un error criptográfico bastante significativo en Bitcoin
como está implementado actualmente. No estoy seguro de que será
explotable ahora (no soy un verdadero criptohacker) pero es más que
plausible que lo será en un futuro cercano.
La falla permitiría el robo anónimo de monedas desde direcciones
bitcoin arbitrarias. Y no, no implica resolver ninguno de los problemas
difíciles que mantienen seguros los sistemas de cifrado. Es
simplemente un *potencial* fallo lógico corregible en la
implementación.
Me gustaría que los bitcoins tuvieran éxito, así que preferiría no tener
que saltar de un lado a otro señalando fallos en público. ¿Hay un lugar
apropiado para discutir este tipo de problemas?
Acabo de enviarle un correo con mi dirección de correo electrónico. (o
podrías enviarme un PM aquí)
173
SOBRE LA POSIBILIDAD DE ROBO DE MONEDAS
Red, ¡gracias por contarme en privado primero! Por favor, adelante y
publícalo (¡y que cese el suspense para todos!)
Su punto es que las transacciones pagadas a una dirección de Bitcoin son
tan seguras como la función de hash. Para hacer que las direcciones de
Bitcoin sean cortas, son un hash de la clave pública, no la clave pública
en sí misma. Un atacante solo tendría que romper la función hash, no
ECDSA.
Gracias Satoshi,
La criptografía de clave pública depende del hecho de que es difícil
factorizar números primos grandes. Todos saben eso. Si las
transferencias de bitcoins se asignaron a una clave pública bien
formada, y se requirió una firma de clave privada asociada para la
futura transferencia, permitiría que las transferencias cifradas de
bitcoins fueran completamente seguras.
Para validar una transacción, los nodos toman la clave pública de la
firma y la usan para verificar la firma real. Si la firma es válida, habrá
que ver luego los hashes de la clave pública para confirmar que
coincide con la dirección de bitcoin asignada en la transacción
174
EL LIBRO DE SATOSHI
La potencial debilidad es asociar la clave pública en la firma con la
dirección de bitcoin.
Hay una relación, varios a uno, entre las claves públicas y un hash
dado. Ahora, si resulta difícil encontrar un par de números primos que
cree un par de claves públicas/privadas seguras, donde la parte de la
clave pública se hereda en una dirección de bitcoin en particular ...
probablemente así lo sea.
Todo lo que necesita es CUALQUIER cosa que represente una clave
pública y que el hash colisione con una gran cuenta de bitcoin. NO
tiene que ser un par de claves seguras basado en primos. Simplemente
tiene que funcionar una vez y permitir la transferencia del dinero
robado a otra cuenta. Eso es potencialmente mucho más fácil.
Algunos hashes son más difíciles de colisionar que otros. No estoy
seguro de la fuerza del hash que se usa. Sin embargo, colisionar
cualquier hash es mucho más fácil si no tienes que preocuparte por el
contenido que ha sido hasheado.
Debido a la naturaleza de las claves públicas, parecen datos aleatorios.
Según los entiendo, no se puede saber si una clave pública está basada
en matemáticas seguras a menos que tenga éxito en factorizarlo. Por
lo tanto, los clientes no lo intentan. Normalmente solo hacen la
validación de la firma y suponen que la clave pública se generó de
manera segura porque funcionó.
Por lo tanto, dependiendo del hash, puede usar uno de los algoritmos
de colisión hash emergentes para generar un bloque colisionador de
datos que representa una clave pública. Luego, invirtiendo la clave
pública/privada, generar una clave privada asociada (pero apenas
segura) que genere firmas válidas.
175
SOBRE LA POSIBILIDAD DE ROBO DE MONEDAS
Al registrar la clave pública completa de la transferencia objetivo en la
lista de bloques, puede recuperar la fuerza deseada. Sin embargo,
pierde la capacidad de pasar alrededor de 34 direcciones de
caracteres.
¡Gracias!
Red
Satoshi señaló que mi escenario aún requiere que la función hash sea
quebrada. Eso es cierto, pero me sorprendió aprender cuán exitosos
han sido con eso. MD4 y MD5 son ejemplos obvios. Pero el trabajo está
en marcha para colisionar SHA-1 y hermanos como SHA-256.
Él también se muestra escéptico de que puedas usar algo más que no
sea un par de llaves generadas.
176
EL LIBRO DE SATOSHI
siendo una firma válida para el documento original. ¡Quién hubiera
dado cuenta de que eso podría funcionar!
De todos modos, si los pares de claves solo son seguros si están basados
en pares de números primos. Entonces no cambia nada de la
matemática si los números no son primos. Sólo que son mucho más
fáciles de factorizar.
Estaría muy feliz de que algún tipo de criptógrafo me demostrara que
soy un idiota. Incide sobre algunas características de un proyecto
anterior que creé y que dependía de la misma asociación. Yo tampoco
pensé en esto.
Dado que el hash de la clave pública es más pequeño que la clave
pública real en sí misma, solo se necesita encontrar una colisión que
coincida con el hash y cuando se encuentre esa colisión conocerá el
combo de clave pública/privada. Entonces simplemente gasta monedas
usando las conocidas y los otros clientes pensarán que es una
transferencia válida porque a los clientes solo les preocupa que su hash
coincida con el hash de la víctima y la transacción se registre para
siempre.
Actualmente el hash es de 35 caracteres de longitud, alfanumérico 26
(mayúscula) +26 (minúscula) +10 (números) = 62 posibles por carácter
Entonces tenemos
541,638,008,296,341,754,635,824,011,376,225,346,986,572,413,939,63
4,062,667,808,768 combinaciones posibles.
177
SOBRE LA POSIBILIDAD DE ROBO DE MONEDAS
Satoshi señaló que mi escenario aún requería que se rompiese la
función hash. Eso es cierto, pero me sorprendió aprender cuán
exitosos han sido con eso. MD4 y MD5 son ejemplos obvios, pero el
trabajo está en marcha para colisionar SHA-1 y hermanos como
SHA-256.
________________________________________________________________
Sin embargo, lo que a menudo no mencionan es *la generación de
colisiones* todavía requiere mucho tiempo de CPU.
Si descubro que la Clave Pública 123456 genera Hash ABCD y la clave
pública 654321 también genera Hash ABCD
Pero por lo que dices, todo lo que necesito es la clave pública 654321 y
puedo gastar una moneda pretendiendo ser clave pública 123456.
Por lo que me dijeron, Bitcoin está usando uno de los 160 bit hashes
para generar unas direcciones bitcoin.
La familia SHA-1 de algoritmos hash son algunos de los más
comúnmente utilizados. SHA-1 es un hash de 160 bit.
http://www.ictlex.net/wp-content/iacrhash.pdf
178
EL LIBRO DE SATOSHI
Los hashes MD5 ya pueden bloquearse en segundos en las
computadoras portátiles. Por eso fue retirado de las firmas basadas en
certificados.
Y sí, lo que estoy diciendo es **Creo** que se puede pensar en una
clave pública como dos números secretos combinados juntos
matemáticamente. Y la clave privada como esos dos números
guardados por separado. Lo que hace que el sistema sea seguro
requiere que eso dos números secretos sean números primos realmente
grandes.
Pero si son realmente números no primos grandes, la combinación
matemática aún funciona, simplemente es más rápido romper el
algoritmo.
Voy a hacer un poco más de googleo y ver si puedo corroborar mis
afirmaciones. Esperaba que alguien pudiera descartarlos sin más.
Robo de Monedas
Publicado por Satoshi, 25 de julio 2010, 08:01:40 PM
___________________________________________________________________
Si descubro que la Clave Pública 123456 genera Hash ABCD y la clave
pública 654321 también genera Hash ABCD
Pero por lo que dices, todo lo que necesito es la clave pública 654321 y
puedo gastar una moneda pretendiendo ser clave pública 123456.
________________________________________________________________
Aún deberá firmarlo con la clave pública 654321. Necesita encontrar una
colisión usando una clave pública para la cual conoce la clave privada.
Cuando reclamas una transacción de Dirección de Bitcoin, usted le da su
clave pública que coincide con el hash, luego debe firmarlo con esa clave.
179
SOBRE LA POSIBILIDAD DE ROBO DE MONEDAS
Señala que, si la clave pública fuese requerida de ser segura, una que
debe haber requerido un trabajo significativo para encontrar los números
primos, eso aumentaría la fuerza por encima de la función hash sola.
Alguien que intentándolo con fuerza bruta debería tomarse un tiempo
para generar una clave para cada intento.
Cuando reclamas una transacción de Dirección de Bitcoin, usted le
da su clave pública que coincide con el hash, luego debe firmarlo
con esa clave.
El argumento de Red es que es fácil de generar rápidamente claves
públicas inseguras que podría romper y encontrar la clave privada
después de encontrar una colisión.
Señala que, si la clave pública fuese requerida de ser segura, una
que debe haber requerido un trabajo significativo para encontrar los
números primos, eso aumentaría la fuerza por encima de la función
hash sola. Alguien que intentándolo con fuerza bruta debería
tomarse un tiempo para generar una clave para cada intento.
_____________________________________________________________
Sí, pensé que la clave privada tenía que estar en la mezcla en alguna
parte. Sin embargo, agrega otra aleatoriedad, tienes que encontrar el
hash que colisiona con otra clave pública y, al mismo tiempo, la clave
privada tiene que ser lo suficientemente débil para romperla. No digo
que sea imposible, pero introduce 2 variables en el hallazgo de colisión
inversa.
180
EL LIBRO DE SATOSHI
[edit] ok, vuelve a leer lo que escribiste, la clave pública es generada
desde la clave privada, no independientemente. Entonces, solo
encontrar una clave pública débil es el problema.
Cita
Aquí hay un documento que dice encontrar colisiones SHA-1 en 2^52
operaciones de cifrado. Y el hash optimizado de forma segura tomaría
2^80 operaciones. 2^52 es todavía un tiempo considerable, pero está
entrando en el rango de clúster y ordenadores infectados.
________________________________________________________________
2^80 es si puedes usar un ataque de cumpleaños. No puede usar un
ataque de cumpleaños para esto, por lo que la dificultad está en los
2^160 bits completos. Aunque, si intentaba crackear cualquiera de las
transacciones de 1 millón (2^20), podría hacer un ataque parcial de
cumpleaños 2^160/2^20 = 2^140
Las direcciones de Bitcoin son el único lugar donde es usado un hash de
160 bits. Todo lo demás es SHA-256. Se calculan como:
Corrígeme si me equivoco (por favor, y con mucho gusto comeré cuervo)
pero creo que sería difícil usar un ataque analítico contra RIPEMD-160 en
este caso. Un ataque analítico prescribe un cierto rango o patrón de
insumos para probar que aumentarán en gran medida sus posibilidades de
encontrar una colisión. Aquí, no tiene ese tipo de control sobre la entrada
de RIPEMD-160, porque la entrada es la salida de SHA-256. Si un ataque
analítico lo ayuda a encontrar una entrada para RIPEMD-160 que produce
181
SOBRE LA POSIBILIDAD DE ROBO DE MONEDAS
Para la fuerza bruta, RIPEMD-160(SHA-256(x)) no es más fuerte que
RIPEMD-160 solo. Pero para un ataque analítico, parece que debe realizar
un ataque analítico tanto RIPEMD-160 como SHA-256. Si me equivoco,
entonces la fortaleza es la misma que RIPEMD-160 y el SHA-256 solo sirve
como una ronda de fortalecimiento de la llave.
Corrígeme si me equivoco (por favor, y con mucho gusto comeré
cuervo) pero creo que sería difícil usar un ataque analítico contra
RIPEMD-160 en este caso.
______________________________________________________________
Dado dos números p y q. Se supone que para RSA son primos grandes.
Entonces n = p*q
182
EL LIBRO DE SATOSHI
La clave pública son los dos campos (n, e). “e” es llamado el
exponente público y parece ser elegido de un conjunto de valores
comunes.
La clave privada también son dos campos (n, d). “d” es llamado el
exponente privado del que se deriva al conocer “e”, “p-1” y “q-1”.
Lo que postulo es que, si “n” es arbitrario, y “e” es uno de los valores
comunes, entonces hay muchos pares “p”, “q” diferentes que
funcionarían. Cuantos menos primos sean los números, más fácil de
encontrar “p” y “q”, y por lo tanto “p-1” y “q-1”. Y si tiene un gran
bloque de datos arbitrarios que le dan mucha flexibilidad al intentar
colisionar un hash.
(Ese es el punto donde podría estar totalmente fuera de lugar.
Realmente interesado, si un cripto geek lo conoce mejor que yo.)
Leí que los algoritmos de generación de claves crean “p” y “q” de tal
manera que son "muy probablemente primos", pero es demasiado
trabajo para saberlo con certeza. Esto me lleva a creer que los no
primos no causan FALLAS obvias. Sin embargo, podría estar equivocado.
Lo siento, en realidad es ECDSA (Algoritmo de Firma Digital de Curva
Elíptica, en Inglés, Elliptic Curve Digital Signature Algorithm) no
RSA. No debería haber dicho "números primos". ECDSA no toma
mucho tiempo para generar un par de llaves.
Aprenderé cómo funcionan las curvas elípticas algún día, pero no
hoy. Debería haber estudiado más matemáticas cuando estaba en la
universidad. ¡Quién hubiera pensado que hubiera sido útil para algo!
183
SOBRE LA POSIBILIDAD DE ROBO DE MONEDAS
Abre un nuevo mundo de posibilidades. Me gusta especialmente el
concepto de acuerdo distribuido sin confiar en la confianza. Creo
que ese es el concepto innovador.
Además, creo que la idea de la minería BitCoin es brillante. Dudo
que pudieras haber conseguido la red arrancada de otra forma. No
estoy de acuerdo en que sea una "forma justa" de distribuir
monedas, pero ¡ojalá el mundo no sea justo! Y realmente, no creo
que de ninguna otra manera hubiera generado tanto entusiasmo en
el usuario.
Por cierto, concedo que no hay ningún hilo de robo de bitcoins de
mi comentario anterior. El doble hash parece asegurar eso desde mi
perspectiva. ¡Buena llamada!
184
EL LIBRO DE SATOSHI
ataque potencial es hacer pequeña la potencial "recompensa". Por lo
tanto, nunca guarde demasiadas monedas en una sola dirección. Si el
valor económico del "premio" es menor que el costo de romperlo,
entonces nadie se molestará en intentarlo. Después de decir eso,
todavía pienso que es mejor mantener las cosas lo más difíciles posible
para evitar robos.
Ciertamente sería difícil tanto por suerte y como por el poder de
CPU/poder de almacenamiento, hacer esto.
Si encuentra una colisión y una clave privada, eso no le haría ningún
bien, ya que tendría que pegar una cuenta de las
541,638,008,296,341,754,635,824,011,376,225,346,986,572,413,939,63
4,062,667,808,768 posibles combinaciones de personas que usan
cuentas.
185
50
Mayor Defecto
Descubierto
Traducción por Arturo Monzón
Por favor, actualice a 0.3.6 lo antes posible! Solucionamos un error de
implementación donde era posible que las transacciones falsas se
mostrarán como aceptadas. No acepte transacciones de Bitcoin como
pago hasta que actualice a la versión 0.3.6!
Si no puede actualizar a la versión 0.3.6 inmediatamente, lo mejor es
cerrar su nodo Bitcoin hasta que lo haga.
186
EL LIBRO DE SATOSHI
Descargar:
http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.3.6/
Usuarios de Windows y Linux: si obtuvieron la versión 0.3.5, aún necesitan
actualizar a 0.3.6.
187
51
Prevención de Un
Ataque de Inundación
Traducción por Arturo Monzón
hola, ¿qué pasaría si alguien envía millones de 0.00000001 BC a
millones de direcciones, por favor?
=> todos los pares de redes deben almacenar todas las transacciones?
=> ¿cada destinatario/hash de 0.00000001 está almacenado en bloques
sobre todos los puntos?
188
EL LIBRO DE SATOSHI
main.h: // Para limitar el spam en polvo, se requiere una tarifa de
0.01 si alguna salida es menor a 0.01
Pero ¿cómo distinguirías entre una IP legítima de procesamiento de
micropagos y un spam? "Quiero hacer que Bitcoin use tanto ancho de
banda que nadie esté dispuesto a ejecutar más" IP?
189
PREVENCIÓN DE UN ATAQUE DE INUNDACIÓN
Pero ¿cómo distinguirías entre una IP legítima de procesamiento de
micropagos y un spam? "Quiero hacer que Bitcoin use tanto ancho de
banda que nadie esté dispuesto a ejecutar más" IP?
¿Qué es exactamente este ‘spam en polvo’ que esta tarifa de
transacción de 0.01BTC "resuelve"?
190
EL LIBRO DE SATOSHI
mecanismo de agregación, no es para cosas que necesitan pagar menos
que 0.01. El límite del spam en polvo es un primer intento de tratar
intencionalmente de evitar micropagos demasiado pequeños como ese.
Bitcoin es práctico para transacciones más pequeñas que los métodos de
pago existentes. Lo suficientemente pequeño como para incluir lo que
podría llamarse la parte superior del rango de micropagos. Pero no
pretende ser práctico para micropagos arbitrariamente pequeños.
Olvidé añadir la parte buena de los micropagos. Aunque no creo que
Bitcoin sea práctico para micropagos más pequeños en este momento,
eventualmente será como el almacenamiento mientras los costos de
ancho de banda continúen cayendo. Si Bitcoin alcanza una gran escala,
puede que ya sea así en ese momento. Otra forma en que pueden ser más
prácticos es si solo se implementa el modo para cliente y la cantidad de
nodos de red se consolida en un número menor de granjas de servidores
profesionales. Cualquier tamaño de micropagos que necesite
eventualmente será práctico. Creo que en 5 o 10 años, el ancho de banda
y el almacenamiento serán cuestiones triviales.
No pretendo que la red sea impermeable al ataque de denegación de
servicio (DoS por sus siglas en Inglés). Creo que la mayoría de las redes
P2P pueden ser atacadas por DoS en numerosas formas. (Como
comentario adicional, leí que a las compañías discográficas les gustaría
hacerlo en todas las redes de intercambio de archivos, pero no quieren
romper las leyes antipiratería/anti-abuso).
Si comenzamos a atacar a DoS con un montón de transacciones
desperdiciadas, tendría que comenzar a pagar una tarifa mínima de
transacción de 0.01. 0.1.5 en realidad tenía una opción para configurar
eso, pero lo saqué para reducir la confusión. Las transacciones gratuitas
son buenas y podemos mantenerlo de esa forma si las personas no abusan
de ello.
Eso nos lleva a la pregunta: si hubiera un cargo mínimo de 0.01 por cada
transacción, ¿deberíamos agregar automáticamente la tarifa si es solo el
191
PREVENCIÓN DE UN ATAQUE DE INUNDACIÓN
mínimo de 0.01? Sería terriblemente molesto preguntar cada vez. Si
tienes 50,00 y envías 10,00, el destinatario obtiene 10.00 y te quedarán
39,99. Creo que debería agregarse automáticamente. Es trivial en
comparación con las tarifas que muchos otros tipos de servicios cargan
automáticamente.
_______________________________________________________________
Una alternativa es usar un sistema de redondeo. Pagas, digamos, 1000
páginas o imágenes o descargas o búsquedas o lo que sea de una vez.
Cuando haya agotado sus 1000 páginas, pagará por otras 1000 páginas. Si
solo usa 1 página, entonces le quedan 999 que quizás nunca use, pero no
es un gran problema porque el costo por cada 1000 es aún pequeño.
O podría pagar por día. La primera vez que accede al sitio en un día
determinado, paga por 24 horas de acceso.
Por 1000 o por día, puede ser más fácil para los consumidores darse el
gusto también. Se preocupan por cada elemento porque es más difícil
saber si se puede acumular demasiado rápido. Ilimitado por 24 horas se
sabe cuál será el costo. O si 1000 parece suficiente, no se preocupan de
que cueste más con cada clic si calculan que 1000 es más de lo que
probablemente usarán.
192
EL LIBRO DE SATOSHI
La única solución a este problema es hacer la transmisión de una
transacción "no gratis". Concretamente, si quieres que lo incluya,
tienes que pagarme. El resultado neto (sin juego de palabras) es que
cada cliente debería pagar a otros clientes a quienes incluso envían sus
transacciones, no solo a la persona que los recibe en un bloque. De
esta manera, las leyes de la economía toman el control y nadie obtiene
un viaje gratis en el sistema de transmisión de transacciones.
No sé cómo implementarlo. La tarifa de transacción para el creador del
bloque usa un truco especial para incluir la tarifa de transacción sin
ningún tamaño adicional. Si hubo una transacción por cada comisión de
transacción, ¿qué pasa con las comisiones para la transacción de la
tarifa de transacción?
Ahora la dirección de la tarifa de transacción se deja "en blanco" y el
generador de bloques lo rellena.
Ahora debe completarlo con la dirección de la persona que lo está
solicitando para construir el bloque.
_____________________________________________________________
193
PREVENCIÓN DE UN ATAQUE DE INUNDACIÓN
Pero por ahora, aunque todavía es pequeño, es bueno mantenerlo así para
que los nuevos usuarios puedan avanzar más rápido. Cuando finalmente
implemente el modo solo cliente, eso ya no importará mucho.
Hay más trabajo por hacer en las tarifas de transacción. En caso de una
inundación, aún podría saltar la cola y obtener sus transacciones en el
siguiente bloque pagando una tarifa de transacción de 0.01. Sin embargo,
no he tenido tiempo aún de agregar esa opción a la interfaz de usuario.
194
52
Drenaje de
Grifo Bitcoin
Traducción por Arturo Monzón
Código:
195
EL LIBRO DE SATOSHI
79.146.112.13 - - [04/Aug/2010:12:45:20 -0700] "POST/HTTP/1.1"
200 1294 "https://freebitcoins.appspot. com/"
"Opera/9.80 (Windows NT 6.0; U; es-LA) Presto/2.6.30 versión/
10.60, gzip (gfe)"
Ahora que 5 bitcoins valen un poco, estoy pensando que necesito más
contramedidas contra engaño. Puedo pensar en cuatro cosas para probar:
Si obtienes una tarifa limitada, recibirás un mensaje que te pedirá que
intentes de nuevo mañana.
BitcoinFX: gracias de nuevo por las donaciones al grifo; Voy a drenar el
Grifo por debajo de 500 monedas temporalmente, y lo rellenaré con sus
donaciones después de que las nuevas contramedidas contra trampas
estén implementadas.
196
DRENAJE DE GRIFO BITCOIN
Definitivamente necesario. ¿Qué tasa estás pensando? En última instancia,
es mejor calificar el límite que dejar que todo se agote.
___________________________________________________________________
197
53
Transacción a Una
Dirección IP en Lugar de
Una Dirección de Bitcoin
Traducción por Adrián Bernabéu Escudero
No puedo entender cómo enviar una transacción a una dirección IP
desde la interfaz de línea de comandos de bitcoin. ¿Ya se implementó
la función? (En Linux 64, por si acaso es importante).
No se ha implementado.
198
EL LIBRO DE SATOSHI
199
54
Custodia de Depósitos
y Transacciones
Multi-Firma
Traducción por Adrián Bernabéu Escudero
200
EL LIBRO DE SATOSHI
Por lo tanto, el depósito en custodia básico funciona con dos personas
que trabajan a través de un tercero para intercambiar (generalmente
dinero) por algún bien o servicio.
En una transacción en la que ambas personas son honestas, el negocio
de custodia puede ser esencialmente automático, ya que el comprador
obtiene sus productos y aprueba liberar fondos, solo cuando hay una
disputa, la interacción humana se vuelve necesaria. Por lo tanto,
propongo el siguiente sistema:
2) Entra en la red, se verifica y el vendedor envía los productos,
una vez que el comprador los obtiene, libera la transacción y el
vendedor recibe sus bitcoins.
3) Si ocurre una disputa y ambas partes se niegan a liberar el
dinero de una manera u otra, es evidente que ahora es necesario
conseguir que un tercero haga el arbitraje; en esta situación, se
requiere una firma tanto del comprador como del vendedor
autorizando a un tercero que le otorgará la propiedad de la transacción
de custodia original y luego podrá arbitrar el asunto.
201
CUSTODIA DE DEPÓSITOS Y TRANSACCIONES MULTI-FIRMA
Una transacción puede ser suscrita, lo que requiere dos firmas para ser
gastadas luego. Usted suscribe un pago que requiera la firma tanto del
destinatario como del remitente para gastarlo. Para liberar el depósito,
usted le da al destinatario su firma por la mitad, o el beneficiario puede
devolverlo entregando su mitad firmada. No hay mediador en este simple
caso. El recurso es negarse a hacerlo, esencialmente quemando el dinero.
¿De verdad? ¿Crees que las personas no podrán entender el beneficio? (Si
su respuesta es un argumento donde no hay ningún beneficio en absoluto,
creo que eso reforzará el caso de que las personas no podrán entenderlo).
_______________________________________________________________
202
EL LIBRO DE SATOSHI
Custodia
Publicado por satoshi, 07 de agosto 2010, 08:13:52 PM
_______________________________________________________________
Aquí hay un boceto del tipo de transacción de custodia en garantía que
son posibles en el software. Esto no está implementado y probablemente
no haya tiempo para implementarlo pronto, es sólo para informar de lo
que es posible.
Custodia básica: el comprador compromete un pago en custodia. El
vendedor recibe una transacción con el dinero en custodia, pero no puede
gastarlo hasta que el comprador lo desbloquee. El comprador puede
liberar el pago en cualquier momento después, lo que podría ser nunca.
Esto no le permite al comprador recuperar el dinero, pero sí tiene la
opción de quemar el dinero a pesar de que nunca lo libere. El vendedor
tiene la opción de devolver el dinero al comprador.
Si bien este sistema no garantiza a las partes de una posible pérdida,
eliminas el beneficio de hacer trampas.
Si el vendedor no envía los productos, no se le paga. El comprador todavía
tendría el dinero y al menos al vendedor le quitas la motivación
monetaria para estafar.
El comprador no puede beneficiarse al no pagar. No puede recuperar el
dinero de la custodia. No puede dejar de pagar debido a una falta de
fondos. El vendedor puede ver que los fondos están comprometidos con su
clave y no pueden ser enviados a nadie más.
203
CUSTODIA DE DEPÓSITOS Y TRANSACCIONES MULTI-FIRMA
Re: Custodia
Publicado por jgarzik, 07 de agosto 2010, 09:25:40 PM
_____________________________________________________________
Re: Custodia
El comprador no tiene opciones, excepto quemar el dinero para
limitar su utilidad, creo.
___________________________________________________________
Tal vez podríamos trabajar en una forma para hacer el arbitraje. Si
tanto el comprador como el vendedor están de acuerdo, el dinero se
puede desviar a un tercero. Esa persona podría entonces arbitrar y
devolver el dinero al comprador, dárselo al vendedor o robarlo
(obviamente, usted querrá elegir un árbitro de confianza).
Re: Custodia
Publicado por jgarzik, 08 de agosto 2010, 03:58:03 AM
_____________________________________________________________
El comprador no tiene opciones, excepto quemar el dinero para
limitar su utilidad, creo.
________________________________________________________
204
EL LIBRO DE SATOSHI
Tal vez podríamos trabajar de una manera para hacer el arbitraje. Si
tanto el comprador como el vendedor están de acuerdo, el dinero se
puede desviar a un tercero. Esa persona podría entonces arbitrar y
devolver el dinero al comprador, dárselo al vendedor o robarlo
(obviamente, usted querrá elegir un árbitro de confianza).
_____________________________________________________________
Así es como se opera en línea la custodia hoy en día. Comprador y
vendedor acuerdan que un tercero tenga físicamente el dinero.
Comprador y vendedor acuerdan las reglas que seguirá la tercera parte
neutral para la resolución/canje de la transacción. El tercero neutral es
quien desembolsa los fondos a una parte u otra.
Algunas personas pueden optar por utilizar el método de custodia
firmado de Bitcoin específico ... pero el recurso de "quemar el dinero"
sirve como un incentivo para evitar la custodia del bitcoin por completo,
en lugar de ser un incentivo para usar la custodia del bitcoin
honestamente.
Re: Custodia
Publicado por aceat64, 08 agosto 2010, 05:49:44 AM
_____________________________________________________________
El comprador y el vendedor ponen una cantidad igual de bitcoins en
custodia y el vendedor no puede recuperar ambos sets hasta que el
comprador lo firme. Opcionalmente, si ambas partes acuerdan que los
fondos se devuelven a sus dueños originales o si ambos sets se
transfieren a un árbitro acordado. Me desvié de su sugerencia de que el
árbitro solo tiene el control de la mitad de los compradores, creo que
deberían tener el control de ambos montos para que ambas partes
sigan teniendo una participación de bitcoin en el asunto.
205
CUSTODIA DE DEPÓSITOS Y TRANSACCIONES MULTI-FIRMA
Re: Custodia
La solución de Satoshi es buena, pero si el cliente puede recuperar
el dinero, será un gran problema para los vendedores. Vea la
situación actual con los pagos con tarjeta de crédito de internet y la
anulación de cargos. Los recargos son un verdadero dolor de cabeza
para los vendedores, bitcoin debe evitarlos a toda costa : -)
___________________________________________________________
Pregúnteles a los dueños de negocios del mundo real si quieren
contarles a sus clientes a cerca de la posibilidad de que el dinero se
pierda para siempre, siendo irrecuperable para cualquiera de las
partes.
Re: Custodia
● El comprador envía btc al fideicomiso, indicando la dirección del
destinatario
● El vendedor ve los btc en custodia, marcados para enviar a su
dirección
● El comprador puede liberar los fondos al vendedor
● La custodia va a hacerlo automáticamente después de x días
● Ambas partes pueden abrir una queja
Y eso es todo lo que será automatizado. Cuando las cosas van mal,
ambas partes deben pagar una tarifa para el depósito en garantía (¿esa
206
EL LIBRO DE SATOSHI
tarifa puede pagarse por adelantado para abrir una cuenta?), por lo
que todos pierden algo. Así el depósito de garantía solo tendrá que
mediar.
Debido a que hay una tarifa *y* un intermediario humano, la posibilidad
de fraude exitoso probablemente no será económicamente
interesantes en el largo plazo. Alguien en quien ya se confía sería la
persona ideal para esto, y tal vez por una pequeña tarifa algunos de
nosotros, "tipos comunes", podríamos ayudar a afirmar las acusaciones
de cualquiera de los lados, si somos próximos para ellos.
Pero la solución de la quema de dinero, si bien es excelente para
prevenir el fraude y económicamente viable, no hace nada para evitar
la venganza y, en realidad, hace que todos pierdan si una parte es
deshonesta. Ciertamente no apoyaría eso.
Re: Custodia
Publicado por satoshi, 11 de agosto 2010, 01:30:02 A.M
_______________________________________________________________
Pregúnteles a los dueños de negocios del mundo real si quieren
contarles a sus clientes a cerca de la posibilidad de que el dinero se
pierda para siempre, siendo irrecuperable para cualquiera de las
partes.
_____________________________________________________________
Eso hace que suene como que de alguna manera ambas partes pueden
perder, y no lo pueden recuperar, incluso si quieren cooperar.
207
CUSTODIA DE DEPÓSITOS Y TRANSACCIONES MULTI-FIRMA
prevenir el fraude y económicamente viable, no hace nada para evitar
la venganza y, en realidad, hace que todos pierdan si una parte es
deshonesta. Ciertamente no apoyaría eso.
_____________________________________________________________
Entonces también debe estar en contra del sistema común de pago por
adelantado, donde el cliente pierde.
Pago por adelantado: el cliente pierde y el ladrón recibe el dinero.
Custodia simple: el cliente pierde, pero el ladrón tampoco recibe el
dinero.
¿Están diciendo que el pago por adelantado es mejor, porque al menos el
ladrón recibe el dinero, por lo que al menos alguien lo consigue?
Imagine que alguien le roba algo. No puede recuperarlo, pero si pudiera,
si tuvieras un interruptor remoto con el que pudiera apagarlo, ¿lo haría?
¿Sería bueno que los ladrones supieran de todo lo que tiene, lleva un
interruptor de apagado, que si lo roban, será inútil para ellos, aunque
usted también lo pierda? Si lo devuelven, puede volver a activarlo.
Re: Custodia
Publicado por ribuck, 11 de agosto 2010, 11:13:12 AM
_____________________________________________________________
. . . Es una lástima que no se pueda hacer nada para mitigar las
intenciones maliciosas de los que ofrecen vender algo, sólo "quemar"
208
EL LIBRO DE SATOSHI
Por ejemplo:
En este caso, a A le interesa enviar el ordenador portátil, de lo
contrario, pierde su depósito de 2500 BTC. También le conviene a B
confirmar la recepción de la computadora portátil, de lo contrario,
pierde su "exceso" de 500 BTC que depositó.
209
CUSTODIA DE DEPÓSITOS Y TRANSACCIONES MULTI-FIRMA
Alice quiere comprar $ 5 USD de BitCoins de Bob, pero ni Alice ni Bob
confían plenamente en el otro, por lo que van a un sitio en el que
ambos confían, como Mt. Gox. Ellos depositan sus respectivos dineros
allí, y Mt. Gox hace el intercambio por ellos.
Sin ofender a Mt. Gox (un sitio que me gusta), pero ¿podemos
prescindir de su servicio de custodia?
Bob deposita 5 dólares de Bitcoins en la cuenta con la clave privada
dividida de Bitcoin;
Bob envía a Alice su mitad de la clave privada dividida para que Alice
pueda acceder a los BitCoins que depositó anteriormente.
(Para simplificar, omito la parte de los detalles de PayPal, como quién
paga la tarifa de transacción y cuánto tiempo debe esperar para evitar
el reembolso de fraude. También omito cualquier incentivo para que
210
EL LIBRO DE SATOSHI
El problema con todo esto, por supuesto, es que debemos confiar en
que Charlie no abuse de la copia completa de la clave privada que se
crea.
La solución ideal sería que Alice y Bob generen la mitad de la clave
privada por su cuenta. No entiendo completamente las matemáticas
utilizadas en los pares de claves modernas, pero dudo que esto sea
posible con el algoritmo actual.
-Dave
Aún no está implementado, pero la red puede admitir una transacción
que requiera de dos firmas. Se describe aquí:
http://bitcointalk.org/index.php?topic=750.0
Es absolutamente más seguro que un pago directo sin depósito en
garantía, pero no tan bueno como un depósito en garantía arbitrado por
un ser humano, suponiendo que usted confíe lo suficiente en el humano.
En este tipo de depósito, un tramposo no puede ganar, pero aún es
posible que usted pierda. Al menos le quita el afán de lucro por
engañarlo. El vendedor está seguro de que el dinero está reservado para
211
CUSTODIA DE DEPÓSITOS Y TRANSACCIONES MULTI-FIRMA
212
La Minería de Bitcoin
55
Como un Desperdicio
de Recursos
Traducción por Adrián Bernabéu Escudero
213
EL LIBRO DE SATOSHI
gobierno representa una inversión de recursos mucho mayor que el
consumo de energía de la CPU de Bitcoin. Sin embargo, estoy dejando
este hilo activo porque ha estado generando muchas discusiones
interesantes.*
Un argumento es que cualquiera que elija generar monedas está
realmente optando por comprar bitcoins con electricidad/recursos
computacionales, y que debido a que algunas/muchas personas están
haciendo esa elección, los bitcoins tienen al menos ese "valor" para los
generadores, de quien se puede suponer que maximizan su utilidad. Un
argumento enfrentado es que el costo de producción es diferente al
valor de mercado, y la medida más objetiva es el precio actual de
conversión del mercado a una moneda más líquida y ampliamente
negociada, como el dólar estadounidense.
Mi opinión es que estos dos argumentos pasan por alto el punto y el
problema real, que es la perversidad fundamental de desperdiciar
grandes cantidades de energía y cálculos en la generación de los
bloques ganadores para el proceso de acuñación. El proceso de
acuñación existe debido a la necesidad de "imprimir" realmente la
moneda, y ciertas propiedades deseables de cripto-matemática para
hacer predecible el comportamiento de la moneda. El hecho de que el
proceso de acuñación actual requiere un gran impulso de energía de
trabajo computacional es altamente desafortunado y tiene la
consecuencia perversa de que bitcoin puede estar "destruyendo
riqueza", en el sentido de desperdiciar energía produciendo un objeto
digital que vale menos que los recursos invertidos en él.
214
LA MINERÍA DE BITCOIN COMO UN DESPERDICIO DE RECURSOS
una convención social. El costo de producción de bitcoins en el
consumo de electricidad representa un desperdicio, una "carga
termodinámica" que la moneda tiene que soportar. Considere una
moneda digital hipotéticamente alternativa llamada "compucoin", que
compra ciclos de CPU desde nodos en la red. El valor de mercado de
esta moneda convergerá muy de cerca con el costo de la electricidad
requerida para generar ciclos de CPU. En lugar de calcular el costo de
los ciclos de la CPU, las monedas podrían intercambiarse por el valor
de los ciclos de la CPU, esto crearía una base racional para el valor de
la divisa y la integraría con un mercado existente. Imagino que las
alternativas a Bitcoin (muchas de ellas probablemente compartiendo
una gran cantidad de código fuente de Bitcoin), inevitablemente
surgirán porque el actual proceso de acuñación de Bitcoin hace que la
moneda sea "cara" en términos de requerimiento de energía. Creo que
esto lo coloca en una desventaja competitiva frente a otras monedas y
solo puede obstaculizar su adopción generalizada y su valor a largo
plazo. * Editar: como se mencionó anteriormente, ahora soy mucho
más optimista sobre Bitcoin a largo plazo. ¡Sin embargo, todavía creo
que los compucoins serán una buena idea!
Creo que el caso será el mismo para Bitcoin. La utilidad de los
intercambios posibilitados por Bitcoin superará con creces el costo de la
electricidad utilizada. Por lo tanto, no tener Bitcoin sería el desperdicio
neto.
_______________________________________________________________
215
EL LIBRO DE SATOSHI
Como punto general, tampoco estoy de acuerdo con la idea de que la
gran carga computacional para la generación de monedas es, de hecho,
una necesidad del sistema actual. Según entiendo, la creación de
divisas se mide fundamentalmente por TIEMPO, y si esa es la variable
de control fundamental, ¿cuál es la necesidad de que todos "tiren
tantos dados como sea posible" dentro de ese período de tiempo dado?
La "cadena de pruebas" para la posesión de monedas y las
transacciones no depende del método para generar monedas.
_____________________________________________________________
La influencia de cada nodo en la red es proporcional a su potencia de
CPU. La única forma de mostrarle a la red la cantidad de energía de la
CPU que tienes es usándola realmente.
Si hay algo más que cada persona tiene en una cantidad finita con lo que
podríamos contar para una-persona-un-voto, no puedo pensar en nada
similar. Direcciones IP ... es mucho más fácil de obtener muchos de ellos
que las CPU.
Supongo que sería posible medir la potencia de la CPU en ciertos
momentos. Por ejemplo, si el desafío de potencia de la CPU fuera sólo
ejecutarse para un promedio de 1 minuto cada 10 minutos. Todavía podría
demostrar su poder total en momentos determinados sin ejecutarlo todo
el tiempo. Aunque no estoy seguro de cómo podría ser implementado. No
hay forma de que un nodo que no estaba presente en ese momento sepa
que una cadena anterior se generó realmente en un ciclo de trabajo con
descansos de 9 minutos, no de forma consecutiva.
216
LA MINERÍA DE BITCOIN COMO UN DESPERDICIO DE RECURSOS
Si tiene otra calefacción más barata que la eléctrica, entonces el
desperdicio es solo la diferencia en el coste.
Creo que la discusión finalmente ha perdido los aspectos éticos de
motivar a los creadores de botnets para que inviertan aún más recursos
en su negocio en caso de que los BTC generados proporcionen el valor,
comparable con los usos actuales de botnets.
¿Qué pasa si la operación de Bitcoin supera a las demás actividades?
¿Cómo se puede imaginar que el proceso de construcción de botnets se
realice de una manera que, beneficie a la comunidad?
_____________________________________________________________
217
EL LIBRO DE SATOSHI
Sí, pero solo cuando no va en contra de la voluntad del propietario
de la computadora, él paga la factura de la electricidad.
Si es así, entonces pierde dinero REAL por un consumo de energía
extra causado por una carga de CPU del 100%.
Bueno, ahora puede intentar comparar el daño social con los
beneficios, pero ¿realmente siente que tiene el derecho moral de
hacerlo?
Claro, exactamente de la misma forma que la existencia de tarjetas de
crédito motiva la conducta de robar números de tarjetas de crédito de
usuarios inocentes que tienen tarjetas de crédito.
Creo que los beneficios de Bitcoin superarán el daño, y además creo que
soy capaz de hacer ese juicio moral. Podría estar equivocado, y podría
lamentar haberme involucrado alguna vez, pero si sólo hiciera algo que
218
LA MINERÍA DE BITCOIN COMO UN DESPERDICIO DE RECURSOS
estuviera 100% seguro de que iba a funcionar lo mejor posible, nunca
lograría algo nuevo e interesante.
219
56
S T A
C B
S R H
Traducción por
Enrique Palacios Rojo | Adrián Bernabéu Escudero
Beatriz Lizarraga | Alex Viñas Salles
N
Editado por Red, 10 de agosto 2010, 05:45:45 AM
_______________________________________________________________
Esto no es una sugerencia para un cambio en bitcoin. Más bien es una
pregunta sobre qué podría ser posible y qué no podría ser posible.
La pregunta a grandes rasgos es, si la lista de registros en el bloque que
¿Podría haberse implementado de una manera que no almacenará las
220
EL LIBRO DE SATOSHI
La principal diferencia es que sería responsabilidad del receptor de la
moneda almacenar la transacción completa. Y quizás tenga que
almacenar las transacciones previas (X) en profundidad para mostrar la
trazabilidad.
Entonces, cuando este último quiera transferir las monedas al siguiente
receptor, crearía una transacción exactamente como se hace ahora,
excepto que tendría que incluir los antecedentes en la transacción para
su validación también. Para la validación, cada antecedente de los puntos
de entrada se les aplicará el hash y validará como que existen en la lista
del bloque. Los puntos de entrada serían hasheados e identificados en la
lista del bloque como que aún no se han gastado. Entonces la transacción
sería validada como se hace actualmente.
Una vez que un nodo complete el bloque (ganando el concurso de hash),
luego transmite el bloque de hashes y las transacciones relacionadas +
antecedentes a los otros nodos para su confirmación y aceptación.
{block-9
}
{block-12
}
221
SOBRE UN TIPO ALTERNATIVO DE CADENA DE BLOQUES CON SÓLO REGISTROS
HASH
{block-17
}
{Transaction
}
{generating-block
}
Entonces, básicamente, si el hash del punto de entrada/salida existe dos
veces en la lista del bloque, se ha gastado. Si existe solo una vez es que
no se ha gastado.
e, f, x, y, z no se han gastado
La transacción gasta x, y & z, y crea el hash-pagado & hash-cambio, por
lo que la transacción es válida.
====
222
EL LIBRO DE SATOSHI
El Objetivo:
El objetivo es proporcionar la misma seguridad del sistema existente,
pero evitando crear un gráfico público de cada transacción que se
correlaciona fácilmente. En este caso, los hashes ni siquiera tienen que
asociarse en el bloque. El bloque podría simplemente ordenar todos los
hashes en orden ascendente.
En efecto, quiero crear monedas de oro de verdad. Puedo darte mis
monedas, pero ninguna persona en el mundo no sabría que yo te las
transferí. Puedes dárselos a la siguiente persona y demostrar que son
monedas de oro, porque tienes el pedigrí de las monedas Y cada
generación en el árbol genealógico fue certificada ante notario en el
registro público.
====
La Pregunta:
Satoshi demostró que se puede eliminar transacciones de la lista del
bloque a través de la estructura de árbol de Merkle, sin comprometer la
seguridad. Creo que mi verdadera pregunta es:
Se podría argumentar que los nodos podrían recordar todo de todas
maneras (la web nunca olvida). Pero si se estructuró el protocolo para que
los nuevos nodos solo reciban una lista de hash del bloque, sólo podrían
recordar desde ese momento en adelante. Eso le daría un poco de
privacidad adicional. (Tal vez)
====
¿Algún comentario? ¿Hay alguna manera obvia de que la gente pueda
engañar y hacerse rica?
223
SOBRE UN TIPO ALTERNATIVO DE CADENA DE BLOQUES CON SÓLO REGISTRO
HASH
R :N
Anunciado por Insti, 10 de agosto 2010, 09:34:14 AM
_____________________________________________________________
En tu sistema, en lugar de sólo obtener transacciones de la cadena de
bloques, solo tengo que mirar cada transacción (que veré de todos
modos) y registrarlas en mi servidor secreto.
R :N
Anunciado por Red, 10 de agosto 2010, 02:09:36 PM
_____________________________________________________________
Sin embargo, se sabe que la oscuridad de la privacidad agrega valor.
Tus vecinos, o el FBI podrían ver todo lo que haces todo el día. Pero
probablemente no lo hagan. Si te vuelves "de interés", seguro que
podrían comenzar a vigilarte desde ese momento en adelante
Pero parece que lo que más se pide por parte de las instituciones
legales es "¡déjenme examinar los registros de todos!" (Llamadas
telefónicas, antenas telefónicas, conexiones de correo electrónico,
conexiones de Facebook, transacciones de tarjetas de crédito/débito,
historial de Google, historial del navegador). Los otros sistemas son
"seguridad a través de autoridad". Bitcoin no tiene eso
224
EL LIBRO DE SATOSHI
servicios de notaría digital. Se les envía un hash de un documento
firmado y lo registran de permanentemente. Luego crean una cadena
hash como lo hace Bitcoin. Publican periódicamente el valor actual de
la cadena hash en un periódico u otro medio redundante sin conexión.
R :N
Anunciado por Insti, 10 de agosto 2010, 03:06:16 PM
Por cierto, esta es la forma en que funcionan la mayoría de los
servicios de notaría digital. Se les envía un hash de un documento
firmado y lo registran de permanentemente. Luego crean una
cadena hash como lo hace Bitcoin. Publican periódicamente el valor
actual de la cadena hash en un periódico u otro medio redundante
sin conexión.
Tampoco tienes que demostrar al notario que tienes X BTC en tu cuenta
para gastar.
225
SOBRE UN TIPO ALTERNATIVO DE CADENA DE BLOQUES CON SÓLO REGISTRO
HASH
R :N
Publicado por Red, 10 de agosto 2010, 05:29:44 PM
_____________________________________________________________
¡Interesante idea para volver sobre ella! Gracias. No había pensado en
esto.
_____________________________________________________________
R :N
Publicado por Satoshi Nakamoto, 11 de agosto 2010, 12:14:22 AM
_______________________________________________________________
Este es un tema muy interesante. Si una solución fuera encontrada, una
mucho mejor, más fácil, más conveniente implementación de Bitcoin
podría ser posible.
Es difícil pensar en cómo aplicar pruebas de cero conocimientos en este
caso.
226
EL LIBRO DE SATOSHI
Estamos tratando de demostrar la ausencia de algo, lo que parece
requerir conocerlo todo y verificar que ese algo no esté incluido.
R : No es una sugerencia
Satoshi: Sé que sabes la primera parte de lo que estoy escribiendo,
pero quiero que otros puedan seguir y corregir cualquier concepto
erróneo que pueda tener.
Estaba viendo la implementación actual del árbol Merkle tratando de
descubrir cuándo se podrían eliminar las transacciones sin perder
seguridad.
Por lo tanto, para que una transacción sea válida, lo más que se
muestra por cada punto ingreso de una transacción de AMBOS, un
punto de salida anterior existente Y, que no exista un punto de ingreso
previo que haga referencia a ese punto de salida. Por lo tanto, para
cada punto de salida, hay cero o uno puntos de ingreso haciendo
referencia hacia él. cero = no gastado. uno = gastado.
Sin embargo, puede eliminar todas las transacciones de doble enlace
tan pronto como esté seguro de que el segundo bloque de enlace se
mantendrá. (posibilidad más temprana).
227
SOBRE UN TIPO ALTERNATIVO DE CADENA DE BLOQUES CON SÓLO REGISTRO
HASH
en la lista de bloque. En efecto, todas las transacciones recuperadas de
la lista de bloque tienen un valor no utilizado, simplemente porque aún
existen. Ya no pueden demostrar su validez por ascendencia ya que esa
parte del gráfico fue eliminada.
El desafío es, ¿cómo se demuestra que no existen otros gastos? Parece que
un nodo debe conocer todas las transacciones para poder verificarlo. Si
solo conoce el hash de los puntos de entrada/salida, no puede verificar
las firmas para ver si un punto de salida había sido gastado antes. ¿Tienes
alguna idea sobre esto?
_______________________________________________________________
La clave es codificar la información de transacción como parte del hash
de punto de salida. Por lo tanto, en lugar de crear un hash de
transacción único, representa la transacción como dos hashes de
salida. (Originalmente consideré una estructura como un punto de
entrada/transacción/punto de salida, usando hashes, pero resultó ser
innecesario).
La transacción actual debe estar firmada por la clave de la dirección
en las transacciones antecedentes, por supuesto. Si esto resulta válido,
se generarán dos nuevos hashes de salida y se insertarán en el bloque
actual. Los hashes del punto de ingreso se marcan gastados para
incluirlos también en el bloque actual. (Si existe un hash dos veces, se
gasta.) Si desea representar la transacción como una unidad (y el
gráfico de transacción actualmente visible), los hashes del punto de
ingreso y los del punto de salida podrían agruparse. Sin embargo, esto
no es estrictamente necesario para probar la validez.
228
EL LIBRO DE SATOSHI
_____________________________________________________________
Estamos tratando de demostrar la ausencia de algo, lo que parece
requerir conocerlo todo y verificar que algo no esté incluido.
_______________________________________________________________
En este caso, estamos tratando de probar la existencia de UN hash
coincidente y la ausencia de DOS hashes coincidentes. Requiere
conocerlos a todos para probarlo.
Creo que las prohibiciones contra el doble gasto son tan fuertes como
en la versión actual.
Eso significa que las condiciones de validación son EXACTAMENTE LAS
MISMAS que con la implementación actual. Todos los nodos de
validación deben examinar y validar todas las transacciones
representadas en un bloque antes de aceptarlo y desarrollarlo.
Si existen hashes en el bloque propuesto que no están representados
por transacciones válidas, el bloque debe ser rechazado. Eso es
exactamente lo mismo que el sistema actual, si alguna transacción no
es válida, el bloque debe ser rechazado.
Tenía la esperanza de que la condición para pasar todas las
transacciones a todos los validadores podría debilitarse, pero no
consigo ver cómo (todavía) sin depender de la delegación de confianza.
----------
Una característica interesante es que esto simplifica el proceso de
validación. Todo lo que se necesita hacer es analizar la lista de bloqueo
(de hashes) una vez. Como cada hash es analizado simplemente lo
229
SOBRE UN TIPO ALTERNATIVO DE CADENA DE BLOQUES CON SÓLO REGISTRO
HASH
busca en un hash-set. Si no existe, añádelo. Si existe, lo borras.
Cuando haya terminado de analizar la lista de bloques, tendrá el
conjunto mínimo de puntos de salida válidos y no gastados. Incluso
podría ser capaz de mantener todo el conjunto en la memoria. (¡Al
menos un momento!)
_____________________________________________________________
Es difícil pensar en cómo aplicar pruebas de cero conocimientos en este
caso.
_______________________________________________________________
¡También es difícil para mí! :-) ¡Aunque fue interesante volver a leerlo!
Esperaba que generara una idea de cómo los nodos pueden demostrar
que "siempre siguen" las reglas generadoras de bloques, en ausencia de
que todos necesiten tener el conjunto de todas las transacciones para
verificar.
R :N
Publicado por satoshi, 11 de agosto 2010, 09:07:59 PM
_______________________________________________________________
El único trabajo que la red necesita hacer es decir si un gasto de un punto
de salida es el primero o no.
Si estamos dispuestos a que los clientes mantengan el historial por su
propio dinero, es posible que la red no tenga que almacenar parte de la
información, como, por ejemplo:
● el valor
230
EL LIBRO DE SATOSHI
La red rastrearía un grupo de puntos de salida independientes. Sin saber a
qué transacciones o cantidades pertenecen. Un cliente puede averiguar si
un punto de salida se ha gastado y puede enviar un punto de entrada
satisfactorio para marcarlo. La red mantiene el punto de salida y el
primer punto de entrada válido que lo demuestra. El punto de ingreso
firma un hash de su próximo punto de salida asociado y un condimento,
por lo que se puede mostrar de forma privada que la firma está firmada
por el próximo punto de salida si conoces el condimento, pero
públicamente la red no sabe cuál es el próximo punto de salida.
R : No es una sugerencia
Resulta que la noción de una notarización cancelable se generaliza muy
bien.
231
SOBRE UN TIPO ALTERNATIVO DE CADENA DE BLOQUES CON SÓLO REGISTRO
HASH
Por ejemplo, este sistema no está limitado a las transacciones de
bitcoin. Dado que los contratos firmados se mantienen de forma
externa, con reglas adicionales de validación/notarización, puede
implementar fácilmente cosas como pagarés/cheques de reclamos.
Creo que los clientes tendrían que mantener una copia de toda la
historia de las monedas originales generadas. El hecho de que los
clientes tengan que mantener todo el historial reduce el beneficio
de la privacidad.
___________________________________________________________
Yo también pensé esto al principio. Pero luego me convencí de lo
contrario.
Es realmente una cuestión de cuánta confianza deposita en los
verificadores y en el proceso de verificación. A la gente le gusta la
sensación de que tener todas las transacciones disponibles, les permite
rastrear las raíces de su dinero hasta su creación. Sin embargo, eso no
es necesario.
232
EL LIBRO DE SATOSHI
Alguien que maneja mucho dinero podría ver mucho historial de
transacciones. La forma en que se expande retrospectivamente
podría terminar viendo la mayoría de la historia. Las
denominaciones podrían ser granulares para limitar la dispersión,
pero una empresa que maneje mucho dinero podría terminar viendo
gran parte de la historia.
___
Es realmente extraño acostumbrarse a la idea de que esta moneda
es válida simplemente porque el proceso no permite que se incluya
de otra manera. Pero en realidad, así es exactamente cómo
funciona la generación de bitcoins. La transacción no tiene
entradas, pero todos deciden que el punto de salida debe ser válido
sólo porque de lo contrario, no estaría en el bloque. :-)
___________________________________________________________
233
SOBRE UN TIPO ALTERNATIVO DE CADENA DE BLOQUES CON SÓLO REGISTRO
HASH
Yo también pensé esto al principio. Pero luego me convencí de lo
contrario.
__________________________________________________________
Si un cliente no estuvo presente hasta hace poco, las dos formas de
convencerlo de que una transacción tiene un pasado válido es:
Pero si la red no conocía todos los valores y el origen de las transacciones,
no podría hacer la 2), no lo creo.
R :N
Publicado por Red, 12 de agosto 2010, 04:25:51 AM
_____________________________________________________________
Cita de: satoshi, 12 de agosto 2010, 02:46:56 AM
___________________________________________________________
Cita de: Red, 12 de agosto 2010, 01:10:19 AM
234
EL LIBRO DE SATOSHI
La forma en que propuse el sistema, cada vez que se genera un bloque,
cada nodo de validación debe aceptar o rechazar ese bloque al validar
las transacciones y confirmar los valores hash en el bloque. En efecto,
el mismo trabajo que se está haciendo con el sistema actual más los
controles de hash de punto de salida. Como los otros validadores ya
estaban compitiendo para generar el bloque, ya tienen (al menos la
mayoría) las transacciones.
Al igual que con el sistema actual, si las transacciones no se validan
(más los hashes de punto de salida incluidos) los otros nodos
rechazarán el bloque. Si el bloque no obtiene aceptación por al menos
el 50% de la potencia de la CPU, no hace la lista de bloque.
Por lo tanto (salvo en bloqueos de hashes) si alguien presenta una
transacción antecedente que coincide con un punto de salida no
gastado, debe ser válida.
Para que ese no sea el caso, debes postular que hubo un período de
tiempo en el que los bloques no se validaban contra los hashes del
punto de salida. Pero eso es plausiblemente inverosímil con el sistema
de competencia de CPU.
_____________________________________________________________
235
SOBRE UN TIPO ALTERNATIVO DE CADENA DE BLOQUES CON SÓLO REGISTRO
HASH
Por supuesto, en el sistema actual, si las transacciones nunca se
purgaron, un nuevo nodo podría validar todos los bloques anteriores
para la auto-consistencia. Pero aún no podrían probar la verdad
absoluta. Una red de robots podría haber tomado el relevo y
borrado algunas transacciones dejando "una nueva verdad" y
usuarios insatisfechos. Equivalente al caso 1) anterior.
En el sistema actual, si las transacciones se purgaron del árbol de
Merkle, entonces tienes el caso 2) anterior. Los recién llegados
deben confiar en el proceso. Falta algo, no tienen por qué
preocuparse. Todos deben suponer que fue válido.
Entonces, si una transacción no se gasta y se entierra en
profundidad 12, podemos purgar todos sus antepasados. Añaden
paños calientes, pero ninguna validación adicional. Tenemos que
confiar en ellos. Simplemente no hay forma de retroceder y cambiar
el rumbo.
Después de eso, cada bloque sucesivo presupone que todos los
bloques precedentes son verdaderos. De lo contrario, sería un fork y
no un bloque sucesivo. Por lo tanto, para cualquier transacción
validada contra puntos de salida en un bloque anterior, si esos
puntos de salida existen y no se han gastado, se deben suponer
válidos. Si se presume que son válidos, se debe suponer que sus
antepasados son válidos, incluso si se purgan.
---
236
EL LIBRO DE SATOSHI
Si un hash de un punto de salida antecedente no se gasta y está
enterrado a 12 bloques de profundidad, entonces no se gasta en
absoluto. Nada puede cambiar ese hecho. No tiene sentido controlar
a sus antepasados. Puede finalizar la validación de la transacción,
cancelar los hashes de punto de entrada y crear nuevos hashes de
punto de salida.
Curiosamente, si un hash de punto de salida antecedente no se
gasta y se sepulta a MENOS DE 12 bloques de profundidad, entonces
está RELATIVAMENTE no utilizado. Curiosamente, todavía no tiene
sentido controlar a sus antepasados. Lo único que podría cambiar la
validez del antecedente es un cambio de rama a una cadena más
larga. Si un antecesor de un antecedente que usted está validando
esta transacción contra la que cambiada, esta transacción también
se intercambiará.
Es una de esas tramas cutres de película de la máquina de tiempo.
Cuando alguien retrocedió en el tiempo y desapareció a mi
antepasado. ¡Ahora no existo!
=====
Así que lo que digo es que, en AMBOS sistemas (existentes y
propuestos), lo único que los validadores deben hacer es validar que
los puntos de salida de los antecedentes existen y que no se han
utilizado (para la cadena de bloque actual). El proceso asegura que
todo lo demás permanece relativamente o absolutamente válido.
- PD -
Sé que esto es demasiado largo y redundante, pero estoy cansado de
editar. :-)
237
SOBRE UN TIPO ALTERNATIVO DE CADENA DE BLOQUES CON SÓLO REGISTRO
HASH
Si al menos el 50% de los nodos validan suficientes transacciones,
haciendo que las transacciones viejas se descarten, entonces, todo el
mundo vería todo y podría guardar una copia.
Crypto puede ofrecer una manera de “llave ciega”. He investigado un
poco y, quizás haya algo ahí. Las “firmas de grupo” puede que estén
relacionadas.
Lo que necesitamos es una manera de generar variaciones ciegas
adicionales de la clave pública. Las variaciones ciegas/obscuras tendrían
que tener las mismas propiedades que la clave pública raíz, como el
hecho de que la clave privada pueda generar una firma para cualquiera
de las anteriores. Otros podrían no decir si una clave ciega es relacionada
con la clave raíz, u otras claves ciegas provenientes de la misma clave
raíz. Estas serían las propiedades del cegamiento. Ceguera, en pocas
palabras, si x = (x * gran_número_entero_aleatorio) mod m.
Cuando pagas a una dirección de Bitcoin, generarías una nueva clave
ciega para cada uso.
Entonces, tendrías que ser capaz de firmar con una clave de tal manera
que no se pueda decir que las dos firmas provienen de la misma clave
238
EL LIBRO DE SATOSHI
privada. No estoy seguro si siempre, al firmar con una clave pública ciega
diferente ya le daría esta propiedad. Si no, creo que un grupo de firmas
podrían valer. En las firmas de grupo, es posible que algo sea firmado sin
saber quién lo ha firmado.
Por ejemplo, digamos que un ataque militar sin mucha popularidad ha
sido ordenado, pero nadie en la historia quiere ser recordado como la
persona que lo ordenó. Si diez líderes tienen claves privadas, uno de ellos
podría firmar la orden, y ninguno de estos sabría quién ha sido.
Eso ha sido mi culpa, porque estaba intentando hacer demasiados casos
de una tirada. Tampoco estaba intentando introducir muchas
“funcionalidades” nuevas de golpe para el análisis.
Mi objetivo mental es incrementalmente restringir el horizonte de la
visibilidad de una transacción. Tanto en el tiempo como en el espacio.
El significado del tiempo se refiere solo a los nodos que están
funcionando en un instante en particular. Espacio, que significa que
menos que el conjunto de todos los nodos ejecutándose en el
momento. De manera óptima, una transacción sólo sería conocida por
el remitente y el receptor. De tal manera que todas las pruebas
desaparecerían.
Yo te entrego un billete de 10$. Y cada uno se marcha para siempre.
Mientras que nadie haya observado que te entregaran ese billete en
ese momento, nadie puede llegar a descubrir qué ha ocurrido, ni aun
pudiendo examinar el billete mismo.
239
SOBRE UN TIPO ALTERNATIVO DE CADENA DE BLOQUES CON SÓLO REGISTRO
HASH
¿Esconde algún tipo de información para la red pública? ¿Cuál es la
ventaja?
Si al menos 50% de los nodos validan las transacciones suficientes
como para poder descartar transacciones antiguas, entonces todos
vieron todo y podrían tomar nota.
Sin embargo, en el último momento me di cuenta de que dado que
los hashes no eran firmas o de otra manera verificados, esto, hacía
que fueran fácilmente de falsificar un “cancelar el hash del punto
de salida anterior”. No podría robarle monedas a nadie, pero sí que
se podrían invalidar.
Intente cuantificar cuánta privacidad se podría ganar. Es mínima en
el peor de los casos (todo el mundo guarda todo de todas maneras),
pero es considerable en caso nominal. La mayor parte de la gente
no guarda nada que no sea necesario para ellos mismos.
240
EL LIBRO DE SATOSHI
En lugar, garantizar que el 50% del todo el poder CPU es necesario,
para falsificar cualquier cosa, que pueda intentar conseguir un
consenso del 100% y replicar en la cadena una suma-comprobación
de la cadena de bloques. (Sería parecido a publicar la comprobación
de las 1024 sumas en el periódico cada día).
Esto restringe la visibilidad de un atacante para saber qué hash
quisiera cancelar (Solo veo 1/1024 de las transacciones), y eso
limita su ventana de tiempo para enviar una cancelación
fraudulenta, que cuando controla el 100% de los verificadores de un
cubo, lo que le daría una ventana de tiempo mayor en ese caso.
Por lo que hay un camino potencial para ganar privacidad al
restringir alguna visibilidad. Esto, conlleva unos riesgos potenciales.
241
SOBRE UN TIPO ALTERNATIVO DE CADENA DE BLOQUES CON SÓLO REGISTRO
HASH
asociaciones posibles por que las dos simples instancias de uso del
hash de punto de salida en la lista del bloque TIENEN QUE estar
relacionados. Añadir un segundo uso como identificador no aporta
nada.
Esto solo añade más bits a la lista del bloque, más de lo que
esperaba. Creí que el hash solo era la óptimo.
====
¿Cuál es la construcción de crypto más pequeña que siga estas
propiedades? Quizás seas capaz de considerar eso en vez de un hash
y una firma completa.
2) Te doy algo que parece fácilmente relacionable con tu #1 pero sin
relación al #1 de alguien más
====
Por ejemplo
En ese caso, cuando envías una transacción offline, la remitente
encierra (X, Y) para cada punto de entrada.
El receptor crearía en privado un nuevo (X, Y) para cada nuevo
punto de salida.
El receptor entonces transmite cada uno de los puntos de entrada
(X, Y) para cancelarlos. Se transmite cada Z del punto de salida para
242
EL LIBRO DE SATOSHI
crearlos.
Crypto puede ofrecer una manera de “llave ciega”. He investigado
un poco y, quizás haya algo ahí. Las “firmas de grupo” puede que
estén relacionadas.
Lo que necesitamos es una manera de generar variaciones ciegas
adicionales de la clave pública. Las variaciones ciegas/obscuras
tendrían que tener las mismas propiedades que la clave pública raíz,
como el hecho de que la clave privada pueda generar una firma para
cualquiera de las anteriores. Otros podrían no decir si una clave
ciega es relacionada con la clave raíz, u otras claves ciegas
provenientes de la misma clave raíz. Estas serían las propiedades
del cegamiento. Ceguera, en pocas palabras, si x = (x *
gran_número_entero_aleatorio) mod m.
Cuando pagas a una dirección de Bitcoin, generarías una nueva clave
ciega para cada uso.
Entonces, tendrías que ser capaz de firmar con una clave de tal
manera que no se pueda decir que las dos firmas provienen de la
misma clave privada. No estoy seguro si siempre, al firmar con una
clave pública ciega diferente ya le daría esta propiedad. Si no, creo
que un grupo de firmas podrían valer. En las firmas de grupo, es
posible que algo sea firmado sin saber quién lo ha firmado.
Por ejemplo, digamos que un ataque militar sin mucha popularidad
ha sido ordenado, pero nadie en la historia quiere ser recordado
como la persona que lo ordenó. Si diez líderes tienen claves
243
SOBRE UN TIPO ALTERNATIVO DE CADENA DE BLOQUES CON SÓLO REGISTROS
HASH
privadas, uno de ellos podría firmar la orden, y ninguno de estos
sabría quién ha sido.
Esto es una idea muy buena. Creo que ya veo por donde vas con ella.
Me ha costado varios intentos poner todas las piezas en conjunto. Soy
un poco lento.
Estoy en lo correcto, estabas sugiriendo que se pudiera firmar un hash
de punto de salida con una clave ciega de un solo uso.
Donde la clave pública ciega es equivalente a la clave pública de la
transacción de una dirección de Bitcoin. Digamos que el par de llaves
pública/privada de la dirección bitcoin fue P/p. Las claves públicas
ciegas podrían ser P1, P2, P3…Pn. Donde cada quien puede validar
cualquier cosa firmada con la clave privada (p).
Así que después de la creación cuando se emite el hash del punto de
salida para validación, este aparecería firmado por P1. Sin embargo,
cuando el receptor emita el punto de salida para una cancelación, este
sería firmado por P2, o cualquiera diferente de P1 (ya que esta se
encuentra emitida al público). Ambas firmas calculadas serían las
mismas, pero la clave pública podría cambiar. Esto significa que solo
alguien que posea la clave privada común podría haberlo generado.
¡Eso es de genio!
244
57
Sobre el Alto Coste
De La Minería
Traducción por
Alex Preukschat | Roberto Fernández Hergueta
245
EL LIBRO DE SATOSHI
246
SOBRE EL ALTO COSTE DE LA MINERÍA
Ahora, si esto sucediera, supongo que un nuevo cliente podría ser
liberado para restablecer la dificultad a algún número sensible y
comenzar a usar un mejor algoritmo para el ajuste de dificultad. Pero
sería mucho mejor hacerlo proactivamente antes de que se convierta
en un problema (quizás con un "flag day" predeterminado activando el
nuevo algoritmo en un momento determinado en el futuro, dando al
nuevo cliente la oportunidad de propagarse).
Una simple (¿?) modificación del algoritmo podría aplicar el ajuste
después de una cierta cantidad de tiempo, en lugar de en un cierto
número de bloques. El cambio podría ser sincronizado para tener
efecto en el próximo bloque, por lo que la sincronización de tiempo
entre los clientes no necesitaría ser súper exacta para poner a la gran
la mayoría de ellos de acuerdo sobre cuándo aplicar la nueva
dificultad.
247
EL LIBRO DE SATOSHI
¿Qué tan caro es el combustible para la calefacción? Con el precio del
petróleo tan alto, actualmente es más caro que la electricidad, entonces
la generación tendría coste negativo.
El caso 3 entra en juego para pequeñas cantidades. Los costes generales
de hacer un intercambio no tienen sentido si solo necesitas un poco de
dinero en los bolsillos para micropagos fortuitos. Creo que esta es una
buena ventaja frente al dinero fiduciario, en lugar de que todo el
señoreaje vaya una gran entidad, dejándolo en cantidades convenientes a
personas que necesiten recuperar una pequeña cantidad de cambio.
248
Sobre el Desarrollo de un
58
Sistema de Alerta
Traducción por Alex Viñas Salles
He estado trabajando en escribir un sistema de alerta. Las alertas se
difunden a través de la red y pueden aplicar a una amplia versión de
números. Los mensajes de alertas son firmados con una clave privada que
solo yo tengo.
Los nodos pueden hacer dos cosas para responder a las alertas:
249
EL LIBRO DE SATOSHI
En los casos del error de desbordamiento, o una bifurcación donde los
usuarios pueden desconfiar de los pagos recibidos, las alertas deberían
guardar versiones antiguas que son mayormente seguras hasta que ocurra
la actualización. Los usuarios manuales deberían darse cuenta de la
atención mostrada en la barra de estado cuando comprueben los pagos
recibidos, y el modo seguro de json-rpc detiene a las webs automatizadas
puedan realizar cualquier tipo de intercambio hasta que son actualizadas.
Los métodos json-rpc que devuelven errores durante una alerta son:
● sendtoaddress
● getbalance
● getreceivedbyaddress
● getreceivedbylabel
● listreceivedbyaddress
● listreceivedbylabel
Creo que después que otro error aparezca, como el de desbordamiento,
es importante que las webs automatizadas paren de enviar órdenes hasta
que los administradores pueden comprobar que está ocurriendo y decidir
qué hacer. Si decide que ha sido una falsa alarma, y quiere arriesgarse,
usted puede el switch “-disablesafemode”.
250
SOBRE EL DESARROLLO DE UN SISTEMA DE ALERTA
● sendtoaddress
● getbalance
● getreceivedbyaddress
● getreceivedbylabel
● listreceivedbyaddress
● listreceivedbylabel
Creo que la opción más segura tiene que habilitarse por defecto. Si quiere
que su servidor siga haciendo trading e ignorar una alerta diciendo que el
dinero que está recibiendo puede ser dinero procedente del error de
inundación, aun pudiendo activar el switch más tarde, perderá la
posibilidad de poder culpar a alguien en caso de que se pierda el dinero.
En el peor caso, si deja las alertas habilitadas, su web parará el trading
hasta que actualice o añada el switch -disablesafemode.
Ser sorprendido por un tiempo de inactividad temporal cuando su nodo,
de lo contrario estaría en riesgo, es mejor que sorprenderse por un ladrón
quitándole todo tu inventario.
Algún día cuando ya no hayamos encontrado errores por mucho tiempo y
haya sido completamente revisado por seguridad sin encontrarse nada,
esto puede ser reducido. No estoy defendiendo que esto funcione así para
siempre. Aún es un software beta.
251
EL LIBRO DE SATOSHI
Re: Desarrollo de un sistema de alerta
Publicado por satoshi, 25 de agosto 2010, 04:56:15 PM
_______________________________________________________________
@mizerydearia, Creo que el botón de comillas es mucho más fácil de
encontrar que el de respuesta.
Con respecto al sistema de alerta, a quien le importa? Lo más que puede
llegar a hacerse con la clave es, desactivar temporalmente los seis
comandos json-rpc hasta que los dueños de la web añadan el switch
-disablesafemode o actualicen. Todos los nodos seguirán funcionando y
generando, por lo que la red se mantiene correctamente. Si no estoy
disponible, cualquier niño puede hacer un script para averiguar cómo
poder añadir dos caracteres y crear una nueva versión que desactive el
sistema de alerta. Solo sería una inconveniencia temporal.
¿Entonces, teóricamente este es el primer sistema de control donde
<algún gobierno> puede arrestar a Satoshi y demandarlo a que
entregue su llave (o quitársela del ordenador) y poder apagar
completamente toda la red?
252
SOBRE EL DESARROLLO DE UN SISTEMA DE ALERTA
_____________________________________________________________
Esto me hace pensar que la gente que escribe no sabe muy bien de
lo que están hablando. No puede “apagar la red por completo”.
___________________________________________________________
Nunca me he opuesto a este cambio/idea, solo estaba preguntando si
esto sería posible, y hasta dónde podrían llegar?
253
Sobre la DeFinición de
59
Dinero y Bitcoin
Traducción por Alex Viñas Salles
254
EL LIBRO SE SATOSHI
Todo el propósito del teorema de regresión es ayudar a explicar una
aparente paradoja del dinero: ¿cómo tiene valor el dinero como medio
de intercambio, si se valora porque sirve como medio de intercambio?
Menger y Mises ayudaron a entenderlo explicando, que el tiempo es lo
esencial que falta en la paradoja del dinero.
Como explica Rothbard en Hombre, Economía y Estado (p. 270), “...el
precio del dinero, al final del día X es determinado por las utilidades
marginales del dinero y los bienes, mientras estos existieran al
principio del día X. Pero la utilidad marginal del dinero se basa, como
hemos visto anteriormente, en una matriz previamente existente de
precios de dinero. El dinero es demandado y considerado útil porque
tiene precios ya existentes. Por lo tanto, el precio de un bien en el día
X es determinado por la utilidad marginal del bien en el día X, y la
utilidad marginal del dinero en el día X, que a su vez depende de los
precios de los bienes en el día X-1. El análisis económico de los
precios por lo tanto no es circular. Si los precios de hoy
dependen de la utilidad marginal del dinero del día de hoy,
este último depende de los precios del dinero de ayer.” [énfasis
añadido]
Luego Rothbard explica que para que el dinero emerja de la economía
del trueque, tiene que tener un valor preexistente a este bien. Este
valor de este bien surge por la demanda del trueque por el potencial
de ese dinero en consumo directo (a saber, ornamentación). Este
valor es la semilla de las futuras estimaciones sobre el valor del
dinero como medio de cambio. El surgimiento de un mercado natural
del dinero es así totalmente explicado.
La Economía Monetaria
Sin embargo, una vez que la economía se ha monetizado y una
memoria de los ratios de precios de bienes y servicios ha sido
establecida, el dinero puede perder su valor directo de mercancía y
aun así usarse como dinero (medio indirecto de cambio). Rothbard
explica (p. 275):
255
SOBRE LA DEFINICIÓN DE DINERO Y BITCOIN
“Por otro lado, si no se sigue desde este análisis que, si un dinero
existente fuera a perder su uso directo no podría usarse como dinero.
Así, si el oro, después de establecerse como dinero, repentinamente
perdiera su valor para ornamentación o uso industrial, no
necesariamente perdería su caracterización de dinero. Una vez que un
medio de cambio se ha establecido como dinero, los precios del
dinero se continúan poniendo. Si en el día X el oro pierde su uso
directo, aun así, habría un histórico de precios establecidos en el día
X-1, y dichos precios forman la base de la utilidad marginal del oro en
el día X. Similarmente, el histórico de precios determinado el día X,
compone la base de la utilidad marginal del dinero en el día X+1. De X
en adelante, el oro podría ser demandado simplemente por su valor de
intercambio, y en absoluto para su uso directo. Por lo tanto, mientras
sea absolutamente necesario que el dinero se origine como una
mercancía con usos directos no es absolutamente necesario que los
usos directos continúen luego que el dinero ha sido establecido.”
Los primeros negocios en la economía de Bitcoin fueron casas de
cambio (NewLibertyStandard, BitcoinMarket, BitcoinExchange,…) Esto
no fue casualidad, sino que nace a raíz de la explicación anterior. Para
que Bitcoin sirva como medio de cambio sin tener un valor como
256
EL LIBRO DE SATOSHI
mercancía para usos más allá del intercambio indirecto, tiene que
haber un histórico de precios. Las casas de cambio del mercado cubren
esa necesidad y dan a los usuarios de Bitcoin acceso a esa información.
Por lo que Bitcoin, puede servir como un dinero intermediario para
paypal dólares/pecunix/euros. ¿Pero, por qué existe una demanda de
Bitcoin sobre dólares? Esto es una valoración subjetiva basado en sus
propiedades como anonimato, sistema de compensación
descentralizado, confianza criptográfica, ratio de crecimiento
predeterminado y definido, deflacionario, divisible, bajas comisiones
por transacción etc.... inherente al sistema Bitcoin.
Por supuesto, si hubiera una gran catástrofe, y el histórico de precios
se destruyera, probablemente el Bitcoin NO surgirá directamente como
dinero (asumiendo que los Bitcoins tienen valor limitado fuera del
intercambio). El dinero fiduciario con cero valor directo de trueque,
tampoco lo haría. Las materias primas como el oro y la plata que
tienen un amplio reconocimiento como valor directo de trueque,
podrían surgir primero. La economía entonces sería monetizada con
unos ratios de precio en oro y plata. Entonces, los Bitcoins, siendo
valorados por sus propiedades intrínsecas como dispuestas a
intercambio, pueden convertirse en la forma predominante para
comerciar. Inicialmente, los creadores de valor continuarán poniendo
sus ratios de valor precio en términos del dinero “real” (ratio onza de
oro/BTC), pero con el tiempo, los precios de Bitcoin (BTC) pueden
surgir (ver vekja.net como ejemplo). Estamos en esa fase inicial.
Por lo tanto, siempre que se produzca un intercambio de BTC y
USD/Euros/etc., el conocimiento de las relaciones de precios
existentes puede utilizarse en la economía de Bitcoin. Con el tiempo, a
medida que los Bitcoins se vuelven cada vez más comerciables, estos
ratios de precios fiat<->BTC generarán relaciones directas de precios
de BTC. La economía de Bitcoin surge de esta forma. El teorema de la
regresión de Mises se satisface.
257
SOBRE LA DEFINICIÓN DE DINERO Y BITCOIN
XC
Edit: clara posibilidad de que bitcoin surja directamente como dinero
de una economía de trueque.
Si te sirve de ejemplo, imagínate que hay un metal común tan escaso
como el oro pero con las siguientes propiedades:
Si de alguna manera adquiriera algún valor por razón que sea, entonces
cualquiera que quiera transferir valor a distancia podría comprar algunos
gramos, transferirlos, y que el destinatario lo venda.
Quizás podría tener un valor inicial de circulación como has sugerido,
haciéndole ver a la gente su utilidad como medio de intercambio. (Yo
claramente querría algunos). Quizás como coleccionista pero, cualquier
otro motivo arbitrario podría ser bueno.
258
EL LIBRO DE SATOSHI
(Estoy usando la palabra escaso refiriéndome sobre la oferta potencial
limitada)
Ha habido mucho debate sobre qué son los Bitcoins – a saber dinero
versus producto. Además, ha habido un gran debate sobre inflación
versus deflación en relación con el Bitcoin, sobre si la gente los
prestaría a terceros, a que tipos de interés, etc.
Creo que la decisión más correcta de Bitcoin es que son acciones de
una empresa común llamada Bitcoin Enterprise que estamos
construyendo. Es como ser parte de una empresa (ahora mismo una
empresa de tamaño pequeño) y estamos siendo pagados en acciones de
la compañía. Hay un número limitado de Bitcoins, como también hay
un número limitado de acciones en una compañía (Salvo nuevas
emisiones/etc.).
El principal valor del Bitcoin actualmente es la esperanza de que en
algún día estos valgan significativamente más de lo que valen ahora
mismo. Para que eso ocurra, Bitcoin Enterprise en su totalidad, debe
ganar valor añadido. La manera más obvia es facilitar a los comercios
de internet el cambiar bitcoins por otros bienes. El esfuerzo
computacional colectivo de todos los empleados/dueños ayuda a
asegurar que el cambio es bueno al guardar una copia de cada
transacción. El esfuerzo individual de algunos Bitcoiners está ayudando
a que el cambio a Bitcoin sea más fácil y útil.
En relación con los préstamos/créditos de Bitcoins, para mí son
análogos a los préstamos/créditos sobre acciones. La primordial razón
para pedir Bitcoins prestados es porque usted piensa que están
sobrevaluados y terminarán valiendo menos de lo actual en el
259
SOBRE LA DEFINICIÓN DE DINERO Y BITCOIN
momento que toque devolverlos. Cuando pide que le presten Bitcoins,
puedes venderlos ahora (hacer el trueque), confiando que costarán
menos dinero recomprarlos luego para que pueda devolverlo a su
prestatario (probablemente más una comisión).
En esencia, los Bitcoins son una “directa oferta pública” de acciones de
la Bitcoin Enterprise.
260
Sobre el Requerimiento
60
de Comisión en una
Transacción
Traducción por Alex Viñas Salles
261
EL LIBRO DE SATOSHI
Otra opción puede ser reducir el número de transacciones gratis
permitidas en cada bloque antes que los costes por transacción sean
obligatorios. Los nodos solo cogerán unos pocos KB de transacciones
gratuitas por bloque antes de requerir un costo mínimo por transacción de
al menos de 0.01.
No creo que el umbral deba llegar nunca a 0. Siempre deberíamos aceptar
algunas transacciones gratuitas.
Actualmente, pagar el coste de la transacción es controlado manualmente
a través del -pattxfeeswitch. Sería muy fácil hacer que,
automáticamente, el software comprobará el tamaño de los bloques
recientes para ver si debería existir un coste o no. Estamos aún muy lejos
de llegar a ese umbral, no lo necesitamos activarlo aún. De todas
maneras, es una buena idea ver cómo funcionan las cosas controladas
manualmente primero.
No es muy importante el hecho de que alcancemos el umbral. Las
transacciones gratuitas simplemente tardarían más en introducirse dentro
de un bloque.
262
SOBRE EL REQUISITO DE COMISIÓN EN UNA TRANSACCIÓN
El promedio de bytes por bloque eran 428 bytes, o 214 bytes por
transacción.
El umbral actual es 200KB por bloque, o alrededor de 1000 transacciones
por bloque. Creo que debería reducirse a 50KB por bloque. Eso sería aún
100 veces más que el promedio de transacción por bloque.
El umbral puede ser fácilmente cambiado en el futuro. Podemos decidir
incrementarlo cuando sea la hora de hacerlo. Es una buena idea
mantenerlo en valores bajos, e incrementarlo según sea necesario. Si
ahora llegamos al umbral, casi sería algún tipo de congestión y no sería un
caso real. Mantener el umbral bajo ayudaría a limitar el espacio que se
despreciaría en el disco.
El umbral actual es 200KB por bloque, o alrededor de 1000
transacciones por bloque. Creo que debería reducirse a 50KB por
bloque. Eso sería aún 100 veces más que el promedio de transacción
por bloque.
_____________________________________________________________
La razón por lo que lo hice tan alto fue para permitir un gran número de
transacciones sin llegar a necesitar la comisión por transacción. El umbral
estaba alrededor de 26.000 BTC para transacciones hechas de las 50
monedas BTC generadas. Aunque fuera 100 veces más fácil generar un
respaldo en aquellos tiempos, solo algunas personas llegaron a encontrar
esa comisión a ese nivel. El nuevo umbral lo deja alrededor de los 11,000
BTC para enviar monedas generadas. Solo se podría alcanzar con bitcoins
generados. Si ha comprado sus bitcoins, serán denominados en
transacciones más grandes, con lo que ni se acercaría al límite de los
costes por transacción, a no ser que los comprara con cientos de
263
EL LIBRO DE SATOSHI
direcciones diferentes. Si llegas al nivel del coste por transacción, sólo
tiene que pagar una vez para agrupar sus transacciones pequeñas.
264
Sobre Sitios con
61
CAPTCHA y Requisitos
de Paypal
Traducción por Jose Antonio Bravo
La Lista de Nicho
Esta es la Operación Crecimiento Económico. Nuestra misión es hacer
crecer la economía bitcoin haciendo que todos se especialicen en un
grupo reducido de bienes y servicios.
265
EL LIBRO DE SATOSHI
Nichos deseados:
266
SOBRE SITIOS CON CAPTCHA Y REQUISITOS DE PAYPAL
Me repito aquí, pero hay un software open source para eso, por lo que
solo sería cuestión de echar mano de un mecanismo de pago de Bitcoin.
Uno bueno que he encontrado es de Mihalism Multi Host. Está diseñado
como un host libre, así que sólo necesitaría algunos ajustes para relajar
las restricciones con usos de pago.
_______________________________________________________________
267
62
Sobre Mensajes Cortos en
la Cadena de Bloques
Traducción por Jose Antonio Bravo
268
.EL LIBRO DE SATOSHI
Bitcoin es estupendo, pero le falta algo que las transferencias
bancarias habituales tienen: título de pago.
Quizás sería posible incluir mensajes cortos (<= 512 bytes) en cada
transacción.
¿Qué te parece?
PD.
269
SOBRE MENSAJES CORTOS EN LA CADENA DE BLOQUES
270
63
Sobre el Manejo de un
Ataque por Inundación de
Correo no Deseado
Hemos alcanzado el límite de transacciones gratis en cada bloque,
para muchos bloques ahora, parece ser ~ 219 transacciones gratuitas
por bloque. Las transacciones "reales" no aparecen como denegación de
servicio en este momento, presumiblemente debido a la lógica que
prioriza en parte, en función del valor de transacción.
271
EL LIBRO DE SATOSHI
<soapbox>
Las transacciones gratuitas solo piden un nivel permanente de spam.
Debería haber un costo para cada transacción, incluso si solo es 0.001
BTC o más.
</soapbox>
_____________________________________________________________
Estoy haciendo algo así. La prioridad es una versión más formal del
concepto que está describiendo.
___________________________________________________________________
Tal como está ahora v0.3.15 tiene mucho espacio para transacción libre
y ese espacio se da primero a las transacciones con el mayor
[maduración]*[valor]/[tamaño], ¿correcto? ¿Sería razonable hacer que
una parte arbitraria del espacio libre requiera
[maduración]*[valor]/[tamaño]>C?
272
SOBRE EL MANEJO DE UN ATAQUE POR INUNDACIÓN DE CORREO NO DESEADO
Tal vez configure C para que la transacción estándar de 1BTC pueda
ingresar al área principal gratis en el siguiente bloque. Y un .1 puede
entrar después de esperar alrededor de 10 bloques. Y haga que el área
que permite [maduración]*[valor]/[tamaño]<C permita
aproximadamente una docena de transacciones más o menos.
________________________________________________________________
Sí, así. Y el área sin requisitos de prioridad es 3K, alrededor de una
docena de transacciones por bloque.
___________________________________________________________________
Acabo de subir SVN rev 185, que tiene un requisito de prioridad mínimo
para las transacciones gratuitas. Las inundaciones de transacciones se
componen de monedas que se vuelven a gastar una y otra vez, por lo que
dependen de sus propias 0 configuraciones de transacción repetidamente.
Las transacciones de 0 configuración tienen prioridad 0, por lo que las
transacciones gratuitas como esta tendrán que esperar a que una
transacción entre en un bloque a la vez.
La versión 0.3.15 no inscribe transacciones con 0 configuración a menos
que eso sea todo lo que le queda, por lo que los usuarios normales
generalmente no deberían tener un problema con esto.
Creo que este es un buen pequeño compromiso para hacer la tarifa
predeterminada 0.01. No se trata tanto de pedir que las transacciones
gratuitas solo puedan usarse en monedas con alta frecuencia de
transacciones. Si estás utilizando transacciones gratuitas, estás tomando
beneficio y tiene que haber algún límite en la frecuencia con la que
puede usarla con las mismas monedas.
Siempre hemos dicho que las transacciones gratuitas pueden ser
procesadas más lentamente. Usted puede ayudar a garantizar que sus
transacciones se procesen rápidamente agregando -paytxfee=0.01.
273
Tecnicismos Sobre los
64
Pools de Minería
Traducción por Jose Antonio Bravo
Minado cooperativo
Publicado por slush, 27 de noviembre 2010, 01:45:41 PM
_____________________________________________________________
Hola a todos,
274
EL LIBRO DE SATOSHI
Hace unos días comenzamos un sistema de tickets para el soporte
oficial del pool en http://support.bitcoin.cz. Este sistema de soporte
está integrado también con support@bitcoin.cz, así que escribir un
correo electrónico a support@bitcoin.cz es la forma correcta si
necesitas una respuesta rápida y autorizada de uno de los
administradores del pool en cualquier momento. Por ahora estamos
procesando una gran cantidad de correos electrónicos atrasados allí,
pero nuestra meta es contestar a todos los tickets en 24 horas. En
http://support.bitcoin.cz hay también una base de conocimiento en la
que vamos completando de más y más preguntas y respuestas todos los
días.
El minado en pool es una forma para que múltiples usuarios trabajen
juntos acuñando bitcoins, y compartan los beneficios de una manera
justa.
¿Qué necesito?
275
TECNICISMOS SOBRE LOS POOLS DE MINERÍA
su lugar pagos más pequeños, más frecuentes y más estables. Si tiene
un ordenador más lento, o un minero CPU, entonces el minado en pool
puede ser la única manera en que minará siempre bitcoins.
¿Cómo empiezo?
Necesita menos de 10 minutos para comenzar a minar en un pool.
Visite: http://mining.bitcoin.cz y siga las instrucciones.
Publicación original:
_____________________________________________________________
Una vez la gente comenzó a utilizar ordenadores habilitados con GPU
para minar, la minería se hizo muy difícil para otras personas. Estoy en
bitcoin hace pocas semanas y no he encontrado un bloque todavía
(estoy minando con tres CPUs). Cuando mucha gente tiene CPUs lentas
y minan por separado, todos compiten entre ellos Y contra los ricos
cabrones con GPU ;-), porque todos cuentan con hashes sha256 del
mismo rango. ¡Dos CPUs separadas con 1.000 khash/s no son lo mismo
que una máquina de 2.000 khash/s! Pero la nueva característica del
cliente bitcoin oficial llamada ‘getwork’ permite ahora el trabajo de
muchos ordenadores juntos, de forma que no compiten. Dado que
ahora hay un minero de CPU independiente (¡gracias a jgarzik!) y el
parche ‘getwork’ es ahora un cliente oficial, tengo una idea:
¡Unan a los pobres mineros CPU en un grupo y aumenten sus
posibilidades de encontrar un bloque!
¿Cómo debería funcionar esto? Habría una página web en la que podrías
registrarte, introducir la dirección de tu wallet y obtener la URL y tu
rpcusuario/rpccontraseña personal para tus mineros CPU/GPU. Cuando
comiences tu propio minado con esas credenciales, el servidor te
enviará trabajo que no está siendo calculado todavía por otros
miembros del grupo.
Pero cuando tu cliente encuentra un hash ganador, no obtienes la
recompensa completa por bloque (50 BTC - “de ese momento”), sino
solamente una parte proporcional, la cual calculaste. Cuando ofrezcas
1.000 khash/s durante un día, y el rendimiento del grupo completo sea
de 20.000 khash/s y cueste dos días encontrar un bloque, tu
276
EL LIBRO DE SATOSHI
¿Desventajas? Necesitas confiar en que la autoridad central (yo) no
robará el bloque para sí mismo. Pero estoy bromeando por unas
semanas y estoy asombrado con la idea de bitcoin, así que no planeo
robar nada en este momento :-).
Otro problema posible es que alguien pida trabajo nuevo muy a
menudo, pero en realidad no cuente hashes reales. En este caso
parecería que tiene una CPU muy potente y obtendría una gran parte
de la recompensa si el grupo encuentra un bloque. Pero hay una
defensa sencilla frente a los tramposos: el servidor central enviará a
veces trabajo que lleve a un hash ‘ganador’. El trabajador que no
devuelva ese hash como coincidencia será expulsado permanentemente
(inicio de sesión/contraseña y dirección IP). Esto se ha resuelto de
forma satisfactoria dejando a los mineros calcular la prueba de
trabajo. No es posible de ninguna manera pertenecer a un grupo y no
contar hashes.
¿Está interesado?
Me parece que el minado cooperativo es una tarea dura, porque la
honestidad de los participantes tiene que comprobarse. ¿Qué evita
que alguien ejecute una versión modificada del cliente, que
estuviese generando bitcoins solamente para él, mientras recibe
bitcoins de otros?
277
TECNICISMOS SOBRE LOS POOLS DE MINERÍA
__________________________________________________________
<suspiro>
O no he sabido explicar muy bien por qué no hay posibilidad de hacer
trampa, o estoy equivocado. Pero si estoy equivocado, nadie ha
publicado una objeción específica. Así que trataré de explicarlo
nuevamente, presentando un diseño específico que muestre que un
cliente deshonesto no puede hacer trampa.
Mi servidor le pide a cada cliente que haga algo de hashing. Pide a cada
cliente que envíe cualquier hash que encuentre que esté por encima de
un cierto límite de dificultad. El servidor escoge una dificultad que es
un cuadragésimo (1/40) del nivel de dificultad “oficial” anual.
Mi servidor recibe un flujo constante de hashes candidatos enviados por
los clientes mineros remotos. De vez en cuando, uno de esos hashes
cumple con el nivel de dificultad oficial y mi servidor puede generar un
bloque, lo que hace ganar 50 bitcoins a mi servidor.
A la larga, esperaría distribuir 40 monedas de cada 50 que genera mi
servidor, aunque habría fluctuaciones de bloque a bloque. ¡Nada en
este esquema requiere que los clientes sean honestos, porque no hay
forma de que un cliente deshonesto pueda engañar!
El cliente está calculando hashes que van a generar 50 BTC para mi
servidor. Esos mismos hashes no son de ninguna utilidad para un cliente
deshonesto. No se pueden ser usados para generar 50 BTC para el
cliente deshonesto, porque se necesita un código hash diferente para
codificar el pago de los bitcoins generados para alguien más. Y si el
cliente deshonesto trata de hacer trampa generando hashes que van a
pagar los bitcoins generados por ellos mismos, entonces los códigos
hash que envían no se validarán en mi servidor y no distribuiré ninguna
parte de los pagos a ellos.
278
EL LIBRO DE SATOSHI
Este sistema tampoco requiere que el cliente de minería tenga fe en
que el servidor sea honesto. Si el servidor anuncia que está pagando
1BTC por cada hash que es al menos 1/40 del nivel de dificultad
oficial, entonces cada cliente que envía un hash "fácil" para un bloque
que se generó puede verificar que recibió su bitcoin. Cualquier fraude
aparecería inmediatamente.
Los operadores de pool pueden modificar su getwork para tomar un
parámetro adicional, la dirección a la que envían su parte.
Lo más fácil para el operador del pool sería esperar hasta que se
encuentre el siguiente bloque y dividirlo proporcionalmente como sigue:
Eso sería más fácil y seguro para empezar. También tiene la ventaja de
que múltiples aciertos del mismo usuario pueden combinarse en una
transacción. Muchos de sus aciertos generalmente serán de las mismas
personas.
El modo de gratificación instantáneo sería pagar una cantidad fija por
cada intento inmediato, y el operador toma el riesgo de la aleatoriedad
de tener más o menos intentos antes de que se encuentre un bloque.
Los nuevos usuarios podrían realmente no necesitar en realidad el
software Bitcoin. Podrían descargar un minero, crear una cuenta en
mtgox o mybitcoin, ingresar su dirección de depósito en el minero y
señalarlo en el servidor del grupo de cualquier persona. Cuando el minero
279
TECNICISMOS SOBRE LOS POOLS DE MINERÍA
Mineros escritores se aseguran mejor que nunca de tener falsos-positivos
intentos. Los usuarios dependerán de eso para verificar si el operador del
pool los está engañando. Si el minero dice erróneamente que encontró
algo, los usuarios buscarán en su cuenta, no encontrarán nada, y se
enfadarán con el operador del pool.
280
Sobre el Uso de
65
Bitcoin por WikiLeaks
Traducción por Alex Viñas Salles
http://www.wired.com/threatlevel/2010/12/paypal-WikiLeaks/
Hola, me gustaría enviar una carta a WikiLeaks sobre Bitcoin desde que
desafortunadamente han tenido varios problemas con incautaciones de
fondos en el pasado.
http://wikileaks.org/media/support.html
281
EL LIBRO DE SATOSHI
Yo ya estoy en el punto de, “adelante” en relación con WikiLeaks.
Fijaros que firmo con mi nombre real en vez de un pseudo anónimo y
estoy dispuesto a decir “adelante”, a pesar de poder ser asociado con
el proyecto Bitcoin. He tenido a la policía en mi casa sin mi permiso,
haciendo todo tipo de cosas estúpidas, así que para mí, esa línea ya ha
sido traspasada. También estoy conectado políticamente con el
suficiente número de personas como para que, si me pasara algo, se
dieran cuenta y actuarán.
Es moralmente correcto apoyar a WikiLeaks, y si aceptan unos pocos de
mis Bitcoins, no sólo quiero donar, también predicar por el mundo que
pueden hacer donaciones a WikiLeaks a través de Bitcoin.
282
SOBRE EL USO DE BITCOIN POR WIKILEAKS
No puede hablar por todo el mundo en la comunidad de Bitcoin, pero
estoy hablando por mí mismo en este aspecto, y no tengo ningún miedo
a lo que me puede hacer el gobierno de los Estados Unidos por estar
apoyando financieramente a WikiLeaks. Si ocurriera algo, demostraría
que ya no vivo bajo un gobierno constitucional. Si el gobierno de los
Estados Unidos quiere lanzar esa piedra sobre su tejado, que así sea.
En caso de que el gobierno de los Estados Unidos me mate o me
encarcele, yo mismo establecería una manera para que la comunidad
lo averiguara. No creo que llegue a ese punto, pero no me importa si es
así.
Si tuviera que “votar” en este asunto, alentaría a que la comunidad
tome cartas en el asunto, como lo hicimos con EFF, y aconsejaría a
WikiLeaks que pongan en su web direcciones de Bitcoin para realizar
donaciones. Eso traería nueva sangre a la comunidad, y puede ser
beneficioso para WikiLeaks también. Dejemos a WikiLeaks la decisión
de usar o no Bitcoin. En cuanto al interés del gobierno sobre Bitcoin,
sabíamos que tarde o temprano iba a ocurrir, ¿así que por qué estamos
luchando contra algo inevitable? Cualquier cosa más allá de una
investigación discreta, lo único que conseguirá es despertar más
interés en Bitcoin en la gente, lo que terminará ayudando al proyecto
aún, más. El proyecto no puede morir, solo puede ralentizarse un poco
el ritmo de crecimiento en este momento, y lo más probable es que su
adopción se vea acelerada gracias a cualquier tipo de publicidad que se
hiciera.
La única posible preocupación que tengo es el estado actual del
protocolo. Si eso, con el gran flujo de gente nueva en la comunidad de
Bitcoin también sería beneficioso, y lo peor que pudiera ocurrir es que
Bitcoin se rompa de tal manera, que una nueva criptomoneda surja
para resolver los problemas que tenga Bitcoin. La idea es que una
criptomoneda pueda persistir, y esta idea es muy difícil de censurar.
- Robert S. Horning
Logan, Utah
283
EL LIBRO DE SATOSHI
284
66
Sobre un Servidor de
Nombre de Dominio
Distribuido
Traducción por Alex Viñas Salles
285
EL LIBRO DE SATOSHI
Creo que BitDNS podría ser una red completamente separada con una
cadena de bloques separada, pero compartiría la potencia de la CPU con
Bitcoin. La única superposición sería hacer que los mineros puedan buscar
pruebas de trabajo para ambas redes simultáneamente.
En vez de tener una fragmentación, las redes pueden compartir y
aumentar el poder computacional total (CPU). Así se resolvería el
problema de tener múltiples redes, y el peligro para ambas, si el poder
computacional disponible se une sólo a una red. En su lugar, todas las
redes del mundo podrían compartir poder computacional combinado
(CPU), para incrementar el poder total de la red. Sería más fácil para las
redes más pequeñas, comenzar utilizando una base de mineros ya
existente.
Creo que BitDNS podría ser una red completamente separada con
una cadena de bloques separada, pero compartiría la potencia de la
CPU con Bitcoin. La única superposición sería hacer que los mineros
286
SOBRE UN SERVIDOR DE NOMBRE DE DOMINIO DISTRIBUIDO
Creo que un minero externo podría llamar a la función getwork en
ambos programas y combinar el trabajo. Podría empezar obteniendo
el trabajo en Bitcoin para usarlo en BitDNS en un trabajo
combinado.
___________________________________________________________
Entonces el minero tendría que básicamente hacer “trabajo extra”, y si
no hay recompensa por parte de bitdns minados que provienen del
trabajo extra (que desde luego, ralentizaría el trabajo de la red
principal de Bitcoin), ¿cuál sería el incentivo de un minero para incluir
bitdns (y cualquier otro tipo de cadenas paralelas (sidechains)?
Entonces el minero tendría que básicamente hacer “trabajo extra”, y si
no hay recompensa por parte de bitdns minados que provienen del
trabajo extra (que desde luego, ralentizaría el trabajo de la red
principal de Bitcoin), ¿cuál sería el incentivo de un minero para incluir
287
EL LIBRO DE SATOSHI
El incentivo es obtener las recompensas por la cadena paralela, con el
mismo trabajo.
¿Mientras está generando bitcoins, por qué no obtener también de manera
gratuita unos nombres de dominio por el mismo trabajo?
usted tiene una pieza de trabajo. Si la resuelve, va a resolver un bloque
tanto en Bitcoin como en BitDNS. El concepto, es que las dos pruebas de
trabajo están atadas conjuntamente por un árbol de Merkle. Para
entregarlo a Bitcoin, rompe la rama de BitDNS, y para entregarlo a
BitDNS, se rompe la rama de Bitcoin.
En la práctica, para readaptarlo para Bitcoin, la parte de BitDNS tendría
que tener, quizás, unos 200 bytes extras, lo cual no es gran problema.
Está hablando de 50 dominios por bloque, lo que reduciría los 200 bytes
por bloque para poder ser compatible con las versiones anteriores.
Podríamos programar un bloque en un futuro lejano para que cuando
Bitcoin se actualice a una versión de estructura más moderna del árbol de
Merkle, si lo que de verdad importa, es ahorrarnos unos cuantos bytes.
Nótese que las cadenas están por debajo de este nuevo árbol de Merkle.
Esto es, cada Bitcoin y BitDNs tienen sus propios enlaces a la cadena
dentro de los bloques. Esto se invierte de la asignación del servidor de
marca de tiempo común, donde la cadena que está por encima del árbol
Merkle, porque se crea una cadena maestra común. Esto es, dos
asignaciones de marcas de tiempo que comparten una cadena.
288
SOBRE UN SERVIDOR DE NOMBRE DE DOMINIO DISTRIBUIDO
Bitcoin y BitDNS pueden usarse por separado. Los usuarios no tendrían por
qué descargarse ambas para poder usar una u otra. Es posible que los
usuarios de BitDNS no quieran descargar todo lo que las siguientes redes
no relacionadas decidan acumular.
Las redes necesitan tener destinos diferentes. Los usuarios de BitDNS
pueden ser libres de agregar cualquier característica de datos sin
importar el tamaño, dado que relativamente pocos nombres de dominios
registrados son necesarios, mientras que los usuarios de Bitcoin podrían
ser cada vez más tiranos a la hora de limitar el tamaño de los bloques de
la cadena, para que sea fácil de manejar para muchos usuarios y
pequeños dispositivos.
El miedo a comprar dominios de manera segura con Bitcoins es una
cuestión falsa. Es fácil intercambiar Bitcoin por otros productos no tan
repudiables.
Si aun sigues preocupado por esto, que sepas que es criptográficamente
posible hacer un intercambio sin riesgo. Las dos partes establecen
transacciones en las dos cadenas, de tal manera que cuando se firman las
transacciones, la parte que firme la segunda transacción activará la
liberación de ambas transacciones en las cadenas. La otra parte firmante
no puede liberar la transacción hasta que libere la otra, y viceversa.
Satoshi, ¿estas respaldando la idea de que cadenas de bloques
adicionales crearían su propio tipo de monedas, intercambiando estas
con bitcoins en las casas de cambio? ¿Las monedas de cadena
específica serían utilizadas para recompensar a los mineros de esas
cadenas, además de comprar una serie de derechos o privilegios sobre
un dominio de esa cadena?
289
EL LIBRO DE SATOSHI
cadenas de bloques adicionales crearían su propio tipo de monedas,
intercambiando estas con bitcoins en las casas de cambio? ¿Las
monedas de cadena específica serían utilizadas para recompensar a los
mineros de esas cadenas, además de comprar una serie de derechos o
privilegios sobre un dominio de esa cadena?
_____________________________________________________________
Cambio de nombre. Un dominio objeto podría dar derecho a un dominio,
pudiéndose cambiar el nombre a tu gusto, siempre y cuando que ya no
exista ese nombre. Esto incentivaría a los usuarios a liberar nombres que
ya no quieren. Los dominios generados empiezan en blanco, para que los
mineros puedan venderlos a la gente que quiere registrar lo que quieran.
290
SOBRE UN SERVIDOR DE NOMBRE DE DOMINIO DISTRIBUIDO
OK, entonces si va a haber bitdnscoins (aka DCCs, DomainChain Coins)
tienen que ser útiles para algo. Si no, los mineros de BitDNS van a
llenar cada bloque con sus propios nombres para el dominio, en vez de
reemplazarlos con los nombres de los otros usuarios a cambio de una
comisión de una transacción realizada en una moneda sin uso.
(Podríamos hacer como en Bitcoin y decidir que solo se creen un total
de 22 millones DCCs, por lo que su escasez haría que tuvieran valor,
como los bitcoins. Pero, eso parece débil.)
Estoy de acuerdo. Todas las transacciones, cambios de IP, renovaciones,
etc., tendrían que tener una comisión para los mineros.
Puedes considerar una cierta cantidad de trabajo para generar un
dominio, en vez de una cantidad fija en circulación. El trabajo por
dominio podría ir ligado al crecimiento de la Ley de Moore. De tal manera
que el número de dominios se podría crecer con la demanda, así como el
número de personas que lo utilizan.
291
EL LIBRO DE SATOSHI
Después de leer todo el hilo, tengo un par de comentarios que creo que
puedan ser útiles:
2) Limitar el TLDs debería ser un requisito. Si este sistema no
interopera con la actual infraestructura DNS, evitando colisiones en los
nombres, minará la confianza que se está tratando de generar. Aunque
no estoy muy seguro sobre si estoy listo para usar un sistema DNS
distribuido si alguien nuevo puede registrar www.mylocalbank.com y
causar estragos. Humildemente, sugiero .web como el TLD a usar, pero
292
SOBRE UN SERVIDOR DE NOMBRE DE DOMINIO DISTRIBUIDO
Ahora mismo el foco debería estar en sacar adelante la idea y llevarla
a cabo de tal manera que no genere conflicto con el sistema existente.
Si el sistema llega a ser dominante en algún momento y necesite
abordar TLDs adicionales, este es un “problema” que puede ser tratado
entonces.
1. Los registros de IP no necesitan estar en la cadena, solo tiene que
registrar la función no el DNS. Y ya tienes el problema de CA resuelto,
listo.
2. Escoge un TLD, .web +1
3. El vencimiento y los costos significativos son muy importantes
_______________________________________________________________
Sin embargo, si pienso más sobre el tema, ahora apoyo la inclusión de
coinbases adicionales / sistemas de rastreo sobre la red principal. La
293
EL LIBRO DE SATOSHI
razón para hacer esto no es para diluir el poder de CPU entre distintas
redes. Queremos una red fuerte, así que la red debería ser versátil.
_____________________________________________________________
Evitar la fragmentación del poder computacional CPU ya no es un
problema. Redes/cadenas independientes pueden compartir poder
computacional sin necesidad de compartir mucho más. Ver
http://bitcointalk.org/index.php?topic=1790.msg28696#msg28696 y
http://bitcointalk.org/index.php?topic=1790.msg28715#msg28715
_______________________________________________________________
(Nota, dos de los anteriores posts de Satoshi están incluidos en este hilo)
Bastante del debate actual sobre incluir BitDNS o BitX asume que los
mineros incluirán transacciones o no, basándose en algunas condiciones
muy finas, mientras que ninguna parte del código standard incluya
algún tipo de implementación que permita a los no programadores
poder tomar decisiones de ese calibre. ¿Cómo podría yo, usuario,
averiguar qué tipo de comisiones pueden ir en cada transacción?
294
SOBRE UN SERVIDOR DE NOMBRE DE DOMINIO DISTRIBUIDO
Esta no es incluida en los bloques durante un tiempo porque no
tiene una comisión.
Intencionadamente se escribe un doble gasto. Puede escribirlo con la
misma entrada y salida, pero esta vez incluyendo una comisión. Cuando
su doble gasto se incluye en el bloque, el primer gasto se vuelve inválido.
El pagador no se da cuenta, porque en el momento en que la nueva
transacción es válida, la vieja se vuelve inválida, simplemente la nueva
transacción ocupa su lugar.
Es más fácil decir que de implementar. Habría una cantidad importante
de trabajo para desarrollar la opción de que un cliente escriba
correctamente un doble gasto, manejando las dos versiones en la cartera
(wallet) hasta que se escoja una, manejando todas las cuestiones. Cada
suposición que existe en el código asume que no intentas hacer un doble
gasto.
Sería necesario hacer algunos cambios en la parte del minero de Bitcoin
también, para poder hacer posible un doble gasto dentro del pool de
transacciones, pero solo estrictamente si las entradas y salidas
concuerdan, y la comisión de la transacción es más alta. Actualmente, el
doble gasto no puede aceptarse en el pool de transacciones, por lo que
295
EL LIBRO DE SATOSHI
cada nodo es testigo de que transacción ha tenido lugar antes y han
trabajado sobre esta para incluirla en el bloque.
296
Artículo de PC World
67
sobre Bitcoin y WikiLeaks
Pateando el AVISPERO
Traducción por Alex Viñas Salles
http://www.pcworld.com/article/213230/could_wikileaks_scandal_lead_t
o_new_virtual_currency.html
297
EL LIBRO DE SATOSHI
Hubiera estado bien acaparar toda esta atención en otro contexto.
WikiLeaks ha dado una patada al avispero, y ahora el enjambre viene
hacia nosotros.
298
Último Post de Satoshi en
68
el Foro: Lanzamiento de
Bitcoin 0.3.19
Traducción por Alex Viñas Salles
Hay más trabajo que hacer en cuanto a la denegación de servicio, pero
estoy montando algo rápido de lo que tengo hasta ahora, por si acaso es
necesario, antes de aventurarnos en ideas más complejas. Esta versión es
la versión número 0.3.19.
299
EL LIBRO DE SATOSHI
mejora, pero aún así existen más formas de atacar que las que puedo
contar.
Dejo la parte de -limitfreerelay como un switch por ahora y ahí está en
caso de ser necesaria.
Las alertas sobre el “modo seguro” fueron una medida temporal después
del bug de desbordamiento de la versión 0.3.9. Podemos decir que solo
queremos que los usuarios puedan solo ejecutar con “-disablesafemode”,
pero es mejor no tenerlo por el mero hecho de las apariencias. Nunca fue
planeado como característica para el largo plazo. El modo seguro aún
puede ser activado al ver una cadena invalida más larga (mayor prueba de
trabajo total).
Versión
http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.3.19/
300
69
Correos Electrónicos
a Dustin Trammell
Traducción por Jose Luis Abia
301
EL LIBRO DE SATOSHI
http://www.publictimestamp.org/
_____________________________________________________________
Por cierto, actualmente también estoy ejecutando el código alfa en
una de mis estaciones de trabajo. Hasta el momento tiene dos
mensajes "Generados", sin embargo, el campo "Crédito" para ellos es
0.00 y el saldo no ha cambiado. ¿Se debe esto al requisito de
edad/madurez para que una moneda sea válida?
_____________________________________________________________
Correcto, el campo de crédito permanece a 0.00 hasta que madure,
entonces será 50.00. ¿Crees que sería más claro si dejara en blanco el
campo de crédito hasta que madure? Debo poner algo de texto en los
detalles de la transacción (cuando haces doble click en él) explicando
cómo funciona. (¿Era obvio que puedes hacer doble click en una línea
para obtener más información?)
Asegúrate de actualizar a v0.1.3 si aún no lo has hecho. Esta versión
realmente ha estabilizado las cosas.
Satoshi
_______________________________________________________________
302
CORREOS ELECTRÓNICOS A DUSTIN TRAMMELL
Email 2—Continuación
De: "Satoshi Nakamoto" satoshi@vistomail.com
________________________________________________________
Para: dtrammell@dustintrammell.com
Fecha: martes, 13 de enero 2009, 15:55:13 +0800
Asunto: Re: Bitcoin v0.1 lanzado
_______________________________________________________________
De hecho, publique los bloques de hash en un grupo de Google llamado
'proof-hashes', por lo que el resultado es similar si se publicara en
Usenet.
http://groups.google.com/group/proof-hashes
Hay algunos escenarios en los que un Usenet o grupo de Google podría
usarse como una defensa suplementaria. Bitcoin está en su punto más
vulnerable al principio, cuando la potencia total de CPU de la red es
pequeña. Eso se compensa con el hecho de que el incentivo para atacar
también es bajo cuando es pequeña.
303
EL LIBRO DE SATOSHI
Sabes, creo que había mucha más gente interesada en los 90´s, pero
después de más de una década de fallos en sistemas basados en la
Confianza de Terceras Partes (Digicash, etc.), lo ven como una causa
perdida. Espero que puedan distinguir, que esta es la primera vez que sé
que estamos intentándolo con un sistema que no está basado en la
confianza.
_______________________________________________________________
Al abrir la versión 0.1.3, las cuatro entradas de mi transacción aún
dicen 'sin confirmar', pero ahora las descripciones dicen 'Generado (no
aceptado)'.
¿Esto significa que algún otro nodo había extendido la cadena primero y
mis monedas se generaron en una rama muerta? Si es así, ¿por qué la
con anterioridad el software no detectó esto inmediatamente y
comenzó a generar monedas en la rama ganadora? ¿Error en 0.1.0?
_____________________________________________________________
El hilo de comunicaciones se bloquearía, por lo que deberías conectar,
pero se silenciará al cabo de un rato. Cuando encuentres un bloque, no
podrás transmitirlo a la red, por lo que no entraría en la cadena. No
estarías recibiendo nada para saber que la red continuaba sin ti, hasta
que la reiniciaras.
Este error también es lo que causó que bitcoin.exe fallara al cerrarse. El
hilo de comunicaciones se bloqueaba y no podías salir. Bitcoin realiza un
apagado cuidadoso en caso de que se encuentre en medio de una
transacción importante, pero actualmente es completamente seguro
matarlo.
304
CORREOS ELECTRÓNICOS A DUSTIN TRAMMELL
monedas.
Si cada nodo funciona independientemente de todos los demás, si uno
es significativamente más potente que los demás, ¿no es probable que
este nodo llegue a la solución correcta antes que otros nodos? Un nodo
con poca potencia puede tener suerte de vez en cuando, pero si tienen
una ventaja de potencia significativa, yo esperaría que la mayoría de
los BitCoins sean generados por el nodo más potente?
_____________________________________________________________
No es como una carrera en la que si un automóvil es el doble de rápido,
siempre gana. Un SHA-256 que tarda menos de un microsegundo, y cada
invitado tiene una posibilidad independiente de éxito. La probabilidad de
que cada computadora encuentre una colisión de hash es linealmente
proporcional a su potencia de CPU. Una computadora que es la mitad de
rápida obtendría la mitad de monedas.
_______________________________________________________________
Hazme saber cómo va. Si tienes algún problema con ello, envíame tu
archivo debug.log. A menudo puedo descubrir qué salió mal solo con eso.
Satoshi
_______________________________________________________________
305
EL LIBRO DE SATOSHI
¿Te importa si pongo en CC el resto de esto a la lista bitcoin o a la de
criptografía? Por cierto, la lista bitcoin es:
bitcoin-list@lists.sourceforge.net
página de suscripción/darse de baja:
http://lists.sourceforge.net/mailman/listinfo/bitcoin-list
Archivos:
http://sourceforge.net/mailarchive/forum.php?forum_ name=bitcoin-list.
_______________________________________________________________
Sabes, creo que había mucha más gente interesada en los 90´s, pero
después de más de una década de fallos en sistemas basados en la
Confianza de una Tercera Parte (Digicash, etc.), lo ven como una
causa perdida. Espero que puedan distinguir, que esta es la primera
vez que sé que estamos intentándolo con un sistema basado en la no
confianza.
___________________________________________________________
Sí, esa fue la característica principal que me llamó la atención. El
verdadero truco será hacer que la gente realmente valore los BitCoins
para que se conviertan en moneda.
_____________________________________________________________
306
CORREOS ELECTRÓNICOS A DUSTIN TRAMMELL
Hal aludió de alguna manera la posibilidad de que se pudiera ver como
una inversión a largo plazo. Me sorprendería que dentro de 10 años no
utilicemos la moneda electrónica de alguna manera, ahora que sabemos
una forma de hacerlo que inevitablemente no se va a atascar cuando el
TTP se enfríe.
Incluso si no despega de inmediato, ahora está disponible para uso de
cualquier persona que venga con un plan que necesita algún tipo de token
o moneda electrónica. Podría comenzar en un sistema cerrado o un nicho
pequeño como puntos de recompensa, donación de fichas, moneda para
un juego o micropagos para sitios de adultos. Una vez que se pone en
marcha, hay tantas aplicaciones por las que podrías pagar sin mucho
esfuerzo unos centavos a un sitio web tan fácil como echar monedas en
una máquina expendedora.
Satoshi.
_______________________________________________________________
307
EL LIBRO DE SATOSHI
Tipo 1 te expone a personas de tu casa o empresa en tu LAN local, a los
administradores de los ISP intermedios, y a la LAN en el lado del
destinatario. El tipo 2 te expone a mil millones de personas que pueden
elegir ser atacantes y obtener una economía de escala cuando desarrollan
una técnica para atacar a múltiples víctimas.
Enviar una nueva clave pública, por solicitud de IP, por lo que sí, se es
vulnerable al tipo 1 “hombre en el medio”. Si eso es una preocupación,
enviar a una dirección de Bitcoin no tiene esa vulnerabilidad, aunque hay
una pequeña elección en relación a la privacidad. Tengo la sensación de
que la mayoría de las personas recibirán direcciones de Bitcoin de sitios
web que no son SSL y correos electrónicos sin firmar, que ya son
vulnerables a los tipos 1 y 2 a través de DNS tóxicas.
Una solución sería usar las direcciones IP y Bitcoin en el envío (tal vez
1.2.3.4-1Kn8iojk...), donde el destinatario use la clave pública de la
dirección Bitcoin para firmar la nueva clave pública y probar que estás
enviando a quién crees que eres. Si el sistema comienza a utilizarse con
fines comerciales reales, ciertamente lo implementare. Otra solución es
usar SSL.
Por ahora, es bastante obvio que si envías algo a una IP, no das ninguna
otra información de identificación sobre el destinatario, por lo que estás
enviando a ciegas a quien responda esa IP.
Otra característica para más adelante es una opción para encriptar tu
308
CORREOS ELECTRÓNICOS A DUSTIN TRAMMELL
billetera.
Sí entiendo cómo se hace eso correctamente, simplemente calculas la
transacción dentro de la cadena de bloques y dejas que el supuesto
destinatario la 'descubra', ¿correcto?.
_____________________________________________________________
Eso es correcto.
_______________________________________________________________
Una alternativa podría ser permitir que los nodos de la red
proporcionen un servicio de resolución, donde preguntan por la
dirección de red de una dirección de BitCoin, y si ese nodo está
conectado, y una vez que la red acuerda por consenso sobre dicha
dirección, la aplicación de envío de BitCoin se conecta directamente
allí.
_____________________________________________________________
Sería bueno solo necesitar la dirección de Bitcoin y tener la IP resuelta
antes de salir a escena. Podría tener problemas de privacidad o
denegación de servicio. Ciertamente antes de que otro método de envío
sea implementado, ahora hay mucho tiempo para pensar detenidamente
en el diseño y asegurarse de que sea de la mejor manera.
Satoshi
_______________________________________________________________
309
EL LIBRO DE SATOSHI
que supongo que está almacenado en el registro y en otros lugares (aún
no he descifrado el ProcessExplorer para verificarlo), por lo que puede
ser una buena idea el que la aplicación pueda exportar todo lo que
necesita para la recuperación a un archivo del que se podría hacer una
copia de seguridad fuera del sistema.
_____________________________________________________________
Otra cosa que noté hoy es que si cierras la aplicación, parece que no
cierra limpiamente los conectores de red (los TCP RST comienzan a
volar). Probablemente es un elemento de baja prioridad para la lista
de tareas a realizar (:
_____________________________________________________________
Satoshi
_______________________________________________________________
310
CORREOS ELECTRÓNICOS A DUSTIN TRAMMELL
Hola Satoshi,
Después de esa primera transferencia de 25.00, no me enviaste otros
100.00 ¿verdad? Me envié 100.00 desde mi aplicación BitCoin en el
trabajo a la de mi casa utilizando la dirección de BitCoin en lugar de la
de IP. Mi aplicación en casa recibió una transferencia de 100.00, sin
embargo, los detalles de la transacción dicen:
Esa no es mi dirección BitCoin del trabajo, así que supongo que esto
significa que recibí el pago codificado con un bloque que fue
computado por tu cliente. De ser así, ¿cómo sabía tu nombre además
de la dirección de BitCoin que lo generó? No recuerdo que haya un
lugar en mi formulario de solicitud para poner siquiera mi nombre.
--
Dustin D. Trammell
dtrammell@dustintrammell.com
http://www.dustintrammell.com
_____________________________________________________________
311
70
Última
Correspondencia
Privada
Traducción por Jose Luis Abia
Desearía que no siguieras hablando de mí como una figura misteriosa en la
sombra, la prensa simplemente lo trata como una especie de moneda
pirata. En cambio, podrías incidir más en la idea de que es un proyecto de
código abierto y dar más énfasis a las contribuciones de tus
312
EL LIBRO DE SATOSHI
Mayor énfasis para el resto de los colaboradores es una muy buena
idea.
Me han contactado por http://www.iqt.org/, - que es una empresa de
"inversión estratégica" financiada por el gobierno de EE. UU., y parte
de lo que hacen es realizar una conferencia anual sobre tecnologías
emergentes para las agencias de inteligencia de EE. UU. Este año, el
tema es "Movilidad del dinero".
Espero que hablando directamente con "ellos" y, lo que es más
importante, escuchar sus preguntas/inquietudes, piensen en Bitcoin de
la forma en que yo lo hago, simplemente como algo mejor, más
eficiente, dinero menos sujeto a caprichos políticos. No como una
poderosa herramienta del mercado negro que será utilizada por los
anarquistas para derrocar Al Sistema.
Puede ser realmente estúpido si solo aumenta la visibilidad de Bitcoin
en su radar, pero creo que es demasiado tarde para eso; Bitcoin ya está
en su radar.
Planeo publicar esto en los foros pronto, porque "Gavin visita
secretamente a la CIA" daría lugar a todo tipo de teorías de la
conspiración. "Gavin visita abiertamente a la CIA" creará suficientes
teorías de la conspiración tal y como están las cosas.
313
71
Bitcoin y Yo
(Hal Finney)
Traducción por Jose Luis Abia
Pensé que escribiría sobre los últimos cuatro años, un momento
memorable para Bitcoin y para mí.
Para aquellos que no me conocen, soy Hal Finney. Me inicié en la
criptografía trabajando en una versión anterior de PGP, en estrecha
colaboración con Phil Zimmermann. Cuando Phil decidió comenzar PGP
Corporation, yo fui uno de los primeros empleados. Hubiera trabajado
en PGP hasta mi jubilación. Al mismo tiempo, me involucré con los
Cypherpunks. Lideré, entre otras actividades, el primer remailer
anónimo basado en criptografía.
314
EL LIBRO DE SATOSHI
Avanzado rápido hasta finales del 2008 y el anuncio de Bitcoin. Me he
dado cuenta de que los criptógrafos que peinan canas (que ya contaba
con más de 50 años) tienden a volverse cínicos. Yo era más idealista;
siempre me ha apasionado la criptografía, el misterio y la paradoja de
todo esto.
Cuando Satoshi anunció Bitcoin en la lista de correo de Criptografía,
obtuvo una respuesta más bien fría en el mejor de los casos. Los
criptógrafos han visto demasiados novatos con grandes planes para ser,
en realidad, totalmente absurdos, de modo que reaccionan
instintivamente.
Yo fui más positivo. Hace tiempo que he estado interesado en los
sistemas de pago criptográfico. Además, tuve la suerte de conocer y
mantener amplia correspondencia tanto con Wei Dai y con Nick Szabo,
ambos reconocidos por haber ideado esquemas que más tarde se
materializaron con Bitcoin. Yo mismo había intentado crear mi propia
criptomoneda basada en la prueba de trabajo, llamada RPOW
(Reusable Proof-of-Work, Prueba de Trabajo Reutilizable en español).
Así que Bitcoin me pareció algo fascinante.
Cuando Satoshi anunció el lanzamiento de la primera versión del
software, lo descargue de inmediato. Creo que fui la primera persona,
después de Satoshi en ejecutar Bitcoin. Miné el bloque 70 y algo, y fui
el primer destinatario de una transacción de bitcoin, cuando Satoshi
me envió diez monedas como prueba. Durante los siguientes días
mantuve con Satoshi conversaciones por correo electrónico y le reporté
varios fallos que acabó solucionando.
Hoy en día, la verdadera identidad de Satoshi se ha convertido en un
misterio. Pero en ese momento, yo pensaba que estaba tratando con
un joven de ascendencia japonesa, extraordinariamente inteligente y
sincero. He tenido la suerte de conocer a muchas personas brillantes a
lo largo de mi vida, así que reconozco los signos.
Después de unos días, Bitcoin ya funcionaba muy estable, así que lo
dejé correr. Eran los días en que la dificultad era de 1, y se podían
encontrar bloques fácilmente con una CPU, no hacía falta ni una GPU.
Miné varios bloques en el transcurso de los siguientes días, pero
finalmente decidí apagarlo, porque mi ordenador se recalentaba y el
ruido constante del ventilador me resultaba molesto. En retrospectiva,
me gustaría haberlo mantenido encendido más tiempo, pero por otro
315
BITCOIN Y YO (HAL FINNEY)
Mi cuerpo comenzó a fallar. Arrastraba mi forma de hablar, perdía
fuerza en mis manos, y mis piernas tardaron en recuperarse de lo
esfuerzos. En agosto de 2009, me diagnosticaron Esclerosis Lateral
Amiotrófica (ELA), también llamada la enfermedad de Lou Gehrig, por
el famoso jugador de béisbol que la padeció.
La ELA es una enfermedad que mata a las neuronas motoras, que
conducen las señales desde cerebro a los músculos. Inicialmente se
manifiesta como debilidad y luego aumenta gradualmente hacia la
parálisis. Por lo general es mortal en 2 a 5 años. Mis síntomas eran
leves al principio y pude seguir trabajando, pero la fatiga y la
imposibilidad de hablar me obligaron a retirarme a principios del 2011.
Desde entonces, la enfermedad ha continuado su inexorable
progresión.
316
EL LIBRO DE SATOSHI
Ha sido un gran cambio, pero mi vida no es tan mala. Todavía puedo
leer, escuchar música y ver televisión y películas. Recientemente
descubrí que incluso puedo escribir código. Soy muy lento,
probablemente 50 veces más lento que antes. Pero todavía sigo
amando la programación y me pongo metas. Actualmente estoy
trabajando en algo que Mike Hearn sugirió, utilizando las
características de seguridad de los procesadores modernos, diseñado
para admitir "Trusted Computing” (Computación de la Verdad), para
fortalecer las billeteras de Bitcoin. El producto está casi listo para
lanzarlo. Solo tengo que hacer la documentación.
Y por supuesto, los giros de los precios de los bitcoins me resultan
divertidos. Al fin y al cabo, tengo ahorros en el juego aunque mis
bitcoins son más producto de la suerte que de mérito personal, con
poco valor para mí. He vivido el crash de 2011. Lo he visto antes. Lo
que fácil viene, fácil se va.
Esa es mi historia. Me considero un afortunado. A pesar de la ELA, mi
vida es muy satisfactoria. Pero mi esperanza de vida es limitada. Las
discusiones que he leído sobre cómo dejar en herencia tus bitcoins
adquiere un interés más personal que académico para mí. Mis bitcoins
se almacenan en nuestra caja de seguridad, y mi hijo e hija son
conocedores de la tecnología. Creo que están lo suficientemente
seguros. Me siento cómodo con mi legado.
Hal Finney ♰
_____________________________________________________________
♰ (Hal Finney falleció el 28 de agosto del 2014, a causa de la ELA - Nota
del traductor)
317
72
Conclusión
Traducción por Jose Luis Abia
318
EL LIBRO DE SATOSHI
mundo electrónico.3 Por eso, en esencia, se puede argumentar que los metales
preciosos y Bitcoin se complementan muy bien.
3
Hasta ahora, transportar bitcoins en el mundo físico implica algún tipo de artefacto, como una
billetera de papel con la dirección de Bitcoin y una clave privada inscrita en ella. O,
alternativamente, requiere cierta confianza en un tercero, por ejemplo, el fabricante de una
moneda física con una clave privada secreta de Bitcoin junto con una dirección visible de
Bitcoin.
319
CONCLUSIÓN
¡Gracias!
320
“Bitcoin: Un Sistema de Dinero Electrónico
Peer-to-Peer” por Satoshi Nakamoto
Traducción por Jose Luis Abia
321
EL LIBRO DE SATOSHI
1. Introducción
El comercio en Internet ha llegado a depender casi exclusivamente de las
instituciones financieras, las cuales sirven como terceros de confianza, para
procesar los pagos electrónicos. Mientras que el sistema funciona
suficientemente bien para la mayoría de las transacciones, aún sufre de las
debilidades inherentes del modelo basado en confianza. Transacciones
completamente irreversibles no son realmente posibles, debido a que las
instituciones financieras deben mediar para resolver disputas. El costo de la
mediación incrementa los costos de transacción, limitando el tamaño mínimo
práctico por transacción y eliminando la posibilidad de realizar pequeñas
transacciones casuales, y hay un costo más amplio en la incapacidad de hacer
pagos no reversibles por servicios no reversibles. Con la posibilidad de revertir,
la necesidad de confianza se expande. Los comerciantes deben tener cuidado
de sus clientes, molestándoles por más información de la que ellos en otro caso
necesitarían. Un cierto porcentaje de fraude se acepta como inevitable. Estos
costos e incertidumbres en los pagos pueden ser evitados si la persona utiliza
dinero físico, pero no existe un mecanismo para hacer pagos por un canal de
comunicación sin un tercero confiable.
2. Transacciones
Definimos una moneda electrónica como una cadena de firmas digitales.
322
CONCLUSIÓN
323
EL LIBRO DE SATOSHI
4. Prueba de Trabajo
Para implementar un servidor de marca de tiempo distribuido en un
esquema peer-to-peer (P2P), necesitaremos utilizar un sistema de prueba de
324
CONCLUSIÓN
trabajo similar al Hashcash de Adam Back [6], en vez de usar una publicación
en un periódico o en Usenet. La prueba de trabajo implica la búsqueda de un
valor, tal que, al calcular un hash, como SHA-256, éste empiece con un número
determinado de bits con valor cero. El trabajo promedio requerido será
exponencial al número de bits requeridos con valor cero, y que puede ser
verificado ejecutando un solo hash.
325
EL LIBRO DE SATOSHI
5. La Red
Los pasos para el ejecutar la red son los siguientes:
326
CONCLUSIÓN
6. Incentivo
Por convención, la primera transacción en el bloque es una transacción
especial que genera una nueva moneda cuyo dueño es el creador del bloque.
Esto agrega un incentivo para que los nodos apoyen a la red, y provee una
forma inicial de distribuir y poner en circulación las monedas, dado que no hay
una autoridad central para crearlas. Esta adición estable de una cantidad
constante de monedas nuevas es análoga a los mineros de oro que gastan
recursos para ponerlo en circulación. En nuestro caso, los recursos son el
tiempo de CPU y la electricidad que se gastan.
327
EL LIBRO DE SATOSHI
328
CONCLUSIÓN
Hay que tener en cuenta que este sistema se abre el abanico, de modo que
una transacción puede depender de varias transacciones, y estas a su vez
depender de muchas más, lo que no es ningún problema. Nunca existe la
necesidad de extraer una copia completa única de la historia de las
transacciones.
329
EL LIBRO DE SATOSHI
10. Privacidad
El modelo bancario tradicional, logra su nivel de privacidad, al limitar el
acceso a la información a las partes involucradas y al tercero de confianza. La
necesidad de anunciar todas las transacciones públicamente se opone a este
método, pero la privacidad aún puede mantenerse rompiendo el flujo de
información en otro lugar: manteniendo las claves públicas anónimas.
Públicamente puede verse que alguien está enviando una cierta cantidad a otra
persona, pero sin información que relacione la transacción con nadie en
particular. Esto es similar al nivel de información que se muestra en las bolsas
de valores, donde el tiempo y el tamaño de las transacciones individuales, la
“cinta”, son públicos, pero sin decir quiénes son las partes.
330
CONCLUSIÓN
11. Cálculos
Consideramos el escenario en el que un atacante intenta generar una
cadena alterna más rápida que la cadena honesta. Aún si esto se lograse, no
abriría el sistema a cambios arbitrarios, tales como crear valor de la nada o
apropiarse del dinero que no pertenecen al atacante. Los nodos no aceptarían
una transacción inválida como pago, y los nodos honestos nunca aceptarán un
bloque que las contenga. Un atacante puede únicamente intentar cambiar solo
sus propias transacciones para recuperar el dinero que ha gastado
recientemente.
331
EL LIBRO DE SATOSHI
332
CONCLUSIÓN
Convertimos a código C…
#include <math.h>
double AttackerSuccessProbability(double q, int
z)
{
double p = 1.0 - q;
double lambda = z * (q / p);
double sum = 1.0;
int i, k;
for (k = 0; k <= z; k++)
{
double poisson = exp(-lambda);
for (i = 1; i <= k; i++)
poisson *= lambda / i;
sum -= poisson * (1 - pow(q / p, z - k));
}
return sum;
}
333
EL LIBRO DE SATOSHI
q=0.1
z=0 P=1.0000000
z=1 P=0.2045873
z=2 P=0.0509779
z=3 P=0.0131722
z=4 P=0.0034552
z=5 P=0.0009137
z=6 P=0.0002428
z=7 P=0.0000647
z=8 P=0.0000173
z=9 P=0.0000046
z=10 P=0.0000012
q=0.3
z=0 P=1.0000000
z=5 P=0.1773523
z=10 P=0.0416605
z=15 P=0.0101008
z=20 P=0.0024804
z=25 P=0.0006132
z=30 P=0.0001522
z=35 P=0.0000379
z=40 P=0.0000095
z=45 P=0.0000024
z=50 P=0.0000006
P > 0.001
q=0.10 z=5
q=0.15 z=8
q=0.20 z=11
q=0.30 z=24
q=0.35 z=41
q=0.40 z=89
q=0.45 z=340
334
CONCLUSIÓN
12. Conclusión
Hemos propuesto un sistema de transacciones electrónicas que no
depende de la confianza. Comenzamos con la descripción de la infraestructura
habitual en la que funcionan las monedas compuestas por firmas digitales, el
cual provee un fuerte control sobre la propiedad, pero queda incompleto si no
existe un método para evitar el gasto doble. Para solucionarlo, proponemos una
red peer-to-peer (P2P) que utiliza la prueba de trabajo para registrar una
historia pública de transacciones que, rápidamente llega a ser
computacionalmente irresoluble para un atacante que quiera cambiarla, si los
nodos honestos controlan la mayoría de poder de CPU. La red es robusta por su
simplicidad no estructurada. Los nodos pueden trabajar todos al mismo tiempo
con poca coordinación. No necesitan ser identificados, dado que los mensajes
no son enrutados a ningún lugar en particular, y solo necesitan ser entregados
sobre la base de un esfuerzo colectivo. Los nodos pueden dejar y volver a la
red a voluntad, aceptando la cadena de prueba de trabajo como prueba de lo
sucedido mientras estuvieron ausentes. Votan con su poder de CPU, expresando
su aceptación de los bloques válidos, trabajando en extender la red y
rechazando bloques inválidos al rechazar trabajar en ellos. Cualquier regla
necesaria o incentivos pueden hacerse cumplir con este mecanismo de
consenso.
Referencias
1. W. Dai, “b-money,” http://www.weidai.com/bmoney.txt, 1998.
335
EL LIBRO DE SATOSHI
336
Términos & DeFiniciones
Traducción por Arturo Monzón
337
EL LIBRO DE SATOSHI
10. Dirección Bitcoin (Bitcoin Address) - Una larga serie de dígitos a los que
la cadena de bloques asociará los bitcoins. Es la salida del hash de la clave
pública. Cualquier bitcoin que lo contiene sólo puede ser transferido a otra
dirección de Bitcoin por la persona que posee su clave privada
correspondiente.
338
TERMINOS & DEFINICIONES
18. Nonce – (Viene de “Number used only once” – Número usado solo una
vez - nota del traductor) Número dentro de un bloque que un minero
incrementa hasta que él u otro minero obtiene el resumen del mensaje con
las características requeridas por el protocolo Bitcoin para constituir un
"ganador" de ese bloque.
339
EL LIBRO DE SATOSHI
340
Índice
A Colisión, 54, 77, 131, 132, 141, 173,
175, 177, 178, 179, 183, 184,
Ataque de denegación de servicio, 187, 304
190, 298 Contabilidad, 13, 19, 22, 23, 34,
Atesorar, 39, 117 36, 141, 317, 318, 337
Criptografía de curva elíptica, 16,
80, 122, 336, 337
B
D
Bitcoin Magazine, 170
BitTorrent, 44, 193,
Deflación, 39, 51, 117, 118, 128,
Bloque génesis, 13, 336 129, 256, 258
Bloques huérfanos, 32, 53, 58, Dirección (de) Bitcoin, 20, 21, 22,
23, 28, 87, 109, 110, 113, 116,
C 122, 131, 132, 133, 145, 149,
170, 172, 173, 174, 177, 178,
179, 180, 194, 197, 227, 237,
Cadena de bloque, 16, 19, 20, 22, 23,
242, 243, 269, 307, 308, 309,
24, 25, 28, 29, 30, 31, 32, 33, 34,
310, 318, 337
35, 36, 43, 53, 54, 56, 58, 66, 68,
80, 101, 103, 106, 123, 142, 153, DNS, 195, 196, 284, 285, 286,
154, 157, 160, 161, 170, 185, 209, 291, 292, 307,
219, 223, 236, 240, 267, 269, 284, Doble gasto, 41, 42, 44, 46, 53, 55,
285, 307, 331, 336, 337 65, 66, 74, 75, 76, 79, 81, 82,
Clave privada, 21, 22, 132, 141, 142, 86, 95, 96, 154, 155, 157, 163,
170, 172, 173, 175, 176, 177, 178, 225, 228, 294, 320, 321, 322,
179, 181, 184, 209, 210, 237, 242, Dorian Satoshi Nakamoto, 16, 299
243, 248, 318, 337,
Clave pública, 20, 21, 22, 75, 80, 87, E
95, 132, 145, 170, 171, 172, 173,
174, 175, 176, 177, 178, 179, 180,
181, 237, 238, 240, 242, 243, 307, EDCSA, 122
322, 331, 337, Encriptación asimétrica, 20, 21,
Código fuente, 11, 13, 34, 74, 85, 86, 122, 337
87, 114, 171, 188, 214, 246 E-gold, 48, 93
Código QR, 133, 134 Ethereum, 16
341
EL LIBRO DE SATOSHI
F M
Función hash, 25, 27, 28, 103, Marca de tiempo, 56, 95, 287, 321,
141, 142, 143, 172, 174, 176, 323, 324,
178, 337, Medio de cambio, 254, 255, 319,
Metales preciosos, 38, 99, 318,
G Minero (s), 19, 20, 22, 23, 24, 25,
26, 27, 28, 29, 31, 32, 33, 35,
Gasto deficitario, 39, 50, 51, 97 46, 47, 53, 54, 58, 60, 63, 65,
General(es) Bizantino(s), 15, 68, 71, 74, 79, 101, 106, 112, 124,
69, 128, 244, 245, 248, 260, 267,
273, 275, 276, 277, 278, 279,
Grifo Bitcoin, 148, 149, 194, 285, 286, 288, 289, 290, 293,
294, 326, 336, 338,
H Monedero, 19, 22, 33, 43, 114,
160, 315, 338
Hash, 27, 28, 29, 30, 31, 34, 54, 61, 65,
70, 71, 76, 87, 103, 104, 123, 131, N
141, 142, 143, 144, 152, 170, 171,
172, 173, 174, 175, 176, 177, 178,
179, 181, 182, 184, 185, 187, 191, Namecoin, 34, 284,
219, 220, 221, 222, 224, 225, 226, Napster, 48, 49
227, 228, 229, 230, 231, 234, 236, Número hexadecimal, 25, 27, 30,
239, 240, 241, 243, 268, 275, 276, 31, 125, 339
277, 278, 300, 301, 304, 320, 323,
324, 325, 326, 335, 337, 338 O
Hashcash, 41, 47, 54, 77
Hermanos Hunt, 158, 159, Oro electrónico digital, 93
I P
Prueba de trabajo, 25, 28, 29, 30, SHA-256, 28, 29, 30, 31, 76, 125,
38, 41, 42, 44, 46, 51, 53, 54, 141, 142, 174, 176, 179, 180,
56, 58, 59, 60, 61, 64, 65, 67, 185, 304, 324
69, 70, 71, 74, 75, 76, 77, 87,
90, 92, 93, 100, 101, 107, 108, T
124, 125, 215, 276, 299, 302,
306, 314, 320, 323, 324, 325,
327, 333, 334, 338 Tolerancia de falla Bizantina, 68,
69
R Tragedia de los comunes, 18, 24
343
Colaboradores
Coordinadores Traductores
Arturo Monzón
@monzon_arturo
linkedin.com/in/arturomonzon
Alex Preukschat
@AlexPreukschat
344
EL LIBRO DE SATOSHI
345
COLABORADORES
Colaboradores traductores
346
EL LIBRO DE SATOSHI
348
EL LIBRO DE SATOSHI
Ingeniero de Telecomunicaciones de la
"Escuela Técnica Superior de Ingenieros de
Telecomunicaciones" (E.T.S.I.T.), Universidad
Politécnica de Madrid. Freelance con más de
30 años de experiencia en la gestión de
programas de tecnologías avanzadas en las
áreas de telecomunicaciones, electrónica
profesional, comunicaciones por satélite y de
defensa. Certificaciones en estándares ISO
9001, ISO 27000 e implementación DoDI
8500 (MAC 1, 2 y 3). Apasionado por las nuevas tecnologías y el futuro de la
humanidad. Fundador de comunidades abiertas: HackMadrid%27, BlockMad,
TechBusiness3.0, una activa colaboración en comunidades de Blockchain,
Programación Funcional, Haskell, Rust y Computación Cuántica. Cofundador
de Epsilon Hack Services & Training.
349
COLABORADORES
350
Uno de los valores más transcendentes del Bitcoin es que nos hace
reflexionar y repensar como funcionan los fundamentos de nuestra
sociedad. Que mejor que hacerlo a través de un libro que fue construido
colectiva y descentralizadamente desafiando los esquemas editoriales
tradicionales.
Rodolfo Andragnes y Diego Gutiérrez Zaldívar (CEO y Co-fundador de RSK Labs)
- Co-fundadores de ONGs Bitcoin Argentina e Iberoamérica
ADRIÁN
ARTURO ALEX IÑIGO MOLERO BERNABÉU
MONZÓN PREUKSCHAT MANGLANO ESCUDERO
BEATRIZ
ALEX LIZARRAGA ENRIQUE IVÁN
VIÑAS SALLES MARIEZCURRENA PALACIOS ROJO DURÁN FABEIRO
ROBERTO
JOSE ANTONIO JOSE LUIS JOSE MANUEL FERNÁNDEZ
BRAVO MATEU ABIA ELVIRA ARENILLAS HERGUETA