# US 12,002,039 B2 · Database system public trust ledger multi-owner token architecture

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

- Number: US 12,002,039 B2
- Document ID: US12002039B2
- Status: Granted
- Kind: B2
- Application number: 17/517,543
- Filed: 2021-11-02
- Published: 2023-03-16
- Granted: 2024-06-04
- Earliest claimed: 2021-09-13
- Assignees: Salesforce, Inc.
- Applicants: Salesforce, Inc.
- Inventors: Prithvi Krishnan Padmanabhan
- Web page: https://patentgrep.com/patent/US12002039B2

## CPC

- G06Q 20/3825: {Use of electronic signatures}
- G06F 21/6218: {to a system of files or objects, e.g. local or distributed file system or database}
- G06Q 20/065: {using e-cash}
- G06Q 20/38215: {Use of certificates or encrypted proofs of transaction rights}
- G06Q 20/401: {Transaction verification}
- G06Q 20/405: {Establishing or using transaction specific rules}
- H04L 9/3213: {using tickets or tokens, e.g. Kerberos (network architectures or network communication protocols for entities authentication using tickets in a packet data network H04L63/0807)}
- H04L 9/50: {using hash chains, e.g. blockchains or hash trees}
- H04L 2209/56: Financial cryptography, e.g. electronic payment or e-cash
- 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
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A request to perform an action related to a smart contract recorded on a public trust ledger external to the database system may be received via a communication interface at a database system. The request may authenticate a designated database system account. A determination may be made as to whether the designated database system account is authorized to perform the action by accessing definition information for a public trust ledger synthetic party identifying a plurality of database system accounts authorized to perform one or more actions related to the smart contract. The database system may communicate with a token exchange to perform the action by executing the smart contract when it is determined that the designated database system account is authorized to perform the action.

## Claims

### Claim 1

A method implemented at a database system, the method comprising:
providing, by a database processor, computing services to a plurality of tenants of the database system via the internet;
receiving, by the database processor, from a client machine a request to execute an action related to a smart contract owned by a synthetic public trust ledger party and recorded on a public trust ledger external to the database system;
identifying, by the database processor, a database system account associated with the requested action and linked with a tenant of the plurality of tenants;
retrieving, by the database processor, from a table within the database system one or more synthetic public trust ledger party rules authorizing a plurality of database system accounts to perform a plurality of actions related to the smart contract;
determining, by the database processor, that the database system account is authorized to perform the action based on the one or more rules;
retrieving, by the database processor, one or more private keys for the synthetic public trust ledger account from the database system;
transmitting, by a ledger API, to a replica node of a public trust ledger external to the database system a ledger request to perform the action, the request authenticating the synthetic public trust ledger account to the replica node via the one or more private keys;
receiving, by the ledger API, from the replica node a ledger response indicating that the public trust ledger has been updated to reflect successful execution of the action;
updating, by the database processor, one or more records within the database system to reflect successful execution of the action; and
transmitting, by the database processor, to the client machine a response message indicating that the action has been performed.

### Claim 2 (depends on 1)

The method recited in claim 1, wherein the database system account is an owner of the smart contract.

### Claim 3 (depends on 1)

The method recited in claim 1, wherein the database system account is identified in the synthetic public trust ledger party as a subordinate party.

### Claim 4 (depends on 1)

The method recited in claim 1, wherein one or more private keys are stored within the database system.

### Claim 5 (depends on 1)

The method recited in claim 1, wherein the action transfers a token from a first party to a second party.

### Claim 6 (depends on 1)

The method recited in claim 1, wherein the action mints a fungible token.

### Claim 7 (depends on 1)

The method recited in claim 1, wherein the action mints a non-fungible token.

### Claim 8 (depends on 1)

The method recited in claim 1, wherein the action updates a definition stored in the public trust ledger and reflecting the one or more synthetic public trust ledger party rules.

### Claim 9

