Systems and methods for monetizing data in decentralized model building for machine learning using a blockchain
Systems and methods are provided for leveraging blockchain technology in a swarm learning context, where nodes of a blockchain network that contribute data to training a machine learning model using their own local data can be rewarded. In order to conduct such data monetization in a fair and accurate manner, the systems and methods rely on various phases in which Merkle trees are used and corresponding Merkle roots are registered in a blockchain ledger. Moreover, any claims for a reward are challenged by peer nodes before the reward is distributed.
1. A data monetization network node operating in a blockchain network, comprising:
a processor; and
a memory unit operatively connected to the processor and including computer code, wherein the processor executes the computer code to:
receive data from one or more nodes of the blockchain network;
encrypt a data record extracted from a machine learning model, wherein a local instance of the machine learning model is trained locally by the data monetization node of the blockchain network using the received data;
hash the encrypted data record to generate a non-duplicative value of the encrypted data record;
store the non-duplicative value;
build a hash tree based on the value, and register a corresponding hash tree root in a distributed ledger of the blockchain network, wherein the hash tree root is associated with the data monetization node's unique data contribution to the machine learning model;
submit a claim for a reward for an amount of unique data from the data record contributed by the data monetization node to the machine learning model, wherein the claim is based on the height of the hash tree measured from a leaf node of the hash tree to a root node of the hash tree and the height represents the amount of unique data;
calculate a percentage share of a monetization reward for training of the machine learning model;
register the calculated percentage share of the monetization reward to the distributed ledger; and
receive the calculated percentage share of the monetization reward.
2. The data monetization network node of claim 1 , wherein the processor further executes the computer code to:
receive a challenge from a subset of nodes of the blockchain network; and
prove the height of the hash tree by transmitting, to the subset of nodes, a number of hashes corresponding to the height of the hash tree such that the registered corresponding hash tree root is verified by the subset of nodes of the blockchain network.
3. The data monetization network node of claim 2 , wherein the number of hashes transmitted by the data monetization network is limited to a maximum less than a total number of raw data records extracted from the machine learning model.
4. The data monetization network node of claim 1 , wherein the processor calculates the percentage share of the monetization reward according to a total claimed contribution of each of other network nodes of the blockchain network.