Las soluciones de segunda capa basadas en ZK-tech pueden estar llegando a bitcoin con John Light de la Beca de Investigación ZK-Rollup de la Fundación de Derechos Humanos, presentando una propuesta que ha llamado la atención de algunos desarrolladores de bitcoin.
En una extensa descripción general de los paquetes acumulativos de validez y cómo se pueden implementar en el lenguaje de secuencias de comandos muy limitado de bitcoin, Light primero resume útilmente cuáles son estos inventos todavía muy nuevos:
“Un resumen es una cadena de bloques que almacena la raíz del estado y al menos suficientes datos de transacciones para volver a calcular el estado actual desde la génesis dentro del bloque de una cadena de bloques ‘principal’ diferente, mientras cambia la ejecución de transacciones ‘fuera de la cadena’ a una red de nodos separada”.
Los paquetes acumulativos de validez contienen suficientes datos en cadena para las “pruebas de validez” para garantizar que los nuevos bloques acumulativos sigan las reglas del protocolo acumulativo.
Estas pruebas se crean a través de ZK-tech, actualmente en su mayoría STARK, y por lo tanto, en efecto, obtiene un método de compresión donde puede completar, digamos, 100x transacciones en esta segunda capa, con la gran mayoría de la seguridad de la capa base, y todo se traduce en solo una transacción en cadena.
Esto tiene importantes beneficios de usabilidad sobre algo como Lightning Network porque no necesita cosas como garantías, enrutadores, etc., solo deposita en el paquete acumulativo.
Para transferencias simples, se han implementado en gran medida en ethereum, donde ahora están trabajando en máquinas virtuales Ethereum basadas en zk con la esperanza de que, finalmente, la solución ZK se pueda aplicar a la capa base.
Sin embargo, en bitcoin no se ha trabajado mucho hasta esta primavera cuando Trey Del Bonis, un desarrollador de bitcoin, publicó ejemplos de código de cómo se pueden implementar acumulaciones de validez en bitcoin. Luz dice:
“Sería posible crear un paquete acumulativo de validez en bitcoin utilizando el lenguaje de programación nativo de Turing incompleto de bitcoin, Script, con cambios relativamente pequeños (en términos de huella de código) en los códigos de operación que admite Script…
Según Del Bonis, los cambios necesarios para respaldar los paquetes acumulativos de validez en bitcoin son algunos códigos de operación adicionales que permiten las dos primitivas principales de su diseño acumulativo: verificación de prueba de validez y acuerdos recursivos…
Los convenios recursivos son un tipo de contrato inteligente que restringe el tipo de script al que se puede enviar BTC una vez que se gasta.
Del Bonis utiliza convenios recursivos para propagar la construcción del resumen con cada actualización de estado, lo que garantiza que BTC que está bloqueado en un script de resumen y no ha sido retirado por su propietario permanece en el script de una actualización de estado de resumen a la siguiente.
Una vez que el propietario de BTC en el resumen confirma una transacción de retiro válida en el resumen, puede salir del script de pacto recursivo con su BTC a la dirección de retiro L1 que especificó.
Los convenios recursivos son un cambio en Script que la comunidad bitcoin ha considerado durante mucho tiempo. Sin embargo, actualmente no hay propuestas específicas que hayan logrado un amplio consenso entre la comunidad de desarrolladores de bitcoin para implementar convenios recursivos”.
Conceptualmente esto suena simple. Los contratos recursivos se ocupan de la parte de bloqueo, o la transferencia de fondos dentro y fuera del resumen, mientras que se requieren algunos otros cambios para que se integren las pruebas.
Bitcoin, sin embargo, es notoriamente lento para cambiar, pero Light dice que la propuesta es totalmente compatible con el espíritu de bitcoin, y le dice a la lista de correo de los desarrolladores de bitcoin:
“Los acumuladores de validez tienen el potencial de mejorar la escalabilidad, la privacidad y la programabilidad de bitcoin sin sacrificar los valores fundamentales o la funcionalidad de bitcoin como un sistema de efectivo electrónico de igual a igual.
Dada la naturaleza ‘sin confianza’ de los paquetes acumulativos de validez como extensiones criptográficamente seguras de su cadena matriz, y dado el estatus de bitcoin como la capa de liquidación más segura, incluso se podría decir que estos protocolos son una _combinación perfecta_ entre sí”.
No requieren ancho de banda ni almacenamiento adicional, por lo que brindan escalabilidad sin compensaciones notables.
Sin embargo, es probable que su implementación en bitcoin sea muy lenta, y Light sugiere en cambio:
“El proyecto de cadena lateral de Elements (y la cadena de bloques Liquid que se basa en Elements) aún no tiene soporte para las pruebas de validez necesarias para respaldar un paquete acumulativo de validez, pero sí tiene soporte para convenios recursivos.
Por lo tanto, implementar soporte para pruebas de validez en Elements, junto con algunos de los otros cambios que Del Bonis identificó como agradables, podría ser un camino para probar un protocolo de acumulación de validez que finalmente se implementará en bitcoin”.
Liquid es mantenido por Blockstream con Greg Sanders de ese Blockstream declarando en la discusión de la lista de correo:
“¿Existe una hoja de trucos de una página de ‘solicitudes’ para la introspección de transacciones/OP_ZKP(?) y sus usos, tanto por separado como en conjunto, para diferentes arquitecturas acumulativas?”
El Op_ZKP no existe del todo, por lo que quizás puso el signo de interrogación, pero la pregunta bien puede indicar que, si bien conceptualmente suena fácil, implementar esto en el muy limitado lenguaje de secuencias de comandos de bitcoin probablemente no sea nada fácil.
Sobre todo porque sería un desarrollo de última generación, aunque no completamente original, ya que los desarrolladores de ethereum han estado trabajando en estos sistemas zk desde 2019.
Transporte que ahora ha llegado al punto donde se ha establecido el esqueleto para bitcoin. Sin embargo, la implementación completa puede tardar bastante tiempo.