Database system public trust ledger architecture
Techniques and mechanisms described herein relate to a database system. A digital asset referenced in one or more database tables within an on-demand database system accessible to a plurality of entities may be identified. The digital asset may be owned by a first one of the plurality of entities. A smart contract that includes a token identifying the digital asset may be generated. The smart contract may be recorded within a distributed trust ledger. The token may be owned by a first account within the distributed trust ledger. The on-demand database system may include a correspondence linking the first entity with the first account. The on-demand database system may be updated to include a reference linking the digital asset with the token.
1 . A method comprising:
identifying, via a processor, a digital asset referenced in one or more database tables within an on-demand database system providing customer relations management services to a plurality of tenants, the one or more database tables including a first database table entry identifying the digital asset as being owned by a first database tenant of the plurality of tenants;
transmitting, by a communication interface, one or more instructions for generating a token via a smart contract recorded within a distributed trust ledger external to the database system, the token being owned by a first account within the distributed trust ledger, the on-demand database system including a correspondence linking the first database tenant with the first account, the token including both a token identifier identifying the token in the distributed trust ledger and a digital asset identifier identifying the digital asset in the on-demand database system;
receiving, by the communication interface, a message indicating that a transaction identifying the token has been recorded within the distributed trust ledger, the transaction complying with a token-specific transfer restriction specifying a party to which transfer of the token is prohibited, specifying a plurality of rights associated with the digital asset and capable of being transferred to a recipient, and further specifying a first database account associated with the digital asset and the plurality of rights, the token-specific transfer restriction being reflected in the metadata included in the smart contract stored on the distributed trust ledger;
updating the one or more database tables within the on-demand database system to include a second database table entry linking the digital asset with the token;
receiving at the on-demand database system an indication of a transaction request to transfer the token to the recipient public trust ledger party;
updating the one or more database tables within the on-demand database system to include a third database table entry linking the digital asset identifier and the token identifier with the recipient public trust ledger party when the transaction request complies with the token-specific transfer restriction;
recording a transaction within the distributed trust ledger, the transaction transferring ownership of the token from the first account to a second account within the distributed trust ledger; and
updating the on-demand database system to include a second one or more database entries indicating that the token is owned by a second one of the plurality of tenants, the correspondence linking the second tenant with the second account.
2 . The method recited in claim 1 , wherein the smart contract comprises computer programming code providing a self-executing agreement for transferring the token.
3 . The method recited in claim 2 , wherein generating the smart contract comprises executing a token minting process associated with the distributed trust ledger by communicating with one or more remote computing devices via the internet.
4 . The method recited in claim 2 , wherein the smart contract includes a private key and a public key that together facilitate encrypted communication with the smart contract via a public key encryption protocol.
5 . The method recited in claim 1 , wherein the on-demand database system includes a first one or more database entries indicating that the token is owned by the first tenant.
6 . The method recited in claim 1 , wherein the distributed trust ledger is publicly accessible outside the on-demand database system.
7 . The method recited in claim 1 , wherein the token is a non-fungible token.
8 . The method recited in claim 1 , wherein the token is a fungible token.
9 . The method recited in claim 1 , wherein the distributed trust ledger is a blockchain.
10 . The method recited in claim 9 , wherein the blockchain is Ethereum.
11 . The method recited in claim 1 , wherein the on-demand database system includes a multitenant database storing data associated with a plurality of tenants, and wherein the first tenant corresponds with a designated one of the plurality of tenants.
12 . An on-demand database system comprising:
a processor configured to identify a digital asset referenced in one or more database tables within an on-demand database system providing customer relations management services to a plurality of tenants, the one or more database tables including a first database table entry identifying the digital asset as being owned by a first database tenant of the plurality of tenants;
a communication interface configured to transmit one or more instructions for generating a token via a smart contract recorded within a distributed trust ledger external to the database system, the token being owned by a first account within the distributed trust ledger, the on-demand database system including a correspondence linking the first database tenant with the first account, the token including both a token identifier identifying the token in the distributed trust ledger and a digital asset identifier identifying the digital asset in the on-demand database system, wherein the communication interface is further configured to receive a message indicating that a transaction identifying the token has been recorded within the distributed trust ledger, the transaction complying with a token-specific transfer restriction specifying a party to which transfer of the token is prohibited, specifying a plurality of rights associated with the digital asset and capable of being transferred to a recipient, and further specifying a first database account associated with the digital asset and the plurality of rights, the token-specific transfer restriction being reflected in the metadata included in the smart contract stored on the distributed trust ledger; and
a database interface configured to update the one or more database tables within the on-demand database system to include a second database table entry linking the digital asset with the token, wherein the on-demand database system is configured to receive an indication of a transaction request to transfer the token to the recipient public trust ledger party, wherein the database interface is configured to update the one or more database tables to include a third database table entry linking the digital asset identifier and the token identifier with the recipient public trust ledger party when the transaction request complies with the token-specific transfer restriction, wherein the database interface is further configured to record a transaction within the distributed trust ledger, the transaction transferring ownership of the token from the first account to a second account within the distributed trust ledger, and wherein the database interface is further configured to update the on-demand database system to include a second one or more database entries indicating that the token is owned by a second one of the plurality of tenants, the correspondence linking the second tenant with the second account.
13 . The on-demand database system recited in claim 12 , wherein the smart contract comprises computer programming code providing a self-executing agreement for transferring the token, and wherein generating the smart contract comprises executing a token minting process associated with the distributed trust ledger by communicating with one or more remote computing devices via the internet.
14 . One or more non-transitory computer readable media having instructions stored thereon for performing a method, the method comprising:
identifying, via a processor, a digital asset referenced in one or more database tables within an on-demand database system providing customer relations management services to a plurality of tenants, the one or more database tables including a first database table entry identifying the digital asset as being owned by a first database tenant of the plurality of tenants;
transmitting, by a communication interface, one or more instructions for generating a token via a smart contract recorded within a distributed trust ledger external to the database system, the token being owned by a first account within the distributed trust ledger, the on-demand database system including a correspondence linking the first database tenant with the first account, the token including both a token identifier identifying the token in the distributed trust ledger and a digital asset identifier identifying the digital asset in the on-demand database system;
receiving, by the communication interface, a message indicating that a transaction identifying the token has been recorded within the distributed trust ledger, the transaction complying with a token-specific transfer restriction specifying a party to which transfer of the token is prohibited, specifying a plurality of rights associated with the digital asset and capable of being transferred to a recipient, and further specifying a first database account associated with the digital asset and the plurality of rights, the token-specific transfer restriction being reflected in the metadata included in the smart contract stored on the distributed trust ledger;
updating the one or more database tables within the on-demand database system to include a second database table entry linking the digital asset with the token;
receiving at the on-demand database system an indication of a transaction request to transfer the token to the recipient public trust ledger party;
updating the one or more database tables within the on-demand database system to include a third database table entry linking the digital asset identifier and the token identifier with the recipient public trust ledger party when the transaction request complies with the token-specific transfer restriction;
recording a transaction within the distributed trust ledger, the transaction transferring ownership of the token from the first account to a second account within the distributed trust ledger; and
updating the on-demand database system to include a second one or more database entries indicating that the token is owned by a second one of the plurality of tenants, the correspondence linking the second tenant with the second account.
15 . The one or more non-transitory computer readable media recited in claim 14 , wherein the smart contract comprises computer programming code providing a self-executing agreement for transferring the token, and wherein generating the smart contract comprises executing a token minting process associated with the distributed trust ledger by communicating with one or more remote computing devices via the internet.