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: rfcs/0000-arbitrary-multisig/0000-arbitrary-multisig.md
+3-4Lines changed: 3 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -96,9 +96,8 @@ For `ALGO_ID` from `48` to `59`, SPHINCS+ public key for each parameter set will
96
96
97
97
We shall come back to define the `IDENTITY` for `ALGO_ID` from `60` to `62` at a later stage.
98
98
99
-
The `ALGO_ID` of `63` uses an `IDENTITY` of the following concatenated structure:
99
+
For the `ALGO_ID` of `63`, the public key part of an `IDENTITY`, contains more data than just the public key, the following concatenated structure is used:
100
100
101
-
* 1-byte `ALGO_ID` of `63`
102
101
* 32-byte value denoting `code hash`
103
102
* 1-byte value denoting `hash type`
104
103
* 8-byte value denoting `bounds`
@@ -112,10 +111,10 @@ For the `ALGO_ID` of `63`, the arbitrary multisig is expected to make a `spawn`
112
111
An `UNLOCKING_SLOT` resembles `IDENTITY`, but provides an optional signature as well:
113
112
114
113
```
115
-
(ALGO_FLAG in VLQ encoding) ++ (Same data as IDENTITY without the ALGO_FLAG at front) ++ (An optional signature)
114
+
(ALGO_FLAG in VLQ encoding) ++ (Public key, public key hash or more composite data) ++ (An optional signature)
116
115
```
117
116
118
-
In other words, typical `UNLOCKING_SLOT` contains `ALGO_FLAG`, a public key or public key hash, and an optional signature. Unlike `IDENTITY`, the `SIGNATURE_FLAG` in `UNLOCKING_SLOT` can be set or cleared, denoting the presence or absense of a signature at the end. `ALGO_ID` tells the correct lengths of public key, public key hash, and the optional signature.
117
+
In other words, typical `UNLOCKING_SLOT` contains `ALGO_FLAG`, a public key or public key hash, and an optional signature. Unlike `IDENTITY`, the `SIGNATURE_FLAG` in `UNLOCKING_SLOT` can be set or cleared, denoting the presence or absense of a signature at the end. `ALGO_ID` tells the correct lengths of public key, public key hash, and the optional signature.`ALGO_FLAG` in a whole determines the total length of the `UNLOCKING_SLOT`.
119
118
120
119
For `ALGO_ID` of `63`, there might be more data than the public key, the same encoding scheme defined for `IDENTITY` is also used for `UNLOCKING_SLOT`.
0 commit comments