coinbase / mesh-specifications

Specification files for the Mesh Blockchain Standard
Apache License 2.0
324 stars 92 forks source link

[More Research Required] Bitcoin-Style Multi-sig #50

Open patrick-ogrady opened 4 years ago

patrick-ogrady commented 4 years ago

The Construction API currently assumes there is at most one KeyPair associated with a given AccountIdentifier (this does not mean there can only be a single KeyPair associated with an AccountIdentifier as there can be multiple AccountIdentifiers with the same Address with different SubAccounts). This restriction does not prevent many stake-based multi-sig flows but does block "Bitcoin-style" multi-sig transactions.

We should find some way to support returning multiple PublicKeys for a given AccountIdentifier (likely just wrapping PublicKey with the associated AccountIdentifier) in /construction/metadata and /construction/payloads. We may also need to add a field to SigningPayload to indicate which PublicKey should be used to sign a particular payload (when it is possible to use multiple).