Resumen de papel de metadatos bitcoin-ng – un protocolo escalable de blockchain bitcoin кошелек регистрация

El sistema blockchain está compuesto por un conjunto de nodos N conectados por una red confiable de igual a igual. Los nodos pueden generar pares de claves público-privadas para sí mismos. El sistema emplea un sistema cryptopuzzle, definido por una función hash criptográfica H. La solución a un rompecabezas definido por la cadena y es una cadena x tal que H (y | x) – el hash de la concatenación de los dos– es más pequeño que un objetivo (es decir, el hash tiene un número k de ceros a la izquierda). Cada nodo i tiene una cantidad limitada de potencia de cálculo, llamada potencia de minería, medida por el número de posibles soluciones de rompecabezas que puede probar por segundo. Una solución a un rompecabezas constituye una "prueba de trabajo", ya que indica estadísticamente la cantidad de trabajo que un nodo debe realizar para encontrarlo.

Bitcoin proporciona un protocolo de cadena de bloques tolerantes a fallas bizantinas para implementar una criptomoneda descentralizada. Cada usuario ordena direcciones y envía Bitcoins formando una transacción desde su dirección a la dirección de otra y enviándola a los nodos de minería de Bitcoin. Las transacciones están protegidas con técnicas criptográficas que aseguran que solo el propietario legítimo de un Dirección de Bitcoin puede transferir fondos desde allí. Un cliente posee x Bitcoins en el tiempo t si el agregado de salidas no gastadas a su dirección es x. Los mineros aceptan transacciones solo si sus fuentes no se han gastado, lo que impide que los usuarios gasten doblemente sus fondos. Los mineros realizan las transacciones en un registro global de solo anexar llamado blockchain. Si múltiples mineros crean bloques con el mismo bloque anterior, la cadena se bifurca en ramas, formando un árbol. Todos los mineros agregan bloques a la cadena más pesada de la que conocen, con un desempate aleatorio.

Aumentar el tamaño de bloque (que actualmente está configurado en 1 MB) mejora el rendimiento, pero los bloques más grandes resultantes tardan más en propagarse en la red. Por supuesto, aumentar eso a 10 MB no causará un problema significativo en la propagación, después de que todo el ancho de banda no sea tan limitado. Sin embargo, tomado en extremo, la compensación estará allí. Además, cada segundo de los recuentos iniciales cuenta para extraer el próximo bloque: los nuevos bloques recibidos tarde significan que los mineros están desperdiciando recursos al construir en un antiguo bloque que ya no es el más reciente.

Bitcoin-NG es un protocolo que mejora Bitcoin en términos de rendimiento de transacción y latencia de propagación. La latencia de Bitcoin-NG está limitada solo por el retraso de propagación de la red, y su ancho de banda está limitado solo por la capacidad de procesamiento de los nodos individuales. Bitcoin-NG logra esta mejora en el rendimiento desvinculando la operación blockchain de Bitcoin en dos planos: elección de líder y serialización de transacción. En Bitcoin-NG, el consenso se retrasa solo para identificar al líder, y la serialización es realizada por el líder. Esto me parece una aplicación clásica de la replicación de cadenas (mientras que el documento no cita la replicación de cadenas).

Por lo tanto, el protocolo introduce dos tipos de bloques: bloques clave para elección de líder y microbloques que contienen las entradas del libro mayor. Como un Bloque Bitcoin, un bloque clave contiene la referencia al bloque anterior (ya sea un bloque clave o un microbloque, generalmente este último), el tiempo Unix actual, una transacción de coinbase para pagar la recompensa, un valor objetivo y un campo nonce que contiene bits arbitrarios. A diferencia de Bitcoin, un bloque clave en Bitcoin-NG contiene una clave pública que se utilizará en microbloques posteriores.

