Sei sulla pagina 1di 10

Conferencia Internacional IEEE de 13 de Computacin Peer-to-Peer

Informacin de propagacin en la red Bitcoin

Christian Decker, * Roger Wattenhofert

*
ETH Zurich, Suiza cdecker@tik.ee.ethz.ch

tMicrosoft Investigacin wattenhofer@microsoft.com

Resumen-Bitcoin es una moneda digital que a diferencia de las monedas tradicionales no depende de una tiene que llegar a un consenso sobre los saldos de las cuentas hace un seguimiento de
autoridad centralizada. En lugar de monedas de bits se basa en una red de voluntarios que implementan las transacciones y que son vlidos. Bitcoin logra este objetivo con garantas que se
colectivamente un libro de contabilidad replicado y verificar las transacciones. En este trabajo se analiza cmo Bitcoin
describe mejor como la coherencia de eventos: las diversas rplicas pueden ser
utiliza una transmisin de mltiples saltos para propagar las transacciones y los bloques a travs de la red para
temporalmente inconsis tienda, pero con el tiempo se sincroniza para reflejar un historial
actualizar las rplicas del libro mayor. A continuacin, utilizamos la informacin recopilada para verificar la conjetura de

que el retardo de propagacin en la red es la causa principal de horquillas blockchain. Blockchain horquillas deben de transacciones comn.
evitarse ya que son sintomticos de inconsistencias entre las rplicas en la red. A continuacin, muestran lo que puede

lograrse presionando el protocolo actual a su lmite con la modificacin unilateral de la conducta del cliente. A medida que las transacciones se validan con los estados de las rplicas, cualquier
inconsistencia introduce incertidumbre sobre la validez de una determinada transaccin.
Por otra parte, una inconsistencia puede jeopar Dize la seguridad del propio consenso.
Esto puede facilitar un atacante que intenta reescribir la historia de la transaccin.

En este trabajo analizamos Bitcoin de una perspec tiva de redes, es decir, cmo se
I. INTRODUCCIN difunde o se propagan en la red Bitcoin informacin, identificamos los puntos dbiles

Bitcoin es la primera tem sys moneda global verdaderamente descentralizado. Al igual clave, as como los problemas sulting re. En particular, se analiza el mecanismo de

que cualquier otra moneda, su principal objetivo es facilitar el intercambio de bienes y sincronizacin que falla para sincronizar la informacin almacenada en el libro mayor con

servicios, ofreciendo una buena comnmente aceptada. A diferencia de las monedas una probabilidad no despreciable. Este problema no slo provoca una inconsistencia

tradicionales Sin embargo, no es emitida por un estado o incluso una sola autoridad. prolongado que pasa desapercibido por un gran nmero de nodos, pero tambin debilita
las defensas del sistema contra los atacantes. entonces Proponemos algunos cambios

Desde su creacin a finales de 2008, Bitcoin ha disfrutado de un rpido crecimiento, en el protocolo actual que, aunque no una solucin a los problemas intrnsecos del

tanto en valor como en el nmero de transacciones. Su xito se debe principalmente al uso modelo de comunicacin utilizado por Bitcoin, puede mitigarlos.

innovador de una red peer-to-peer para poner en prctica todos los aspectos del ciclo de
vida de un monedas, desde su creacin hasta su transferencia entre los usuarios. Esta es la
funda mentales diferencia de investigaciones anteriores, que se concentr en los sistemas
que se basan ya sea en un emisor centralizado [5] la construccin, [16],
II. BITCOlN

En esta seccin se da una visin general sobre Bitcoin, aadiendo los detalles que
[18] o la creacin de crdito inter-usuario [9]. Estos sistemas requeran que los
sern necesarios ms adelante en este documento. Dependiendo del contexto, el
usuarios confan en el emisor original, que todava se utiliza para transacciones finalmente
nombre de Bitcoin puede referirse a cualquiera de las siguientes tres partes del
claros.
ecosistema Bitcoin:
Bitcoin menudo ha sido comparado con dinero en efectivo, las transacciones son casi
instantnea y no es reembolsable. Sin embargo Bitcoin va ms all del alcance de dinero en
Bitcoin, el sistema: el protocolo abstracto primero introducido por Nakamoto en la

efectivo, lo que permite transacciones verdaderamente globales, procesados en la misma publicacin original [14];

velocidad que las locales. Ofrece un historial de transacciones pblica e introduce muchos usos bitcoins o BTC, la unidad monetaria;

nuevos e innovadores, tales como propiedades inteligentes, micropagos, contratos y operaciones bitcoind, la implementacin de referencia. Escrito por
de depsito en garanta para mediation.i controversia Nakamoto como un concepto de prueba de implementacin,
bitcoind sigue siendo el cliente Bitcoin ms utilizado. En este trabajo nos
centramos en el sistema y su protocolo, en particular, sobre cmo la informacin se
Bitcoin est creciendo lentamente a convertirse en un posible carcter subsidiario con
el dlar estadounidense o el euro a medida que ms y ms empresas comienzan bitcoins difunde en la red. En Bitcoin se difunden dos tipos distintos de informacin:

aceptar para sus productos y servicios. El hecho de que Bitcoin es todava alrededor
indica que los principios subyacentes son slidos. Sin embargo, hay un cierto margen de actas y bloques. Las transacciones son las primitivas que permiten la transferencia de

mejora. valor, mientras que los bloques se utilizan para syn estado chronize en todos los nodos
en la red.

El principal problema Bitcoin propone resolver es el seguimiento distribuido y A diferencia de las monedas tradicionales, como el dlar estadounidense o el euro,

validacin de transacciones. Para esto, la red Bitcoin no depende de una autoridad centralizada para controlar el suministro, la
distribucin y la verificacin de la validez de las transacciones. Bitcoin se basa en una red
yo Ver https: llen.bitcoin.itlwikilContracts de voluntarios, a

978-1-4799-0521-8 / 13 / $ 31.00 2013 IEEE


Conferencia Internacional IEEE de 13 de Computacin Peer-to-Peer

F4184F transaccin transaccin EA44E9


