A network node (400-n) operating in a distributed network, comprising: a processor (20, 50, 704); and a memory unit operatively connected to the processor (20, 50, 704) including computer code that when executed causes the processor (20, 50, 704) to: request, from a key manager of the distributed network, a public encryption key; publish the public key to a blockchain ledger of the distributed network; receive from a plurality of other network nodes (400-n) of the distributed network, localized model parameters, the localized model parameters having been encrypted using the public key, and the localized model parameters having been derived from training a machine learning model common to the network node (400-n) and the other network nodes (400-n) using local training data present at each of the other network nodes (400-n); merge the encrypted localized model parameters from each of the other network nodes (400-n) into a single encrypted merged model parameter; transmit the single encrypted merged model parameter to one of the other network nodes (400-n), the one of the other network nodes (400-n) having been elected to act as a decryptor, receive, from the decryptor, a decrypted version of the single merged model parameter; and transmit the decrypted version of the single merged model parameter to each of the other network nodes (400-n) for application to refine the common machine learning model at each of the other network nodes (400-n). a processor (20, 50, 704); and a memory unit operatively connected to the processor (20, 50, 704) including computer code that when executed causes the processor (20, 50, 704) to: request, from a key manager of the distributed network, a public encryption key; publish the public key to a blockchain ledger of the distributed network; receive from a plurality of other network nodes (400-n) of the distributed network, localized model parameters, the localized model parameters having been encrypted using the public key, and the localized model parameters having been derived from training a machine learning model common to the network node (400-n) and the other network nodes (400-n) using local training data present at each of the other network nodes (400-n); merge the encrypted localized model parameters from each of the other network nodes (400-n) into a single encrypted merged model parameter; transmit the single encrypted merged model parameter to one of the other network nodes (400-n), the one of the other network nodes (400-n) having been elected to act as a decryptor, receive, from the decryptor, a decrypted version of the single merged model parameter; and transmit the decrypted version of the single merged model parameter to each of the other network nodes (400-n) for application to refine the common machine learning model at each of the other network nodes (400-n). request, from a key manager of the distributed network, a public encryption key; publish the public key to a blockchain ledger of the distributed network; receive from a plurality of other network nodes (400-n) of the distributed network, localized model parameters, the localized model parameters having been encrypted using the public key, and the localized model parameters having been derived from training a machine learning model common to the network node (400-n) and the other network nodes (400-n) using local training data present at each of the other network nodes (400-n); merge the encrypted localized model parameters from each of the other network nodes (400-n) into a single encrypted merged model parameter; transmit the single encrypted merged model parameter to one of the other network nodes (400-n), the one of the other network nodes (400-n) having been elected to act as a decryptor, receive, from the decryptor, a decrypted version of the single merged model parameter; and transmit the decrypted version of the single merged model parameter to each of the other network nodes (400-n) for application to refine the common machine learning model at each of the other network nodes (400-n).