Skip to content

Commit

Permalink
Remove Ed25519 Public Key Block Issuer Key
Browse files Browse the repository at this point in the history
  • Loading branch information
PhilippGackstatter committed Jan 24, 2024
1 parent 6fbb3db commit cd930ef
Showing 1 changed file with 14 additions and 42 deletions.
56 changes: 14 additions & 42 deletions tips/TIP-0042/tip-0042.md
Original file line number Diff line number Diff line change
Expand Up @@ -194,7 +194,7 @@ locked to that account.
<td valign="top">Block Issuer Keys <code>anyOf</code></td>
<td colspan="2">
<details>
<summary>Ed25519 Public Key Block Issuer Key</summary>
<summary>Ed25519 Public Key Hash Block Issuer Key</summary>
<blockquote>A Block Issuer Key backed by an Ed25519 Public Key.</blockquote>
<table>
<tr>
Expand All @@ -211,12 +211,12 @@ locked to that account.
<tr>
<td>Block Issuer Key Type</td>
<td>uint8</td>
<td>Set to <strong>value 0</strong> to denote an <i>Ed25519 Public Key Block Issuer Key</i>.</td>
<td>Set to <strong>value 0</strong> to denote an <i>Ed25519 Public Key Hash Block Issuer Key</i>.</td>
</tr>
<tr>
<td>Public Key</td>
<td>PubKeyHash</td>
<td>ByteArray[32]</td>
<td>The raw bytes of the Ed25519 public key.</td>
<td>The raw bytes of the BLAKE2b-256 hash of the corresponding Ed25519 public key.</td>
</tr>
</table>
</details>
Expand Down Expand Up @@ -618,7 +618,7 @@ outputs that are locked under _Account Address_ and it keeps track of controlled
<tr>
<td>Key</td>
<td>(uint8)ByteArray</td>
<td>A string which may only consist of ASCII characters. A leading uint8 denotes its length.</td>
<td>A string which may only consist of printable ASCII characters. A leading uint8 denotes its length.</td>
</tr>
<tr>
<td>Value</td>
Expand Down Expand Up @@ -653,7 +653,7 @@ outputs that are locked under _Account Address_ and it keeps track of controlled
</tr>
<tr>
<td>Expiry Slot</td>
<td>uint64</td>
<td>uint32</td>
<td>The slot index at which the <i>Block Issuer Feature</i> expires and can be removed.</td>
</tr>
<tr>
Expand All @@ -665,7 +665,7 @@ outputs that are locked under _Account Address_ and it keeps track of controlled
<td valign="top">Block Issuer Keys <code>anyOf</code></td>
<td colspan="2">
<details>
<summary>Ed25519 Public Key Block Issuer Key</summary>
<summary>Ed25519 Public Key Hash Block Issuer Key</summary>
<blockquote>A Block Issuer Key backed by an Ed25519 Public Key.</blockquote>
<table>
<tr>
Expand All @@ -682,12 +682,12 @@ outputs that are locked under _Account Address_ and it keeps track of controlled
<tr>
<td>Block Issuer Key Type</td>
<td>uint8</td>
<td>Set to <strong>value 0</strong> to denote an <i>Ed25519 Public Key Block Issuer Key</i>.</td>
<td>Set to <strong>value 0</strong> to denote an <i>Ed25519 Public Key Hash Block Issuer Key</i>.</td>
</tr>
<tr>
<td>Public Key</td>
<td>PubKeyHash</td>
<td>ByteArray[32]</td>
<td>The raw bytes of the Ed25519 public key.</td>
<td>The raw bytes of the BLAKE2b-256 hash of the corresponding Ed25519 public key.</td>
</tr>
</table>
</details>
Expand Down Expand Up @@ -844,7 +844,7 @@ outputs that are locked under _Account Address_ and it keeps track of controlled
<tr>
<td>Key</td>
<td>(uint8)ByteArray</td>
<td>A string which may only consist of ASCII characters. A leading uint8 denotes its length.</td>
<td>A string which may only consist of printable ASCII characters. A leading uint8 denotes its length.</td>
</tr>
<tr>
<td>Value</td>
Expand Down Expand Up @@ -1043,37 +1043,9 @@ creation and block issuer feature transition.

### Implicit Account Block Issuance

An implicit account can issue blocks by using the public key from which the implicit account creation address was
derived as a block issuer key. A separate block issuer key type is reserved for that, which is however never used in
transactions directly.

<details>
<summary>Ed25519 Public Key Hash Block Issuer Key</summary>
<blockquote>A block issuer key for issuing blocks from implicit accounts.</blockquote>
</details>
<table>
<tr>
<td>
<b>Name</b>
</td>
<td>
<b>Type</b>
</td>
<td>
<b>Description</b>
</td>
</tr>
<tr>
<td>Block Issuer Key Type</td>
<td>uint8</td>
<td>Set to <strong>value 1</strong> to denote an <i>Ed25519 Public Key Hash Block Issuer Key</i>.</td>
</tr>
<tr>
<td>PubKeyHash</td>
<td>ByteArray[32]</td>
<td>The raw bytes of the Implicit Account Creation Address which is the BLAKE2b-256 hash of the Ed25519 public key.</td>
</tr>
</table>
An implicit account can issue blocks by using the `PubKeyHash` of the _Implicit Account Creation Address_ itself as an
_Ed25519 Public Key Hash Block Issuer Key_. Therefore, the block's signature must contain the public key from which the
`PubKeyHash` was derived from and the signature must be computed from the corresponding private key.

# Migration

Expand Down

0 comments on commit cd930ef

Please sign in to comment.