Skip to content

Latest commit

 

History

History
179 lines (129 loc) · 2.83 KB

chip-0028.md

File metadata and controls

179 lines (129 loc) · 2.83 KB
CHIP Number 0028
Title Blind Signer Translation
Description Translates the wallet APIs from CHIP-0027 to be smaller, for blind signers to use
Author Matt Hauff
Editor Dan Perry
Comments-URI CHIPs repo, PR #103
Status Draft
Category Process
Sub-Category Tooling
Created 2024-03-14
Requires 0027
Replaces None
Superseded-By None

Abstract

This CHIP is a translation layer that reduces the maximal set of wallet protocol APIs from CHIP-0027 into an optimal set of APIs for one or more signers. This CHIP is designed specifically for blind signers, which only include signature targets, and not anything about the spends.

Motivation

Multiple types of signers will likely use the APIs from CHIP-0027. Each signer type will require a separate CHIP to standardize a method for translating the APIs. This CHIP focuses narrowly on blind signers.

Backwards Compatibility

This CHIP does not introduce any backwards incompatibilities.

Rationale

This CHIP is targeted at developers of blind signers, in order to provide them with a standard method to translate the wallet protocol API into a smaller form.

Specification

Types

This section lists the relevant APIs from CHIP-0027, along with their replacements in this CHIP.

signing_target

CHIP-0027 version:

{
  "pubkey": "..."
  "message": "..."
  "hook": "..."
}

This CHIP:

{
  "p": "..."
  "m": "..."
  "h": "..."
}

sum_hint

CHIP-0027 version:

{
  "fingerprints": ["..."]
  "synthetic_offset": "..."
}

This CHIP:

{
  "f": ["..."]
  "o": "..."
}

path_hint

CHIP-0027 version:

{
  "root_fingerprint": "..."
  "path": ["..."]
}

This CHIP:

{
  "f": "..."
  "p": ["..."]
}

signing_instructions

CHIP-0027 version:

{
  "key_hints": <key_hints>
  "targets": [<signing_target>]
}

This CHIP:

{
  "s": [<sum_hint>]
  "p": [<path_hint>]
  "t": [<signing_target>]
}

unsigned_transaction

CHIP-0027 version:

{
  "transaction_info": <transaction_info>
  "signing_instructions": <signing_instructions>
}

This CHIP:

{
  "s": [<sum_hint>]
  "p": [<path_hint>]
  "t": [<signing_target>]
}

signing_response

CHIP-0027 version:

{
  "signature": "..."
  "hook": "..."
}

This CHIP:

{
  "s": "..."
  "h": "..."
}

Test Cases

[todo]

Reference Implementation

[todo]

Security

CNI plans to conduct an internal audit of this code when it is ready.

Additional Assets

None

Copyright

Copyright and related rights waived via CC0.