Bitcoin Capa 2: STATECHAINS

Statechains Son un protocolo original de segunda capa desarrollado originalmente por Ruben Somsen en 2018, dependiendo de la propuesta Eltoo (o simetría LN). En 2021, una variación de la propuesta original, Mercurio, fue construida por Commerceblock. En 2024, se construyó una iteración adicional del esquema de mercurio original, la capa de mercurio.

El protocolo Statechain es un poco más complicado de discutir en comparación con otro sistema, como el arca o el rayo de los rangos de variaciones que son posibles entre el diseño original propuesto, los dos que realmente se han implementado y otros diseños posibles que se han propuesto libremente.

Al igual que Ark, Statechains depende del servidor de coordinación centralizado para divertirse. A diferencia de ARK, tienen un modelo de confianza ligeramente diferente que un VUTXO en un lote de Ark. Dependen del servidor de coordinación para eliminar las acciones generadas previamente de una clave privada para permanecer sin confianza, pero a lo largo que el servidor siga el protocolo definido y lo haga, proporcionan un fuerte guarantio de seguridad.

La idea general de un statechain es poder transferir la propiedad de un UTXO completo entre diferentes usuarios fuera de la cadena, facilitado por el coordinador. No hay requisito para recibir liquidez como un rayo, o el servidor de coordinadores para proporcionar cualquier liquidez como ARK.

Para comenzar, veremos las ofertas de protocolo original de Ruben Somsen.

El statechain original

Statechains es efectivamente una transacción previa firmada que permite al propietario actual de Statechain retirarse unilateralmente en la cadena cuando lo deseen, y una historia firmó mensajes que demuestran criptográficamente que los propietarios anteriores y los receptores sienten que Statechain aprobó esas transferencias.

El diseño original se basó en Eltoo utilizando AnyPrevout, pero los planes actuales sobre cómo habilitar la misma funcionalidad utilizan CheckTeMplingify y CheckSigFromStack (una explicación de alto nivel de esto está al final del artículo CheckSigFromStack). La idea básica es un script que permite una transacción previa firmada para gastar cualquier utxo que tenga ese script y bloquee el aMent apropiado de bitcoin, en lugar de estar vinculado a gastar un solo utxo específico.

En el protocolo, un usuario que desea depositar sus monedas a un statechain se acerca a un servidor de coordinadores y pasa por un protocolo de depósito. El usuario de depósito, Bob, genera una clave que será propiedad de él, pero también una segunda clave “transitoria” que eventualmente se compartirá (más sobre esto pronto). Están creando una transacción de depósito que bloquea su esquina en una multisig que requiere la clave del coordinador y la clave transitoria para firmar.

Usando este Multisig, Bob y el Coordinador firman una transacción que gasta esa moneda y crea un UTXO que puede gastarse por cualquier otra transacción firmada por la clave transitoria y la clave del coordinador usando la simetría LN, o la clave única de Bob después de un timelock. Bob ahora puede financiar el Multisig con el AMIME apropiado, y el Statechain ha estado creando.

Para transferir a Statechain a Charlie, Bob debe pasar por un proceso multiesp. Primero, Bob firma un mensaje con su clave privada única que certifica al hecho de que va a transferir el statechain a Charlie. Charlie también debe firmar un mensaje con el hecho de que ha recibido el statechain de Bob. Finally, el servidor Coordinador debe firmar una nueva transacción que se aloja a Charlie para reclamar unilateralmente el statechain en la cadena antes de que Bob le envíe a Charlie una copia de la clave transitoria.

Todo esto se hace atómico usando firmas adaptadoras. Estas son firmas que se modifican de esta manera utilizando una pieza aleatoria de datos que los hace inválidos, pero que pueden volverse válidos una vez que el titular de la firma recibe esa información. Todos los mensajes, y la nueva transacción previa firmada se firman con firmas de adaptador, y se hacen válidos atómicamente al mismo tiempo a través de la liberación de los datos de adaptación.

Los titulares de un statechain deben confiar en que el servidor de coordinadores nunca conspira con un propietario anterior para firmar un cierre inmediato de Statechain y robar fondos del propietario actual, pero la cadena de mensajes previos al firmado puede participar en que un coordinador ha sido participado en el robo de IFT para hacerlo. Si un propietario anterior intenta usar su transacción previa al firma para robar los fondos, el Timelock en la ruta de gasto utilizando solo su clave permite al propietario actual enviar su transacción previa al firma y reclamar correctamente los fondos en la cadena.

Mercurio y capa de mercurio

