Proceso FHE, fuente de la imagen: Data Privacy Made Easy
FHE(Fully homomorphic encryption)es una tecnología de encriptación avanzada que permite realizar cálculos directamente en los datos encriptados. Esto significa que se puede procesar datos mientras se protege la privacidad. FHE tiene varios casos de uso práctico, especialmente en el procesamiento y análisis de datos bajo protección de privacidad, como en las áreas de finanzas, salud médica, computación en la nube, aprendizaje automático, sistemas de votación, internet de las cosas, protección de la privacidad en blockchain, entre otros. Sin embargo, la comercialización todavía requiere cierto tiempo, ya que el Algoritmo asociado conlleva un costo computacional y de memoria extremadamente alto, lo que limita su escalabilidad. A continuación, realizaremos un breve recorrido por los principios básicos de este Algoritmo y nos centraremos en los problemas que enfrenta en el ámbito de la criptografía.
Principio básico
Cifrado homomórfico图示
Primero, debemos lograr que los datos de encriptación se calculen y que obtengamos el mismo resultado, como se muestra en la imagen anterior. Este es nuestro objetivo básico. En criptografía, se suelen usar polinomios para ocultar la información original, ya que los polinomios se pueden convertir en problemas de álgebra lineal y también en problemas de cálculo de vectores, lo que facilita el cálculo en computadoras modernas altamente optimizadas (como cálculos paralelos), por ejemplo, 3 x 2 + 2 x + 1 puede ser representado como el vector [ 1, 2, 3 ].
假设,我们要encriptación 2 ,在一个简化的 HE 系统中,我们可能会:
Elija un polinomio Llave secreta, como s(x) = 3 x 2 + 2 x + 1
Generar un polinomio aleatorio, como a(x) = 2 x 2 + 5 x + 3
Generar un polinomio de error pequeño, como e(x) = -1 x + 2
c(x) = 2 + a(x)*s(x) + e(x)
Vamos a hablar de por qué necesitamos hacer esto. Supongamos que tenemos el texto cifrado c(x). Si queremos obtener el texto sin formato m, la fórmula es c(x) - e(x) - a(x) * s(x) = 2. Aquí asumimos que el polinomio aleatorio a(x) es público, por lo que solo necesitamos asegurarnos de que nuestra clave secreta s(x) se mantenga en secreto. Si conocemos s(x) y tenemos c(x) como un pequeño error, teóricamente podemos ignorarlo y obtener el texto sin formato m.
Aquí hay una primera pregunta, hay tantos polinomios, ¿cómo elegir el polinomio? ¿Cuál es el grado óptimo del polinomio? En realidad, el grado del polinomio está determinado por el algoritmo de implementación de HE. Por lo general, es una potencia de 2, como 1024/2048, etc. Los coeficientes del polinomio se eligen al azar de un campo finito q, como mod 10000, por lo que se eligen al azar entre 0-9999. Hay muchos algoritmos que siguen la selección aleatoria de coeficientes, como la distribución uniforme, la distribución gaussiana discreta, etc. Diferentes esquemas también tienen diferentes requisitos de selección de coeficientes, generalmente para cumplir con el principio de resolución rápida en ese esquema.
El segundo problema, ¿qué es el ruido? El ruido se usa para confundir a los atacantes, porque supongamos que todos nuestros números son adoptados por s(x), y el polinomio aleatorio está en un campo, entonces existe cierta regularidad, siempre que se introduzca suficientes veces el Texto sin formato m, según la salida de c(x), se puede determinar la información de estos dos s(x) y c(x). Si se introduce ruido e(x), se puede garantizar que no se puede obtener s(x) y c(x) mediante una simple enumeración repetida, porque hay un pequeño error aleatorio completo presente. Este parámetro también se conoce como presupuesto de ruido (Noise Budget). Supongamos q = 2 ^ 32, el ruido inicial puede estar alrededor de 2 ^ 3. Después de algunas operaciones, el ruido puede subir a 2 ^ 20. En este punto, todavía hay suficiente espacio para descifrar, porque 2 ^ 20 << 2 ^ 32.
Una vez que tenemos el polinomio, ahora queremos convertir la operación c(x) * d(x) en un “circuito”, que es común en ZKP debido a que este concepto abstracto proporciona un modelo de cálculo general para cualquier cálculo, permite rastrear y gestionar con precisión el ruido introducido por cada operación, y facilita la introducción en hardware especializado como ASIC, FPGA para cálculos acelerados, como en el modelo SIMD. Cualquier operación compleja se puede mapear en elementos de circuito modulares simples, como la suma y la multiplicación.
Representación de circuitos aritméticos
La suma y la multiplicación pueden expresar la resta y la división, por lo que se puede expresar cualquier cálculo. Los coeficientes del polinomio se representan en binario y se denominan entrada del circuito. Cada Nodo del circuito representa una operación de suma o multiplicación. Cada (*) representa una puerta de multiplicación y cada (+) representa una puerta de adición. Este es el circuito Algoritmo.
Aquí surge una cuestión: introducimos e(x) para no revelar información semántica, lo cual se denomina ruido. En nuestros cálculos, la adición hace que dos polinomios e(x) se conviertan en polinomios del mismo grado. En la multiplicación, el producto de dos polinomios de ruido aumentará exponencialmente el grado de e(x) y el tamaño del texto. Si el ruido es demasiado grande, el cálculo del resultado se verá afectado por el ruido, lo que hará que el mensaje original m no se pueda recuperar. Esta es la razón principal por la cual el Algoritmo de cifrado homomórfico restringe cualquier cálculo arbitrario, ya que el ruido aumenta exponencialmente, alcanzando rápidamente un umbral inutilizable. En el ámbito de los circuitos, esto se conoce como la Profundidad del circuito, y el número de operaciones de multiplicación es el valor de la Profundidad del circuito.
El principio básico del cifrado homomórfico HE se muestra en la figura anterior. Para resolver el problema de ruido que limita el cifrado homomórfico, se han propuesto varias soluciones:
Dentro de este contexto, LHE es un Algoritmo muy adecuado, ya que en este Algoritmo, una vez que se determina la Profundidad, se puede ejecutar cualquier función dentro de esa Profundidad, pero PHE y SHE no pueden lograr ser Turing completo. Por lo tanto, basándose en esto, los criptógrafos han investigado y propuesto tres técnicas para construir FHE, encriptación completamente homomórfica, con la esperanza de lograr la visión de ejecutar cualquier función en una Profundidad ilimitada.
Modulus Switching(切换模数):Ya sea la multiplicación o el cambio de clave, ambos aumentarán el índice de ruido de forma exponencial. El módulo q es el Mod 10000 que mencionamos anteriormente, solo se puede tomar como parámetro dentro de [ 0, 9999 ], cuanto mayor sea q, el ruido seguirá estando dentro de q después de múltiples cálculos, lo que permite descifrarlo. Por lo tanto, después de múltiples operaciones, para evitar que el índice de ruido aumente exponencialmente más allá del umbral, es necesario utilizar el cambio de módulo para reducir el presupuesto de ruido y así reducir el ruido. Aquí podemos obtener un principio básico, si nuestros cálculos son muy complejos y el circuito es Profundidad, entonces necesitamos un presupuesto de ruido más grande para q para contener la utilidad después de múltiples subidas exponenciales.
Bootstrap: Sin embargo, para lograr cálculos de profundidad infinita, Modulus solo puede limitar el aumento de ruido, pero cada cambio hará que el rango de q sea más pequeño. Sabemos que una vez que se reduce, significa que la complejidad del cálculo debe disminuir. Bootstrap es una técnica de actualización que restablece el ruido a su nivel original en lugar de reducirlo. No es necesario reducir el módulo en Bootstrap, por lo que puede mantener la capacidad de cálculo del sistema. Sin embargo, el inconveniente es que consume una gran cantidad de recursos de potencia computacional.
En general, para cálculos con un número limitado de pasos, el uso de Modulus Switching puede Soltar el ruido, pero también Soltar el módulo, es decir, el presupuesto de ruido, lo que resulta en una capacidad de cálculo comprimida. Por lo tanto, esto solo se aplica a cálculos con un número limitado de pasos. Con Bootstrap, se puede lograr un reinicio de ruido, lo que significa que sobre la base del algoritmo LHE, se puede lograr un FHE verdadero, es decir, cálculos infinitos de cualquier función, y esto también es lo que significa Fully en FHE.
Pero las desventajas también son evidentes, ya que se necesita un gran Potencia computacional de recursos. Por lo tanto, en general, estas dos técnicas de reducción de ruido se utilizarán en combinación, Modulus switching se utiliza para la gestión diaria del ruido, y latencia requiere tiempo de inicio. Solo cuando Modulus switching no puede controlar efectivamente el ruido más, se utilizará el bootstrap, que es más costoso en términos de cálculo.
Actualmente, las soluciones de FHE tienen las siguientes implementaciones concretas, todas utilizando la tecnología central de Bootstrap:
Esto también nos lleva a un tipo de circuito del que no hemos hablado, que es el tipo de circuito booleano. Los circuitos aritméticos que hemos presentado son principalmente abstractos, como la suma de 1+ 1 y también la adición o la división, mientras que los circuitos booleanos convierten todos los números en sistema binario (01) y realizan operaciones booleanas, como NOT, OR y AND, que son similares a la implementación de circuitos en nuestras computadoras. Los circuitos aritméticos son más abstractos en términos de circuitos.
Por lo tanto, podemos considerar de manera muy rudimentaria las operaciones booleanas como un procesamiento flexible menos denso en datos, mientras que las operaciones aritméticas son un enfoque para aplicaciones intensivas en datos.
Problemas que enfrenta FHE
Debido a que nuestras computaciones requieren encriptación antes de convertirse en ‘circuitos’, y debido a que las computaciones simples solo implican sumar 2 + 4, pero después de la encriptación, se introducen numerosos procesos criptográficos indirectos junto con tecnologías avanzadas como Bootstrap para resolver problemas de ruido, lo que resulta en un costo de cálculo que es del orden de magnitud N veces mayor que el de las computaciones normales.
Usamos un ejemplo del mundo real para que los lectores sientan el gasto adicional de recursos computacionales en estos procesos criptográficos. Supongamos que un cálculo normal en un procesador de 3 GHz requiere 200 ciclos de reloj, entonces un desencriptado AES-128 normal tomaría aproximadamente 67 nanosegundos (200/3 GHz). La versión FHE tomaría 35 segundos, lo que es aproximadamente 522,388,060 veces más que la versión normal (35/67 e-9). Es decir, con los mismos recursos computacionales, el Algoritmo normal y el Algoritmo FHE requieren aproximadamente 5 mil millones de veces más recursos computacionales.
Proyecto DARPA dprive, fuente de la imagen: DARPA
La DARPA de Estados Unidos construyó específicamente el programa Dprive en 2021 para garantizar la seguridad de los datos. Invitó a varios equipos de investigación, incluidos Microsoft, Intel, etc. Su objetivo es crear un acelerador de FHE y una pila de software correspondiente para que la velocidad de cálculo de FHE sea más adecuada para operaciones similares a datos no encriptados, con el objetivo de lograr una velocidad de cálculo de FHE aproximadamente 1/10 de la de la computación normal. Tom Rondeau, gerente del proyecto de DARPA, señaló: ‘Estimamos que en el mundo de FHE, nuestra velocidad de cálculo es aproximadamente un millón de veces más lenta que en el mundo de texto plano’.
Y Dprive se enfoca principalmente en los siguientes aspectos:
Ampliación de la longitud de palabra del procesador: Los sistemas informáticos modernos utilizan una longitud de palabra de 64 bits, es decir, un número tiene un máximo de 64 bits, pero en realidad q a menudo es de 1024 bits, si queremos implementarlo, debemos dividir nuestro q, lo que afectará a los recursos de memoria y velocidad. Por lo tanto, para lograr un q más grande, es necesario construir un procesador con una longitud de palabra de 1024 bits o más. El campo finito q es muy importante, como mencionamos anteriormente, cuanto más grande sea, más pasos se pueden calcular, y las operaciones de arranque se pueden retrasar lo más posible, lo que reduce el consumo total de recursos de cálculo. q desempeña un papel fundamental en FHE, afectando casi todos los aspectos del esquema, incluyendo la seguridad, el rendimiento, la cantidad de cálculo que se puede realizar y los recursos de memoria necesarios.
Construir un procesador ASIC: Como mencionamos anteriormente, debido a la facilidad de paralelización y otras razones, construimos polinomios y circuitos a través de ellos, similar a ZK. Las actuales CPU y GPU no tienen la potencia computacional y los recursos de memoria necesarios para ejecutar estos circuitos, por lo que es necesario construir un procesador ASIC especializado para permitir el algoritmo FHE.
Construir una arquitectura MIMD paralela, a diferencia de la arquitectura paralela SIMD, SIMD solo puede ejecutar una sola instrucción en múltiples datos, es decir, dividir y procesar en paralelo los datos. Pero MIMD puede dividir los datos y utilizar diferentes instrucciones para el cálculo. SIMD se utiliza principalmente para el paralelismo de datos, que es la arquitectura principal para el procesamiento paralelo de transacciones en la mayoría de los proyectos de cadena de bloques. MIMD puede manejar varios tipos de tareas paralelas. MIMD es técnicamente más complejo y requiere un enfoque en la sincronización y comunicación.
El programa DEPRIVE de DARPA está a solo un mes de su vencimiento. Originalmente, el plan DEPRIVE iba a comenzar en 2021 y concluir en tres etapas en septiembre de 2024, pero parece que ha tenido un progreso lento y aún no ha alcanzado el objetivo de ser 1/10 más eficiente que la computación normal.
Aunque el avance de la tecnología FHE es lento, al igual que la tecnología ZK, se enfrenta al grave problema de que la implementación de hardware es un requisito previo para la implementación de la tecnología. Sin embargo, seguimos creyendo que a largo plazo, la tecnología FHE sigue teniendo un significado único, especialmente en la protección de datos sensibles enumerados en la primera parte. Para el Departamento de Defensa DARPA, que tiene una gran cantidad de datos sensibles, si quiere liberar la capacidad genérica de la IA para uso militar, necesita entrenar la IA de forma segura. Además, también es aplicable a datos sensibles clave en campos como la medicina y las finanzas. De hecho, FHE no es adecuado para todos los cálculos comunes, sino que se centra más en las necesidades de cálculo de datos sensibles, lo que es especialmente importante para la era post-cuántica.
Para esta tecnología de vanguardia, debemos considerar la diferencia de tiempo entre el ciclo de inversión y la comercialización. Por lo tanto, debemos ser muy cautelosos en cuanto al tiempo de implementación de FHE.
La combinación de blockchain
En la cadena Bloquear, FHE también se utiliza principalmente para proteger la privacidad de los datos, y los campos de aplicación incluyen la privacidad en cadena, la privacidad de los datos de entrenamiento de IA, la privacidad de la votación en la cadena, la revisión de la transacción en la cadena blindada, etc. Entre ellas, FHE también es conocida como una de las posibles soluciones de MEV on-chain. De acuerdo con nuestro artículo de MEV, “Iluminando el Bosque Oscuro – Desmitificando MEV”, muchos escenarios actuales de MEV son simplemente formas de rediseñar MEV, no soluciones, y de hecho los problemas de UX planteados por los ataques sándwich siguen sin resolverse. La solución que se nos ocurrió al principio también fue encriptación de la transacción directamente, manteniendo el estado público.
Proceso MEV PBS
Pero también hay un problema, si encriptamos completamente las transacciones, también desaparecerán las externalidades positivas generadas por los MEV bots. Los validadores Builder deben funcionar en base a una Máquina virtual FHE, los validadores también deben verificar las transacciones para asegurar la corrección del estado final, lo que aumentaría significativamente los requisitos para ejecutar un Nodo y ralentizaría en millones de veces el rendimiento de toda la red.
Proyectos principales
Paisaje FHE
FHE es una tecnología relativamente nueva, y la mayoría de los proyectos que utilizan la tecnología FHE actualmente son construidos por Zama, como Fhenix, Privasea, Inco Network, Mind Network. La capacidad de implementación de FHE del proyecto Zama ha sido reconocida por estos proyectos. La mayoría de estos proyectos se construyen utilizando la biblioteca proporcionada por Zama, y la principal diferencia es el modelo de negocio. Fhenix desea construir una Capa 2 de Optimism centrada en la privacidad, mientras que Privasea desea utilizar la capacidad de FHE para realizar cálculos de datos de LLM, pero esta es una operación de datos muy pesada que requiere altos requisitos técnicos y de hardware para la tecnología FHE, y el TFHE en el que se basa Zama puede no ser la opción óptima. Inco Network y Fhenix utilizan fhEVM, pero uno construye Layer 1 y otro Capa 2. Arcium es una fusión de varias tecnologías criptográficas, incluyendo FHE, MPC y ZK. El modelo de negocio de Mind Network es bastante original, eligiendo la ruta de Restaking para resolver problemas de seguridad económica y confianza en la votación en la capa de consenso mediante el suministro de liquidez y la arquitectura subred basada en FHE.
Zama
Zama es un esquema basado en TFHE, que se caracteriza por utilizar la tecnología Bootstrap, que se centra en el procesamiento de operaciones booleanas y operaciones de enteros de longitud baja. Aunque es una implementación técnica más rápida en comparación con los esquemas FHE que hemos implementado, todavía existe una gran diferencia en comparación con los cálculos normales. Además, no puede realizar cálculos arbitrarios. En tareas intensivas en datos, estas operaciones pueden llevar a una profundidad de circuito demasiado grande para manejar. No es un esquema intensivo en datos y solo es adecuado para el procesamiento de encriptación en ciertos pasos críticos.
TFHE actualmente tiene código de implementación listo. El trabajo principal de Zama es reescribir TFHE utilizando el lenguaje Rust, es decir, sus paquetes rs-TFHE. Además, para Soltar la barrera de entrada de los usuarios de Rust, también ha desarrollado una herramienta de transpilación llamada Concrate, que puede convertir Python en rs-TFHE equivalente. Con esta herramienta, es posible transcribir lenguajes de modelos grandes basados en Python a lenguaje rust basado en TFHE-rs. De esta manera, es posible ejecutar grandes modelos basados en Cifrado homomórfico, pero este tipo de tareas intensivas en datos no son realmente adecuadas para el escenario de TFHE. El producto fhEVM de Zama es una tecnología que implementa Contratos inteligentes confidenciales completamente Cifrado homomórfico (FHE) en EVM, lo que permite admitir Contratos inteligentes de encriptación de extremo a extremo basados en el lenguaje Solidity.
En general, Zama, como producto To B, ha construido una pila de desarrollo de blockchain + AI basada en TFHE bastante completa. Puede ayudar a los proyectos web3 a construir de manera sencilla la infraestructura y las aplicaciones FHE.
Octra
Octra tiene un punto especial en el sentido de que utiliza una tecnología innovadora para lograr FHE. Utiliza una técnica llamada hypergraphs para lograr el bootstrap. También está basado en circuitos booleanos, pero Octra cree que la técnica basada en hypergraphs puede lograr un FHE más eficiente. Esta es la tecnología original de Octra para lograr FHE, y el equipo tiene habilidades de ingeniería y criptografía muy sólidas.
Octra ha desarrollado un nuevo lenguaje de contratos inteligentes, que utiliza bibliotecas de código OCaml, AST y ReasonML (un lenguaje específico para interactuar con la cadena de bloques Octra y aplicaciones de contratos inteligentes) junto con C++. Su biblioteca Hypergraph FHE construida es compatible con cualquier proyecto.
Su arquitectura también es similar a proyectos como Mind Network, Bittensor, Allora, etc., que han construido una Mainnet, con otros proyectos como subnets, creando un entorno de ejecución mutuamente aislado. Al mismo tiempo, al igual que estos proyectos, todos han construido un nuevo protocolo de consenso más adecuado para la propia arquitectura. Octra ha construido un protocolo de consenso ML-consensus basado en aprendizaje automático, que es esencialmente basado en DAG (grafo acíclico dirigido).
El principio técnico del Consenso aún no se ha revelado, pero podemos hacer una suposición aproximada. Básicamente, las transacciones se envían a la red y se utiliza el algoritmo de SVM (Máquina de Vectores de Soporte) para determinar el mejor nodo de procesamiento, principalmente seleccionando según la carga de red de los nodos actuales. El sistema utilizará datos históricos (aprendizaje de algoritmo de ML) para determinar la mejor ruta de consenso del nodo padre. Con solo cumplir con 1/2 de los nodos, se puede lograr el consenso de la base de datos en constante aumento.
Esperando
Estado actual del desarrollo de la criptografía de vanguardia, fuente de la imagen: Verdict
La tecnología FHE es una tecnología orientada al futuro, cuyo desarrollo todavía está por detrás de la tecnología ZK debido a la falta de inversión de capital, la baja eficiencia y los altos costos que trae la protección de la privacidad, lo que hace que la mayoría de las instituciones comerciales carezcan de incentivos. El desarrollo de la tecnología ZK se ha acelerado aún más debido a la inversión de Crypto VC. El FHE todavía está en una etapa muy temprana y, incluso ahora, hay pocos proyectos en el mercado debido a su alto costo, dificultad técnica y perspectivas de comercialización inciertas. En 2021, DARPA se unió a varias empresas como Intel, Microsoft, etc., para iniciar un plan de 42 meses para superar el FHE, y aunque ha habido cierto progreso, todavía está lejos de alcanzar los objetivos de rendimiento. Con la atención de Crypto VC en esta dirección, se espera que más fondos fluyan hacia esta industria, y se espera que aparezcan más proyectos de FHE en la industria, con equipos con fuertes capacidades de ingeniería e investigación, como Zama, Octra, etc., ocupando un lugar central en el escenario. La combinación de la tecnología FHE con la comercialización y el desarrollo actual de la cadena de bloques sigue siendo digna de exploración, y su aplicación más destacada actualmente es la anonimización de votos de Nodo, aunque su alcance sigue siendo limitado.
Al igual que ZK, la implementación de chips FHE es una de las condiciones previas para la comercialización de FHE. Actualmente, varios fabricantes como Intel, Chain Reaction, Optalysys, etc., están explorando esta área. A pesar de que FHE enfrenta muchas resistencias técnicas, con la implementación de chips FHE, la encriptación completamente homomórfica, como una tecnología muy prometedora y con una demanda precisa, traerá cambios profundos a industrias como defensa, finanzas, atención médica, etc., liberando el potencial de combinar estos datos privados con futuros algoritmos cuánticos, y también experimentará su momento de explosión.
Estamos dispuestos a explorar esta tecnología fronteriza temprana, si está construyendo productos FHE verdaderamente comercializables, o tiene innovaciones tecnológicas más avanzadas, ¡no dude en ponerse en contacto con nosotros!
Ver originales
Esta página puede contener contenido de terceros, que se proporciona únicamente con fines informativos (sin garantías ni declaraciones) y no debe considerarse como un respaldo por parte de Gate a las opiniones expresadas ni como asesoramiento financiero o profesional. Consulte el Descargo de responsabilidad para obtener más detalles.
Instituto de Investigación de Gate Ventures: FHE, vistiendo la capa de invisibilidad de Harry Potter
¿Qué es FHE
Proceso FHE, fuente de la imagen: Data Privacy Made Easy
FHE(Fully homomorphic encryption)es una tecnología de encriptación avanzada que permite realizar cálculos directamente en los datos encriptados. Esto significa que se puede procesar datos mientras se protege la privacidad. FHE tiene varios casos de uso práctico, especialmente en el procesamiento y análisis de datos bajo protección de privacidad, como en las áreas de finanzas, salud médica, computación en la nube, aprendizaje automático, sistemas de votación, internet de las cosas, protección de la privacidad en blockchain, entre otros. Sin embargo, la comercialización todavía requiere cierto tiempo, ya que el Algoritmo asociado conlleva un costo computacional y de memoria extremadamente alto, lo que limita su escalabilidad. A continuación, realizaremos un breve recorrido por los principios básicos de este Algoritmo y nos centraremos en los problemas que enfrenta en el ámbito de la criptografía.
Principio básico
Cifrado homomórfico图示
Primero, debemos lograr que los datos de encriptación se calculen y que obtengamos el mismo resultado, como se muestra en la imagen anterior. Este es nuestro objetivo básico. En criptografía, se suelen usar polinomios para ocultar la información original, ya que los polinomios se pueden convertir en problemas de álgebra lineal y también en problemas de cálculo de vectores, lo que facilita el cálculo en computadoras modernas altamente optimizadas (como cálculos paralelos), por ejemplo, 3 x 2 + 2 x + 1 puede ser representado como el vector [ 1, 2, 3 ].
假设,我们要encriptación 2 ,在一个简化的 HE 系统中,我们可能会:
Vamos a hablar de por qué necesitamos hacer esto. Supongamos que tenemos el texto cifrado c(x). Si queremos obtener el texto sin formato m, la fórmula es c(x) - e(x) - a(x) * s(x) = 2. Aquí asumimos que el polinomio aleatorio a(x) es público, por lo que solo necesitamos asegurarnos de que nuestra clave secreta s(x) se mantenga en secreto. Si conocemos s(x) y tenemos c(x) como un pequeño error, teóricamente podemos ignorarlo y obtener el texto sin formato m.
Aquí hay una primera pregunta, hay tantos polinomios, ¿cómo elegir el polinomio? ¿Cuál es el grado óptimo del polinomio? En realidad, el grado del polinomio está determinado por el algoritmo de implementación de HE. Por lo general, es una potencia de 2, como 1024/2048, etc. Los coeficientes del polinomio se eligen al azar de un campo finito q, como mod 10000, por lo que se eligen al azar entre 0-9999. Hay muchos algoritmos que siguen la selección aleatoria de coeficientes, como la distribución uniforme, la distribución gaussiana discreta, etc. Diferentes esquemas también tienen diferentes requisitos de selección de coeficientes, generalmente para cumplir con el principio de resolución rápida en ese esquema.
El segundo problema, ¿qué es el ruido? El ruido se usa para confundir a los atacantes, porque supongamos que todos nuestros números son adoptados por s(x), y el polinomio aleatorio está en un campo, entonces existe cierta regularidad, siempre que se introduzca suficientes veces el Texto sin formato m, según la salida de c(x), se puede determinar la información de estos dos s(x) y c(x). Si se introduce ruido e(x), se puede garantizar que no se puede obtener s(x) y c(x) mediante una simple enumeración repetida, porque hay un pequeño error aleatorio completo presente. Este parámetro también se conoce como presupuesto de ruido (Noise Budget). Supongamos q = 2 ^ 32, el ruido inicial puede estar alrededor de 2 ^ 3. Después de algunas operaciones, el ruido puede subir a 2 ^ 20. En este punto, todavía hay suficiente espacio para descifrar, porque 2 ^ 20 << 2 ^ 32.
Una vez que tenemos el polinomio, ahora queremos convertir la operación c(x) * d(x) en un “circuito”, que es común en ZKP debido a que este concepto abstracto proporciona un modelo de cálculo general para cualquier cálculo, permite rastrear y gestionar con precisión el ruido introducido por cada operación, y facilita la introducción en hardware especializado como ASIC, FPGA para cálculos acelerados, como en el modelo SIMD. Cualquier operación compleja se puede mapear en elementos de circuito modulares simples, como la suma y la multiplicación.
Representación de circuitos aritméticos
La suma y la multiplicación pueden expresar la resta y la división, por lo que se puede expresar cualquier cálculo. Los coeficientes del polinomio se representan en binario y se denominan entrada del circuito. Cada Nodo del circuito representa una operación de suma o multiplicación. Cada (*) representa una puerta de multiplicación y cada (+) representa una puerta de adición. Este es el circuito Algoritmo.
Aquí surge una cuestión: introducimos e(x) para no revelar información semántica, lo cual se denomina ruido. En nuestros cálculos, la adición hace que dos polinomios e(x) se conviertan en polinomios del mismo grado. En la multiplicación, el producto de dos polinomios de ruido aumentará exponencialmente el grado de e(x) y el tamaño del texto. Si el ruido es demasiado grande, el cálculo del resultado se verá afectado por el ruido, lo que hará que el mensaje original m no se pueda recuperar. Esta es la razón principal por la cual el Algoritmo de cifrado homomórfico restringe cualquier cálculo arbitrario, ya que el ruido aumenta exponencialmente, alcanzando rápidamente un umbral inutilizable. En el ámbito de los circuitos, esto se conoce como la Profundidad del circuito, y el número de operaciones de multiplicación es el valor de la Profundidad del circuito.
El principio básico del cifrado homomórfico HE se muestra en la figura anterior. Para resolver el problema de ruido que limita el cifrado homomórfico, se han propuesto varias soluciones:
Dentro de este contexto, LHE es un Algoritmo muy adecuado, ya que en este Algoritmo, una vez que se determina la Profundidad, se puede ejecutar cualquier función dentro de esa Profundidad, pero PHE y SHE no pueden lograr ser Turing completo. Por lo tanto, basándose en esto, los criptógrafos han investigado y propuesto tres técnicas para construir FHE, encriptación completamente homomórfica, con la esperanza de lograr la visión de ejecutar cualquier función en una Profundidad ilimitada.
En general, para cálculos con un número limitado de pasos, el uso de Modulus Switching puede Soltar el ruido, pero también Soltar el módulo, es decir, el presupuesto de ruido, lo que resulta en una capacidad de cálculo comprimida. Por lo tanto, esto solo se aplica a cálculos con un número limitado de pasos. Con Bootstrap, se puede lograr un reinicio de ruido, lo que significa que sobre la base del algoritmo LHE, se puede lograr un FHE verdadero, es decir, cálculos infinitos de cualquier función, y esto también es lo que significa Fully en FHE.
Pero las desventajas también son evidentes, ya que se necesita un gran Potencia computacional de recursos. Por lo tanto, en general, estas dos técnicas de reducción de ruido se utilizarán en combinación, Modulus switching se utiliza para la gestión diaria del ruido, y latencia requiere tiempo de inicio. Solo cuando Modulus switching no puede controlar efectivamente el ruido más, se utilizará el bootstrap, que es más costoso en términos de cálculo.
Actualmente, las soluciones de FHE tienen las siguientes implementaciones concretas, todas utilizando la tecnología central de Bootstrap:
Esto también nos lleva a un tipo de circuito del que no hemos hablado, que es el tipo de circuito booleano. Los circuitos aritméticos que hemos presentado son principalmente abstractos, como la suma de 1+ 1 y también la adición o la división, mientras que los circuitos booleanos convierten todos los números en sistema binario (01) y realizan operaciones booleanas, como NOT, OR y AND, que son similares a la implementación de circuitos en nuestras computadoras. Los circuitos aritméticos son más abstractos en términos de circuitos.
Por lo tanto, podemos considerar de manera muy rudimentaria las operaciones booleanas como un procesamiento flexible menos denso en datos, mientras que las operaciones aritméticas son un enfoque para aplicaciones intensivas en datos.
Problemas que enfrenta FHE
Debido a que nuestras computaciones requieren encriptación antes de convertirse en ‘circuitos’, y debido a que las computaciones simples solo implican sumar 2 + 4, pero después de la encriptación, se introducen numerosos procesos criptográficos indirectos junto con tecnologías avanzadas como Bootstrap para resolver problemas de ruido, lo que resulta en un costo de cálculo que es del orden de magnitud N veces mayor que el de las computaciones normales.
Usamos un ejemplo del mundo real para que los lectores sientan el gasto adicional de recursos computacionales en estos procesos criptográficos. Supongamos que un cálculo normal en un procesador de 3 GHz requiere 200 ciclos de reloj, entonces un desencriptado AES-128 normal tomaría aproximadamente 67 nanosegundos (200/3 GHz). La versión FHE tomaría 35 segundos, lo que es aproximadamente 522,388,060 veces más que la versión normal (35/67 e-9). Es decir, con los mismos recursos computacionales, el Algoritmo normal y el Algoritmo FHE requieren aproximadamente 5 mil millones de veces más recursos computacionales.
Proyecto DARPA dprive, fuente de la imagen: DARPA
La DARPA de Estados Unidos construyó específicamente el programa Dprive en 2021 para garantizar la seguridad de los datos. Invitó a varios equipos de investigación, incluidos Microsoft, Intel, etc. Su objetivo es crear un acelerador de FHE y una pila de software correspondiente para que la velocidad de cálculo de FHE sea más adecuada para operaciones similares a datos no encriptados, con el objetivo de lograr una velocidad de cálculo de FHE aproximadamente 1/10 de la de la computación normal. Tom Rondeau, gerente del proyecto de DARPA, señaló: ‘Estimamos que en el mundo de FHE, nuestra velocidad de cálculo es aproximadamente un millón de veces más lenta que en el mundo de texto plano’.
Y Dprive se enfoca principalmente en los siguientes aspectos:
El programa DEPRIVE de DARPA está a solo un mes de su vencimiento. Originalmente, el plan DEPRIVE iba a comenzar en 2021 y concluir en tres etapas en septiembre de 2024, pero parece que ha tenido un progreso lento y aún no ha alcanzado el objetivo de ser 1/10 más eficiente que la computación normal.
Aunque el avance de la tecnología FHE es lento, al igual que la tecnología ZK, se enfrenta al grave problema de que la implementación de hardware es un requisito previo para la implementación de la tecnología. Sin embargo, seguimos creyendo que a largo plazo, la tecnología FHE sigue teniendo un significado único, especialmente en la protección de datos sensibles enumerados en la primera parte. Para el Departamento de Defensa DARPA, que tiene una gran cantidad de datos sensibles, si quiere liberar la capacidad genérica de la IA para uso militar, necesita entrenar la IA de forma segura. Además, también es aplicable a datos sensibles clave en campos como la medicina y las finanzas. De hecho, FHE no es adecuado para todos los cálculos comunes, sino que se centra más en las necesidades de cálculo de datos sensibles, lo que es especialmente importante para la era post-cuántica.
Para esta tecnología de vanguardia, debemos considerar la diferencia de tiempo entre el ciclo de inversión y la comercialización. Por lo tanto, debemos ser muy cautelosos en cuanto al tiempo de implementación de FHE.
La combinación de blockchain
En la cadena Bloquear, FHE también se utiliza principalmente para proteger la privacidad de los datos, y los campos de aplicación incluyen la privacidad en cadena, la privacidad de los datos de entrenamiento de IA, la privacidad de la votación en la cadena, la revisión de la transacción en la cadena blindada, etc. Entre ellas, FHE también es conocida como una de las posibles soluciones de MEV on-chain. De acuerdo con nuestro artículo de MEV, “Iluminando el Bosque Oscuro – Desmitificando MEV”, muchos escenarios actuales de MEV son simplemente formas de rediseñar MEV, no soluciones, y de hecho los problemas de UX planteados por los ataques sándwich siguen sin resolverse. La solución que se nos ocurrió al principio también fue encriptación de la transacción directamente, manteniendo el estado público.
Proceso MEV PBS
Pero también hay un problema, si encriptamos completamente las transacciones, también desaparecerán las externalidades positivas generadas por los MEV bots. Los validadores Builder deben funcionar en base a una Máquina virtual FHE, los validadores también deben verificar las transacciones para asegurar la corrección del estado final, lo que aumentaría significativamente los requisitos para ejecutar un Nodo y ralentizaría en millones de veces el rendimiento de toda la red.
Proyectos principales
Paisaje FHE
FHE es una tecnología relativamente nueva, y la mayoría de los proyectos que utilizan la tecnología FHE actualmente son construidos por Zama, como Fhenix, Privasea, Inco Network, Mind Network. La capacidad de implementación de FHE del proyecto Zama ha sido reconocida por estos proyectos. La mayoría de estos proyectos se construyen utilizando la biblioteca proporcionada por Zama, y la principal diferencia es el modelo de negocio. Fhenix desea construir una Capa 2 de Optimism centrada en la privacidad, mientras que Privasea desea utilizar la capacidad de FHE para realizar cálculos de datos de LLM, pero esta es una operación de datos muy pesada que requiere altos requisitos técnicos y de hardware para la tecnología FHE, y el TFHE en el que se basa Zama puede no ser la opción óptima. Inco Network y Fhenix utilizan fhEVM, pero uno construye Layer 1 y otro Capa 2. Arcium es una fusión de varias tecnologías criptográficas, incluyendo FHE, MPC y ZK. El modelo de negocio de Mind Network es bastante original, eligiendo la ruta de Restaking para resolver problemas de seguridad económica y confianza en la votación en la capa de consenso mediante el suministro de liquidez y la arquitectura subred basada en FHE.
Zama
Zama es un esquema basado en TFHE, que se caracteriza por utilizar la tecnología Bootstrap, que se centra en el procesamiento de operaciones booleanas y operaciones de enteros de longitud baja. Aunque es una implementación técnica más rápida en comparación con los esquemas FHE que hemos implementado, todavía existe una gran diferencia en comparación con los cálculos normales. Además, no puede realizar cálculos arbitrarios. En tareas intensivas en datos, estas operaciones pueden llevar a una profundidad de circuito demasiado grande para manejar. No es un esquema intensivo en datos y solo es adecuado para el procesamiento de encriptación en ciertos pasos críticos.
TFHE actualmente tiene código de implementación listo. El trabajo principal de Zama es reescribir TFHE utilizando el lenguaje Rust, es decir, sus paquetes rs-TFHE. Además, para Soltar la barrera de entrada de los usuarios de Rust, también ha desarrollado una herramienta de transpilación llamada Concrate, que puede convertir Python en rs-TFHE equivalente. Con esta herramienta, es posible transcribir lenguajes de modelos grandes basados en Python a lenguaje rust basado en TFHE-rs. De esta manera, es posible ejecutar grandes modelos basados en Cifrado homomórfico, pero este tipo de tareas intensivas en datos no son realmente adecuadas para el escenario de TFHE. El producto fhEVM de Zama es una tecnología que implementa Contratos inteligentes confidenciales completamente Cifrado homomórfico (FHE) en EVM, lo que permite admitir Contratos inteligentes de encriptación de extremo a extremo basados en el lenguaje Solidity.
En general, Zama, como producto To B, ha construido una pila de desarrollo de blockchain + AI basada en TFHE bastante completa. Puede ayudar a los proyectos web3 a construir de manera sencilla la infraestructura y las aplicaciones FHE.
Octra
Octra tiene un punto especial en el sentido de que utiliza una tecnología innovadora para lograr FHE. Utiliza una técnica llamada hypergraphs para lograr el bootstrap. También está basado en circuitos booleanos, pero Octra cree que la técnica basada en hypergraphs puede lograr un FHE más eficiente. Esta es la tecnología original de Octra para lograr FHE, y el equipo tiene habilidades de ingeniería y criptografía muy sólidas.
Octra ha desarrollado un nuevo lenguaje de contratos inteligentes, que utiliza bibliotecas de código OCaml, AST y ReasonML (un lenguaje específico para interactuar con la cadena de bloques Octra y aplicaciones de contratos inteligentes) junto con C++. Su biblioteca Hypergraph FHE construida es compatible con cualquier proyecto.
Su arquitectura también es similar a proyectos como Mind Network, Bittensor, Allora, etc., que han construido una Mainnet, con otros proyectos como subnets, creando un entorno de ejecución mutuamente aislado. Al mismo tiempo, al igual que estos proyectos, todos han construido un nuevo protocolo de consenso más adecuado para la propia arquitectura. Octra ha construido un protocolo de consenso ML-consensus basado en aprendizaje automático, que es esencialmente basado en DAG (grafo acíclico dirigido).
El principio técnico del Consenso aún no se ha revelado, pero podemos hacer una suposición aproximada. Básicamente, las transacciones se envían a la red y se utiliza el algoritmo de SVM (Máquina de Vectores de Soporte) para determinar el mejor nodo de procesamiento, principalmente seleccionando según la carga de red de los nodos actuales. El sistema utilizará datos históricos (aprendizaje de algoritmo de ML) para determinar la mejor ruta de consenso del nodo padre. Con solo cumplir con 1/2 de los nodos, se puede lograr el consenso de la base de datos en constante aumento.
Esperando
Estado actual del desarrollo de la criptografía de vanguardia, fuente de la imagen: Verdict
La tecnología FHE es una tecnología orientada al futuro, cuyo desarrollo todavía está por detrás de la tecnología ZK debido a la falta de inversión de capital, la baja eficiencia y los altos costos que trae la protección de la privacidad, lo que hace que la mayoría de las instituciones comerciales carezcan de incentivos. El desarrollo de la tecnología ZK se ha acelerado aún más debido a la inversión de Crypto VC. El FHE todavía está en una etapa muy temprana y, incluso ahora, hay pocos proyectos en el mercado debido a su alto costo, dificultad técnica y perspectivas de comercialización inciertas. En 2021, DARPA se unió a varias empresas como Intel, Microsoft, etc., para iniciar un plan de 42 meses para superar el FHE, y aunque ha habido cierto progreso, todavía está lejos de alcanzar los objetivos de rendimiento. Con la atención de Crypto VC en esta dirección, se espera que más fondos fluyan hacia esta industria, y se espera que aparezcan más proyectos de FHE en la industria, con equipos con fuertes capacidades de ingeniería e investigación, como Zama, Octra, etc., ocupando un lugar central en el escenario. La combinación de la tecnología FHE con la comercialización y el desarrollo actual de la cadena de bloques sigue siendo digna de exploración, y su aplicación más destacada actualmente es la anonimización de votos de Nodo, aunque su alcance sigue siendo limitado.
Al igual que ZK, la implementación de chips FHE es una de las condiciones previas para la comercialización de FHE. Actualmente, varios fabricantes como Intel, Chain Reaction, Optalysys, etc., están explorando esta área. A pesar de que FHE enfrenta muchas resistencias técnicas, con la implementación de chips FHE, la encriptación completamente homomórfica, como una tecnología muy prometedora y con una demanda precisa, traerá cambios profundos a industrias como defensa, finanzas, atención médica, etc., liberando el potencial de combinar estos datos privados con futuros algoritmos cuánticos, y también experimentará su momento de explosión.
Estamos dispuestos a explorar esta tecnología fronteriza temprana, si está construyendo productos FHE verdaderamente comercializables, o tiene innovaciones tecnológicas más avanzadas, ¡no dude en ponerse en contacto con nosotros!