Field-based peer permissions in a blockchain network
A method for a multi-tenant server to manage data in a blockchain network is described. The method includes generating an exchange object for the network, wherein the exchange object includes a set of exchange fields and a mapping between each exchange field in the set of exchange fields and a field of an object associated with each peer in the network; determining permissions for each exchange field and for each peer in the network; generating, on behalf of a first peer in the network, a transaction object using the exchange object, wherein the transaction object includes a set of field values for the set of exchange fields and one or more field values in the set of values are encrypted based on the permissions; and making the transaction object available to a second peer in the network to attempt to obtain consensus for altering an object of the first peer.
1. A method for a multi-tenant server to manage data in a peer-to-peer blockchain network, the method comprising:
generating, by the multi-tenant server, an exchange object for the peer-to-peer blockchain network, wherein the exchange object includes one or more exchange fields and a mapping between each exchange field in the one or more exchange fields and a field of a physical object associated with each peer in the peer-to-peer blockchain network;
determining, by the multi-tenant server, a permission for each combination of exchange fields in the one or more exchange fields and peer in the peer-to-peer blockchain network;
generating, by the multi-tenant server on behalf of a first peer in the peer-to-peer blockchain network, a transaction object based on the exchange object, wherein the transaction object includes a set of field values for the one or more exchange fields and one or more field values in the set of field values are encrypted based on the determined permissions; and
making, by the multi-tenant server on behalf of the first peer, the transaction object available to a second peer in the peer-to-peer blockchain network to attempt to obtain consensus for altering a physical object corresponding to the first peer.
2. The method of claim 1 , further comprising:
generating, by the multi-tenant server, a first set of permission keys corresponding to the first peer; and
generating, by the multi-tenant server, a second set of permission keys corresponding to the second peer.
3. The method of claim 2 , wherein each permission key in the first set of permission keys corresponds to a permission of the first peer in relation to a first exchange field in the one or more exchange fields, and
wherein each permission key in the second set of permission keys corresponds to a permission of the second peer in relation to a second exchange field in the one or more exchange fields.
4. The method of claim 3 , wherein generating the transaction object includes encrypting the one or more field values using the first set of permissions keys.
5. The method of claim 4 , wherein the first set of permission keys include read, update, and insert access permissions to corresponding exchange fields in the one or more exchange fields.
6. The method of claim 5 , further comprising:
adding, by the multi-tenant server, the transaction object to a first ledger of the first peer and a second ledger of the second peer in response to receiving consensus from the second peer in the peer-to-peer blockchain network; and
reading, by the multi-tenant server on behalf of the second peer, the one or more field values using the second set of permission keys.
7. The method of claim 6 , wherein reading the one or more field values includes decrypting a first value in the one or more field values using a first key in the second set of permission keys and decrypting a second value in the one or more field values using a second key in the second set of permission keys.
8. The method of claim 1 , wherein the multi-tenant server includes a virtual space for a first peer in the peer-to-peer blockchain network,
wherein the virtual space includes data and services available to the first peer and the data and services are inaccessible by a second peer in the peer-to-peer blockchain network.
9. A non-transitory machine-readable storage medium, including instructions that when executed by a processor of a multi-tenant server, cause the processor to:
generate an exchange object for the peer-to-peer blockchain network, wherein the exchange object includes one or more exchange fields and a mapping between each exchange field in the one or more exchange fields and a field of a physical object associated with each peer in the peer-to-peer blockchain network;
determine a permission for each combination of exchange fields in the one or more exchange fields and peer in the peer-to-peer blockchain network;
generate, on behalf of a first peer in the peer-to-peer blockchain network, a transaction object based on the exchange object, wherein the transaction object includes a set of field values for the one or more exchange fields and one or more field values in the set of field values are encrypted based on the determined permissions; and
make, on behalf of the first peer, the transaction object available to a second peer in the peer-to-peer blockchain network to attempt to obtain consensus for altering a physical object corresponding to the first peer.
10. The non-transitory machine-readable storage medium of claim 9 , wherein the instructions further cause the processor to:
generate a first set of permission keys corresponding to the first peer; and
generate a second set of permission keys corresponding to the second peer.
11. The non-transitory machine-readable storage medium of claim 10 , wherein each permission key in the first set of permission keys corresponds to a permission of the first peer in relation to a first exchange field in the one or more exchange fields, and
wherein each permission key in the second set of permission keys corresponds to a permission of the second peer in relation to a second exchange field in the one or more exchange fields.
12. The non-transitory machine-readable storage medium of claim 11 , wherein generating the transaction object includes encrypting the one or more field values using the first set of permissions keys.
13. The non-transitory machine-readable storage medium of claim 12 , wherein the first set of permission keys include read, update, and insert access permissions to corresponding exchange fields in the one or more exchange fields.
14. The non-transitory machine-readable storage medium of claim 13 , wherein the instructions further cause the processor to:
add, by the multi-tenant server, the transaction object to a first ledger of the first peer and a second ledger of the second peer in response to receiving consensus from the second peer in the peer-to-peer blockchain network; and
read, by the multi-tenant server on behalf of the second peer, the one or more field values using the second set of permission keys.
15. The non-transitory machine-readable storage medium of claim 14 , wherein reading the one or more field values includes decrypting each a first value in the one or more field values using a first key in the second set of permission keys and decrypting a second value in the one or more field values using a second key in the second set of permission keys.
16. The non-transitory machine-readable storage medium of claim 9 , wherein the multi-tenant server includes a virtual space for a first peer in the peer-to-peer blockchain network,
wherein the virtual space includes data and services available to the first peer and the data and services are inaccessible by a second peer in the peer-to-peer blockchain network.
17. A multi-tenant server to manage data in a peer-to-peer blockchain network, the multi-tenant server comprising:
a processor;
a memory storing instruction that when executed by the processor cause the processor to:
generate an exchange object for the peer-to-peer blockchain network, wherein the exchange object includes one or more exchange fields and a mapping between each exchange field in the one or more exchange fields and a field of a physical object associated with each peer in the peer-to-peer blockchain network;
determine permissions for each combination of exchange fields in the one or more exchange fields and peer in the peer-to-peer blockchain network;
generate, on behalf of a first peer in the peer-to-peer blockchain network, a transaction object based on the exchange object, wherein the transaction object includes a set of field values for the one or more exchange fields and one or more field values in the set of field values are encrypted based on the determined permissions; and
make, on behalf of the first peer, the transaction object available to a second peer in the peer-to-peer blockchain network to attempt to obtain consensus for altering a physical object corresponding to the first peer.
18. The multi-tenant server of claim 17 , wherein the instructions further cause the processor to:
generate a first set of permission keys corresponding to the first peer; and
generate a second set of permission keys corresponding to the second peer.
19. The multi-tenant server of claim 18 , wherein each permission key in the first set of permission keys corresponds to a permission of the first peer in relation to a first exchange field in the one or more exchange fields, and
wherein each permission key in the second set of permission keys corresponds to a permission of the second peer in relation to a second exchange field in the one or more exchange fields.
20. The multi-tenant server of claim 19 , wherein generating the transaction object includes encrypting the one or more field values using the first set of permissions keys.