La arquitectura Statechain original requiere un SoftFork para funcionar. Commerceblock diseñó su variante de statechains para funcionar sin un softfork, pero para hacerlo se hicieron las compensaciones en términos de funcionalidad.

La idea básica es la misma que el diseño original, todos los usuarios poseen una transacción previa al firma que les permite reclamar sus fondos unilateralmente, y el servidor de coordinadores aún juega un papel en facilitar las transferencias fuera de la cadena que requiere que se confíen honestamente. Los dos principales diferentes diferentes son cómo se firman esas transacciones y se proporciona la estructura de los usuarios de transacciones previamente firmados.

En lo que respecta a la firma, no hay mucho tiempo una clave privada transitoria que se pasa de usuario a usuario. En caso de esto, se utiliza un protocolo de computación multipartidista (MPC) para que el propietario original y el servidor de coordinadores puedan generar colaborativamente piezas parciales de una llave privada sin que ninguno de ellos posea la clave completa. Esta clave se utiliza para firmar las transacciones previas firmadas. El protocolo MPC permite al propietario y coordinador actual participar en un segundo protocolo con un tercero, el receptor de una transferencia, para regenerar Partes diferentes que se suman a la misma clave privada. Tanto en el protocolo de capa de mercurio como de mercurio, después de completar una transferencia, un servidor coordinador honesto elimina el material clave correspondiente al propietario anterior. Mientras esto se haga, no es posible que el coordinador firme una transacción con un propietario anterior, ya que la nueva pieza de materia clave que tienen no es compatible con la pieza que cualquier propietario anterior aún podría tener. Esta es en realidad una garantía fuerte, siempre que el coordinador sea honesto que la proposición original.

La estructura de transacción previa firmada para la capa de mercurio y mercurio no puede usar la simetría LN, ya que esto no es posible sin una marquita blanda. En este lugar de esto, CommerceBlock optó por usar Timelocks de disminución. La transacción previa al propietario del propietario original se realiza el tiempo utilizando Nlocktime para un momento lejano en el futuro desde el punto de la creación de Statechain. Como cada usuario posterior recibe el statechain durante una transferencia, el valor de su transacción es un período de tiempo predeterminado más corto que el propietario anterior. Esto garantiza que un propietario anterior es incapaz de tratar de enviar su transacción en la cadena antes de que el propietario actual pueda, pero también significa que eventualmente el propietario actual debe Cierre su statechain en la cadena antes de que las transacciones de los propietarios anteriores comiencen a ser válidos.

El principal diferente entre la capa de mercurio y mercurio es cómo se firman las transacciones. En el caso de Mercurio, el servidor Coordinador simplemente ve la transacción propone, la verifica y luego lo firma. La capa de mercurio utiliza un protocolo de firma ciega, lo que significa que en realidad no ven al analista de la transacción que están firmando. Esto necesita el seguimiento del servidor StatEChains utilizando registros anónimos en el servidor, y una clave de autorización especial del propietario actual para que puedan ser solo firmando transferencias válidas.

Sinergia con otras capas

Statechains puede sinergizar con otras capas 2 que se basan en transacciones previas al firmado. Por ejemplo, parte de la propuesta original sugirió una combinación de statechains y canales de rayos. Ambos son simplemente transacciones previamente firmadas, es posible anidar un canal de rayos sobre una statechain. Esto simplemente requiere que la tecla de salida unilateral del propietario actual sea una multisig, y la creación de las transacciones de firmación previa al gasto en un canal de rayos. Esto permite que los canales de rayo se abran y se cierren directamente fuera de la cadena.

De manera similar, es posible anidar un statechain encima de un Vutxo en un lote de arca. Esto simplemente requiere las transacciones previas al firmado requeridas para que se construya un statechain, gastando la salida VUTXO.

Concluir

Statechains no es de manera confidencial, pero son un esquema minimizado muy confidencial que es muy liquidez y permite que transferir libremente UTXOS fuera de la cadena entre los usuarios que acepte el modelo de confianza de Statechains.

Si bien la propuesta original aún no se ha construido, las dos implementaciones diseñadas por Commerceblock se han implementado por completo. Ambos no lograron nada más que uso marginal en el mundo real. Si esto se debe a que los usuarios no están dispuestos a aceptar el modelo de confianza involucrado, o simplemente un fracaso en marketing o conciencia es algo que no puede determinarse por completo.

Antes, dado que hay dos implementaciones y diseños completos para una variación más flexible en caso de que la simetría LN sea posible en Bitcoin, esta es una opción que siempre estará aquí. Lo bueno del software de código abierto es que siempre será su mirada de dónde la gente lo usa ahora, si eligen el futuro.