DEFINICIÓN de zk-SNARK
La privacidad ha sido durante mucho tiempo un objetivo central y una característica de las criptomonedas. Sin embargo, lo que podría haberse considerado privado anteriormente en la historia de la industria a menudo ya no se considera así. Por ejemplo, las afirmaciones de que Bitcoin es anónimo ahora a menudo se refutan, ya que las cadenas de bloques son transparentes y abiertas: a pesar de que una dirección individual de bitcoin no está vinculada a una sola persona en la red, se pueden rastrear todas las transacciones que tienen lugar en el mundo de Bitcoin. y mapeado. Según Blockonomi, el análisis de blockchain de este tipo ha sido una característica central de los esfuerzos del gobierno y las fuerzas del orden para acabar con varios delitos relacionados con criptomonedas y problemas similares. Debido a la percepción de falta de privacidad de algunas de las criptomonedas originales, incluido el bitcoin, en los últimos años ha habido una nueva ola de tokens y monedas centrados en la privacidad. Uno de estos, zcash, está respaldado por una tecnología conocida como zk-SNARKs.
DESMONTAJE zk-SNARK
Un zk-SNARK ("argumento de conocimiento no interactivo sucinto de conocimiento cero") utiliza un concepto conocido como "prueba de conocimiento cero". La idea detrás de estas pruebas está en realidad bastante bien establecida, ya que fueron concebidas por primera vez en la década de 1980. En pocas palabras, una prueba de conocimiento cero es una situación en la que cada una de las dos partes en una transacción puede verificar entre sí que tienen un conjunto particular de información, mientras que al mismo tiempo no revela cuál es esa información. Para la mayoría de los otros tipos de pruebas, al menos una de las dos partes debe tener acceso a toda la información, lo que significa que una prueba de conocimiento cero es una desviación de la norma.
Para ver un ejemplo de una prueba tradicional, considere una contraseña utilizada para acceder a una red en línea. El usuario envía la contraseña y la red misma verifica el contenido de la contraseña para verificar que sea correcta. Para hacer esto, la red también debe tener acceso a los contenidos de la contraseña. Una versión a prueba de conocimiento cero de esta situación implicaría que el usuario demuestre a la red (a través de pruebas matemáticas) que tiene la contraseña correcta sin revelar la contraseña en sí. Las ventajas de privacidad y seguridad en esta situación son claras: si la red no tiene la contraseña almacenada en algún lugar para fines de verificación, la contraseña no puede ser robada.
La base matemática de zk-SNARKS es compleja. No obstante, las pruebas de este tipo permiten a una parte demostrar no solo que existe un bit de información en particular, sino también que la parte en cuestión tiene conocimiento de esa información. En el caso de zcash, los zk-SNARK se pueden verificar casi instantáneamente, y el protocolo no requiere ninguna interacción entre el probador y el verificador.
Por supuesto, también existen preocupaciones relacionadas con zk-SNARK. Por ejemplo, si alguien pudo acceder a la aleatoriedad secreta que se utilizó para crear los parámetros del protocolo de prueba, podría crear pruebas falsas que, sin embargo, parecían válidas para los verificadores. Esto permitiría a esa persona crear nuevas fichas de zcash a través de un proceso de falsificación. Para evitar que esto suceda, zcash fue diseñado de tal manera que los protocolos de prueba se elaboraron y se extendieron entre múltiples partes.
Si bien la construcción del proceso de prueba de zcash se completó de manera tal que se minimizara la posibilidad de falsificar tokens a través de pruebas falsas, también existe al menos otra preocupación relacionada con la criptomoneda. Zcash se creó con un "impuesto" del 20% aplicado a todos los bloques creados durante los primeros años del token. Este impuesto se conoce como el "impuesto del fundador" y se utiliza para compensar a los desarrolladores de la criptomoneda. Los críticos han sugerido que los fundadores podrían usar esta faceta del sistema para crear un número infinito de tokens zcash sin que nadie más sepa de la existencia de esos tokens. Por esa razón, no es del todo posible saber el número exacto de tokens zcash que existen en este momento.