¿Qué es Stacks?

Stacks es una capa de Bitcoin para contratos inteligentes; permite que los contratos inteligentes y las aplicaciones descentralizadas utilicen Bitcoin como un activo de forma minimizada en confianza y liquiden transacciones en la cadena de bloques de Bitcoin.
Stacks es un tipo diferente de capa de Bitcoin para contratos inteligentes que las sidechains, con una conexión más profunda y continua a Bitcoin. Stacks permite que las aplicaciones y los contratos inteligentes usen BTC como su activo o dinero y liquiden sus transacciones en la cadena principal de Bitcoin. El objetivo de Stacks es hacer crecer la economía de Bitcoin, convirtiendo a BTC en un activo productivo en lugar de pasivo, y habilitando diversas aplicaciones descentralizadas.
La capa Stacks tiene su propio libro mayor global y entorno de ejecución para soportar contratos inteligentes y no sobrecargar la cadena de bloques de Bitcoin con transacciones adicionales. Sin embargo, la capa Stacks es única porque posee la mayoría de las propiedades ideales que tendrían los contratos inteligentes nativos de Bitcoin, pero lo hace sin necesitar añadir funcionalidad o complejidad adicional a Bitcoin. También proporciona mecanismos para un mayor rendimiento y funcionalidad adicional, como tiempos de bloque rápidos y el peg descentralizado.
Como capa de Bitcoin, Stacks tiene las siguientes innovaciones que la hacen única:
Asegurado por Bitcoin
Asegurado por Bitcoin: permite la finalización en Bitcoin para las transacciones de Stacks; las transacciones que ocurren en la capa Stacks están aseguradas por toda la potencia de hash de Bitcoin. Esto significa que para revertir estas transacciones, un atacante necesitaría reorganizar Bitcoin. Tales transacciones se liquidan en Bitcoin y tienen finalización en Bitcoin. Además, la capa Stacks se bifurca con Bitcoin, por lo que cualquier estado en Stacks sigue automáticamente las bifurcaciones de Bitcoin.
Peg de Bitcoin minimizado en confianza
Peg de Bitcoin minimizado en confianza: sienta las bases para un novedoso activo anclado a Bitcoin descentralizado y no custodial, sBTC, de modo que los contratos inteligentes puedan ejecutarse mucho más rápido y de forma más económica usando el activo anclado a Bitcoin con un riesgo de contraparte mínimo. Esto también permite que los contratos en la capa Stacks escriban en Bitcoin mediante las transacciones de peg-out sin necesitar confiar en un conjunto centralizado y cerrado de entidades. Swaps atómicos y activos: Stacks ya tiene swaps atómicos de BTC y permite que direcciones de Bitcoin posean y muevan activos definidos en la capa Stacks. Magic swaps y Catamaran swaps son ejemplos de swaps atómicos descentralizados entre BTC en Bitcoin L1 y activos en la capa Stacks que ya están en funcionamiento. Además, los usuarios pueden poseer activos de la capa Stacks como STX, stablecoins y NFT en direcciones de Bitcoin y transferirlos usando transacciones de Bitcoin L1 si lo prefieren.
Lenguaje Clarity
Lenguaje Clarity: soporta Clarity, un lenguaje seguro y decidible para contratos inteligentes demostrables. Con Clarity, los desarrolladores pueden saber con certeza matemática lo que un contrato puede y no puede hacer, incluso antes de ejecutarlo. El contrato del peg descentralizado se beneficiará de las propiedades de seguridad del lenguaje Clarity. Cabe destacar que Clarity WASM es un cambio que se está realizando en la VM de Clarity que proporciona tiempos de ejecución significativamente más rápidos, además de crear una posible vía para que desarrolladores de Rust y Solidity puedan escribir contratos inteligentes en Stacks, aunque este trabajo no forma parte del lanzamiento Nakamoto.
Conocimiento del estado de Bitcoin
Conocimiento del estado de Bitcoin: tiene conocimiento del estado completo de Bitcoin; puede leer de forma confiable las transacciones y cambios de estado de Bitcoin y ejecutar contratos inteligentes activados por transacciones de Bitcoin. La funcionalidad de lectura de Bitcoin ayuda a mantener el estado del peg descentralizado coherente con los BTC bloqueados en Bitcoin L1, entre otras cosas.
Transacciones escalables y rápidas
Transacciones escalables y rápidas: proporcionará alto rendimiento y escalabilidad mediante varios mecanismos, incluidos tiempos de bloque más rápidos en la capa Stacks. Además, capas de escalabilidad como subnets pueden hacer diferentes compensaciones entre rendimiento y descentralización que la capa principal de Stacks.
Podemos hacernos una idea del objetivo y la ética detrás de Stacks al observar cómo Satoshi imaginó la generalización de Bitcoin en 2010:
"...ser una red completamente separada y una cadena de bloques separada, pero compartir potencia de CPU con Bitcoin...todas las redes del mundo compartirían la potencia de CPU combinada, aumentando la fuerza total."
Este es un tema importante en las decisiones de diseño de Stacks. Un poco contradictorio en el mundo de Bitcoin, la red Stacks es una L2 de Bitcoin, pero sí tiene su propio token. Esta es una decisión de diseño intencional y crítica principalmente con el propósito de mantener la descentralización, en lugar de tener que confiar en una federación. Si eso resulta confuso o eres escéptico, es comprensible: profundizaremos en estas ideas a medida que avancemos por la documentación.
Componentes técnicos centrales de Stacks
Proof of Transfer
Proof of Transfer (PoX) es el mecanismo de producción de bloques de la cadena Stacks. Esencialmente, intenta recrear programáticamente los patrones de producción de bloques de PoW. Los mineros de Stacks gastan BTC por la oportunidad de minar nuevos bloques de Stacks. Bajo el capó, este mecanismo de producción de bloques ancla los bloques de Stacks a los bloques de Bitcoin, haciendo que sea tan difícil revertir un bloque de Stacks como revertir un bloque de Bitcoin. Esa es una gran afirmación, y la desglosamos con más detalle en las secciones sobre la producción de bloques Nakamoto.
Token nativo de Stacks: STX
El token nativo de la capa Stacks (STX) es esencial para el consenso PoX: STX es necesario para (a) incentivar a los mineros de Stacks a mantener el libro mayor global de la capa Stacks fuera de Bitcoin L1, y (b) los incentivos para los firmantes umbral que participan en el mecanismo del peg. Los enfoques existentes para los pegs de Bitcoin, que carecen de un token nativo, no pueden soportar un sistema sin permisos y abierto y recurren al uso de custodios o a confiar en miembros de una federación conocida.
Clarity
Clarity es el lenguaje de contratos inteligentes que usa Stacks. Ha sido diseñado desde cero para facilitar a los desarrolladores la escritura de contratos inteligentes seguros y protegidos. Además, dado que ha sido creado especialmente para Stacks y Bitcoin, existen funciones integradas para leer el estado de Bitcoin, lo que significa que puedes usar el estado de Bitcoin para realizar acciones en Clarity. Por ejemplo, podrías configurar una comprobación para asegurarte de que una transacción de Bitcoin en particular ha ocurrido antes de ejecutar una función de acuñación en Clarity, que casualmente es lo que sucede con el tercer componente: sBTC.
sBTC
sBTC es el peg bidireccional de Bitcoin minimizado en confianza en la capa Stacks. sBTC es la clave para hacer que Bitcoin sea programable y llevar la funcionalidad completa de contratos inteligentes a Bitcoin a través de Stacks. sBTC no es una federación, sino que opera como una solución de peg bidireccional descentralizada y de red abierta para llevar funcionalidad de contratos inteligentes a Bitcoin con el menor riesgo de contraparte posible.
Stacks y el propósito de la tecnología blockchain
Al evaluar nuevas tecnologías blockchain, es importante mantener intacta la intención y el propósito original de las mismas. Si volvemos a Bitcoin, originalmente fue diseñado para ser:
Descentralizado
Inmutable
Seguro
Probablemente hayas oído hablar del trilema de la blockchain: el problema de intentar equilibrar descentralización, escalabilidad y seguridad de una red blockchain. Stacks adopta el enfoque de resolver este trilema separando las cadenas en capas.
Así que en la base, tienes la capa fundacional: Bitcoin. Bitcoin es la red blockchain más descentralizada, más segura y más inmutable. Sin embargo, eso conlleva algunos trade-offs:
Bitcoin es muy lento en comparación con otras redes. Bitcoin solo tiene un nuevo bloque escrito aproximadamente cada ~10 minutos, lo que hace que su rendimiento sea insignificante en comparación con redes diseñadas para la velocidad como Solana.
Bitcoin también es "aburrido". Ethereum surgió después de Bitcoin y buscó hacer lo mismo para el software que Bitcoin hizo para el dinero. El objetivo de Ethereum es ser una especie de supercomputadora descentralizada, sirviendo como un entorno de cómputo global para contratos inteligentes (código que se escribe en una cadena de bloques).
Bitcoin no es escalable. Porque cada nuevo bloque debe propagarse a cada nodo de la red, Bitcoin solo puede funcionar tan rápido como el nodo más lento de la red.
Ahora estamos viendo el auge de redes blockchain modulares como Cosmos que están diseñadas para facilitar que la gente lance sus propias redes blockchain. Mientras que la mayoría de los nuevos protocolos blockchain que surgen hoy ven estas propiedades como negativas y buscan eliminarlas, la comunidad de Stacks ve las cosas de manera diferente.
La forma Stacks
Stacks adopta un enfoque por capas: la capa fundacional de liquidación es Bitcoin, y la escalabilidad y funcionalidad se agregan encima usando capas. Hay muchos tipos diferentes de L2s y diferentes maneras de construirlas. Todas vienen con diferentes compensaciones y tienen su propia forma de lograr los objetivos de escalabilidad o funcionalidad.
Al adoptar este enfoque por capas, podemos tener toda la misma funcionalidad que cadenas como Ethereum, pero construida sobre Bitcoin.
Así que Stacks es una capa 2 de Bitcoin con algunas propiedades únicas, como tener su propio token, que actúa como un mecanismo de incentivos para mantener un libro mayor histórico de todas sus transacciones y operar con su propio presupuesto de seguridad (además del presupuesto de seguridad de Bitcoin — más sobre esto en la siguiente sección).
Esto es una de las cosas que separa a Stacks de otras capas de Bitcoin como Lightning.
Lightning no añade ninguna funcionalidad adicional a Bitcoin; simplemente ayuda a escalar la funcionalidad que Bitcoin ya tiene y a que opere más rápido. Lightning también es efímero: no tiene estado permanente, por lo que es inadecuado para cosas como contratos inteligentes que necesitan llevar registro de datos y mantener estado.
Contrasta esto con Stacks, que añade funcionalidad adicional a Bitcoin pero que, en última instancia, aún liquida en Bitcoin (esto también lo cubriremos en la siguiente sección).
El beneficio es que podemos mantener una separación de responsabilidades y mantener a Bitcoin simple y resistente, produciendo bloques constantemente, mientras añadimos capas adicionales para funcionalidad y velocidad. Si esas otras capas fueran comprometidas, la capa fundacional permanecería sin verse afectada. Esto es importante al construir sistemas destinados a ser dinero descentralizado global (Bitcoin) y una economía descentralizada construida sobre ese dinero (Stacks).
Con ese contexto, profundicemos en exactamente cómo Stacks está conectado a Bitcoin.
Recursos adicionales
[Stacks YT] Muneeb da una charla en el evento de lanzamiento de Stacks 2.0 Mainnet el 14 de enero de 2021.
Última actualización
¿Te fue útil?