IP Library Granted Patent US 12675789
Granted Patent B2
US 12675789 · App. 17/604,389 · Granted Jul 7, 2026

Destination addressing associated with a distributed ledger

Inventor: Andy Mee (Cardiff, GB)
Assignee: NCHAIN LICENSING AG
G06Q20/385G06Q20/3825G06Q20/3829G06Q20/4014G06Q2220/00
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12675789
App. No.
17/604,389
Granted
Jul 7, 2026
Kind
B2
Abstract

The present disclosure relates to methods, devices and/or systems associated with a transaction for a distributed ledger, such as the Bitcoin blockchain. In some embodiments, the present disclosure relates to a method for performing payer entity validation, based on the request. In other embodiments the present disclosure relates to a method for implementing asynchronous processing of a request sent by a payer entity, when a payee entity is non-responsive.

Claims (51)

1 . A computer-implemented method of implementing a payment service for transactions associated with a distributed ledger, wherein each client among one or more clients associated with the payment service has a public key and a respective alias specific to the client, the method comprising, at the payment service:

receiving from a payer entity, a request associated with an alias, the request pertaining to a payment destination of a payee client among the one or more clients associated with the payment service, the payee client being associated with the alias in the request;

validating the payer entity based on at least one capability supported by the payment service, the at least one capability included in a machine-readable resource associated with the payment service, the validating including:

obtaining a public key associated with the payer entity; and

determining, based on the request from the payer entity, whether a predefined condition defined for the capability is satisfied, by verifying that the request includes a cryptographically secure one-time token generated for a blockchain-based distributed ledger of previously issued tokens across multiple nodes, and wherein the one-time token is validated by querying the distributed ledger to confirm the token has not been previously used;

wherein based on a determination that the predefined condition is satisfied.

2 . The method as claimed in claim 1 , wherein based on a determination that the predefined condition is not satisfied, the method further comprises generating and/or sending a response rejecting the received request from the payer entity.

3 . The method as claimed in claim 1 , wherein the payment service of the payee client is implemented by implementing the payment service for one or more clients for transactions associated with a distributed ledger, and wherein the at least one capability supported by the payment service of the payee client is based on the at least one further capability in the machine-readable resource.

4 . The method as claimed in claim 1 , wherein the predefined duration is up to 2 minutes.

5 . The method as claimed in claim 2 , wherein the payer entity:

is associated with an additional payment service that is different from the payment service of the payee client; and

is assigned an additional alias associated with the additional payment service, the additional alias being included in the request from the payer entity.

6 . The method as claimed in claim 5 , wherein the step of obtaining the public key associated with the payer entity further comprises:

accessing a machine-readable resource from a location associated with the payment service of the payer entity;

sending an HTTP GET request based on a public key infrastructure (PKI) request template in the machine-readable resource, and based on the alias of the payer entity; and

obtaining the public key associated with the alias in response.

7 . The method as claimed in claim 1 , wherein the payer entity:

is associated with the same payment service as the payment service of the payee client; and

is assigned an alias associated with the same payment service, the alias being included in the request from the payer entity.

8 . The method as claimed in claim 1 , wherein one or more instructions and/or specifications in the machine-readable resource associated with the payment service comprises:

obtaining a public key validity request template from the machine-readable resource for a PKI endpoint identifier;

including the alias in the template to generate a complete public key validity request; and

sending an HTTP GET request based on the completed public key validity request to verify that the public key in the request is valid for the alias in the request.

9 . A computing device or system for implementing a payment service for transactions associated with a distributed ledger, wherein each client among one or more clients associated with the payment service has a public key and a respective alias specific to the client, the computing device or system comprising:

at least one processor; and

memory including executable instructions that, as a result of execution by the at least one processor, cause the computing device or system to perform operations for the payment service, the operations comprising:

receiving from a payer entity, a request associated with an alias, the request pertaining to a payment destination of a payee client among the one or more clients associated with the payment service, the payee client being associated with the alias in the request;

validating the payer entity based on at least one capability supported by the payment service, the at least one capability included in a machine-readable resource associated with the payment service, the validating including:

obtaining a public key associated with the payer entity; and

determining, based on the request from the payer entity, whether a predefined condition defined for the capability is satisfied, by verifying that the request includes a cryptographically secure one-time token generated for a blockchain-based distributed ledger of previously issued tokens across multiple nodes, and wherein the one-time token is validated by querying the distributed ledger to confirm the token has not been previously used;

wherein based on a determination that the predefined condition is satisfied:

validating the payer entity and/or the request associated with the payer entity;

generating a complete payment destination request based on the alias and a payment destination request template of the machine-readable resource;

providing an HTTP POST request based on the complete payment destination request to obtain a payment destination endpoint identifier associated with the alias;

generating an output script associated with the payment destination of the payee client based on the payment destination endpoint identifier obtained through the HTTP POST request; and

applying a digital signature associated with a public key of the payee client to the output script; and

sending a signed output script to the payer entity, the output script provided for embedding in a transaction for the distributed ledger wherein the HTTP POST request includes a timestamp indicating date and time at which the request was sent by the payer entity;

wherein the predefined condition includes verifying that the timestamp included in the request is within a predefined duration of the time of receipt of the request by the payment service associated with the payee client before processing the transaction to prevent a replay attack, and rejecting the request if the timestamp is not included in the request or if the timestamp is not within the predefined duration.

10 . A non-transitory computer-readable storage medium having stored thereon executable instructions that, as a result of being executed by a processor of a system or computing device, cause the system or computing device to perform operations to implement a payment service for transactions associated with a distributed ledger, wherein each client among one or more clients associated with the payment service has a public key and a respective alias specific to the client, the operations comprising:

receiving from a payer entity, a request associated with an alias, the request pertaining to a payment destination of a payee client among the one or more clients associated with the payment service, the payee client being associated with the alias in the request;

validating the payer entity based on at least one capability supported by the payment service, the at least one capability included in a machine-readable resource associated with the payment service, the validating including:

obtaining a public key associated with the payer entity; and

determining, based on the request from the payer entity, whether a predefined condition defined for the capability is satisfied, by verifying that the request includes a cryptographically secure one-time token generated for a blockchain-based distributed ledger of previously issued tokens across multiple nodes, and wherein the one-time token is validated by querying the distributed ledger to confirm the token has not been previously used;

wherein based on a determination that the predefined condition is satisfied:

validating the payer entity and/or the request associated with the payer entity;

generating a complete payment destination request based on the alias and a payment destination request template of the machine-readable resource;

providing an HTTP POST request based on the complete payment destination request to obtain a payment destination endpoint identifier associated with the alias;

generating an output script associated with the payment destination of the payee client based on the payment destination endpoint identifier obtained through the HTTP POST request; and

applying a digital signature associated with a public key of the payee client to the output script; and

sending a signed output script to the payer entity, the output script provided for embedding in a transaction for the distributed ledger wherein the HTTP POST request includes a timestamp indicating date and time at which the request was sent by the payer entity;

wherein the predefined condition includes verifying that the timestamp included in the request is within a predefined duration of the time of receipt of the request by the payment service associated with the payee client before processing the transaction to prevent a replay attack, and rejecting the request if the timestamp is not included in the request or if the timestamp is not within the predefined duration.