# Capítulo 6: *"Transactions"*
###### tags: `MB`
[TOC]
## Material Principal
Para esta sesión socrática debes leer el [Tutorial: ¿Cómo crear una transacción usando bitcoin-cli para hacer pruebas?](/hdbA775VSai66EECTH0tdw)
Y también debes leer el [Capítulo 6: *"Transactions"*](https://github.com/bitcoinbook/bitcoinbook/blob/develop/ch06.asciidoc) del Libro **Mastering Bitcoin**. Estos son los enlaces a la versión del [libro en inglés](https://github.com/bitcoinbook/bitcoinbook) y la versión del [libro en español](https://drive.google.com/file/d/18NDHehFLGBDi_EVQQ59wQ2I99cvrrTJZ/view?usp=sharing). **Se recomienda leer en inglés, ya que es la versión más actualizada y completa**, pero es tu elección. Hemos estructurado las sesiones de acuerdo con los capítulos del libro en inglés.
:::info
:bangbang: **Importante:** Los términos técnicos siempre se dirán en inglés para facilitar el aprendizaje del idioma y la inmersión en el desarrollo de software de Bitcoin y LN. [Ver metodología de traducción](https://docs.google.com/document/d/1uPy771hf2xUElcaOR_Sk9NTqODeg9QZENYWL9leQc1g/edit?usp=sharing).
:::
## Lecturas complementarias
| Contenido | Tiempo (min) |
|:-------- |:--------:|
|[What is a bitcoin UTXO and why do they matter?](https://unchained.com/blog/what-is-a-utxo-bitcoin/)| 11|
|[Transacciones en Bitcoin](https://estudiobitcoin.com/diseccionando-transacciones-bitcoin/)| 20|
|[Estructura de transacciones y bloques en Bitcoin](https://es.wikipedia.org/wiki/Anexo:Estructura_de_transacciones_y_bloques_en_Bitcoin)| 10|
|[Crear transacciones](https://github.com/rserranon/notas-Bitcoin/blob/main/test_framework/creando_transacciones.md)| 60|
|[Transacciones de Bitcoin parcialmente firmadas](https://btctranscripts.com/sf-bitcoin-meetup/2019-03-15-partially-signed-bitcoin-transactions/)| 32|
## Preguntas de Aprendizaje
:::warning
🛑 Antes de resolver las preguntas del capítulo, revisa las instrucciones de trabajo de la sesión [aquí](https://hackmd.io/E5ZmWkcZRXi5K77gw0CVlg#Instrucciones-de-aprendizaje)
:::
1. What is a transaction?, How is it created?
2. What are the types of transactions?, What is a coinjoin?, What is the advantage of using it?
3. What is a UTXO? Is it convenient to do *coin control* every time funds are received? What is it for?
4. What is an *Output*? What is an *Input*?
5. In a transaction, What is the "txid" used for?
6. What is the "UTXO set"?
7. When people refer to the bitcoin ledger or a wallet that displays a received bitcoin balance, what is actually being monitored to come up with those numbers?
8. How are fees specified in a transaction? Why isn't this information just included in the transaction? Is there a better way to do this?
9. What are the two purposes of transaction fees?
10. Is SCRIPT's Turing incompleteness a feature or a deficiency?
11. Why are the locking and unlocking scripts executed separately?
12. Besides signing transactions, what are some other uses of digital signatures?
13. What are SIGHASH flags, and how can they be used?
:::spoiler *En español*
1. ¿Qué es una transacción?, ¿cómo se crean las transacciones de Bitcoin?
2. ¿Qué tipos de transacciones existen?, ¿qué es un *coinjoin*?, ¿cuál es la ventaja de utilizarlo?
3. ¿Qué es una UTXO?, ¿es conveniente realizar *coin control* cada vez que recibes fondos?, ¿para qué sirve?
4. ¿Qué es una *Output*?, ¿qué es una *Input*?
5. ¿Para qué se usan los *"txid"* en una transacción?
6. ¿Qué es el conjunto de UTXO?
7. Cuando la gente se refiere a un saldo de bitcoin o una wallet despliega un balance de bitcoin recibido, ¿qué es lo que realmente se está monitoreando para obtener esos números?
8. ¿Cómo se especifican los *fees* de una transacción?, ¿hay alguna forma mejor de hacerlo?
9. ¿Cuáles son los 2 propósitos de los *fees* de transacción?
10. SCRIPT de Turing incompleto, ¿es una ventaja o una deficiencia?
11. ¿Por qué se ejecutan los scripts de bloqueo y desbloqueo de manera separada?
12. Además de firmar transacciones, ¿cuáles son otros usos de las firmas digitales?
13. ¿Qué son las banderas de SIGHASH, y cómo se pueden usar?
:::
## Ejercicios
:::info
Using testnet, create **a single** bitcoin-cli transaction to send test coins to all your group partners.
:::
:::spoiler *En español*
:::info
Usando la testnet, crea **una sola** transacción con bitcoin-cli para enviar _test coins_ a todos tus compañeros de grupo.
:::