# La conexión con Bitcoin

<div data-with-frame="true"><figure><img src="/files/5c3a29f1e3f81f0d2f195cbabf8bf516e3a0fd41" alt=""><figcaption></figcaption></figure></div>

En la sección anterior, describimos Stacks como una forma de llevar la funcionalidad de los contratos inteligentes a Bitcoin, sin modificar Bitcoin en sí, y explicamos un poco cómo funciona la cadena. Esa es una gran promesa, pero ¿cómo la cumple realmente Stacks? ¿Y qué hace que Stacks sea único entre otras capas de Bitcoin y otras blockchains como Ethereum?

Antes de entrar en los detalles técnicos de cómo funciona Stacks, es importante obtener una visión general de alto nivel del problema que resuelve y de cómo lo hace realmente. Profundizaremos más en algunos de estos temas a medida que avancemos por la documentación, pero es bueno tener una visión general para unir todo. Este tema es un poco laberíntico, pero te dará una comprensión detallada del problema exacto que Stacks busca resolver y de cómo lo resuelve.

Entremos en materia.

### ¿Cuál es el propósito de una capa de Bitcoin?

La descentralización de la confianza es la principal innovación y promesa de las blockchains. Incluso en el\
mundo de las criptomonedas, los fracasos recientes en 2022 han sido de entidades centralizadas, lo que\
subraya aún más la importancia de los sistemas que no dependen de intermediarios centralizados\
“de confianza”. Bitcoin es la blockchain más segura, duradera y valiosa; ya es utilizada como reserva\
de valor por millones de personas. Es dinero robusto, "duro", con una propiedad no custodial sin precedentes\
y sin inflación. La blockchain de Bitcoin también es la mejor capa de liquidación para\
transacciones, ya que es la blockchain más descentralizada, resistente a la censura y duradera.

Sin embargo, Bitcoin es relativamente lento y minimalista por diseño, y conservador en su evolución para\
preservar estas poderosas propiedades. Produce bloques en promedio cada 10 minutos, con solo\
5-7 transacciones por segundo. No ofrece soporte nativo para contratos inteligentes totalmente expresivos y, por lo tanto, para aplicaciones sofisticadas que puedan utilizar sus propiedades. El resultado es\
que Bitcoin ha permanecido como un activo pasivo en lugar de productivo. A pesar de sus propiedades atractivas y\
únicas, no ha sido una plataforma para aplicaciones aparte de una reserva de valor y\
movimiento infrecuente de dinero.

Las capas de Bitcoin cambian esto. Las capas de Bitcoin amplían la funcionalidad y el rendimiento de la\
blockchain de Bitcoin sin requerir ningún cambio en ella.

### ¿Cómo definiríamos qué es una capa de Bitcoin?

Es importante definir qué se entiende por una capa de Bitcoin. Aunque hay varias opiniones matizadas sobre qué hace que un sistema sea una Capa 2 sobre una Capa 1, estas son las propiedades que creemos que conforman una L2 ideal de Bitcoin y los supuestos que hacemos:

1. Proceso de desarrollo de código abierto y descentralizado
2. Compatibilidad completa con VM y capacidad de programar con lenguajes expresivos de alto nivel
3. Tiempos rápidos de transacción y bloque (no hay que esperar 10-30 minutos por bloques de Bitcoin)
4. Una forma minimizada en confianza de mover BTC entre L1 y L2
5. BTC como el activo principal desplegado en aplicaciones de L2
6. La capacidad de pagar las transacciones de L2 en BTC
7. La capacidad de retirar unilateralmente tu BTC de vuelta desde la L2 sin riesgo de contraparte

Stacks V1 tenía las propiedades 1 y 2, pero le faltaban las demás. La actualización Nakamoto trae las propiedades 3, 4 y 5, y actualmente hay debates y trabajo en curso para lograr la 6. Actualmente, Lightning es la única L2 que tiene la propiedad 7, y la única forma de aprovechar realmente esto es ejecutar tu propio nodo Lightning, una tarea compleja en la que pocos usuarios se involucran. Además, Lightning carece de la propiedad 2, lo que significa que no podemos desbloquear ninguna funcionalidad adicional más allá de lo que esa L1 de Bitcoin ya es capaz de hacer.

