es muy fuerte lo que dices, voy a desarrollar un poco a ver si hablamos lo mismo.
Si en una L1 la autenticidad de los nodos esta garantizada por el consenso, en una L2 el consenso no se aplica sobre las transacciones recibidas.
Tienes que estar registrado para ver este contenido
Esto seria el nodo de una L2. Normalmente deberia tener varios nodos. Si tiene 3 nodos y comprometo 1 de ellos puedo hacer lo que quiera con las transacciones que reciba, el verificador no se entera de si la prueba zk ha sido generada en un nodo sano o en un nodo comprometido.
You must be registered for see images
Yo pregunte en grupos de zk rollups de bitcoin y me dijeron q lo garantiza el protocolo y la prueba zk, pero nadie me quiso dar detalles. Decian que estaba oculto en la cryptografia. Y yo pensando, pero que comunicacion hay entre los nodos del rollup que garantice su integridad, por mucho que uses crytptografia. Como sabe la L1 que el nodo de la L2 que ha creado la prueba no estaba comprometido? Y como sabe cada nodo de rollup de los demas nodos del rollup?
Es que si es como dices, nos hemos cargado los zk rollups. Y yo aun no entiendo esa supuesta magia que todos aceptan. Tampoco se molestan en explicarla Eli5.
ese es el tema, un nodo con una maquina virtual comprometida hace una transaccion falseada y genera una prueba valida que la L1 acepta.
La prueba zk contiene informacion en sus ZK-SNARKs o ZK-STARKs sobre la veracidad de la maquina virtual que ejecuto la transaccion?
Estamos hablando de mas de 100 proyectos de zk rollups, no estaremos pasando algo por alto?
Empezando por contestar tu ultima pregunta:
Acaso no pasamos por alto algo con las Altcoins con cientos de proyectos? con las ICO y sus cientos de lanzamientos? con los NFTs y sus cientos de monos?
Pasamos por alto que el conocer en profundidad una tecnologia requiere mas esfuerzo que confiar en un "tipo con bata y gafas" que te dice que "es seguro".
Lo estais pasando por alto los que lo usais, no los que lo desarrollan. Ellos saben muy bien donde se puede meter mano y como. Exactamente en la via que va desde "ZK Validity proof" hasta "On-chain verifier". Ahi es donde puedes inyectar tu secuencia corrupta para activar ese "verify = true" que deja apsar la informacion a la L1.
Aqui pasa lo mismo.
Las capas se comunican entre si unicamente con un mensaje de verificacion. Un simple "true" al final del codigo. Ese mensaje de verificacion de las capas superiores tiene que diseñarse para no comprometerse, por ejemplo quedando registrado en... OTRA BLOCKCHAIN (añadiendo mas peso digital y lentitud fruta), pero... ¿Por que escalar en complejidad el codigo para verificar un mensaje? Porque requiere menos esfuerzo que diseñar algo solido que requiere destruir lo ya construido. Es decir, aplicar un parche.
Y todos sabemos lo que significa aplicar un parche y los riesgos de seguridad que trae consigo.
Vulnerabilidades del dia cero por ejemplo.
Dices:
"La prueba zk contiene informacion en sus ZK-SNARKs o ZK-STARKs sobre la veracidad de la maquina virtual que ejecuto la transaccion?"
Si, la contiene, pero... mientras exista, porque en el momento que esa verificacion se materializa en un "true" o en un "false", donde se guarda? en ningun sitio, se esfuma. Solo existe en la memoria RAM, no hay registro.
Otro ejemplo mas sencillo con los datos que das en tu mensaje, para desarrollar sobre el mismo supuesto:
Una red blockchain se basa en el consenso. Cuantas mas entidades involucres, mas ojos vigilan y mas seguro es, a nivel de probabilidad y esfuerzo para romperlo.
Pero funciona al reves tambien. Cuantos menos agentes interviniendo, mas vulnerable es.
En tu ejemplo tenemos una blockchain secundaria formada por 3 nodos. Si uno de ellos se ve comprometido, todo se va al garete, y es bastante mas facil comprometer una red pequeña que una grande.
Esto nos lleva a que la blockchain general esta delegando su competencia a blockchains mas pequeñas y vulnerables, donde se pueden hacer todo tipo de tropelias.
Es exactamente lo mismo que sucede a nivel de comunidades autonomas en españa y los ayuntamientos, que nadie se entera de la corrupcion que hacen hasta que es algo demasiado rellenito.
La diferencia es que los politicos son bastante ineptos y la defecan rapido con su avaricia, pero para defecarla en una blockchain es mas dificil, ya que el nivel de conocimiento y mesura que debes tener para comprometer nodos hace que sea muy dificil defecarla.
Y te lo llevas crudo poco a poco.
Y nadie se entera.
Y auditar todo eso no se puede porque no queda registro alguno de la verificacion de nodos, es una operacion "al vuelo", un simple "true" en el codigo que le dice a la capa superior que "todo esta bien".
Y todos felices.
Hasta que se trasque la magedia.
Los "zk rollups" es a "seguridad" lo que "hipoteca subprime" fue a "triple A".
Gosten lo zkrollupzado.