Una vez que un nodo genera un bloque clave, se convierte en el líder. Como líder, el nodo puede generar microbloques a una velocidad establecida menor que un máximo predefinido. (Específicamente, si la marca de tiempo de un microbloque está en el futuro, o si su diferencia con la marca de tiempo de su predecesor es menor que el mínimo, entonces el microbloque no es válido. Esto prohíbe que un líder codicioso inunde el sistema con microbloques.) Un microbloque contiene entradas del libro mayor y un encabezado. El encabezado contiene la referencia al bloque anterior, la hora actual de Unix, un hash criptográfico de su entradas del libro mayor, y una firma criptográfica del encabezado. La firma utiliza la clave privada que coincide con la clave pública en el último bloque clave de la cadena.

La prevención de la horquilla Microblock es esencial para este sistema, ya que el líder puede escupir muchos microbloques rápidamente para ganar más dinero con las tarifas de transacción. Para informar sobre un líder que viola la tasa de producción de microbloques, se emplea una transacción de veneno. La transacción venenosa contiene el encabezado del primer bloque en la rama depurada como prueba de fraude, y debe colocarse en la cadena de bloques dentro de la ventana de madurez del bloque de claves del líder portador de errores, y antes de que el líder malintencionado gaste los ingresos .

El nuevo líder no puede falsificar un microbloque ofensivo para acusar al antiguo líder, porque el transacción de veneno debe contener la firma privada del líder anterior. Además, la partición 40/60 del crédito para transacciones de microbloques entre el líder anterior y el nuevo líder incentiva al nuevo líder a no cortar el microbloque, ya que le gustaría obtener más ingresos de ellos. Entonces, el nuevo líder que explota el último bloque clave tiene todos los incentivos para comportarse de acuerdo con el protocolo. Se muestra que la partición 40/60 del crédito satisface estas restricciones mediante el modelado matemático en el documento.

Parece que los microbloques no necesitan estar encadenados en una secuencia. Más bien, los microbloques forman un conjunto que sigue el bloque clave del líder correspondiente y que satisface las limitaciones de velocidad prescritas en el protocolo. Entonces, ¿cuál es el conjunto de microbloques autorizado tomado entonces, dado que un conjunto ligeramente diferente de microbloques puede llegar a diferentes nodos de la red. Parece que el nuevo líder (que mina el siguiente bloque clave) es el que decide con autoridad sobre eso.

1) En el protocolo de Bitcoin, si aumentamos el tamaño del bloque, ¿qué podría salir mal? Eso definitivamente ayudaría con los problemas de rendimiento que enfrenta Bitcoin. Significaría un ligero aumento en la latencia de entrega dependiendo del ancho de banda disponible en la ruta. Pero incluso aumentarlo a 10MB es poco probable que rompa nada, creo. (Pero bueno, soy un novato en este espacio.) Entonces, ¿por qué hay debates interminables sobre esto en el Comunidad Bitcoin? ¿Podría ser que los pequeños bloqueadores se preocupen más por el aumento en el volumen de transacciones, lo que significaría que la historia crece rápidamente, lo que haría que convertirse en un nodo completo de Bitcoin (en lugar de solo un cliente) se convirtiera en una carga? ¿Pero no es eso solo retrasar lo inevitable? ¿Está aquí la idea de retrasar lo inevitable hasta que haya más espacio de almacenamiento y computación disponibles? Eso me parece tan malo como ingeniero.

2) Parece que será necesario un hard fork para cambiar al protocolo Bitcoin-NG, porque el actual Clientes de Bitcoin desconocen el concepto de microbloques. Oh, bueno, buena suerte con conseguir un "consenso" en un tenedor duro en Protocolo de Bitcoin. En su última publicación de blog "Por qué la descentralización es importante", Chris Dixon citó como el mayor problema con los servicios centralizados que pueden cambiar las reglas sobre los usuarios: " La buena noticia es que miles de millones de personas tuvieron acceso a tecnologías increíbles, muchas de las cuales eran de uso gratuito. La mala noticia es que se volvió mucho más difícil para las nuevas empresas, los creadores y otros grupos aumentar su presencia en Internet sin preocuparse de que las plataformas centralizadas cambien las reglas sobre ellos, lo que les quita el público y las ganancias. Esto a su vez sofocó la innovación, haciendo que Internet fuera menos interesante y dinámica."

banner