# US 10,873,559 B2 · System and method for identity resolution across disparate distributed immutable ledger networks

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,873,559 B2
- Document ID: US10873559B2
- Status: Granted
- Kind: B2
- Application number: 16/565,635
- Filed: 2019-09-10
- Published: 2020-05-07
- Granted: 2020-12-22
- Earliest claimed: 2017-10-04
- Assignees: The Dun & Bradstreet Corporation
- Applicants: The Dun & Bradstreet Corporation
- Inventors: Saleem Khan; Jacob Caleb Gostylo
- Web page: https://patentgrep.com/patent/US10873559B2

## CPC

- H04L 61/103: across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
- H04L 63/12: {Applying verification of the received information (cryptographic mechanisms or cryptographic arrangements for data integrity or data verification H04L9/32)}
- G06F 16/1805: {Append-only file systems, e.g. using logs or journals to store data}
- G06F 16/27: Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06Q 20/382: {insuring higher security of transaction}
- H04L 9/0643: {Hash functions, e.g. MD5, SHA, HMAC or f9 MAC}
- H04L 9/0825: {using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates}
- H04L 9/3239: {involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD}
- H04L 9/3247: {involving digital signatures}
- H04L 9/50: {using hash chains, e.g. blockchains or hash trees}
- H04L 61/45: Network directories; Name-to-address mapping
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR

## Abstract

A system and method for identifying previously unknown counterparties by registering distributed ledger public keys and/or addresses associated with specific business entities and/or individuals. The system and method are configured to provide tools for administering public facing distributed ledger identifiers using cryptographic proof messaging and transactions made on the Distributed Ledger. It also provides queries and lookups to discover public keys associated with entities and allows users to link identifiers on competing Distributed Ledgers to a disambiguated entity, thereby enabling cross Ledger transactions to occur.

## Claims

### Claim 1

A method comprising:
linking a plurality of public key distributed ledger addresses to an Entity ID for an entity;
linking each of the public key distributed ledger addresses to their respective distributed ledger network;
providing a hub server connected to an ID resolution server; and
connecting a plurality of distributed ledger network platform nodes on each of a respective plurality of the distributed ledger networks to the hub server;
wherein the ID resolution server is configured to perform identity resolution for a single entity on a plurality of distributed ledger networks.

### Claim 2 (depends on 1)

The method of claim 1 further comprising:
generating a datastore for the Entity ID;
linking each of the public key distributed ledger addresses to their respective distributed ledger network in the datastore.

### Claim 3 (depends on 2)

The method of claim 2 further comprising:
generating a plurality of the datastores; and
storing a plurality of the datastores in an identity resolution database lookup table, wherein the ID resolution server comprises the identity resolution database lookup table.

### Claim 4 (depends on 1)

The method of claim 1 further comprising:
embedding the plurality of the distributed ledger network platform nodes on a respective plurality of the distributed ledger networks.

### Claim 5 (depends on 1)

The method of claim 1 wherein the hub server is connected to a business information database server.

### Claim 6 (depends on 1)

The method of claim 1 further comprising:
receiving, at one of the distributed ledger network platform nodes on one of the distributed ledger networks, a request for business information for a counterparty to a transaction on the distributed ledger network;
sending the request from the distributed ledger network platform node to the hub server; and
identifying the Entity ID for the counterparty at the ID resolution server.

### Claim 7 (depends on 6)

The method of claim 6 further comprising:
automatically executing, by the distributed ledger network platform node, a transaction to the distributed ledger network.

### Claim 8 (depends on 6)

The method of claim 6 further comprising:
routing the request from the hub server to a business information database server;
obtaining business entity firmographic information about the counterparty from the business information database server; and
outputting the business entity firmographic information to the distributed ledger network platform node.

### Claim 9 (depends on 8)

The method of claim 8, wherein the business entity firmographic information includes business linkage information.

### Claim 10 (depends on 8)

The method of claim 8 further comprising:
automatically executing, by the distributed ledger network platform node, a transaction to the distributed ledger network.

### Claim 11 (depends on 10)

The method of claim 10, wherein the method comprises:
generating a plurality of datastores for each of a plurality of the Entity IDs;
for each Entity ID datastore, linking each of the public key distributed ledger addresses to their respective distributed ledger network; and
storing the plurality of the Entity ID datastores in an identity resolution database lookup table.

### Claim 12 (depends on 1)