Un nodo puede recibir una transaccin que transfiere las monedas de una cuenta,
transaccin 0437CD7
BTC. firmar (lQ2TW)
(F4184F: O, signo)
pero an no recibi la transaccin que hizo esas monedas disponibles en la
(SO BTC, signo (lQ2TW) (0437CD7: 0,
SO BTC
cuenta;
A16F3CE transaccin
: (40 BTC, signo (12cbQ)
Dos o ms transacciones podran intentar transferir las mismas monedas mltiples
(F4184F: l, signo)

entradas salidas veces. Esto se llama una doble gastan ing ataque.

Figura 1. La primera F4184F transaccin de bienes. Se afirma que la salida 50 bitcoins ataques dobles de gastos tienen un impacto directo sobre la consistencia de las
de transaccin 0437CD7 y crea dos salidas de 10 y 40 bitcoins respectivamente. Esas salidas son luego reivindicados por las transacciones
rplicas del libro mayor. Durante un doble gasto, ya sea intencional o por error, dos o
EA44E9 y A16F3CE.
ms transacciones intentan reclamar simultneamente la misma salida. El verdadero
equivalente en el mundo de los ataques dobles gasto sera un usuario que presenta
mltiples transacciones a su banco, el gasto de los saldo disponible en mltiples
colectivamente implementar un replicado libro mayor. El libro mayor seguimiento del saldo ocasiones. Si bien en este caso el doble intento de gasto sera reconocido por el banco y
de todas las cuentas en el sistema. Cada nodo mantiene una rplica completa del libro
no dara lugar a una transferencia, en Bitcoin esta contradiccin es ms difcil de
mayor. Es crucial para las rplicas de la balanza de estar en un estado consistente a travs
resolver. Un nodo que recibe la primera transaccin se verificarla y comprometerse a su
de todos los nodos en todo momento como la validez de las transacciones se verifica contra
rplica libro mayor. Cuando el nodo ms tarde recibe las otras transacciones, falla la
ellos.
validacin como la salida ya se ha gastado. Ya que no hay garanta de que todos los

A. Actas
nodos reciben las transacciones en conflicto en el mismo orden,

En un nivel abstracto una transaccin transfiere bitcoins de uno o ms cuentas de


origen a uno de los ms cuentas de destino.
Una cuenta es, en esencia, un / keypair.2-pblico-privada se utiliza una direccin
derivada de la clave pblica para identificar la cuenta. Para transferir bitcoins a una
cuenta de una transaccin se crea con la direccin de la cuenta como destino. Para
enviar bitcoins de una cuenta, la transaccin tiene que ser firmado con la clave privada
asociada con el envo de account.3
B. Bloques

En lugar de la suma del saldo de cada cuenta, las pistas del libro mayor salidas que A fin de que las rplicas del libro mayor de mantener la coherencia de un orden comn
transfiere los bitcoins a la cuenta corriente alterna. Una salida es una tupla de un valor sobre las transacciones tiene que ser acordado entre los nodos. Estando de acuerdo en un
numrico en bitcoins y una condicin para reclamar o pasar esa salida. Por lo tanto, el orden comn de transacciones en un sistema distribuido no es trivial. Bitcoin resuelve este
saldo de una cuenta es la suma de los valores numricos de todas las salidas no problema al cometer tentativamente transacciones y luego la sincronizacin a intervalos
utilizados de esa cuenta. regulares por radiodifusin una bloquear creado por uno de los nodos. Un bloque segundo contiene
el conjunto de transacciones Tuberculosis
Las transacciones se identifican por el hash de su representacin serializada
(mensaje TX). Una transaccin afirma algunas salidas, proporcionando una prueba de que el nodo que cre el bloque se ha comprometido desde el bloque anterior. El bloque
propiedad. Las referencias a las salidas reivindicados junto con las pruebas de la Forma se distribuye a todos los nodos en la red y cada nodo que recibe rodar hacia atrs las
propiedad de lo que se llama una entrada a la transaccin. La transaccin puede transacciones tentativamente cometidos desde el ltimo bloque y aplicar las operaciones
entonces especificar una o ms nuevas salidas como destino. del bloque actual.

Las salidas son la unidad fundamental de informacin que se realiza un seguimiento en En este punto, todos los nodos han puesto de acuerdo sobre la validez de todas las
el libro mayor y su estado tiene que ser consistente a travs de todas las rplicas. Para que transacciones en el bloque. Las transacciones que se conunitted como parte del bloque
una transaccin sea vlida los siguientes criterios deben ser cumplidos por las salidas que estn confirmados y no tienen que volver a aplicar. Las transacciones que se han
dicen y creen: retrotrado de entonces sern validados de nuevo y volver a aplicar en la parte superior
Una salida puede ser reclamado en ms de una vez; del nuevo estado base. Transacciones que son ahora vlida porque entran en conflicto
Nuevas salidas se crean nicamente como resultado de una transaccin; con las transacciones confirmadas como parte del bloque se descartan.
La suma de los valores de las salidas reivindicados tiene que ser mayor o igual
que la suma de los valores de las salidas recin asignados. El nodo que cre el bloque efectivamente impone su punto de vista de los cambios
desde el bloque anterior. Sin embargo, las decisiones del creador de bloque son

A medida que las transacciones se transmiten a travs de la red el estado de los limitados. El nodo no puede falsificar cualquier transaccin, siempre que el sistema de

cambios en el libro mayor rplicas. Cuando un nodo recibe una nueva transaccin, se cifrado de clave pblica Iprivate subyacente es seguro. El creador de bloque slo se

verifica y se comprometi a la rplica local. Con el tiempo los diferentes rplicas del libro puede decidir en qu transacciones de rdenes llegaron y si se incluyen las

mayor en diferentes nodos pueden ser incompatibles: transacciones en su bloque.

Para determinar qu nodo puede imponer su vista los nodos intento de encontrar una
2Bitcoin utiliza actualmente ECDSA para las firmas.

3El mtodo descrito para enviar bitcoins a una cuenta y reclamar al proporcionarles una firma es slo uno de los posibles escenarios.
solucin a un prueba de trabajo [7] con una probabilidad dada de xito. El trabajo de prueba

Limitamos la descripcin de este mtodo, ya que es el mtodo ms comnmente utilizado. de consiste en encontrar una cadena de bytes, llamado mientras tanto, que combinado con la
cabecera del bloque

2
Conferencia Internacional IEEE de 13 de Computacin Peer-to-Peer

resultados en un hash 1-lb con un nmero dado de los principales bits de cero, o objetivo. Como h = HHead. Esta situacin se denomina tenedor blockchain. Durante un tenedor
hashes criptogrficos son funciones de un solo sentido, la bsqueda de un nonce este tipo blockchain los nodos de la red no estn de acuerdo sobre cul de los bloques en bh es la
slo puede ser realizado por calcular realmente el hash del bloque para todos los posibles cabeza blockchain actual.
valores de uso nico hasta que se encuentre una solucin vlida. Por tanto, es difcil Dos bloques b, bl mi bh estn garantizados para estar en desacuerdo sobre el estado
encontrar una entrada que produce una solucin, pero recta hacia adelante para verificarlo. actual de la balanza, ya que ambos presentan una transaccin recompensa. Por lo tanto,
El valor de uso nico es parte del bloque para que nodos receptores que pueden verificar que un tenedor blockchain implica que el sistema ya no es consistente.
el creador resolvi el comprobante de trabajo. El hash de 1 libra tambin se utiliza como la
identidad del bloque. El objetivo se determina a travs de consenso por todos los nodos con Cuando un nodo, cuya cabeza blockchain bh es a la altura marido,
el fin de lograr un promedio de un resultado cada 10 minutos en toda la red y se ajusta cada recibe un bloque bh, para la altura hi> h que conmuta su cabeza blockchain a este
2016 bloques, que debe ocurrir una vez cada 14 das a la espera. bloque. El nuevo bloque bh' puede ser o bien en la misma rama como bh, es decir, bh es
un antepasado de bh" o en otra rama.

Los nodos que intentan encontrar una solucin a la prueba de trabajo se conocen mineros. debe bloquear bh estar en la misma rama que la cabeza blockchain recin
Para incentivar mineros, el nodo de la bsqueda de un bloque recibe una recompensa en descubierto bh' recuperar todos los bloques intermedios en la rama y aplicar sus
forma de bitcoins de nuevo cuo, cambios de forma incremental. Por otra parte, si bh, ser parte de otra rama, es decir, bh no
es decir, puede incluir una transaccin que no tiene entradas, pero puede especificar es un antepasado de bh"
salidas para un nmero predeterminado de monedas en el bloque. Esta transaccin a continuacin, que comparten un C Olmn el ancestro. Ya que bh,
recompensa slo es vlido si aparece en el bloque y es la nica excepcin a la regla de est en una cadena ms larga que bh Se convierte en el nuevo jefe blockchain, por lo
que la suma de los resultados de una transaccin tiene que ser menor o igual a la suma tanto, el nodo tiene que revertir todos los cambios hasta el antepasado comn y aplicar
de las entradas de la transaccin. los cambios en la rama de bh'.
Un tenedor blockchain puede prolongarse por las particiones de la red para encontrar

DO. Blockchain ms bloques Bh + l, Bh + 2,. . . sobre la base de sus respectivas cabezas blockchain.
Eventualmente una rama ser ms larga que las otras ramas, y las particiones que no
Hasta este punto, los bloques no proporcionan ninguna nizacin sincro aadido en la
adoptaron esta rama como la de ellos cambiar a esta rama. En este punto el tenedor
parte superior de las transacciones individuales. Esto cambia cuando los bloques estn
blockchain se resuelve y las rplicas del libro mayor son consistentes hasta la cabeza
encadenados juntos, creando un orden cronolgico sobre los bloques y por lo tanto sobre
blockchain. Los bloques descartados por la resolucin blockchain se denominan bloques
las transacciones contenidas dentro de ellos.
hurfanos.

Los bloques se organizan en un rbol dirigido. Cada bloque contiene una referencia a
un bloque previamente encontrado. El bloque segundo
referenciado por un bloque licenciado en Derecho se llama su padre. El cierre transitivo de Bitcoin no c Olmn su una transaccin definitivamente. Cada transaccin puede ser

esta relacin da su antepasados. El bloque de raz en el rbol es el bloque gnesis, la invalidado si se crea una cadena ms larga que se inici por debajo del bloque que

cual est codificada en los clientes. Este bloque es un antepasado de todos los bloques, incluye la transaccin. Si una sola entidad podra controlar una mayora de la potencia de

por definicin. clculo en la red, y por lo tanto ser capaz de encontrar los bloques ms rpido que el

los blockchain se define como la trayectoria ms larga de cualquier bloque al bloque de resto de la red combinada, podra revertir cualquier transaccin. Si un atacante intenta

gnesis. La distancia entre un bloque segundo y la gnesis se refiere como su altura del revertir una transaccin que fue incluida en el bloque bh se creara una nueva transaccin

bloque media pensin. El bloque de gnesis que entra en conflicto con la transaccin original e incluirlo en un bloque bh' con hi < marido.

9 por lo tanto tiene altura hg = O. El bloque con la altura mxima, El atacante podra entonces proceder a crear bloques en la parte superior de bh' hasta

es decir, el bloque que est ms lejos del bloque gnesis se denomina cabeza que esta nueva cadena se apodera del blockchain original y se convierte as en el nuevo

blockchain, con la altura HHead. Utilizamos la notacin bh para hacer referencia al blockchain.

conjunto de bloques en altura marido.


Dado que para incluir una referencia al bloque padre, la identidad de ese bloque padre
(su hash) tiene que ser conocido, el bloque nio debe haber sido encontrado despus de la Se podra argumentar que la existencia de las horquillas blockchain es la razn de

matriz. El encadenamiento se utiliza para asignar un orden cronolgico a las transacciones: que las transacciones no estn comprometidos definitivamente. El estrecho acoplamiento

transacciones en bloques de altura inferiores han sido verificadas antes de las operaciones entre los bloques y la validez de una transaccin no slo se ralentiza el tiempo

en los bloques superiores. confinnation de una transaccin sino que tambin limita la confirmacin de ser una
declaracin acerca de la validez probabilstica.
Como slo los bloques que aparecen en el blockchain sern recompensados con
monedas de nuevo cuo que son aceptados por otros usuarios, los mineros siempre
tratar de encontrar un bloque que se basa en la cabeza blockchain actual. Sobre la base III. INFORMACIN DE PROPAGACIN
de un bloque anterior requerira la rama resultante para convertirse ms larga que la
La red Bitcoin es una red de nodos homogneos. No hay funciones de coordinacin y
rama ms larga actualmente, es decir, la blockchain, ser recompensados.
cada nodo mantiene una rplica pleta com de toda la informacin necesaria para verificar
la validez de las transacciones de entrada. Cada nodo verifica la informacin que recibe
RE. horquillas Blockchain de otros nodos de forma independiente y slo hay confianza mnima entre los nodos.
De la definicin de blockchain sigue directamente que no puede haber mltiples
cabezas a la vez, es decir, cuando IBhl> 1 con

3
Conferencia Internacional IEEE de 13 de Computacin Peer-to-Peer

A. Topologa de la red

Por construccin los nodos en la red forman un grafo aleatorio. Cuando un nodo se F verificacin nodo A

une a la red de consulta a un nmero de servidores DNS. Estos servidores DNS estn
dirigidos por voluntarios y devuelven un conjunto aleatorio de nodos de arranque que
estn participando actualmente en la red. Una vez conectado, el nodo que se une
aprende sobre otros nodos pidiendo a sus vecinos por las direcciones conocidas y
escuchar anuncios espontneas de nuevas direcciones. No hay manera explcita a salir
de la red. Las direcciones de los nodos que dejaron la red persisten durante varias horas
antes de que los otros nodos de ellos purgan de sus direcciones conocidas establecidas.
En el momento de la escritura se anunciaban aproximadamente 16.000 direcciones
nicas, de las cuales aproximadamente 3500 eran accesibles a la vez.
nodo B

Fig. 2. Los mensajes intercambiados con el fin de reenviar un mensaje de bloque de un solo salto desde el Nodo A al Nodo B.

Cada nodo intenta mantener un nmero mnimo de ciones CONNEC pag a otros nodos
abrir en todo momento. En caso de que el nmero de conexiones abiertas por debajo pag el
el bloque o transaccin se realiza a travs de bloque individual o mensajes TX. La figura
nodo seleccionar al azar una direccin de su conjunto de direcciones conocidas y tratar
2 visualiza el flujo de protocolo para un solo salto en la emisin. El nodo A recibe un
de establecer una conexin. Por otro lado, la conexin entrante no estn cerrados si
bloque, lo verifica y anuncia a sus vecinos. Nodo B recibe el mensaje y inv, ya que no
resultan en el nmero de conexiones abiertas a estar por encima del tamao de la piscina pag.
sabe nada sobre el bloque, que emitir un mensaje leedato. Al recibir el mensaje
Por consiguiente, el nmero total de conexiones abiertas es probable que sea mayor para
GetData, el nodo A entregar el bloque al Nodo B.
nodos que tambin aceptan conexiones entrantes.

Cada bloque o transaccin se introduce a la red en uno de los nodos, su origen, y


Hemos observado que un nodo que ejecuta bitcoind que acepta conexiones entrantes, tiene
luego se propaga a lo largo de la red utilizando el mecanismo de difusin anteriormente.
un promedio de 32 conexiones abiertas. Esto supera en gran medida el tamao de la
agrupacin de conexiones por defecto de p = 8.
En los nodos que no son accesibles, ya sea debido a estar detrs de una traduccin de
En cada salto en la emisin del mensaje incurre en una

direcciones de red o un servidor de seguridad, el nmero de conexiones simultneas retardo de propagacin. El retardo de propagacin es la combinacin de tiempo de

abiertas nunca excedi pag.


transmisin y la verificacin local del bloque o transaccin. El tiempo de transmisin

Particiones en el grfico de conexin no se detectan de forma activa, y en caso de incluye un anuncio en la forma de un mensaje de inv, una solicitud de la parte receptora y

producirse las particiones continuarn operando de forma independiente. Si bien esto es una entrega. Mientras que el INV y los mensajes GetData son relativamente pequeas en

ciertamente deseable desde un punto de vista liveness, el estado rastreado en las tamao (6 1B en la mayora de los casos, como emisiones inmediatos slo contienen un

particiones se divergen con el tiempo, creando dos historiales de transacciones paralelas solo bloque o transaccin que se anunci), el mensaje de bloqueo puede ser muy grande

y posiblemente incompatibles. Por lo tanto, es de suma importancia que se detectan - hasta 500 KB en el momento de la escritura. Antes de que el bloque se anunci a los

particiones de red. Dicha deteccin se puede hacer mediante el seguimiento de la vecinos de un nodo, se verifica. La verificacin de un bloque incluye la verificacin de

potencia de clculo agregado observado en la red. Un rpido descenso de la tasa de cada transaccin en el bloque. Verificacin de transaccin a su vez requiere un acceso

hallazgo de bloque podra indicar que se ha producido una particin. aleatorio a los datos almacenados en los discos.

B. Mtodo de Propagacin Dejar ti, j ser la diferencia de tiempo entre la primera ment anunciar por el origen a la
Para el propsito de actualizar y sincronizar las rplicas del libro mayor nica red y el tiempo en el que el nodo j recibe el artculo yo. Si el nodo 0 es el origen del dato
transaccin ( tx) y el bloque ( bloquear) los mensajes son relevantes. Estos mensajes son
mucho ms comunes que cualquier otro mensaje enviado en la red y pueden crecer yo, es decir, ya sea el buscador del bloque o el nodo que cre la transaccin, entonces TI,
hasta un tamao considerable. Con el fin de evitar el envo de mensajes de o = O.
transacciones y bloquear a los nodos que ya los reciben de otros nodos, no se desvan Los tiempos ti, j en la que los nodos aprender acerca de la existencia de un elemento
directamente. En lugar de ello su disponibilidad es anunciado a los vecinos mediante el de datos siga un comportamiento exponencial doble. Similar a rumor aleatorio difusin
envo de una inv mensaje una vez que la transaccin o bloque ha sido completamente [12], la propagacin de un elemento de datos se puede dividir en dos fases: una fase de
verificado. El mensaje inv contiene un conjunto de valores hash de transaccin y los crecimiento exponencial inicial en la que la mayora de los nodos que reciben mensajes
valores hash de bloques que han sido recibidos por el remitente y ahora estn inv solicitar el correspondiente elemento de datos, ya que no tienen todava , y una fase
disponibles para ser solicitado. Un nodo, que recibe un mensaje de inv para una de reduccin exponencial en la que la mayora de los nodos de recepcin un anuncio ya
transaccin o un bloque que no tiene todava localmente, emitir una obtener datos mensaje tienen el elemento de datos correspondiente.
al remitente del mensaje inv que contiene los valores hash de la informacin que
necesita. La transferencia real de
Para medir el retardo de propagacin se implement el protocolo de red bitcoin y
conectado a una muestra grande de

4
Conferencia Internacional IEEE de 13 de Computacin Peer-to-Peer

Influencia del tamao del retardo de propagacin


2.0
-
50 percentil
.. .
..
75 percentil
0.10
+-+ 90 percentil
1.5

"

Iji 1.0

0.5

30 40 50 60 20 40 60 80 100 120 140


Tiempo transcurrido desde la primera observacin [s] El tamao de bloque [kB]

Fig. 3. El histograma normalizado de veces desde el primer anuncio bloque con curva exponencial equipada. cuesta Fig. 4. retardo para el 50, 75 y 90 percentil. La trama se centra en la ordenada en el rango inferior para mostrar el comportamiento

constante despus de 20kB.

los nodos en la red. Nuestra aplicacin se comporta exactamente como un nodo nonnal causado por el retardo de ida y vuelta, es decir, el hecho de que incluso los mensajes
con una advertencia: no transmitir mensajes inv, transacciones o bloques. Realiza un pequeos se anuncian a travs de un mensaje de inv y luego recuperan a travs de un
seguimiento de cmo las transacciones y los bloques se propagan a travs de la red mensaje GetData. El retardo de ida y vuelta es dominante para las transacciones como el
mediante la escucha para el anuncio de su disponibilidad en forma de mensajes inv. Una 96% de todas las transacciones son ms pequeos que LKB. Para bloques, cuyo tamao
vez que el nodo de medicin recibe un mensaje de inv contiene la referencia a un bloque es ms grande que 20kB, cada kilobytes de tamao tiene un costo adicional de 80 ms de
sabemos que el nodo que envi el anuncio ha recibido y verificado el bloque. retardo hasta que la mayora sabe sobre el bloque. Por tanto, sera sensato para reenviar
transacciones directamente, y evitando as la sobrecarga de la ida y vuelta aadido. Sin
embargo, el mismo no puede decirse de los bloques en los que la sobrecarga no
contribuye tanto a la hora de difundir general.

El nodo de medicin recogidos informacin de temporizacin de la altura blockchain


180'000 para 10'000 bloques. El tiempo infonnation contiene el hash del bloque, el
anuncio de nodos IP y una marca de tiempo local cuando se recibi el anuncio. Una
estimacin para el ti, j est dada por sustraccin de la marca de tiempo del primer RE. informacin Eclipsar

anuncio de un bloque de todos los anuncios de ese elemento de datos.


Hasta ahora hemos hablado de cmo infonnation se propaga en el caso de que la
informacin no est contradiciendo. Otra parte importante en la difusin de informacin
en la red Bitcoin es la visibilidad de la informacin. Cuando un nodo recibe un nuevo
La Figura 3 muestra el histograma normalizado de tb, j para todos los bloques segundo en bloque o transaccin, que considere no vlida, posiblemente debido a que contradice la
el intervalo medido. La normalizacin nos permite usar esto como una aproximacin de la informacin que recibi anteriormente, la ignorar y lo reenve.
funcin de densidad de probabilidad de la velocidad a la que los nodos aprenden acerca de
un bloque. Ntese que no diferenciamos entre los tamaos de los bloques y en lugar de
agregado a lo largo de todos los bloques. La mediana de tiempo hasta que un nodo recibe un
Consideremos el caso de un bloque que est siendo difundido en la red y cmo se
bloque es de 6,5 segundos, mientras que la media es en
puede llevar a un tenedor blockchain que slo se detecta por una minora de los nodos.

12,6 segundos. La larga cola de la distribucin significa que incluso despus de 40


Dejar G = ( V, E) ser grfica conexin subyacente de la red, V siendo el conjunto de
segundos todava hay 5% de nodos que todava no han recibido el bloque.
todos los nodos y mi el conjunto de conexiones estafadores entre los nodos. A partir de
una sola particin
ph do V que contiene todos los nodos cuya cabeza blockchain est a la altura marido, es decir,
DO. El tamao importa
que no saben cualquier bloque para la siguiente altura

Hay una fuerte correlacin entre el tamao de un mensaje y el retardo de propagacin h + 1. La bsqueda de un nuevo bloque bh + l introduce una nueva particin

en la red. los costo de retardo Ph + l, b que contiene los nodos que creen que este bloque a la cabeza, es decir, es el
se define como el retardo de tiempo de cada kilobyte provoca a la difusin de una primer bloque para la altura h + 1 ellos recibieron. Si no se encuentra ningn otro bloque,
transaccin o bloque. Observe que el costo es una combinacin de ambos verificacin y a continuacin, los nodos adyacentes al corte entre ph y Ph + l, b salir ph y unirse Ph +
transmisin en tiempo. Figura 4 parcelas los costes para el 50, 75 y 90 percentil para 1, b hasta
varios tamaos. Para tamaos ms grandes que 20kB el costo se puede decir que sea ph est vaco y la red como un todo procede con la nueva altura blockchain h + 1.
constante, mientras que para tamaos pequeos hay una sobrecarga considerable. La
sobrecarga para los pequeos tamaos es Por otro lado, en caso de otro bloque b + l para la altura
h + 1 ser encontrado por un nodo en ph, de nuevo introduce una nueva

5
Conferencia Internacional IEEE de 13 de Computacin Peer-to-Peer

dividir Ph + l, b" En este caso los nodos de ph se uniran Ph + l, b horquillas Blockchain

y Ph + l, b' simultneamente hasta ph est vaca, y todos los nodos estn en una de las
particiones con la altura h + 1.
10
Slo los nodos adyacentes al corte entre Ph + l, b y Ph + l, b'
sabr tanto b y b' y por lo tanto capaz de detectar el tenedor blockchain resultante. Los
nodos que se encuentran en la particin
Ph + 1, b, y no adyacente a Ph + 1, b" slo s B y ser completamente ajeno a la
existencia de un bloque en conflicto. Una particin Ph + l, b potencialmente podra
contener solamente un nico nodo, en el caso de que los vecinos del nodo ya saben un
bloque en conflicto y ilmnediately detener la propagacin de b.

Lo anterior tambin se aplica para las transacciones que se estn propagando. Si dos
transacciones que intenten pasar la misma salida se propagan en la red slo la primera
Blockchain Altura
transaccin de un nodo recibe ser considerada vlida, la segunda transaccin no ser
vlida de acuerdo al estado de ese nodo y por tanto no ser anunciado a sus vecinos.
Higo. S. Histograma de horquillas blockchain de 10'000 parrilla de salida a la altura de 180'000, observ durante su participacin en la red.

Este comportamiento tiene la ventaja de que un nodo malicioso puede no inundar la


red mediante la emisin de cientos de contradecir las transacciones sin costo adicional, altura 180'000 y la altura 190'000. Estamos seguros de que, debido a nuestra amplia muestra,
en forma de honorarios, al nodo malicioso. En el lado negativo este mismo que incluye todos los nodos alcanzables, casi todos los bloques que se encuentran han sido
comportamiento hace que los ataques dobles de gasto que son invisibles para el propagados a nosotros, que nos permite identificar cerca de todos los tenedores blockchain
comerciante [ 11] que se produjeron en el intervalo de medicin.
posible.
En el caso de las transacciones, detener la propagacin es una compensacin La Figura 5 muestra el histograma de horquillas blockchain en los bloques de col
razonable, que protege la red contra spam transaccin, a expensas de los usuarios cionado. Haba 169 horquillas blockchain en el observado
individuales. Sin embargo, en el caso de bloques, detener la propagacin no es 10'000 bloquear el intervalo, lo que resulta en una tasa de tenedor blockchain observado r = 1,69%.
razonable. Las horquillas blockchain, que se ocultan de la mayora de los nodos al
hacerlo, son un indicador importante de una inconsistencia en curso sin resolver. Como
vlido, pero potencialmente conflictivos bloques, no se pueden crear a una tasa arbitraria B. Modelo
como transacciones, reenviarlos no crearan la posibilidad de un ataque.
El trabajo de prueba de causa bloques vlidos que se encuentran inde
pendientemente al azar. Desde los bloques se encuentran independientemente al azar
por los participantes en la red, un bloque podra encontrarse mientras que un bloque en

IV. BLOCKCHAIN BIFURCACIONES conflicto se propaga en la red. Reivindicamos que se bifurca blockchain son causadas
por el retardo de propagacin de bloque en la red.
En esta seccin nos centramos en la propagacin de bloque y las horquillas blockchain
que se producen en la red. Se demuestra que los tenedores blockchain son causadas por el
1) Probabilidad de encontrar un bloque: El protocolo bitcoin ajusta la dificultad del
tiempo de propagacin de largo por la presentacin de un modelo que coincida con la tasa
trabajo de prueba de necesario para encontrar un bloque de manera que la espera a una
observada blockchain tenedor.
cuadra se encuentra cada 10
minutos.

A. La observacin de las horquillas Blockchain Si xb es la variable aleatoria de la diferencia de tiempo en segundos entre un bloque
siendo encontrado y su predecesor siendo encontrado, entonces la probabilidad de un
Algunos tenedores blockchain pueden ser observados por los participantes en la red
bloque de ser encontrado por la red como un todo, en cualquier segundo dado es
y la recepcin de los dos bloques en conflicto. La observacin de todas las horquillas
blockchain sin embargo es difcil. Si un nodo detecta que una llamada entrante conflictos
de bloque con el bloque que cree que es la cabeza de la cadena, entonces no va a
propagar el bloque ms lejos.
Pb = Pr [Xb <t + llXb:? T] 1/600 (1)

Recordemos que las particiones en un tenedor blockchain pueden tener el tamao 2) La parte de la red que podra encontrar un bloque en conflicto:
1. Como consecuencia directa, la presentacin de informes fielmente todos tenedor Un tenedor blockchain se produce si, durante la propagacin de un bloque

blockchain requerira estar conectado a cada nodo en la red. Debido a algunos nodos no b, se encuentra un bloque en conflicto b'. Dicho bloque B' slo se puede encontrar por la
ser alcanzable, ya sea porque estn detrs de un cortafuegos o traduccin de parte de la red que todava no sabe sobre b.
direcciones de red, slo una aproximacin del nmero real de horquillas blockchain se
puede dar. Dejar TJ ser el tiempo en segundos en el que el nodo j aprende acerca de la
existencia de B ya que se ha encontrado. Deja el Ij (t) ser la funcin de indicador de si el
Utilizando la aplicacin de la Seccin III se recogieron los bloques que se han nodo j sabe sobre B en el momento
propagado en la red entre t. Dejar Eso) ser la funcin indicadora que cuenta el nmero de

