US 12,002,039 B2
Database system public trust ledger multi-owner token architecture
Prithvi Krishnan Padmanabhan, San Francisco, CA (US)
Assigned to Salesforce, Inc., San Francisco, CA (US)
Filed by Salesforce, Inc., San Francisco, CA (US)
Filed on Nov. 2, 2021, as Appl. No. 17/517,543.
Claims priority of provisional application 63/243,665, filed on Sep. 13, 2021.
Prior Publication US 2023/0080808 A1, Mar. 16, 2023
Int. Cl. G06Q 20/00 (2012.01); G06Q 20/06 (2012.01); G06Q 20/38 (2012.01); H04L 9/32 (2006.01); H04L 9/00 (2022.01)
CPC G06Q 20/3825 (2013.01) [G06Q 20/065 (2013.01); G06Q 20/38215 (2013.01); H04L 9/3213 (2013.01); H04L 9/50 (2022.05); H04L 2209/56 (2013.01)] 20 Claims
OG exemplary drawing
 
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.