The method of claim 1 further comprising:
verifying, by the hub server, that a plurality of entities that are counter-parties to a contract on the first distributed ledger are counter-parties to a contract on another distributed ledger network.

### Claim 13

A method comprising:
receiving, from a distributed ledger network platform node on a first distributed ledger network, a request to verify that a plurality of entities that are counter-parties to a contract on a first distributed ledger network are counter-parties to the contract on another distributed ledger network;
associating, at a hub server, the contract on the first distributed ledger network with the contract on the other distributed ledger network;
receiving, at a platform node on the other distributed ledger network, a transaction message to resolve corresponding Entity IDs for the counter-parties to the contract on the other distributed ledger network,
receiving, from a distributed ledger network platform node on the other distributed ledger network, a transaction message with instructions to resolve the Entity IDs;
resolving, at an ID resolution server, the Entity IDs for the counter-parties to the contract on the other distributed ledger network;
receiving a transaction message at the distributed ledger network platform node on the other distributed ledger network that the contract has executed;
sending a resolve message to the hub server confirming the contract on the other distributed ledger network has executed;
resolving, by the hub server, the request from the distributed ledger network platform node on the first distributed ledger network to verify that the plurality of entities that are counter-parties to the contract on the first distributed ledger are counter-parties to the contract on the other distributed ledger network, and
sending the verification message to the distributed ledger network platform node on the first distributed ledger network.

### Claim 14 (depends on 13)

The method of claim 13 further comprising:
obtaining, by the hub server, business entity firmographic information about the counterparties a business information database server; and
outputting the business entity firmographic information to the platform node on the other distributed ledger network.

### Claim 15 (depends on 14)

The method of claim 14, wherein the business entity firmographic information includes business linkage information.

### Claim 16

A method comprising:
verifying an entity to a platform;
generating a datastore for an Entity ID for the entity;
storing a Verified Network ID for the entity in the entity datastore;
linking each of the public key distributed ledger addresses to their respective distributed ledger network in the datastore;
sending a Verified private key to the entity; and
linking a plurality of public key distributed ledger addresses to the Entity ID for an entity;
linking each of the public key distributed ledger addresses to their respective distributed ledger network.

### Claim 17 (depends on 16)

The method of claim 16, comprising:
receiving a message including information for a New Network ID for a Distributed Ledger Network, wherein the message is signed with a new private key; and
wherein the message has appended a Verified Network ID message detailing a Verified Network ID and a signature for the Verified Network ID message with a corresponding Verified private key;
the platform host verifies the signature of the Verified private key;
the platform host verifies the signature of the new key;
the platform host verifies a checksum of the new ID with the Distributed Ledger Network identified in the New Network ID; and
the platform host adds a new Network ID to the datastore for the entity.

### Claim 18

A system for verifying entities on a plurality of distributed immutable ledgers comprising a network computer comprising:
a hub server;
an ID resolution server;
a memory for storing a database and program instructions; and
a processor device that is operative to execute program instructions that enable actions, comprising:
generating, for each of a plurality of entities, an Entity ID for an entity;
linking a plurality of public key distributed ledger addresses to each Entity ID;
linking each of the public key distributed ledger addresses to the distributed ledger network to which they belong; and
connecting a plurality of distributed ledger network platform nodes on each of a respective plurality of the distributed ledger networks to the hub server;
wherein the system is configured to perform identity resolution for a single entity on a plurality of distributed ledger networks.

### Claim 19 (depends on 18)

The system of claim 18, wherein the system is further configured to execute program instructions that enable actions, comprising:
generating a datastore for the Entity ID;
linking each of the public key distributed ledger addresses to their respective distributed ledger network in the datastore.

### Claim 20 (depends on 19)

The system of claim 19, wherein the system is further configured to execute program instructions that enable actions, comprising:
generating a plurality of the datastores; and
storing a plurality of the datastores in an identity resolution database lookup table, wherein the ID resolution server comprises the identity resolution database lookup table.

### Claim 21 (depends on 18)

The system of claim 18, wherein the system is further configured to execute program instructions that enable actions, comprising:
embedding a plurality of the distributed ledger network platform nodes on a respective plurality of the distributed ledger networks.

### Claim 22 (depends on 18)

The system of claim 18 wherein the hub server is connected to a business information database server.

### Claim 23 (depends on 18)