6
Conferencia Internacional IEEE de 13 de Computacin Peer-to-Peer

nodos informadas, es decir, los nodos que han recibido y el bloque verificados segundo, en el momento t.
0,0016

{o tj> t Ij
(t) = 1 TJ t

I (t) = L Ij (t)
JEV

Entonces la relacin de nodos informadas es

f (t) = IE [I (t)] n-1


500 1000 1500 2000 2500 3000 3500
Darse cuenta de f (t) es equivalente a la funcin de distribucin acumulativa (CDF) de Tiempo desde el ltimo bloque [sl

la velocidad a la que se informa a pares. Por tanto, podemos utilizar la PDF de la


velocidad a la que los pares estn en formado a partir de la Figura 3 como una estimacin Fig. 6. Shifted distribucin diferencia de tiempo para los bloques que se encuentran entre la altura 180'000 y 190'000.

durante las mediciones.


Slo los nodos desinformados pueden producir un bloque en conflicto. La
combinacin de la probabilidad de encontrar un bloque y la relacin de nodos que no est
la vez que se encontr el bloque. Si bien esto no sufre de desplazamiento de reloj, puede
informado derivamos la probabilidad de un tenedor blockchain. Dejar F ser una variable
tener un pequeo retraso entre el bloque que se encuentra y el primer anuncio de
aleatoria discreta que cuenta el nmero de bloques en conflicto que se encontr mientras
alcanzar el nodo de medida y slo tenemos las marcas de tiempo de los bloques que
que otro bloque est siendo propagado, entonces la probabilidad de un tenedor
fueron encontrados mientras se mide activamente la red.
blockchain es:

El trabajo de prueba de un proceso de Poisson es, por tanto, la diferencia de tiempo


sigue una distribucin exponencial. La convolucin de la desviacin de reloj al azar y el
(t)) dt
Pr [F; ::: 1] = 1 - (1 - Pb) fooo (1-f (2) tiempo entre bloques que se encuentra en la marca de tiempo del bloque provoca un
desplazamiento a la derecha del mximo. Esto puede ser corregido por un desplazamiento
Observe que este ltimo paso requiere la suposicin simplificadora de que la
hacia la izquierda hasta que el mximo est en t = O. El tiempo para el anuncio observado
probabilidad de nodo de la bsqueda de un bloque se distribuye uniformemente al azar
mientras que la medicin no sufre de la desviacin de reloj y directamente produce el
entre todos los nodos.
histograma correcta.
Por lo tanto, conocer la probabilidad de toda la red para encontrar un bloque Pb y la
distribucin de cmo los nodos aprenden acerca de la existencia del bloque permite
derivar la probabilidad de un tenedor blockchain. Pb y la distribucin de la ij depende de
la potencia de clculo en la red actual y la topologa y el tamao de la red. g (t) = '\ ex

Mediante la extraccin de las marcas de tiempo de los bloques a la altura del 180'000 a
travs de 190'000 obtenemos la distribucin que se muestra en la figura 6. Mediante el ajuste
de la distribucin observada a la distribucin exponencial nos encontramos con un valor de, \
DO. Mediciones
= 0.001578 y por lo tanto un tiempo esperado entre dos bloques de 1 /, \ = 633,68
Para validar el modelo se compara la probabilidad resultante de un tenedor blockchain
con la tasa observada de horquillas blockchain.
segundos. Mediante el ajuste de la densidad de probabilidad del tiempo entre primeros
anuncios partir de las mediciones nos encontramos con un valor
1) Probabilidad de encontrar un bloque: Cada bloque incluye una marca de tiempo de la
,\ = 0.001576 lo que resulta en un tiempo esperado entre dos bloques de 1 /, \ = 634.17.
vez que se encontr el bloque. A medida que los nodos no se sincronizan los relojes, sino
Las dos aproximaciones, \ son consistentes, pero ambos son ligeramente por encima del
que muestrean la hora actual de sus vecinos, hay un desplazamiento de reloj no trivial de las
valor objetivo de
marcas de tiempo.
600 segundos. La diferencia es ms probable debido a una disminucin de la potencia
En algunos casos, el desplazamiento de reloj es bastante pronunciada, pro ducing hasta de clculo en el network.4
constelaciones imposibles. Por ejemplo el bloque a la altura de 209.873 en el blockchain
2) Bloquear la propagacin en la red: Debido a la cin Normaliza el histograma de la
tiene una marca de tiempo de 22: 10: 13 mientras que el siguiente bloque a la altura de
figura 3 tambin representa la funcin de densidad de probabilidad (PDF) de las variables
209.874 tiene una marca de tiempo para 22:08:44. Puesto que la ltima incluye el hash de la
aleatorias tb, j para todos los bloques segundo en el intervalo de medicin. Por lo tanto,
primera, los bloques se encuentran en el orden correcto. As, las marcas de tiempo en
la relacin de nodos informadas f (t) es el rea bajo el histograma hasta el momento t.
conflicto solamente pueden ser causados por los relojes no sincronizados.