One or more non-transitory computer readable media having instructions stored thereon for performing a method implemented at a database system, the method comprising:
providing, by a database processor, computing services to a plurality of tenants of the database system via the internet;
receiving, by the database processor, from a client machine a request to execute an action related to a smart contract owned by a synthetic public trust ledger party and recorded on a public trust ledger external to the database system;
identifying, by the database processor, a database system account associated with the requested action and linked with a tenant of the plurality of tenants;
retrieving, by the database processor, from a table within the database system one or more synthetic public trust ledger party rules authorizing a plurality of database system accounts to perform a plurality of actions related to the smart contract;
determining, by the database processor, that the database system account is authorized to perform the action based on the one or more rules;
retrieving, by the database processor, one or more private keys for the synthetic public trust ledger account from the database system;
transmitting, by a ledger API, to a replica node of a public trust ledger external to the database system a ledger request to perform the action, the request authenticating the synthetic public trust ledger account to the replica node via the one or more private keys;
receiving, by the ledger API, from the replica node a ledger response indicating that the public trust ledger has been updated to reflect successful execution of the action;
updating, by the database processor, one or more records within the database system to reflect successful execution of the action; and
transmitting, by the database processor, to the client machine a response message indicating that the action has been performed.

### Claim 10 (depends on 9)

The one or more non-transitory computer readable media recited in claim 9, wherein the database system account is an owner of the smart contract.

### Claim 11 (depends on 9)

The one or more non-transitory computer readable media recited in claim 9, wherein the database system account is identified in the synthetic public trust ledger party as a subordinate party.

### Claim 12 (depends on 9)

The one or more non-transitory computer readable media recited in claim 9, wherein one or more private keys are stored within the database system.

### Claim 13 (depends on 9)

The one or more non-transitory computer readable media recited in claim 9, wherein the action transfers a token from a first party to a second party.

### Claim 14 (depends on 9)

The one or more non-transitory computer readable media recited in claim 9, wherein the action mints a fungible token.

### Claim 15 (depends on 9)

The one or more non-transitory computer readable media recited in claim 9, wherein the action mints a non-fungible token.

### Claim 16 (depends on 9)

The one or more non-transitory computer readable media recited in claim 9, wherein the action updates a definition stored in the public trust ledger and reflecting the one or more synthetic public trust ledger party rules.

### Claim 17

A database system configured to perform a method, the method comprising:
providing, by a database processor, computing services to a plurality of tenants of the database system via the internet;
receiving, by the database processor, from a client machine a request to execute an action related to a smart contract owned by a synthetic public trust ledger party and recorded on a public trust ledger external to the database system;
identifying, by the database processor, a database system account associated with the requested action and linked with a tenant of the plurality of tenants;
retrieving, by the database processor, from a table within the database system one or more synthetic public trust ledger party rules authorizing a plurality of database system accounts to perform a plurality of actions related to the smart contract;
determining, by the database processor, that the database system account is authorized to perform the action based on the one or more rules;
retrieving, by the database processor, one or more private keys for the synthetic public trust ledger account from the database system;
transmitting, by a ledger API, to a replica node of a public trust ledger external to the database system a ledger request to perform the action, the request authenticating the synthetic public trust ledger account to the replica node via the one or more private keys;
receiving, by the ledger API, from the replica node a ledger response indicating that the public trust ledger has been updated to reflect successful execution of the action;
updating, by the database processor, one or more records within the database system to reflect successful execution of the action; and
transmitting, by the database processor, to the client machine a response message indicating that the action has been performed.

### Claim 18 (depends on 17)

The database system recited in claim 17, wherein the database system account is an owner of the smart contract.

### Claim 19 (depends on 17)

The database system recited in claim 17, wherein the database system account is identified in the synthetic public trust ledger party as a subordinate party.

### Claim 20 (depends on 17)

The database system recited in claim 17, wherein one or more private keys are stored within the database system.
