From 36c756eeb6dacc1ccff3d8650bbfcdc043b421f9 Mon Sep 17 00:00:00 2001 From: Roger Willis Date: Tue, 30 Jul 2019 17:17:04 +0100 Subject: [PATCH] Added accounts design doc. (#5193) * Added accounts design doc. * Fixed typos in accounts design docs --- docs/source/design/accounts/accounts.md | 559 ++++++++++++++++++++++++ docs/source/design/accounts/tables.png | Bin 0 -> 141769 bytes 2 files changed, 559 insertions(+) create mode 100644 docs/source/design/accounts/accounts.md create mode 100644 docs/source/design/accounts/tables.png diff --git a/docs/source/design/accounts/accounts.md b/docs/source/design/accounts/accounts.md new file mode 100644 index 0000000000..2cbbc5950b --- /dev/null +++ b/docs/source/design/accounts/accounts.md @@ -0,0 +1,559 @@ +# Accounts Library Design + +This document outlines the requirements and design for a Corda accounts library. + +## Requirements + +### High-level requirements + +The accounts library is presented to CorDapp developers and node operators to meet the following high-level requirements: + +1. Flows and vault queries on behalf of customer facing operations must only show data relevant to specific customers. +2. On-ledger activities must correlate with external systems and assure stakeholders that the transactions *are* happening. E.g. accounts which can be reconciled to an organisation's trial balance. +3. Individual customers must have individual balances, but the node operating organisation is responsible for netting these flows and providing supporting liquidity i.e. fractional reserve banking. +4. An organisation must support custody relationships with its customers, such that individual states need to be allocated to a particular customer. +5. To check node local metadata that affects whether customer actions should be authorised, or whether actions should be priced differently, or more generally, to determine how a flow should behave. +6. Customer data must be separately encrypted for compliance and isolation reasons in situations where the node data is not owned by the node operator. +7. All customers must hold their own keys and be able to portably spend/authorise the spending of individual states in the future, possibly even using a different provider. + +This document addresses requirements 1 to 5. Requirement 3 can be addressed without giving account holders the ability to generate their own key pairs. Instead, the host node only must record "account totals", for each account, instead of allocating individual states on a per account basis. Requirements 6 and 7 will be addressed in future releases of Corda. The design described in this document is a prerequisite for delivering requirement 7. + +### Definitions + +- **Account** - An account is a collection of key pairs and state objects. The participation keys are all mapped to a common identifier—the "account ID" +- **Account ID** - A UUID which is used to identify an account +- **Node operator** - an organisation which operates a Corda node +- **Host node** - a Corda node which hosts one or more accounts +- **Regular node** - a Corda node which does not host accounts +- **Account holder** - a legal person that the account is created for. Note: not all accounts have account holders. + +### Specific requirements + +High-level requirements 1 to 5 can be met with the following specific requirements: + +- Node operators must be able to create new accounts +- Each account must have a basic information associated with it, such as an account name, account host node and account ID +- Accounts must be discoverable by regular nodes and other accounts +- Accounts must be able to transact with regular nodes and other accounts +- Accounts must be transferrable to other host nodes +- Accounts must be migratable to regular nodes +- Accounts must support the creation of new key pairs to participate in states +- Node operators must be able to query states on a per account basis +- States shared with specific accounts should only be visible to those specific accounts and not other accounts on the same host node +- Interacting with accounts shouldn't require different coding patterns to interacting with regular nodes +- Host nodes must be able to assign arbitrary data to accounts which can be looked-up during flow execution + +## Design + +### Background + +In the context of Corda, the accounts library allows a Corda node to partition the vault—a collection of state objects—into a number of subsets, where each subset represents an account. In other words, the accounts library allows a Corda node operator to split the vault into multiple "logical" sub-vaults. This is advantageous for a couple of reasons: + +* Node operators can reduce costs by hosting multiple entities, as accounts, on one node +* Node operators can partition the vault on a per entity basis + +Accounts are created by host nodes, which are just regular Corda nodes. Hosts can create accounts for a range of purposes such as customer accounts, balance sheets or P&L accounts, employee accounts, etc. + +The accounts library takes the form of a JAR which can be dropped into the CorDapps folder. Use of it is optional. This means that some nodes will support accounts but others will not. This is intentional by design as not all nodes will need to support accounts and the optional nature of accounts reduces the learning curve for new CorDapp developers. + +#### Vault isolation + +As Corda nodes support only one vault service and one transaction store, it follows that host nodes cannot provide data isolation between accounts. As such, the accounts feature may not be appropriate for all organisations or projects. If vault isolation is required then the solution would be for the organisation in question to operate a dedicated Corda node. + +Despite there being no node level isolation, the accounts feature supports permissioning at the application level where by account holders will only be able to see the states they participate in and have observed. The onus is on CorDapp developers to ensure that this application level permissining is applied correctly. + +#### Creating accounts + +Accounts can be created by node operators, via a flow, when a new account is required. When an account is created, a `LinearState` called `AccountInfo` is created on-ledger, with the host `Party` as a single participant. This state is only stored by the host node initially but it can be subsequently shared with other regular nodes or accounts, as observers, when neccessary. + +#### `AccountInfo`s + +The `AccountInfo` state contains the account ID (the `linearId` of the `AccountInfo` state), account name, account description and the host `Party`. The account ID is used to refer to the account going forward, even if the account moves to another host. + +Account IDs can be assumed to be unique at the network level as UUIDs provide 128 bits of entropy, so it's unlikely there will be a clash with another account ID. Whilst, account IDs and node x500 names are unique at the network level, account names cannot be assumed to be unique at the network level. Care must be taken by CorDapp developers to ensure they are dealing with the correct account. A tuple of host node and account name _can_ be assumed to be unique, as the accounts library will not permit duplicate account names on a common host node. + +As the `AccountInfo` is a `LinearState`, the latest version of `AccountInfo` will always specify the correct host node `Party`. `AccountInfo`s can be updated to change the account name, description. Also, the host node can be changed if the account is moved to another host. + +#### Account discovery + +Most of the time, it is expected that `AccountInfo`s will be discovered "out of band", for example, via an e-mail or a user interface. A tuple of host node and account name, or host node and account number can be used to request the `AccountInfo` object from a node host. These are useful for communicating account information: + +* Informally, on the phone or in person, "You can find my account on O=NodeX,L=London,C=GB, it's called Roger's Account" +* Written down, "My account ID is 123e4567-e89b-12d3-a456-426655440000 @ O=NodeX,L=London,C=GB" + +In most cases, `AccountInfo`s are needed to determine which node a flow session must be initiated with to interact with a specific account. An example where this might be the case would be when an account is transacted with for the first time. + +However, in some cases, the host node for an account can be inferred from the public key associated with an account, and therefore, the `AccountInfo` is not required. This can only happen if the public key has already been mapped to the host node (see "transacting with accounts" for further information). + +An example where a host node can be inferred from an account's public key may happen when node has been passed an existing `SignedTransaction` involving an account—in this case, assuming the mapping from the public key to the host has already been recorded, the participation keys for the account can be used to infer the host node. + +The accounts feature does not ship with a directory service for discovering accounts—something which might be described as the "network map" for accounts—as it has been noted that on a per project basis, CorDapp developers have diverse / conflicting requirements regarding account discovery. If a directory service is required, then preferably it would be served by a business network operator. + +#### Sharing and requesting `AccountInfo`s + +Sharing of `AccountInfo`s to account holders or regular nodes, can be performed via flows. As the `AccountInfo` state contains some potentially sensitive information by way of account name and description, account holders should only share their `AccountInfo` state with other `Party`s and accounts they wish to transact with. + +If an account holder or node operator has been provided with a tuple of host node and account ID pertaining to a specific account, then, if requested, it is reasonable for the host node for that account to supply the `AccountInfo` state object to the requesting account holder or node operator. This can be done via a flow. The host node will either respond with the `AccountInfo` or, if the account does not exist, an exception noting that the specified account cannot be found. + +#### Account identity + +Accounts make no claims or assumptions about identity at the network level, as such, accounts do not come with a Doorman provisioned identity or an identity rooted via the network trust root. As such, accounts should not be viewed as "node sub-identities". + +Whilst accounts have no identity at the network level, account holders _do_ have an identity, whether that's a legal entity or a natural person. Identity for account holders is out of scope for this document. + +Account holders—legal entities or natural persons—can hold multiple accounts across multiple host nodes. + +#### Transacting with accounts + +When required, accounts have the capability to request the host node generate new key pairs on their behalf. When generated, these key pairs will be mapped to the account ID in an off-ledger database table, this allows states participated in by account holders to be mapped to the account holder's account ID. This is useful for querying the vault on a per account basis. See Appendix 1, for further information. + +When accounts are created, they are _not_ supplied with a "default" key pair equivalent to a regular node's legal identity key. As such account holders should generate keys on a per transaction basis, although keys can be re-used if desired. It is not recommended to re-use keys in case an account is moved and states are transferred to a key pair no longer in use by the account holder. Flows will exist for: + +* Requesting accounts to generate new key pairs and send the public key back to the requesting node. +* Generating a new key pair and sharing the public key with a specified regular node or account. + +When receiving a public key generated by a host node on behalf of an account, the receiving node must map the newly generated public key to the host node's identity—this is to aid with performing look-ups from account key to host node. These features form part of the updates "confidential identities" library. See Appendix 2. + +In addition, a couple of features have been added to the core platform—which will be introduced in Corda 4.1—to support ease of transacting with accounts, so that the coding model doesn't substantially vary from what CorDapp developers are currently used to. See Appendix 3 for further information. As with regular nodes, accounts can participate in state objects. No changes in the programming model are required. Regular nodes can be participants in states with `Party` or `AnonymousParty` objects. Accounts can participate in states only with `AnonymousParty` objects. + +Even though host nodes can assign key pairs to accounts, the private keys remain under the control of the host node. This is not appropriate for all use-cases where the account owner must be responsible for signing a transaction. This refers to requirement 7, *"All customers must hold their own keys and be able to portably spend/authorise the spending of individual states in the future, possibly even using a different provider"*. Future versions of Corda will support the generation of key pairs by a client—on a desktop, mobile phone, or other device—and sharing of the public key with a host node. With this approach, the account holder remains in control of the private keys, so transaction signing is at their discretion. + +#### Adding richer account information + +Host nodes can add additional off-ledger database tables to supply additional information and metadata for accounts. This can be achieved using the restricted entity manager feature. This information can used during flow execution to guide what actions must be taken on a per account basis. + +#### `AccountInfo` update distribution list + +Host nodes will keep a local database table which records the information of other accounts or regular nodes that should be updated in the event that an `AccountInfo` state is updated. This table can be populated by another node or account requesting that they be updated in the case that an `AccountInfo` changes. When an `AccountInfo` does change, then the host node, sends the updated `AccountInfo` state to all the nodes in the database table. + +When the data distribution groups feature has been released, it will supersede this feature. + +#### Moving hosts + +The accounts library supports the situation where an account holder wishes to move to a new host node. Moving accounts requires spending states to new key pairs. Moving can be achieved with the following steps: + +1. The current host node internally flags the account as in the process of being moved. +2. The `AccountInfo` state is updated to reflect the new host node— this updated state is shared with the new host as well as any regular nodes or accounts on the distribution list. +3. The current host node, requests a public key (or keys) from the new host node and transfers all the states to the new key(s). It is expected that states will be transferred individually. All the required states and transaction dependencies will move across to the new node. +4. If required, the current host node can now remove the following: + 1. States and transactions for the moved accounts, as well as any entries in custom schemas + 2. Key pairs for the moved account + 3. Any other off-ledger data + +#### Transactions between accounts hosted on the same node + +As public keys are used to delineate states in one account or another, a ledger transaction must be used to transfer states between accounts, even if those accounts are hosted on the same node. + +#### Migrating accounts to regular nodes + +If an account is being migrated to a regular node which will not support accounts then this can be done in a similar way to moving host nodes but with the following differences: + +* Instead of updating the `AccountInfo` with a new host node, the `AccountInfo` state will be exited from the ledger. +* Instead of asking a new host node to generate keys, the regular node which is being migrated to will generate new keys + +If the regular node does support accounts, then the same process as described in "moving hosts" will be used. + +Even if the regular node does not wish to support accounts, they must have the accounts CorDapp installed which implements the `InitiatedBy` side of the account moving/migration flows. + +### Technical detail + +We will guarantee API backwards compatibility from the V1 release. So, as APIs cannot be removed, the surface area has deliberately been kept minimal. Additional APIs can be added in the future, if necessary. + +#### AccountInfo + +`AccountInfo`s are similar in purpose to `NodeInfo`s—they map a name to a host. Whilst `NodeInfo`s map a `CordaX500Name` to a physical host, `AccountInfo`s map an account name to a host `Party`. The purpose of the `AccountInfo` is: + +* for an account holder to prove that their account is hosted by a particular host node, and; +* allow node operators to look-up which host node an account is hosted with + +```kotlin +data class AccountInfo( + val name: String, + val description: String, + val host: Party, + val linearId: Uniqueidentifier() = UniqueIdentifier() +) : LinearState { + val participants: List get() = listOf(accountHost) + val id: UUID get() = linearId.uuid +} +``` + +* `AccountInfo`s store the minimal amount of information required. +* They can be shared with other nodes with a set of flows (see below). +* The host node for the account is the only participant in this state. + +#### Creating new accounts + +New accounts are created via a flow: + +```kotlin +@StartableByRPC +class CreateAccount(val name: String, val description: String) : FlowLogic() +``` + +- Only an account name and description is required to create a new account. +- No key pairs are created for the account at this point. +- The flow does not communicate with any other nodes. +- The flow commits a transaction with one output to the ledger—the `AccountInfo`. +- The `AccountInfo` state is stored in the host node's vault. +- The `linearId` of the `AccountInfo` state is the account ID. +- The new `AccountInfo` is returned from the flow. + +#### Requesting `AccountInfo`s + +`AccountInfo`s can be requested to verify whether an account is hosted by a particular host node, or not. The `AccountInfo` can be stored locally so a remote look-up doesn't need to be continually performed. `RequestAccountInfoByName` and `RequestAccountInfoById` both call a flow called `RequestAccountInfo` which is an `InitiatingFlow`. + +```kotlin +// Requester flows. +@StartableByRPC +class RequestAccountInfoByName( + val name: String, + val host: Party +) : RequestAccountInfo() + +@StartableByRPC +class RequestAccountInfoById( + val id: UUID, + val host: Party +) : RequestAccountInfo() + +// Request handling flow. +@InitiatedBy(RequestAccountInfo::class) +class RequestAccountInfoHandler(val otherSession: FlowSession) : FlowLogic() +``` + +* Two flows are available to request `AccountInfo`s from other nodes. +* These flows are `StartableByRPC`. +* To request an `AccountInfo`, The requesting node must know the account ID and host `Party` or the account name and the host `Party`. +* The host node uses the `AccountsService` to request the `AccountInfo` and sends it to the requesting node via `SendTransactionFlow`/`RecieveTransactionFlow`. +* The requesting node returns the `AccountInfo` so it can be used in subsequent flows. + +#### Sharing `AccountInfo`s and other states + +To share states (including `AccountInfo`s) with regular nodes, `SendTransactionFlow` / `ReceiveTransactionFlow` and `SendStateAndRefFlow` / `ReceiveStateAndRefFlow` can be used. To share states with accounts, a different set of flows must be used: + +* `SendStateAndRefToAccountFlow`/`ReceiveStateAndRefToAccountFlow` +* `SendTransactionFlowToAccountFlow`/`ReceiveTransactionToAccountFlow` + +Different flows are required for sharing states with accounts because if a state is to be stored by a specific account, then the state should be permissioned to that account only such that no other accounts on the same host node can see the state. To do this requires updating an off-ledger database table. + +```kotlin +// StateRefs. +@InitiatingFlow +class SendStateAndRefFlowToAccountFlow( + val accountInfo: AccountInfo, + val stateAndRef: StateAndRef +) : FlowLogic() + +@InitiatedBy(SendStateAndRefFlowToAccountFlow::class) +class ReceiveStateAndRefToAccountFlow( + val otherSession: FlowSession +) : FlowLogic>() + +// Transactions. +@InitiatingFlow +class SendTransactionFlowToAccountFlow( + val accountInfo: AccountInfo, + val stateAndRef: SignedTransaction +) : FlowLogic() + +@InitiatedBy(SendTransactionFlowToAccountFlow::class) +class ReceiveTransactionToAccountFlow( + val otherSession: FlowSession +) : FlowLogic() +``` + +The new flows wrap the existing flows and—as mentioned above—add some additional behaviour which is required for permissioning observed states or transactions to a specified account. View permissioning for observed states is recorded in the following entity: + +```kotlin +@Entity +@Table(name = "account_to_state_refs", indexes = [ + Index(name = "external_id_idx", columnList = "external_id") +]) +data class AllowedToSeeStateMapping( + @Id + @GeneratedValue(strategy = GenerationType.AUTO) + var id: Long?, + + @Column(name = "external_id", unique = false, nullable = false) + @Type(type = "uuid-char") + var externalId: UUID?, + + override var stateRef: PersistentStateRef? +) : DirectStatePersistable, MappedSchema( + AllowedToSeeStateMapping::class.java, + 1, + listOf(AllowedToSeeStateMapping::class.java) +) +``` + +#### Creating a new key for an account + +Please see *Appendix 2* for how to generate and share new key pairs, or to request a new key pair from an account. + +#### Querying states by account + +Querying states by account can be performed via vault extension functions, for example: + +```kotlin +// For querying by account. +inline fun VaultService.queryByAccount( + criteria: QueryCriteria, + paging: PageSpecification, + sorting: Sort, + accountId: UUID +): Vault.Page + +// For tracking vault updates by account. +inline fun VaultService.trackByAccount( + criteria: QueryCriteria, + paging: PageSpecification, + sorting: Sort, + accountId: UUID +): DataFeed, Vault.Update> +``` + +Similar APIs can be added to `CordaRPCOps` for querying via RPC. Regarding observed states, these functions will only return states that have been shared with the specific account ID as well as states which have been shared with the host node—meaning all accounts can see them. + +#### Obtaining `AccountInfo`s locally + +`AccountInfo` states will have a custom schema, so they can be queried for by host, account ID or account name. Helper functions are provided to make this easier: + +```kotlin +// Account IDs are unique at the network level. +fun accountInfo(id: UUID, services: ServiceHub): AccountInfo + +// More than one [AccountInfo] might be associated with an account name, as account names are not unique at the network level. +fun accountInfo(name: String, ServiceHub): List + +// Multiple accounts can be hosted by a host node. +fun accountInfos(host: Party, ServiceHub): List +``` +#### Moving hosts + +Moving accounts is performed via a set of flows. Account holders that wish to move host nodes can request that the host node calls this flow to begin the account move process, which is outlined above. + +This set of flows marks the account as in the process of being moved and updates the `AccountInfo` state with the new host `Party`. Once the `AccountInfo` is updated with the new host `Party`, then a new key is requested from the new host to move all the states owned by the account to. This process might take a while as for privacy purposes each state will be moved separately. This flow is idempotent. + +```kotlin +@StartableByRPC +@InitiatingFlow +class MoveAccount( + val accountId: UUID, + val newHost: Party, + val asAccount: Boolean = true +) : FlowLogic() + +@InitiatedBy(MoveAccount::class) +class MoveAccountHandler(val otherSession: FlowSession) : FlowLogic() +``` + +If `asAccount` is true then the account will be moved to the new host node and the `AccountInfo` will be updated accordingly. If `asAccount` is set to false then the `AccountInfo` will be exited from the ledger and the states will be held by the new host directly as opposed to being held by an account hosted at the new host. + +Node operators should ensure that only the administrator account can start this flow via RPC. + +Once an account has been moved, it is at the discretion of the previous host node to remove all the old key pairs, transactions and states which were relevant to the moved account. Note that states and transactions which were also relevant to other accounts cannot be removed. + +## Appendix + +### 1. External ID to public key mapping + +#### Requirements + +- Each state participant, as necessary for accounts, must be mapped to some unique external ID. Most likely this will be an account ID. **Note:** that the requirement is to map participants and *not* the state itself. This is because two or more participants may have external IDs on the same node. +- Node operators must be able to perform vault queries, restricting the results to a single external ID or set of external IDs. +- Node operators must be able to perform token selection over some fungible state type for a specific external ID, or set of external IDs. +- No changes should be required to existing flows. For example: supplying a mapping of output states to external IDs when states are being recorded is an unacceptable change due to the increased complexity this approach brings. +- The performance impact of mapping state participants to external IDs should be minimal. +- Node operators must be able to add arbitrary tags to external IDs. Such that they can perform queries across multiple accounts. E.g. "give me all the obligation states for accounts whose holder's favourite colour is RED". + +### Design + +The key idea is to decouple the creation of external IDs from the assigning of state participants to external IDs. As such, a table will be needed to hold the mapping from public keys to external IDs and there must exist a way to map states to these external IDs. + +##### Entity to store `Key -> external ID` mapping + +The following exists in Corda 4. + +```kotlin +@Entity +@Table( + name = "pk_hash_to_ext_id_map", + indexes = [Index( + name = "pk_hash_to_xid_idx", + columnList = "public_key_hash" + )] +) +class PublicKeyHashToExternalId( + @Id + @GeneratedValue + @Column(name = "id", unique = true, nullable = false) + val key: Long?, + + @Column(name = "external_id", nullable = false) + @Type(type = "uuid-char") + val externalId: UUID, + + @Column(name = "public_key_hash", nullable = false) + val publicKeyHash: String +) { + constructor(accountId: UUID, publicKey: PublicKey) + : this(null, accountId, publicKey.toStringShort()) +} +``` + +##### Key creation + +When a new key pair is created, it can be assigned to an external ID, like so: + +```kotlin +fun freshKey(externalId: UUID): PublicKey { + val publicKey = services.keyManagementService.freshKey() + services.withEntityManager { + persist(AccountKey(externalID, publicKey)) + } + return publicKey +} +``` + +This exists in Corda 4 and is accessible from the `KeyManagementService`. + +##### Transaction recording + +Public key hashes must be are stored for each state. This enables each state party to be mapped to an external ID. + +```kotlin +@Embeddable +@Immutable +data class PersistentStateRefAndKey( + @Embedded + override var stateRef: PersistentStateRef?, + + @Column(name = "public_key_hash", nullable = false) + var publicKeyHash: String? +) : DirectStatePersistable, Serializable { + constructor() : this(null, null) +} + +@Entity +@Table( + name = "state_party", + indexes = [Index(name = "state_party_idx", columnList = "public_key_hash")] +) +class PersistentParty( + @EmbeddedId + override val compositeKey: PersistentStateRefAndKey, + + @Column(name = "x500_name", nullable = true) + var x500Name: AbstractParty? = null +) : IndirectStatePersistable { + constructor( + stateRef: PersistentStateRef, + abstractParty: AbstractParty + ) : this( + PersistentStateRefAndKey(stateRef, abstractParty.owningKey.toStringShort()), + abstractParty + ) +} +``` + +##### State querying + +Create a view called `StateToExternalId` based upon joining the `PublicKeyHashToExternalId` and `PersistentParty` tables. + +![Screen Shot 2019-04-02 at 10.04.31](tables.png) + +The new entity can be defined as follows: + +```kotlin +@Entity +@Immutable +@Table(name = "v_pkey_hash_ex_id_map") +class StateToExternalId( + @EmbeddedId + override val compositeKey: PersistentStateRefAndKey, + + @Column(name = "external_id") + @Type(type = "uuid-char") + val externalId: UUID +) : IndirectStatePersistable +``` + +As the new entity's primary key is a `PersistentStateRef` (see `PersistentStateRefAndKey`), the vault can perform queries over it. This allows CorDapp developers to perform vault queries on a per account basis, like so: + +```kotlin +val vaultService = services.vaultService +val keyManagementService = services.keyManagementService +// Create new external ID and two keys mapped to it. +val id = UUID.randomUUID() +val keyOne = keyManagementService.freshKey(id) +val keyTwo = keyManagementService.freshKey(id) +// Create states with a public key assigned to the new external ID. +val dummyStateOne = createDummyState(listOf(keyOne)) +val dummyStateTwo = createDummyState(listOf(keyTwo)) +// This query should return two states. +val result = database.transaction { + val externalId = builder { + VaultSchemaV1.StateToExternalId::externalId.equals(id)) + } + val queryCriteria = QueryCriteria.VaultCustomQueryCriteria(externalId) + vaultService.queryBy(queryCriteria).states +} +assertEquals(setOf(dummyStateOne, dummyStateTwo), result.map { it.state.data }.toSet()) +``` + +### 2. Updated confidential identities API + +#### Changes in Corda 4.1 + +An additional API has been added to `IdentityServiceInternal`. + +```kotlin +interface IdentityServiceInternal : IdentityService { + // Omitted code. + fun registerIdentityMapping(identity: Party, key: PublicKey): Boolean +} +``` + +This allows a node to store a mapping from a public key to a `Party` without requiring a certificate chain (old confidential identities API). With the mapping stored, `IdentityService.wellKnownPartyFromAnonymous` can be called to look-up the `Party` object associated with a specific `PublicKey`. Whilst this is an internal API, it will be accessible from the accounts library as it will be compiled against the `corda-node` JAR. In Corda 5, a public API will be added to register identity mappings, so there will be no dependency on `corda-node`. In addition, three new flows will be added; `RequestNewKey`, `ShareNewKey` and `SyncKeyMappings`. + +**`RequestKey` / `RequestKeyHandler`** + +```kotlin +@InitiatingFlow +class RequestNewKey(val party: Party, val externalId: UUID) : FlowLogic() + +@InitiatedBy(RequestNewKey::class) +class RequestNewKeyHandler(val otherSession: FlowSession) : FlowLogic() +``` + +This flow is used when performing a unilateral spend/move of some tokens from one party to another, and the recipient requests that a new key be used. The initiating side of the flow requests the handler generate a new key pair, assigned it to an external ID, if specified, then create a signed mapping of the new key to the host node's `Party` object. The signed mapping looks as follows: + +```kotlin +data class SignedPublicKey( + val publicKeyToPartyMap: Map, + val signature: DigitalSignatureWithKey +) + +// Create instance of mapping. +val mapping = SignedPublicKey(mapOf(newKey to party), signature) +``` + +This mapping is then sent to the initiating flow, which verifies the signature and then calls `IdentityServiceInternal.registerIdentityMapping` to register the new public key to `Party` mapping. These flows must be called as in-line sub flows. + +**`ShareKey` / `ShareKeyHandler`** + +These flows operate in much the same way as `RequestKey` / `RequestKeyHandler`, except that the roles are reversed. They must be called as in-line sub flows. + +```kotlin +@InitiatingFlow +class ShareKey( + val party: Party, + val signedPublicKey: SignedPublicKey +) : FlowLogic() + +@InitiatedBy(RequestKey::class) +class ShareKeyHandler(val otherSession: FlowSession) : FlowLogic() +``` + +`ShareKeyHandler` returns the `SignedPublicKey` so it can be used in the calling flow. \ No newline at end of file diff --git a/docs/source/design/accounts/tables.png b/docs/source/design/accounts/tables.png new file mode 100644 index 0000000000000000000000000000000000000000..d49acde04b951bd13c29fa7f405671741e2a15b9 GIT binary patch literal 141769 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 z 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 literal 0 HcmV?d00001