La combinacin de la probabilidad anterior de bsqueda de un bloque y la funcin de


Como alternativa, ya estamos participando en la red y con una amplia muestra de los
los resultados de proporcin informadas en el siguiente
nodos, tambin podemos utilizar el tiempo vimos por primera vez el bloque que se
4s http://bitcoin.sipa.be/ para Junio 2012
anunci a la red como

7
Conferencia Internacional IEEE de 13 de Computacin Peer-to-Peer

desde un punto arbitrario en el tiempo. Aunque ciertamente suficiente, la condicin no es


estricta, ya que nuestro resultado muestra. En realidad, la eficiencia de la red en su
conjunto, incluyendo un retardo de propagacin, no es ptimo. Esta ineficiencia puede
dar a un atacante potencial que puede reducir el retardo de una ventaja considerable.

La potencia de clculo eficaz en la red actual es


'0 0,0008 1-11,37 / 633,68 = 98,20%. Por lo tanto, una 4 9,1%, parte de la potencia de clculo en

: C 1' : 0. 0006
la red es suficiente para un atacante para volver finalmente cualquier transaccin en las
condiciones actuales. Mientras que incluso esto es difcil de lograr, el aumento de retardo
mi

Q. 0,0004 de propagacin puede debilitar an ms la red como un todo.

