You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: es/10_4_Scripting_a_Multisig.md
+17-17Lines changed: 17 additions & 17 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,31 +6,31 @@ Antes de cerrar esta introducción a las secuencias de comandos P2SH, vale la pe
6
6
7
7
Las transacciones multifirma se crean en Bitcoin utlizando el código `OP_CHECKMULTISIG`. `OP_CHECKMULTISIG` espera una larga cadena de argumentos con este aspecto: `0 ... sigs ... <m> ... addresses ... <n> OP_CHECKMULTISIG`. Cuando se ejecuta `OP_CHECKMULTISIG` hace lo siguiente:
8
8
9
-
1.Saque el primer valor de la pila (`<n>`).
10
-
2.Saque los valores "n" de la pila como direcciones de Bitcoin (claves públicas con hash).
11
-
3.Saque el siguiente valor de la pila (`<m>`).
12
-
4.Saque los valores "m" de la pila como posible firmas.
13
-
5.Saque un `0` de la pila debido a un error en la codificación.
14
-
6.Compare las firmas con las direcciones de Bitcoin.
15
-
7.Pulse`True` o `False` según el resultado.
9
+
1.Saca el primer valor de la pila (`<n>`).
10
+
2.Saca los valores "n" de la pila como direcciones de Bitcoin (claves públicas con hash).
11
+
3.Saca el siguiente valor de la pila (`<m>`).
12
+
4.Saca los valores "m" de la pila como posible firmas.
13
+
5.Saca un `0` de la pila debido a un error en la codificación.
14
+
6.Compara las firmas con las direcciones de Bitcoin.
15
+
7.Empuja un`True` o `False` según el resultado.
16
16
17
17
Los operandos de `OP_MULTISIG` se dividen típicamente, con el `0` y las firmas provenientes del script de desbloqueo y la "m", "n", y las direcciones se detallan en el script de bloqueo.
18
18
19
19
El requisito de que `0` como primer operando de `OP_CHECKMULTISIG` es una regla de consenso. Debido a que la versión original de `OP_CHECKMULTISIG` sacó accidentalmente un elemento adicional de la pila, Bitcoin debe seguir para siempre ese estándar, para que no se rompan accidentalmente los complejos scripts de canje de ese período de tiempo, haciendo que los fondos antiguos no se puedan canjear.
20
20
21
-
> :book:***¿Qué es una regla de consenso?*** Estas son las reglas que siguen los nodos de Bitcoin para trabajar juntos. En gran parte, están definidos por el código Bitcoin Core. Estas reglas incluyen muchos mandatos obvios como el límite de la cantidad de Bitcoins que se crean para cada bloque y las reglas sobre cómo se pueden respetar las transacciones. Sin embargo, también incluyen correciones para errores que han aparecido a lo largo de los años, porque una vez que se ha introducido un error en la base de código de Bitcoin, debe recibir soporte continuo para evitar que los antiguos Bitcoins se vuelvan insostenibles.
21
+
> :book:***¿Qué es una regla de consenso?*** Estas son las reglas que siguen los nodos de Bitcoin para trabajar juntos. En gran parte, están definidos por el código Bitcoin Core. Estas reglas incluyen muchos mandatos obvios como el límite de la cantidad de Bitcoins que se crean para cada bloque y las reglas sobre cómo se pueden respetar las transacciones. Sin embargo, también incluyen correciones para errores que han aparecido a lo largo de los años, porque una vez que se ha introducido un error en la base de código de Bitcoin, debe recibir soporte continuo para evitar que los antiguos Bitcoins se vuelvan no gastables.
22
22
23
23
## Crear una Multifima Sin Procesar
24
24
25
25
Como se explica en [§10.1: Creación de un Bitcoin Script con P2SH](10_1_Building_a_Bitcoin_Script_with_P2SH.md), las multifirmas son uno de los tipos de transacciones estándar de Bitcoin. Se puede crear una transacción con un script de bloqueo que utiliza el comando `OP_CHECKMULTISIG` sin procesar, y se aceptará en un bloque. Esta es la metodología clásica para usar multifirmas en Bitcoin.
26
26
27
-
Como ejemplo, volveremos a visitar la multifirma creado en [§8.1](08_1_Sending_a_Transaction_to_a_Multisig.md) una útltima vez y crearemos un nuevo script de bloqueo para él utilizando esta metodología. Como recordará, se trataba de una multifirma 2 de 2 construida a partir de `$address1` y `$address2`.
27
+
Como ejemplo, volveremos a visitar la multifirma creado en [§8.1](08_1_Sending_a_Transaction_to_a_Multisig.md) una útltima vez y crearemos un nuevo script de bloqueo para esta utilizando dicha metodología. Como recordará, se trataba de una multifirma 2 de 2 construida a partir de `$address1` y `$address2`.
28
28
29
29
Como el script de bloquo `OP_CHECKMULTISIG` requiere la "m" (`2`), las direcciones y la "n" (`2`), puede escribir la siguiente `scriptPubKey`:
30
30
```
31
31
2 $address1 $address2 2 OP_CHECKMULTISIG
32
32
```
33
-
Si esto le parece familiar, es porque es la firma múltiple que deserializó en [§8.2: Construcción de la Estructura de P2SH](08_2_Building_the_Structure_of_P2SH.md).
33
+
Si esto le parece familiar, es porque es la multifirma que deserializó en [§8.2: Construcción de la Estructura de P2SH](08_2_Building_the_Structure_of_P2SH.md).
@@ -39,7 +39,7 @@ Si esto le parece familiar, es porque es la firma múltiple que deserializó en
39
39
40
40
## Desbloquear un Multifirma Sin Procesar
41
41
42
-
El `scriptSig` para una dirección estándar mutlfirma debe enviar los operandos que faltan para `OP_CHECKMULTISIG`: un `0` seguido de firmas "m". Por ejemplo:
42
+
El `scriptSig` para una dirección estándar mutlfirma debe enviar los operandos que faltan para `OP_CHECKMULTISIG`: un `0` seguido de "m" firmas. Por ejemplo:
43
43
```
44
44
0 $signature1 $signature2
45
45
```
@@ -66,7 +66,7 @@ Luego, el "2" le dice a `OP_CHECKMULTISIG ` que muestre dos direcciones:
66
66
Running: OP_CHECKMULTISIG
67
67
Stack: [ 0 $signature1 $signature2 2 ]
68
68
```
69
-
Luego, el siguiente "2" se saque:
69
+
Luego, el siguiente "2" se saca:
70
70
```
71
71
Running: OP_CHECKMULTISIG
72
72
Stack: [ 0 $signature1 $signature2 ]
@@ -76,7 +76,7 @@ Luego, el "2" le dice a `OP_CHECKMULTISIG` que saque dos firmas:
76
76
Running: OP_CHECKMULTISIG
77
77
Stack: [ 0 ]
78
78
```
79
-
Luego, se saque un elemento más por error:
79
+
Luego, se saca un elemento más por error:
80
80
```
81
81
Running: OP_CHECKMULTISIG
82
82
Stack: [ ]
@@ -93,7 +93,7 @@ Desafortunadamente, la técnica de incrustar una multifirma sin procesar en una
93
93
1. Debido a que no existe un formato de dirección estándar para multifirma, cada remitente debe: ingresar un script multifirma largo y engorroso; tener un software que permita esto; y ser de confianza para no estropearlo.
94
94
2. Debido a que las múltiples funciones pueden ser mucho más largas que los script de bloqueo típicos, la cadena de bloques incurre en más costos. Esto requiere tarifas de transacción más altas por parte del remitente y crea más molestias para cada nodo.
95
95
96
-
En general, se trataba de problemas con cualquier tipo de script de Bitcoin complejo, pero rápidamente se convirtieron en problemas muy reales cuando se aplicaron a multifirmas, que fueron algunos de los primeros scripts complejos que se utilizaron ampliamente en la red de Bitcoin. Las transacciones P2SH se crearon para resolver estos problemas a partir de 2012.
96
+
Estos eran generalmente problemas con cualquier tipo de script de Bitcoin complejo, pero rápidamente se convirtieron en problemas muy reales cuando se aplicaron a multifirmas, que fueron algunos de los primeros scripts complejos que se utilizaron ampliamente en la red de Bitcoin. Las transacciones P2SH se crearon para resolver estos problemas a partir de 2012.
97
97
98
98
> :book:***¿Qué es un P2SH multifirma?*** Las multifirmas P2SH fueron la primera implementación de transacciones P2SH. Simplemente empaquetan una transacción estándar de multifirmas en una transacción P2SH estándar. Simplemente empaquetan una transacción estándar de multifirma en una transacción P2SH estándar. Esto permite la estandarización de direcciones; reduce el almacenamiento de datos; y aumenta los recuentos de "m" y "n".
99
99
@@ -116,7 +116,7 @@ Para crear una multifirma P2SH, siga los pasos estándar para crear un script de
116
116
117
117
Luego puede crear una transacción usando esa `scriptPubKey`.
118
118
119
-
## Desbloquear el P2SH Multifirma
119
+
## Desbloquear la Multifirma P2SH
120
120
121
121
Para desbloquear esta transacción multifirma es necessario que el destinatario produzca un scriptSig que incluya las dos firmas y el `redeemScript`.
122
122
@@ -127,7 +127,7 @@ Para desbloquear el P2SH multifirma, primero confirme el script:
127
127
1. Producir un script de desbloqueo de `0 $signature1 $signature2 <serializedMultiSig>`.
128
128
2. Concatenar eso con el script de bloqueo de `OP_HASH160 <hashedMultisig> OP_EQUAL`.
4.Tener éxito si los operandos cumplen con la deserialización `redeemScript`.
139
+
4.Es correcto si los operandos cumplen con la deserialización `redeemScript`.
140
140
141
141
Ahora sabe cómo se creó realmente la transacción multifirma en [§6.1](06_1_Sending_a_Transaction_to_a_Multisig.md), cómo se validó para el gasto y por qué ese `redeemScript` era tan importante.
0 commit comments