Cross-chain Knowledge Graph
Figure 3: An example of the cross-chain knowledge graph
The knowledge graph is one of the most fundamental components of TRAVA.FINANCE, which is responsible for storing and representing aggregated data from multiple blockchain networks. The graph and TRAVA.FINANCE protocols make independent blockchains interconnected and create the internet of hyper-linked blockchains, allowing DApps to address complex business in reality.
Figure 3 shows an example of the knowledge graph. The circle represents an entity (or instance) of data such as a wallet address, a user, a lending pool, an NFT, or other types of digital assets. Each entity is associated with other entities in certain relationships, represented by directional arrows; the direction of an arrow is the direction of the relationship.
The white rectangles are the values for the data attributes of the entity. The example graph shows that the WalletAddress2 is on the Ethereum network and that address owns an NFT. Aggregated information of the NFT, such as the highest bid price, number of auctions, list of addresses ever owned, etc., are also represented in the knowledge graph.
Let us assume that a user creates one address on the Bitcoin network and one address on the Ethereum network. Because there were no relationships among these addresses, the knowledge graph creates two anonymous users, i.e., AnonymousUser1 and AnonymousUser2. AnonymousUser1 owns the Bitcoin addresses (i.e., WalletAddress3), and AnonymousUser2 has one Ethereum address, i.e., WalletAddress1. Various information related to a wallet address is stored in the graph. For example, the WalletAddress3 entity contains the average balance, the total amount of ETHs transferred in and out, the total number of transactions, or the average, median, mode, and highest number of ETHs transferred in one transaction.
Assuming the user wants to increase his/her credit score or use up all of his/her cryptos as collateral for a loan, he or she can unify all addresses as one via the cross-chain identification protocol performed in only one TRAVA.FINANCE's transaction. After completing the transaction, the two anonymous users are linked by the sameAs relationship.
Depending on users’ needs, the cross-chain identification protocol also supports linking two wallet address entities by a guarantee relationship. Once an address is lost, if all the addresses that guarantee the address confirm the loss, the address status will be claimed as lost in the knowledge graph.
Wallet addresses can also be connected by a transfer relationship. To ensure scalability, rather than detailed transactions, statistical and aggregated information on transactions is calculated and stored in that transfer relationship. As in the knowledge graph example above, several remarkable pieces of information are saved, including BlockchainAddress1 has transferred 400 ETHs in total to BlockchainAddress2; it is performed through 10 transactions, and the largest transaction transfers 200 ETHs.
To avoid junk addresses and junk digital assets, we do not store all blockchain entities in the knowledge graph. The number of transactions or the maximum of cryptos transferred in one transaction related to an NFT or an address needs to surpass a threshold so that the NFT and the address will be added to the knowledge graph. The knowledge graph can also represent other types of entities, relationships, and properties. We develop a unified interface so that the expansion of the knowledge graph can be done in a logical, consistent, effective, scalable, and standardized manner.
As the knowledge graph plays a crucial role, it can only be updated by a TRAVA.FINANCE’s validator, and this must be agreed upon by other validators on the network. The knowledge graph needs to be infinitely extended while the assigned number of TRAVA.FINANCEs is fixed and finite. Thus it is not possible to pay fees for updating the graph. However, there should also be a way to encourage validators to update and enrich the knowledge graph. To reconcile this contradiction, TRAVA.FINANCE requires and also encourages validators to update the knowledge graph.
On the one hand, validators must update the knowledge graph regularly, otherwise, they will be stripped of their validator role, and cannot earn rewards for appending new blocks or verifying transactions. On the other hand, each time enriching the knowledge graph, validators will gain the fame score, thereby gaining more priorities and indirectly having the opportunity to earn more TRAVA.FINANCE coins when joining the network.
Priorities may include voting power or the privilege to unlock TRAVA.FINANCE tokens earlier than the standard time when receiving awards. Enriching the graph is a special kind of TRAVA.FINANCE transaction that requires no fee. Out of all transactions, graph-related transactions are extracted and stored separately in files along with their hash value. This allows validators and other nodes to (re)construct the graph more efficiently with their own graph database systems.