Es importante reconocer que las L2 de Bitcoin tienen objetivos fundamentalmente diferentes de las L2 en otras L1 como Ethereum. Mientras que la motivación principal de las L2 en Ethereum es mejorar la\
escalabilidad, las L2 de Bitcoin sirven para mejorar tanto la escalabilidad como la funcionalidad.\
Esto significa que la capa de Bitcoin no puede verificar la validez de las transacciones que ocurren en L2s\
como Stacks. En cambio, la VM de esa capa es responsable del procesamiento y la\
verificación de las transacciones, y de liquidar esas transacciones en Bitcoin para que compartan la misma historia\
y finalidad.

{% embed url="<https://www.youtube.com/watch?v=HUyFnGnA4FU>" %}

### ¿Es Stacks una L2 de Bitcoin?

Stacks es una capa de Bitcoin para contratos inteligentes. La clasificación como capa 1 (L1), capa 2 (L2) o sidechain realmente depende de la definición utilizada. Dicho esto, en términos generales, las cadenas L1 son soberanas, lo que significa que (a) tienen su propio presupuesto de seguridad y (b) pueden sobrevivir sin necesidad de ninguna otra cadena L1. Las cadenas L2 normalmente no tienen su propio presupuesto de seguridad y comparten la seguridad de la cadena L1 subyacente, y no pueden vivir sin la cadena L1 subyacente. Hay muchos mecanismos de diseño diferentes que las L2 pueden usar.

