Blockchain y Bitcoin (1)
Blockchain es un concepto que ha sido propuesto por círculos académicos durante mucho tiempo, pero que solo se ha popularizado con Bitcoin en los últimos años. Bitcoin es una implementación basada en la tecnología blockchain. Bitcoin es una criptomoneda o moneda digital. Comencemos con Bitcoin y hablemos de cómo Bitcoin utiliza la tecnología blockchain.
Supongamos que durante la final del Mundial de 2006, dos aficionados al fútbol que no se conocían se encontraron contra Italia. Los aficionados franceses dijeron que Francia definitivamente ganaría a Italia con Zidane. Dijo que Italia es invencible. Si no lo crees, apostemos 100 euros. En el mundo real, ¿qué debemos hacer?
He dicho antes que los que trabajamos con ordenadores pasamos más del 90% de nuestro tiempo lidiando con situaciones anormales. Si los humanos fueran muy dignos de confianza, el mundo podría no ser lo que es ahora. Las 600 millas que el estado de Qin prometió al rey Huai de Chu ya no eran 6 millas. Quizás fue el estado de Chu el que unificó a China. Si entregas el dinero a un tercero, ¿qué pasa si el tercero también se escapa? Él robó el dinero. Por lo tanto, en el extraño mundo real, confiar únicamente en un corazón bondadoso no es confiable. Debe haber medios para garantizar firmemente este compromiso, contrato legal, etc. Hoy en día, un enfoque muy común es que el tercero encuentre una institución autorizada, como el gobierno, un banco, etc., o encuentre una persona u organización de buena reputación, en última instancia, todavía es encontrar una institución u organización. persona con credibilidad. Pero en circunstancias normales, este tercero definitivamente "se arrancará el pelo" y cobrará un cierto porcentaje de los gastos de gestión.
Entonces, ¿hay alguna forma de solucionar este problema? Esta es una de las intenciones originales del diseño original de Bitcoin: resolver el problema de confianza entre dos extraños.
Algoritmo de cifrado + contabilidad de varias personas
Primero, hablemos del algoritmo de cifrado. Aquí necesitamos el cifrado asimétrico que mencioné antes, es decir, la clave pública y la clave privada. Todo el mundo puede tener uno o más pares de claves públicas y privadas, pero una clave pública sólo puede tener una clave privada correspondiente, y viceversa. El principio es que dos números primos muy grandes (p y q) se multiplican para obtener un número (n). Si desea descifrar la clave privada basándose en la clave pública, en teoría debe descifrarla violentamente y descubrir cuáles son los dos grandes. números primos por los que se multiplica el número. Actualmente, no existe ninguna clave privada publicada en el mundo que pueda descifrar más de 1024 bits, por lo que es muy seguro utilizar una clave privada de 1024 o 2048 o incluso más.
Luego, con la clave pública y la clave privada, yo, como individuo, puedo cifrar con la clave privada y luego publicar la clave pública. Cualquiera puede usar mi clave pública para descifrar y determinar que esto es lo que publiqué. . De la misma manera, cuando alguien me transfiere dinero, también puedo usar su clave pública para descifrarlo, determinando así que se trata de la identidad de alguien. Esto también se llama firma digital. Los principios son todos iguales, todos son algoritmos de cifrado, obtenidos utilizando la fórmula matemática de Euler, la multiplicación de números primos y otros principios. Este es un gran algoritmo llamado RSA, propuesto por tres matemáticos, siempre que la gente común entienda el concepto y el uso de claves públicas y privadas.
En el modelo tradicional anterior, los bancos o agencias gubernamentales tenían sus propios libros de contabilidad separados. Por ejemplo, si Zhang San transfiriera 100 yuanes a Li Si, ¿cómo se registraría en el libro de contabilidad? Se deducen 100 de la cuenta de Zhang San y se agregan 100 a la cuenta de Li Si, ¿verdad?
Lo mismo ocurre con los libros de contabilidad de varias personas, excepto que la institución centralizada anterior se ha convertido en una institución distribuida y descentralizada de múltiples instituciones e incluso individuos. Por ejemplo, Li Bai transfirió 100 taeles de plata a Du Fu. En el pasado, el Ministerio de Finanzas llevaba cuentas, pero en la cadena de bloques, Tang Taizong, Yang Yuhuan, Zhang Xiaojing, He Zhizhang y muchas otras personas llevaban cuentas juntas. Se registró que Li Taibai transfirió 100 taeles de plata a Du Zimei, como prueba, con el sello de Li Bai adjunto en la parte posterior. De esta manera, con varios libros de contabilidad, sería extremadamente difícil alterarlos. Li Bai podría transferirlos de manera segura a Du Fu sin preocuparse de que alteraría la cantidad o la negaría.
Esto puede resolver el problema de las apuestas de los fanáticos mencionado al principio, pero hay otra pregunta, ¿por qué otros deberían ayudarnos a llevar las cuentas?
La respuesta es que se pague, lo cual está en consonancia con la naturaleza humana. De lo contrario, ¿quién estaría dispuesto a ayudar a mantener una cuenta que no tiene nada que ver con ellos?
Pero al final solo hay una persona que lleva las cuentas, de lo contrario todo será un caos.
Partiendo de la premisa de que es beneficioso, ¿cómo asegurar quién llevará las cuentas? Aquí hay un conocimiento matemático involucrado. Todo el que quiera llevar cuentas, de hecho, los llamados mineros, deben resolver un problema matemático al llevar dinero. No hay ningún truco para este problema matemático. La única forma es poner los números. En la fórmula, el algoritmo es un algoritmo Hash, que es similar a calcular una serie de números. Los mineros solo pueden adivinar, pero no hay otra manera. Además, la probabilidad actual de adivinar este número en Bitcoin es de una entre un billón. Se necesitaría una computadora común para adivinar este número continuamente durante aproximadamente un año.
Pero hay miles de computadoras en el mundo, y si se calculan juntas, la velocidad será mucho más rápida, porque desde el punto de vista de la probabilidad, una computadora definitivamente lo calculará, y esto es de hecho el caso. Veamos un ejemplo de la vida real de Bitcoin.
Además, también puedes ver quién es el Minero y cuántas transacciones (Número de Transacciones) están incluidas en este bloque.
¿Qué pasa si este minero es un individuo con motivos ocultos y, después de realizar el cálculo, manipuló el registro de transferencia y el monto de forma privada?
A. Manipulación de registros/monto de transacciones
Anteriormente introdujimos la tecnología de cifrado de clave pública y privada. En teoría, el minero en sí no tiene la clave privada del remitente o del beneficiario. El registro de transacción manipulado cometerá errores cuando se descifre con la clave pública correcta y eventualmente se considerará ilegal (el autor no está seguro de en qué momento se realizó la identificación, pero está seguro de que este registro puede falsificarse).
B. Eliminar registros de transacciones
Supongamos un escenario: Zhang San quiere comprar una casa de dos dormitorios en el 4.º anillo de circunvalación de Beijing, pero Zhang San no quiere pagarla. y quiere conservarlo en vano House, pensé en una manera furtiva de alterar los registros de transacciones. En teoría, después de que Zhang San pagó, este registro se generó pero no se confirmó. El registro debe esperar hasta que un minero resuelva el rompecabezas. Suponiendo que el minero es uno de los suyos, le pidió que borrara el registro. . Pero hay varias formas de hacerlo:
Como todos sabemos, la minería de Bitcoin lleva mucho tiempo debido a los complicados problemas matemáticos. El ciclo actual es de unos 10 minutos. Esto se basa en la cantidad de personas. en todo el mundo bajo la premisa de que cien mil máquinas mineras estén trabajando a plena capacidad al mismo tiempo. En otras palabras, decenas de miles de transacciones se confirmarán uniformemente y se colocarán en un bloque inmutable cada diez minutos, y estos cientos de miles de máquinas mineras actualizarán sus registros locales al mismo tiempo.
2.1 Si la transacción acaba de generarse y el propietario la ve y luego transfiere los derechos de propiedad a Zhang San en el siguiente segundo, entonces si Zhang San quiere alterar el registro de pago, debe cumplir varias condiciones:
La dificultad del éxito depende de cuántos bloques confirmados siguen al registro manipulado. Si solo hay uno, es demasiado simple, porque el algoritmo de blockchain utiliza de forma predeterminada el primer bloque más largo recibido cuando los mineros publican un nuevo bloque. Entonces, después de esta modificación, se hará de una vez por todas, porque todos los libros de contabilidad se sincronizarán, pero también hay un problema, es decir, esta sincronización se registrará si el propietario no puede verificar la cuenta, Zhang San eventualmente lo hará. ser arrestado. Si hay muchos, por ejemplo, después de que Zhang San transfiere el dinero, el propietario solo transfiere los derechos de propiedad 1 hora después de confirmar la transferencia, entonces Zhang San debe alterar la información del bloque anterior de aproximadamente 6 bloques, lo cual es muy problemático, porque cada bloque Todo apuntará al bloque anterior y cada bloque tendrá un resumen (Hash), que es un resumen de todos los registros de transacciones en el bloque actual. Entonces, si intenta modificar un bloque que se escribió hace mucho tiempo, se cambiarán los resúmenes de los bloques posteriores. Este es el árbol hash (MerkleTree). Otros nodos pueden informar información de que la cadena de bloques ha sido manipulada. Esto implica el punto más importante. El 51% de potencia informática que a menudo se menciona significa que si Zhang San posee más del 50% de los libros de contabilidad y reconoce esta modificación, otros nodos también reconocerán esta modificación de acuerdo con el diseño del algoritmo. Sin embargo, no hablemos del hecho de que casi nadie en el mundo puede hacer las dos cosas anteriores al mismo tiempo. Incluso si usted puede hacerlo, si alguien tiene preguntas sobre esto, aún puede forzar la reparación del sistema. Ya se han producido problemas similares en Ethereum antes, y el resultado es que se manipularon bloques enteros de Ethereum y se recuperó propiedad robada. Evento de bifurcación de Ethereum.
Lo anterior es sólo una introducción superficial a las características de Bitcoin implementadas mediante la aplicación de la tecnología blockchain. Puede lograr apertura, equidad, neutralidad e igualdad.
Dos desconocidos cualesquiera en el mundo pueden confiar en Bitcoin u otras tecnologías blockchain para confiar el uno en el otro.