
BITVM es el último acuerdo popular en el ecosistema de Bitcoin, que tiene el potencial de beneficiar a cada proyecto construido en Bitcoin.Hablemos sobre el diseño de BITVM y su nueva posibilidad que abre a Bitcoin.
>
“ 比特币第二季[3]«En la predicación, los desarrolladores y usuarios están entusiasmados con la creación de proyectos en Bitcoin y traer nuevos casos de uso y nuevos métodos para resolver el desafío eterno en Bitcoin.
比特币不具备可扩展性。由于区块空间有限,交易费用可能会在网络拥堵时大幅波动。Solo se procesan 7 transacciones por segundo.你需要扩展解决方案[4]Esencia
在比特币 L2s[5](Layer2 区块链)方面已经做了大量工作,以提高比特币的可扩展性和引入新功能。Hay docenas de proyectos construidos en Bitcoin hoy[6]Una de las áreas de investigación e innovación más prospectivas son[7]EsenciaA niveles altos, los rollups de bitcoin permiten que la transacción ocurra debajo de la cadena, y luego «rodar» en un solo cambio de estado a la cadena de bloques. El estado de envío es preciso.
然而,将这种证明系统引入比特币存在挑战,这就是 BitVM 的作用所在。
什么是 BitVM?
Bitvm[8]Es un conjunto de acuerdo/reglas que se puede lograr en Bitcoin.El diseño central de BITVM se calculará en la cadena, y se implementa un mecanismo de certificado fraudulento en la cadena de bloques de bitcoin.
BITVM puede lograr una prueba de fraude en Bitcoin.
Bitvm White Paper fue lanzado por Robin Linus en octubre de 2023 (vale la pena señalar que Robin es Zerosync[9]Un miembro del equipo, el proyecto se compromete a desarrollar un sistema de certificación de conocimiento cero para Bitcoin), y los desarrolladores han estado experimentando con el acuerdo en los últimos meses, y se están interesando cada vez más.
Puede tratar BITVM como un conjunto de protocolo/reglas distribuido que los participantes acordaron de antemano, en lugar de máquinas virtuales reales (como las máquinas virtuales de Ethereum) implementadas por el software.Similar a los ordinales de Bitcoin[10]El método de trabajo es parte del consenso social.
La razón por la cual BITVM es tan emocionante es que proporciona un desafío para verificar cualquier circuito en el protocolo de respuesta bitcoin-respuesta: puede hacer una declaración bajo la cadena (por ejemplo, este certificado es válido) y usar Bitcoin L1 para verificar.Entre ellos, «en Bitcoin» es la clave, porque es muy difícil construir en Bitcoin.
¿Cuál es el problema con BITVM?
Cualquier proyecto basado en Bitcoin sabe lo difícil que es interactuar con la cadena (en Hiro, hemos experimentado este dolor en persona).Uno de los desafíos construidos en Bitcoin es que Bitcoin no tiene la capacidad de procesar la informática compleja.
No hay contrato inteligente.Sin máquina virtual.La programación se limita al operador que puede pasar a través del código de operación[11](Código de operación) Contenido de construcción, y esta función es limitada.La introducción de nuevos códigos operativos requiere horquillas BIP y Bitcoin (esto es muy difícil).
Por lo tanto, solo podemos usar una programación limitada sin un tenedor y un nuevo código operativo.En el caso de la expansión de Bitcoin, este límite se refleja principalmente en dos aspectos:
Si desea construir un ancla BTC de dos vías, es difícil eliminar la confianza de la ecuación.La mayoría de los anclajes de BTC involucraron al custodio hoy.A veces se describe como «problemas de escritura».En el ecosistema de pilas, la próxima actualización de Nakamoto[12]Incluyendo el diseño para la introducción mínima de fideicomiso.
Si desea mover el cálculo o la transacción a la cadena a través del acurrucado, es difícil verificar y verificar los datos bajo el bitcoin en sí.Este es un problema de verificación.
Para estos dos problemas, BITVM puede desbloquear mejoras dramáticas de diseño al lograr protocolos de desafío/respuesta en el Bitcoin L1.
¿Cómo trabajar en bitvm?
Es una buena manera de tratar BITVM como un protocolo o un conjunto de reglas.Si las dos partes acuerdan seguir estas reglas por adelantado (lo que significa que necesitan cooperar entre sí), pueden jugar cualquier juego de respuesta de desafío.Teóricamente, esto se puede usar para verificar/probar programas complejos arbitrarios en Bitcoin (la ejecución real de estos programas ocurre bajo la cadena).
Demos un ejemplo específico.
Supongamos que Alice y Bob quieren jugar un juego de monedas.Los dos jugadores pusieron 0.5 BTC en el grupo de premios.Gana 1 BTC en el frente.Alice sostiene la moneda y lanzará la moneda primero.Bob quiere asegurarse de que Alice no haga trampa.Lo siguiente es cómo usan BITVM para jugar este juego (por simplicidad, se han omitido muchos detalles):
Alice y Bob acordaron seguir el protocolo BITVM.
Suponga que el frente se expresa por el valor H0, y el valor negativo H1 está representado.Alice ha seleccionado otros dos valores, como P0 y P1, y tiene hash en H0 y H1.因此,Hash(P0) = H0 和 Hash(P1) = H1。P0 se llama la «imagen original» de H0, y P1 se llama la imagen original de H1.
Alice comparte H0 y H1 con Bob (de hecho, el «compromiso» de Alice ha «prometido» los valores hash, por lo que no puede afirmar que luego no puede tener valores diferentes).Bob no sabe que la imagen original P0 y P1 (y «adivinando» estos valores son muy difíciles, por lo que podemos asumir de manera segura que Bob no descubrirá mágicamente estos valores).
Alice 和 Bob 预先签署两笔交易:一笔用于挑战,另一笔用于响应。
En transacciones desafiantes, el BOB contendrá un script. es positivo;Además, el guión tiene un bloqueo de tiempo.
En respuesta a las transacciones, Alice puede «revelar» los resultados de la moneda «revelando» los resultados de la moneda al contener el P0 o P1 original correspondiente.Si Alice no incluye ningún valor, dos valores o cualquier valor que no sea P0 o P1, el BOB obtendrá el grupo de premios.De lo contrario, si el valor es P0 (frente), Alice ganó el grupo de premios.
Ahora estamos listos para comenzar el juego.Alice lanza una moneda pero no ha revelado los resultados.Bob emitió una transacción de desafío, y luego Alice respondió a la transacción.A través del script descrito anteriormente, la lógica de «detección de fraude» se realiza en la cadena.Obviamente, este es un ejemplo trivial y deliberado, pero muestra ideas clave.Para un ejemplo ligeramente complicado, considere un juego de ajedrez bien escrito diseñado por un desarrollador llamado Super Testnet.Puede ver el repositorio de GitHub aquí[13], Incluso hoy, puedes jugar «bit tac toe[14]«Super Testnet en realidad muestra este juego a Hiro, puedes ver a continuación:
Curso de bloqueo de BITVM en YouTube[15]
El siguiente es el componente premium del juego:
Jingzi Chess es un noveno palacio.El primer jugador Alice puede tomar un máximo de 5 pasos, por lo que hay 45 preimagen y hash (9 por ronda).El segundo jugador puede tomar hasta 4 pasos como máximo, por lo que hay 36 hash.
Hay 3 métodos de «trampa» en Jingzi: los jugadores pueden colocar múltiples x / o en sus rondas pueden cubrir los cuadrados que usaron antes;Por lo tanto, el protocolo de desafío/respuesta se basa en la prueba.
Desafío La transacción obligará a otro jugador a «revelar» qué cuadrado de ellos colocó X u O.
Las transacciones de respuesta tendrán un script, que se verificará para los tres anteriores.Si se detectó fraude, el retador ganó y la prueba de la prueba falló.
Tenga en cuenta que en estos dos casos, el fraude demuestra que están hechos a mano, y está diseñado para el uso del uso: el fraude probado por el ajedrez del ajedrez no funciona para lanzar monedas ni cualquier otra cosa.
Volviendo a la situación general, el documento blanco de BITVM describe un método general: para cualquier programa, proporciona una forma de desarrollar la prueba de validez del programa.Las opiniones clave son las siguientes:
Según el ejemplo de lanzar la moneda, vemos cómo verificar un solo bit: llamemos una prueba de «compromiso de bits».
Con un compromiso amargado, podemos construir un compromiso lógico en la puerta: teniendo en cuenta el booleano y / o el operador, para dos entradas (cada valor es 0 o 1), el operador define una sola salida.Por lo tanto, utilizando compromisos de 2 bits como entrada y compromiso de 1 bits como salida, podemos crear pruebas efectivas para cualquier puerta lógica.El papel blanco BITVM usa una puerta lógica NAND.
Finalmente, cualquiera de cualquier cálculo puede estar representado por una serie de puertas lógicas.El papel blanco BITVM lo llama «Circuito binario».Tal Circuito puede ser representado efectivamente por Tapscript, y las hojas en cada árbol de grifos representan un compromiso de una sola puerta.
El protocolo de desafío/respuesta básicamente implica la salida de un compromiso de puerta específico.En el peor de los casos, es posible que deba verificar la salida de cada puerta.
Verifique este repositorio[16], Comprenda una forma de convertir cualquier programa a un circuito de Tapleaf.
¿Cómo se adaptan las pilas?
Las dos aplicaciones obvias y más relacionadas de BITVM en el ecosistema de pilas son:
Mejorar la suposición de confianza de SBTC
Agregue una prueba efectiva de efectividad al bloque de pilas en bitcoin
¿Por qué elegir estas dos aplicaciones?Diseño actual de SBTC[17]Ya es uno de los anclajes bidireccionales de dos vías más seguros y minimizados en Bitcoin.Sin embargo, en modelos de seguridad y supuestos de confianza[18]Todavía hay margen de mejora.A diferencia de la solicitud de al menos el 30%de las firmas honestas o confiar en un conjunto de firmas de alta reputación, los métodos basados en BITVM en teoría pueden hacer que SBTC solo necesite un participante honesto para ejecutar.
Del mismo modo, aunque cada bloque de pilas se resuelve en Bitcoin, el diseño actual solo le permite verificar de forma independiente los datos de las pilas cuando una copia de un estado de cadena.Si usa BITVM, el bloque de pilas también incluye una prueba efectiva, entonces no solo puede verificar la integridad (los datos en el bloque de pilas dadas son consistentes con el hash almacenado en el bitcoin), y también puede verificar la corrección (puede verificar El almacenamiento de almacenamiento al ver el almacenamiento, la prueba de la verificación de la verificación de bitcoin es la ejecución real de la transacción en un bloque de pilas determinado).En otras palabras: esto permitirá que las pilas se conviertan en un encierro optimista en Bitcoin.
Cómo usar BITVM para implementar los métodos específicos de estas aplicaciones requieren más investigación y desarrollo.Pero podemos tratar de delinear algunas ideas a altos niveles.
Bitvm y sbtc
Considere el ejemplo de SBTC: el proceso de anclaje es muy simple, y solo se requiere la transacción de Bitcoin para completar.Sin embargo, en el diseño actual, el proceso de salida de anclaje depende de la firma para procesar la solicitud (en pilas).Esto trae algunas limitaciones:
La salida puede llevar tiempo, dependiendo de cuántas firmas estén fuera de línea/honestidad.
Debe confiar en esta red de firma y confiar más ampliamente en las pilas completas.
Si cambia (o tal vez), genere una prueba efectiva en bitcoin y use bitvm[19],Entonces:
La salida puede ser optimista (por lo tanto, puede tratarse más rápido en el camino de la felicidad).
El ancla solo requiere un participante honesto para ejecutar;
La clave es averiguar con precisión cómo construir una prueba de validez.El método de fuerza bruta descrito en el papel blanco BITVM puede funcionar, pero puede conducir a un circuito de Tapleaf muy grande (miles de millones de nodos).Esto a su vez significa que cualquier desafío llevará mucho tiempo (puede llevar semanas o más), y mucho menos el costo de atención y recursos (¡costos de transacción!).Como podemos ver en el ejemplo de Jingziqi, podemos construir una prueba más concisa, que está personalizada para casos específicos.
Bitvm y pilas
En cuanto a la efectividad de todo el bloque de pilas, hay muchos espacios de diseño que vale la pena explorar.Por ejemplo, ¿la granularidad de una sola transacción o el tamaño de partícula de todo el bloque está entre los dos (como una transacción que constituía la cadena de dependencia de la causa y el efecto)?¿Es posible adoptar un método gradual, como una prueba de una transferencia de token simple, y luego agregar gradualmente un contrato de claridad?¿Es este un buen uso del espacio de bloque de bitcoin, porque las pilas de los mineros y los participantes de la red ya tienen incentivos económicos para mantener la historia completa del estado de la cadena de pilas?
en conclusión
BITVM es un tema emocionante que necesita más investigación, pensamiento y experimentos que los artículos de blog, pero espero que esto ayude a aclarar uno de los recientes y emocionantes desarrollo en Bitcoin.