The system of claim 18, wherein the system is further configured to execute program instructions that enable actions, comprising:
receiving, at one of the platform nodes on one of the distributed ledger networks, a request for business information for a counter-party to a transaction on the distributed ledger network;
sending the request from the platform node to the hub server; and
identifying the Entity ID for the counterparty at the ID resolution server.

### Claim 24 (depends on 23)

The system of claim 23, wherein the system is further configured to execute program instructions that enable actions, comprising:
automatically executing, by the distributed ledger network platform node, a transaction to the distributed immutable ledger.

### Claim 25 (depends on 23)

The system of claim 23, wherein the system is further configured to execute program instructions that enable actions, comprising:
routing the request from the hub server to a business information database server;
obtaining business entity firmographic information about the counterparty from the business information database server; and
outputting the business entity firmographic information to the distributed ledger network platform node.

### Claim 26 (depends on 25)

The system of claim 25, wherein the business entity firmographic information includes business linkage information.

### Claim 27 (depends on 25)

The system of claim 25, wherein the system is further configured to execute program instructions that enable actions, comprising:
automatically executing, by the platform node, a transaction to the distributed immutable ledger.

### Claim 28 (depends on 18)

The system of claim 18, wherein the system is further configured to execute program instructions that enable actions, comprising:
verifying, by the hub server, that a plurality of entities that are counter-parties to a contract on the first distributed ledger are counter-parties to a contract on another distributed ledger network.

### Claim 29

A system for verifying entities on a plurality of distributed immutable ledgers comprising a network computer comprising:
a hub server;
an ID resolution server;
a memory for storing a database and program instructions; and
a processor device that is operative to execute program instructions that enable actions, comprising:
receiving, from a distributed ledger network platform node on a first distributed ledger network, a request to verify that a plurality of entities that are counter-parties to a contract on a first distributed ledger network are counter-parties to the contract on another distributed ledger network;
associating, at a hub server, the contract on the first distributed ledger network with the contract on the other distributed ledger network;
receiving, at a platform node on the other distributed ledger network, a transaction message to resolve corresponding Entity IDs for the counter-parties to the contract on the other distributed ledger network,
receiving, from a distributed ledger network platform node on the other distributed ledger network, a transaction message with instructions to resolve the Entity IDs;
resolving, at an ID resolution server, the Entity IDs for the counter-parties to the contract on the other distributed ledger network;
receiving a transaction message at the distributed ledger network platform node on the other distributed ledger network that the contract has executed;
sending a resolve message to the hub server confirming the contract on the other distributed ledger network has executed;
resolving, by the hub server, the request from the distributed ledger network platform node on the first distributed ledger network to verify that the plurality of entities that are counter-parties to the contract on the first distributed ledger are counter-parties to the contract on the other distributed ledger network, and
sending the verification message to the distributed ledger network platform node on the first distributed ledger network.

### Claim 30 (depends on 29)

The system of claim 29, wherein the system is further configured to execute program instructions that enable actions, comprising:
obtaining, by the hub server, business entity firmographic information about the counterparties from a business information database server; and
outputting the business entity firmographic information to the distributed ledger network platform node on the other distributed ledger network.

### Claim 31 (depends on 30)

The system of claim 30, wherein the business entity firmographic information includes business linkage information.

### Claim 32

A system for verifying entities on a plurality of distributed immutable ledgers comprising a network computer comprising:
a hub server;
an ID resolution server;
a memory for storing a database and program instructions; and
a processor device that is operative to execute program instructions that enable actions, comprising:
generating, for each of a plurality of entities, an Entity ID for an entity;
linking a plurality of public key distributed ledger addresses to each Entity ID;
linking each of the public key distributed ledger addresses to the distributed ledger network to which they belong; and
connecting a plurality of distributed ledger network platform nodes on each of a respective plurality of the distributed ledger networks to the hub server;
wherein the system is configured to perform identity resolution for a single entity on a plurality of distributed ledger networks with the identity resolution server.

### Claim 33 (depends on 32)

The system of claim 32, wherein the system is further configured to execute program instructions that enable actions, comprising:
receiving a message including information for a New Network ID for a Distributed Ledger Network, wherein the message is signed with a new private key; and
wherein the message has appended a Verified Network ID message detailing a Verified Network ID and a signature for the Verified Network ID message with a corresponding Verified private key;
the platform host verifies the signature of the Verified private key;
the platform host verifies the signature of the new key;
the platform host verifies a checksum of the new ID with the Distributed Ledger Network identified in the New Network ID; and
the platform host adds a new Network ID to the datastore for the entity.