La versión inicial de Stacks a principios de 2021 tenía un presupuesto de seguridad separado de Bitcoin L1. Aunque la capa de Stacks no podía funcionar sin Bitcoin L1, los desarrolladores que trabajaban en el proyecto la describieron como un sistema diferente que no encaja perfectamente en las clasificaciones existentes, usando a veces el término capa 1.5 (ver [este artículo de Decrypt](https://decrypt.co/82019/bitcoin-defi-thing-says-stacks-founder-muneeb-ali) por ejemplo).

La versión Nakamoto en 2024 permitió que Stacks compartiera el mismo presupuesto de seguridad de Bitcoin. En cambio, el 100% del poder de hash de Bitcoin determinará la finalidad en la capa de Stacks. Para reorganizar los bloques/transacciones de Stacks, el atacante tendrá que reorganizar la propia L1 de Bitcoin (lo cual es muy difícil de hacer y, por tanto, una gran propiedad de seguridad que una capa de Bitcoin debe tener).

La definición de L2 usada en Ethereum y otros ecosistemas más nuevos es diferente y se centra en la capacidad de retirar activos usando solo la seguridad de L1 y los mineros de L1. Según esa definición, la capa de Stacks no es una L2 clara, dado que el conjunto de firmantes del peg-out determina si los usuarios pueden retirar sBTC. Bitcoin no puede admitir dicha verificación sin cambios en Bitcoin L1 (lo que podría ocurrir en el futuro). La definición de L2 de Ethereum tampoco se aplica con tanta claridad a las L2 de Bitcoin, dado que se emiten nuevos activos en las L2 cuando se trata de Bitcoin y no se emiten en L1 (solo BTC es el activo de L1). Por lo tanto, usar la definición de seguridad de retiro de activos no es directamente aplicable, dado que los activos se definen y utilizan en las L2 y, de todos modos, no se retiran a Bitcoin L1 (con la excepción del propio BTC). Más bien, lo que pasa a ser más importante es la "liquidación en Bitcoin", es decir, si los datos y el estado del contrato están asegurados o no por el 100% del poder de hash de Bitcoin.

Recuerda que las L2 en Bitcoin también tienen que cumplir el propósito adicional de ampliar tanto la funcionalidad como la escalabilidad, lo que significa que las L2 logran objetivos fundamentalmente diferentes según la funcionalidad de la L1.

Usuarios y desarrolladores llaman orgánicamente a Stacks una L2 de Bitcoin, ya que es un concepto más sencillo de entender. Hay ciertas propiedades de la capa de Stacks que también ayudan a la idea de Stacks como una L2 de Bitcoin:

{% stepper %}
{% step %}
**Finalidad de Bitcoin**

El 100% del poder de hash de Bitcoin decide el orden de los bloques y la finalidad de las transacciones.
{% endstep %}

{% step %}
**El consenso se ejecuta en Bitcoin**

El consenso de Stacks se ejecuta en la L1 de Bitcoin, y la L2 de Stacks no puede operar ni sobrevivir sin la L1 de Bitcoin.
{% endstep %}

{% step %}
**sBTC y unidad económica**

Con el peg de Bitcoin descentralizado, sBTC, la mayor parte de la economía en la capa de Stacks utilizará BTC como unidad económica. Se espera que la mayoría de los usuarios simplemente utilicen Bitcoin en billeteras y aplicaciones y luego retiren sus BTC a Bitcoin L1.
{% endstep %}

{% step %}
**Datos hasheados y almacenados en Bitcoin**

Todos los datos y transacciones en Stacks se hashean automáticamente y se almacenan permanentemente en Bitcoin L1 en cada bloque de Bitcoin. Cualquiera puede verificar que algunos datos en Stacks son válidos comprobando el hash correspondiente en Bitcoin. Este almacenamiento compacto de hashes en la L1 es en cierta medida similar a los rollups (aunque hay otras diferencias). Puedes leer más sobre este proceso en la [Producción de bloques](/learn/es/block-production.md) sección.
{% endstep %}

{% step %}
**Los contratos pueden leer el estado de Bitcoin**

Los contratos en la capa de Stacks pueden leer transacciones de Bitcoin L1 y responder a ellas. Los activos en la capa de Stacks pueden moverse simplemente mediante transacciones de Bitcoin L1.
{% endstep %}
{% endstepper %}

<details>

<summary><strong>Cómo abordar a los escépticos y críticos</strong></summary>

Con todos los detalles anteriores, ¿por qué algunas personas pensarían que Stacks no es una L2 de Bitcoin? Hay un par de razones por las que esta pregunta surge con frecuencia:

* **Material antiguo sobre el presupuesto de seguridad**: La versión inicial de Stacks (lanzada a principios de 2021) tenía un presupuesto de seguridad separado, que cambió a heredar el 100% del poder de hash de Bitcoin con la versión Nakamoto.
* **La definición de retiro de las L2 de Ethereum no encaja claramente**: Según la definición de L2 de Ethereum, un usuario debería poder retirar sus activos de la capa base simplemente realizando una transacción L1 y confiando solo en la seguridad de L1 (esto es cierto para Lightning, por ejemplo). Esta definición no se aplica con claridad a las L2 de Bitcoin porque los activos no se definen en Bitcoin L1 sino en las L2. El único activo en el que esto importa es el activo BTC vinculado desde Bitcoin L1, dado que todos los demás activos son nativos de las L2 de todos modos. En la próxima versión de Stacks, los usuarios podrán retirar sus BTC enviando solo una transacción de Bitcoin L1, pero Bitcoin L1 no puede validar esa transacción compleja y una mayoría de firmantes del peg-out tendrá que firmar la solicitud de peg-out. En un mundo ideal, los mineros de Bitcoin podrían validar tales transacciones, pero eso requeriría un cambio en Bitcoin L1. Por lo tanto, el diseño de Stacks optimiza un método que es descentralizado y puede implementarse sin cambios en Bitcoin L1. Si en el futuro es posible realizar cambios en Bitcoin L1, entonces la seguridad de la capa de Stacks también puede beneficiarse de ello.
* **Escepticismo sano hacia Bitcoin**: Los miembros de la comunidad de Bitcoin son, en general, escépticos ante las afirmaciones y están atentos a las personas que hacen afirmaciones de marketing falsas. Esto es, por lo general, algo saludable para el ecosistema de Bitcoin y fortalece su sistema inmunitario. Algunos miembros de la comunidad pueden mostrarse escépticos sobre Stacks como capa de Bitcoin o L2 hasta que lean completamente los detalles técnicos y el razonamiento. También hay un buen hilo en Twitter sobre este tema.

</details>

Entonces, ¿por qué no usamos el término 'sidechain' para Stacks? Las sidechains en Bitcoin suelen tener un presupuesto de seguridad diferente al de la L1 de Bitcoin, normalmente como un subconjunto de mineros de Bitcoin que participan en la sidechain (no siguen la finalidad del 100% de Bitcoin), su consenso se ejecuta en la sidechain (en lugar de ejecutarse en la L1 de Bitcoin), y no publican sus datos/hashes en la L1 de Bitcoin. La capa de Stacks no encaja con esa definición de forma clara, dado que el consenso se ejecuta en la L1 de Bitcoin, sigue la finalidad de Bitcoin y publica datos/hashes en la L1.

### La relación simbiótica entre Stacks y Bitcoin

Stacks y Bitcoin se complementan. Stacks aprovecha la extrema descentralización de Bitcoin, su mecanismo de consenso PoW y su valor como criptomoneda.

Pero Stacks también complementa a Bitcoin al desbloquear casos de uso adicionales, aumentando así su valor con el tiempo. Esto también ayuda a resolver el problema adicional de la futura mantenibilidad de Bitcoin, después de que las recompensas de coinbase desaparezcan y Bitcoin tenga que funcionar únicamente con las comisiones de transacción.

{% embed url="<https://twitter.com/muneeb/status/1506976317618728963>" %}

Si Bitcoin se ve solo como una reserva de valor, la densidad económica, es decir, cuánto valor se intercambia, de cada transacción será mínima. Pero si Bitcoin es la base subyacente de toda una economía descentralizada, esas transacciones se vuelven mucho más valiosas, aumentando las comisiones de transacción. Este es un incentivo crucial para que los mineros sigan asegurando la red a medida que las recompensas de coinbase disminuyen.

### Sobre cómo crear una experiencia de desarrollo enfocada en Bitcoin

Una de las cosas que le da a la red Stacks sus superpoderes para conectarse con Bitcoin no es solo cómo se conecta a Bitcoin a nivel de protocolo, como se comentó arriba, sino también cómo podemos utilizar ese Bitcoin a nivel programático.

La experiencia de desarrollo para una L2 de Bitcoin debería abstraer la complejidad de Bitcoin, pero también mantener la *sensación* de construir sobre Bitcoin. Suena como una contradicción, pero así es como Stacks lo logra:

{% stepper %}
{% step %}
**Sostener los movimientos de bitcoin con sBTC**

<div data-with-frame="true"><figure><img src="/files/c93f8255a1800644d0a97244db80d918bf43a3db" alt=""><figcaption></figcaption></figure></div>

sBTC desbloquea la programabilidad de Bitcoin. Obtienes expresividad de L2 sin perder las propiedades familiares de Bitcoin: denominación, representación y modelo de confianza.
{% endstep %}

{% step %}
**Conéctate directamente a BTCFi**

<div data-with-frame="true"><figure><img src="/files/02950ec0c4eb0694ef14657af78df25b2312a7c5" alt=""><figcaption></figcaption></figure></div>

Zest, Bitflow, StackingDAO, Dual Stacking y otros protocolos DeFi importantes en Stacks ofrecen herramientas para desarrolladores para aplicaciones inteligentes, componibles y centradas en Bitcoin.
{% endstep %}

{% step %}
**Una identidad criptográfica**

<div data-with-frame="true"><figure><img src="/files/b113fc05355cad23468cc4b6b051ede5b5f14364" alt=""><figcaption></figcaption></figure></div>

Stacks usa la *misma* primitiva criptográfica — la misma curva (secp256k1), el mismo `hash160` construcción — para derivar las direcciones de Stacks. Están formateadas de manera diferente (distintos bytes de versión / codificación), pero debajo de todo: el ancla de identidad es el mismo hash de clave pública de 20 bytes.

Capas diferentes. Misma clave privada criptográfica.
{% endstep %}

{% step %}
**Reaccionar al estado de Bitcoin**

<div data-with-frame="true"><figure><img src="/files/aeed7e32ed73ca258950faadcde512674662c890" alt=""><figcaption></figcaption></figure></div>

Una de las características de Clarity que con frecuencia se destacan es que tiene incorporado acceso al estado de la cadena de Bitcoin, pero ¿cómo lo hace realmente? Debido al mecanismo PoX de Stacks, cada bloque de Stacks está conectado a un bloque de Bitcoin y puede consultar los hashes del encabezado de bloque de Bitcoin con la `get-burn-block-info?` función.

Clarity puede leer el estado de Bitcoin directamente. Analizar transacciones BTC. Desencadenar lógica basada en la actividad de Bitcoin.
{% endstep %}

{% step %}
**Capturar el tiempo en la L2 a velocidad de Bitcoin**

<div data-with-frame="true"><figure><img src="/files/8fa535ce117cd8ce7fc3218948f531be8d15acf0" alt=""><figcaption></figcaption></figure></div>

Los contratos de Clarity pueden medir el tiempo por bloques de Bitcoin. Esto no es solo técnico: es simbólico. Como seguir el tiempo por el sol, confiamos en el ritmo de Bitcoin.
{% endstep %}
{% endstepper %}

***

### Recursos adicionales

* \[[Blog de Hiro](https://www.hiro.so/blog/building-on-bitcoin-project-comparison)] Construyendo sobre Bitcoin: una comparación de proyectos de Bitcoin
* \[[Libros de Hiro](https://www.hiro.so/books/a-beginners-guide-to-bitcoin-layers)] Una guía para principiantes sobre las capas de Bitcoin
* \[[Stacks YT](https://www.youtube.com/watch?v=F31B-my510A)] La relación entre Stacks y los mineros de Bitcoin


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.stacks.co/learn/es/stacks-101/bitcoin-connection.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