0. 0002

Y. Acelerar el PROPAGACIN
0. 0000
0
Tiempo [sl En la seccin anterior hemos demostrado que la infor macin forma en que se
propaga en la red hace que blockchain horquillas. En esta seccin exploramos cules

Fig. 7. funcin de densidad de probabilidad de un bloque en conflicto que se encontr mientras que otro bloque est emitiendo. son los lmites del protocolo existente y si son cambios unilaterales en el comportamiento
de los nodos pueden cambiar la tasa tenedor blockchain. Hay varias maneras de mejorar
la propagacin de informacin en la red:

probabilidad de que un tenedor blockchain:


Reducir al mnimo la verificacin

Pipelining bloque de propagacin


(t)) dt
Pr [F 2: 1] = 1 - (1 - Pb) Jooo (1-f aumento de la conectividad
11. 37
La limitacin de los cambios a los que pueden llevarse a cabo de una manera
= 1 - (1 - (3) unilateral nos permite evaluar su efectividad, sin grandes cambios en el protocolo, lo que
tendra que ser aprobada y aceptada por la comunidad Bitcoin.
1,78%.

De acuerdo con nuestro modelo la probabilidad de un tenedor blockchain por lo tanto,


A. Reducir al mnimo la verificacin
es 1,78%. Comparando este resultado con la tasa de tenedor blockchain observado de
1,69% en la Seccin IV-A observamos que sobreestimamos la tasa tenedor observado Un contribuyente importante al retardo de propagacin es el tiempo que tarda un nodo

por solamente 5%. para verificar un bloque antes de anunciar a la red. Hay una fuerte correlacin entre el

La probabilidad predicha ligeramente superior es posiblemente debido a la suposicin de tamao de un bloque y el tiempo para verificarlo. Como cada salto en la propagacin es

que la potencia de clculo se distribuye uniformemente sobre todos los nodos en la red. necesario verificar con el bloque antes de retransmitirla a sus vecinos el retardo se

Sin embargo, la buena calidad del ajuste sugiere que el modelo es un buen partido para multiplica por la longitud de las trayectorias de propagacin.

la realidad.
Actualmente hay un lmite de tamao de bloque de 500 KB por bloque impuesta por

Debido a que el nmero de transacciones y el tamao de la red es probable que bitcoind, pero es probable que estar relajado cada vez ms como el tamao medio de

crezca como la adopcin de Bitcoin como forma de pago recoge la tasa de horquillas bloques crece, por lo que puede incluir ms transacciones.

blockchain est obligado a aumentar. Una red ms grande, con la topologa de azar y el
tamao de la piscina conexin fija aumenta el dimetro y la distancia media entre los La primera idea es que la verificacin se puede dividir en dos fases:

nodos y el origen de un bloque. Un aumento en el nmero de transacciones causa un


crecimiento en el tamao de bloque que a su vez aumenta el retardo de la verificacin y Una comprobacin dificultad inicial;

el retardo de transmisin en cada salto en la propagacin. Una validacin de transaccin.

La comprobacin de dificultad consiste en la validacin de la prueba de trabajo de


hash del bloque recibido y comparar el hash con la dificultad de destino actual. Adems,
Una interpretacin alternativa del resultado en la ecuacin. (3) es que cada vez que se comprueba que el bloque no es un duplicado de un bloque reciente y que hace
se encuentra un bloque, el equivalente de 11,37 segundos por valor de potencia de referencia a un bloque de reciente como su predecesor para verificar que el bloque no es
clculo de toda la red se desperdicia. Trabajo, es decir, los intentos de encontrar una una nueva presentacin de un bloque de edad. La mayor parte de la validacin se realiza
solucin de prueba de trabajo, que entra en la construccin de cabezas blockchain en la validacin de transaccin que comprueba la validez de cada transaccin en el
alternativas no contribuye a extender la blockchain, por lo que es potencialmente ms bloque. El bloque se puede transmitir a los vecinos, tan pronto como la dificultad ha sido
fcil para un atacante para superar a la cabeza blockchain actual con una cadena comprobado y antes de que las transacciones tienen que ser verificados.
alternativa de su propio . Nakamoto [14] ya se anticipa que un atacante con ms del 50%
de la potencia de clculo en la red sera capaz de encontrar prueba de trabajo de modo
luciones ms rpido que el resto de la red. Por lo tanto, el atacante podra ser capaz de Por lo tanto, el comportamiento del nodo podra ser cambiado para enviar un mensaje
reemplazar con el tiempo el historial de transacciones de inv tan pronto como el cheque dificultad se hace, en lugar de esperar a que la validacin
de transaccin mucho ms tiempo para ser terminado.

8
L3-V Conferencia Internacional IEEE sobre Computacin Peer-to-Peer

Blockchain horquillas (influida)

verificacin
10

nodo B

Blockchain Altura
Fig. 8. intercambio de mensajes despus el comportamiento descrito modificaciones. En comparacin con la Figura 2, hay una diferencia

notable. los inv mensaje se reenva inmediatamente y la verificacin se divide en dos, acelerando la propagacin.

Fig. 9. El histograma de las horquillas blockchain detectados mientras que influye en el

la propagacin en la red de la altura blockchain 200'000 a 210'000.

Cualquier cambio en el comportamiento de los nodos de la red tiene que ser la creacin de una cantidad arbitraria de las transacciones y de ponerla en la red. Como
aprobada en contra de la posibilidad de ser mal utilizado por un atacante para daar la el nodo atacar puede proporcionar la transaccin coincidente, no ser reconocido como
red. En particular, la informacin de retransmisin que no ha sido validado podra permitir un ataque.
a un atacante enviar cantidades arbitrarias de datos que se retransmite entonces, La Figura 2 y la Figura 8 muestran los cambios en el comportamiento. El nodo A es el
abrumando algunos nodos en la red y que resulta en un ataque de denegacin de nodo cuyo comportamiento ha sido alterado. No Tice la verificacin se divide en dos
servicio. fases ( diff y
verificacin) y el mensaje que se enva inv mucho antes.
Este cambio no aumenta el riesgo de sufrir un ataque de denegacin de servicio De nuevo, esto acelera un salto nico y es poco probable que resulte en una gran
como la produccin de un bloque no vlido que pasa la comprobacin de dificultad es tan mejora si se aplica solamente por un nico nodo en la red.
duro como la produccin de un bloque vlido con la misma dificultad. En el lado negativo
de este cambio es poco probable que tenga un gran impacto en el retraso de
propagacin global si se aplica solamente por un nico nodo que no est bien conectado. DO. aumento de la conectividad
Se acelera un solo salto en la ruta desde el origen a los nodos.
El problema ms influyente es la gran distancia entre el origen de una transaccin o
un bloque y los nodos. Para reducir al mnimo la distancia entre dos nodos cualesquiera
que intent conectarse a cada nodo en la red de la creacin de un sub-grfico estrella

B. PipeZining propagacin bloque que se utiliza como un centro de comunicacin central, acelerando la propagacin de
mensajes inv, bloques y transacciones.
Una mejora adicional se puede conseguir mediante entrante inmediatamente reenvo inv
mensajes a los vecinos. El objetivo de esto es para amortizar los tiempos de ida y vuelta
Instruimos a nuestra aplicacin para mantener un pool de conexiones de 4000
entre el nodo y sus vecinos anunciando preventivamente la disponibilidad de un bloque
conexiones abiertas. Esto hizo que se conecte a todas las direcciones anuncian sola,
antes de lo que realmente es. el entrante obtener datos mes sabios para el bloque se
como menos de 4000 nodos eran accesibles en cualquier momento.
ponen en cola a continuacin, hasta que el bloque ha sido recibido y la comprobacin de
dificultad anterior se ha realizado, entonces el bloque es enviado a los vecinos que lo
El resultado es que la distancia entre cualquier par de nodos del cubo conectado a
soliciten. A diferencia del primer cambio, esto puede causar algunos mensajes
est cerca de 2.
adicionales que se envan a partir del hash del bloque de ninguna validacin puede
hacerse. Un atacante podra anunciar un nmero arbitrario de bloques sin ser capaz de
RE. Mediciones
proporcionarles cuando se le pregunt por ello. Los nodos que reciben estos anuncia de
spam transmitirlas a sus vecinos. En caso de que un nodo de detectar que uno de sus Los cambios anteriores se llevaron a cabo en nuestro cliente y probados desde la
vecinos est anunciando bloques que no puede proporcionar que puede volver al altura blockchain 200'000 a 210'000. Durante este tiempo, el cliente se conecta a un
comportamiento original de bloques de verificar primero antes de anunciar ellos. promedio de 3048 nodos de la red y subido a 20,5 millones de mensajes de bloque. Para
cada bloque del nodo recibi un promedio de 2048 solicitudes.

La Figura 9 muestra el histograma de horquillas blockchain mientras que participa en


la red con el cliente modificado. Com pelado al caso no modificado se muestra en la
A pesar de que los nodos pueden ser engaados para reenviar mensajes inv que no Figura 5 una clara mejora es visible. El efecto global de los cambios fue que la tasa se
puede proporcionar el bloque para, el impacto es probable que sea pequeo como los redujo de tenedor blockchain 1,69% a 0,78%,
mensajes inv tienen un pequeo tamao constante de 6 LE. Tenga en cuenta que el mismo
ataque ya es posible gracias es decir, una 53.41% mejora con respecto al caso sin modificar.

9
Conferencia Internacional IEEE de 13 de Computacin Peer-to-Peer

Como se mencion antes, la canalizacin y la minimizacin de verificacin slo comerciantes y sus clientes. CommitCoin [6] es otro sistema que se basa en la
tienen un pequeo efecto, que se multiplica por el ltimo cambio. El ltimo cambio sin blockchain a los compromisos de la fecha de carbono.
embargo tiene requerimientos de ancho de banda de alta como bloques causados picos
VII. CONCLUSIN
de ancho de banda de hasta alrededor de 100 MB / s y dio lugar a una carga total,
durante las mediciones, de datos de bloque en bruto 2,3 1 TB. En este trabajo se analiz cmo la informacin en la red Bitcoin se difunde con el
fin de sincronizar las rplicas del libro mayor. La dependencia de los bloques no slo
retrasa la compensacin de las transacciones, sino que tambin representa una
VI. TRABAJO RELACIONADO amenaza para la propia red. Los grandes bloques se propagan lentamente en la red,

Aunque relativamente joven como un sistema, Bitcoin ha despertado un gran dando un atacante una ventaja.

inters en muchas reas de investigacin. Los temas que se estn investigando


incluyen los de los [4] y los aspectos tcnicos econmicos legales [1], de Bitcoin. Se introduce un modelo que explica la existencia de horquillas blockchain, y
corroborar el modelo para que coincidan con nuestras observaciones. Como horquillas

El problema de la doble gasto ha sido abordada en el artculo original de blockchain son sintomticos de una inconsistencia en las rplicas del libro mayor, es

Nakamoto, pero slo en teora. Karame et al. [1 1] tienen un anlisis en importante que los nodos de la red son conscientes de ellos. Sin embargo, debido a la

profundidad de la probabilidad de un ataque doble gasto para tener xito en varios informacin que eclipsa, la mayora de los nodos no son capaces de detectarlas.

escenarios. Si bien se menciona la posibilidad de un doble gasto que no se


pueden detectar simplemente un perodo ms largo de deteccin, se introduce el Por ltimo, se implement y se midieron algunos cambios en el protocolo de

concepto de eclipsar la informacin, lo que hace que este problema. Bamert et al. Bitcoin que reducen el riesgo de un tenedor blockchain. Nuestras mediciones

[3] proponer algunas mitigaciones para el problema de duplicar el gasto en muestran que un nico nodo de la aplicacin de estos cambios reduce el nmero de

escenarios de pago rpido. horquillas blockchain en la red ms de un 50%. La causa raz del problema sin
embargo es intrnseca a la forma en que la informacin se propaga en la red. Los

Babaioff et al. [2] analizado los incentivos para los nodos que transmita la cambios pueden mitigar el problema en el corto plazo, hasta que se encuentre una

informacin en absoluto en la red y encontraron que son insuficientes. Una estrategia solucin escalable a largo plazo.

dominante en el sistema actual es para un minero de aferrarse a las transacciones


que incluyen tasas, y la reivindicacin ellos por tiempo la creacin de un bloque que Referencias
incluye la transaccin.
[1] Bitcoin moneda virtual: Las caractersticas nicas presentan desafos distintos para
disuadir actividad ilcita. Informe tcnico de la Oficina Federal de Investiga cin de 2012.
la minera Bitcoin menudo requiere un equipo especializado y consume
[2] M. Babaioff, S. Dobzinski, S. Oren, y A. Zohar. En bitcoin y rojo
cantidades gastados de energa. Becker et al. [4] analizar el impacto ecolgico de
globos. En Proc. de Comercio Electrnico, 2012.
Bitcoin como un sistema de moneda en comparacin con las monedas tradicionales. [3] Tobias Bamert, Christian Decker. Lennart Elsen, Samuel Welten, y
Su conclusin es que, si bien las tasas de enviar una transaccin Bitcoin son Roger Wattenhofer. Tomar un aperitivo, pagar con Bitcoin. En Conferencia IEEE 1nternation de Computacin
Peer-to-Peer (P2P), Trento, Italia, 2013.
pequeas, en realidad mantener y proteger la red contra la toma de control es caro.
[4] Jorg Becker, Dominic Breuker, Tobias Heide, Justus Holler, Hans Peter
Como hemos demostrado la cantidad de potencia de clculo en la red es susceptible Rauer, y Rainer Bohme. Geld stinkt, bitcoin auch - Eine Okobilanz der bitcoin bloque de la cadena. En BTC
de ser subestimado. 2012: Taller de Bitcoin.

[5] David Chaum. firmas ciegas para pagos imposibles de rastrear. En Crypto,
volumen 82, pgina 199203, 1982.
Otro tema muy debatido es el anonimato de las transacciones Bitcoin. El hecho de [6] Jeremy Clark y Aleksander Essex. Commitcoin: La datacin por carbono com
que todas las transacciones se registran en un libro de contabilidad replicada y que los compromisos con Bitcoin. En La criptografa financiera y seguridad de datos.
2012.
detalles de las transacciones son por lo tanto accesible por cualquier participante en la
[7] Cynthia Dwork y Moni Naor. Precios a travs de procesamiento o combatir
red podra sugerir que la privacidad no es posible. Sin embargo, Nakamoto afirma correo basura. En Avances en criptologa.
que, puesto que la identidad del titular de una cuenta y la identidad de la cuenta se [8] Matthew Elias. Bitcoin: Templar el anillo de Giges o digital del
privacidad pecuniaria inverosmil. Disponible en SSRN 1937769, 2011.
mantienen separados, la privacidad puede decirse que es bajo seudnimo. Reid et al.
[9] Ryan Fugger. El dinero como pagars en las redes sociales de confianza y una propuesta de
[15] analizar esta afirmacin y sealan que al ponerse de acuerdo la informacin de un protocolo de red moneda descentralizada. 2004. [10] I1ja Gerhardt y Timo Hanke. direcciones de pago y
varias cuentas que participaron en un detalles de la transaccin sobre el propietario de homomrficas
el protocolo de pago por contrato. Corr, abs / 1212.3257, 2012. [II] GO Karame, E. Androulaki, y S. Capkun.
hecho, puede ser recuperado. Shamir et al [17] analiz el grfico de transaccin,
Dos bitcoins en el precio
derivando algunas estadsticas globales, incluyendo una estimacin de que 78% de de uno? ataques de doble gasto en pagos rpidos en Bitcoin. En Proc. de la Conferencia sobre la Seguridad
los bitcoins emitidos no estn circulando, y un anlisis en profundidad de una regin Informtica y Comunicacin, 2012.

[12] R. Karp, C. Schindelhauer, S. Shenker, y B. Vocking. aleatorizado


altamente activo en el grfico de transaccin. Elias [8] discute algunos aspectos
propagacin de rumores. En Proc. de Fundamentos de Ciencias de la Computacin, 2000.
legales y morales, del anonimato, o la falta del mismo, en Bitcoin. [13] Ian Miers, Christina Garman, Matthew Green, y Aviel D. Rubin.
Zerocoin: Annimo distribuye el dinero electrnico de Bitcoin. 2013. [14] Satoshi Nakamoto. Bitcoin: Un
sistema de dinero electrnico peer-to-peer. [ES] F. Reid y M. Harrigan. Un anlisis de anonimato en el sistema bitcoin.

En Proc. de la Conferencia sobre la informtica social (socialcom), 2011.


El problema en el anonimato Bitcoin se abordar ms adelante por ZeroCoin [13], que [16] Ronald L Rivest. billetes de lotera electrnicos como los micropagos. En
Criptografa financiera, pginas 307-314. Springer, 1997. [17] Dorit. Ron y Adi Shamir. El anlisis cuantitativo de la
permite la implementacin de un servicio de mezcla de monedas descentralizada basada
bitcoin completa
en el conocimiento cero. A principios de Hanke et al. [10] present un protocolo de pago grfico de transaccin.

por contrato que se construye en la parte superior de Bitcoin y asegura las transacciones [18] Beverly Yang y Hctor Garca Molina. Ppay: micropagos para pares
sistemas-to-peer. En Proc. de la seguridad informtica y comunicaciones.
entre

10

Potrebbero piacerti anche