Byzantine fault prevention in mesh networks
Embodiments of the present disclosure include a processing device that, responsive to detecting an unavailability of a first node device of a plurality of node devices of a network, activates a proxy device to correspond to the first node device, detects a consensus operation among the plurality of node devices, wherein the consensus operation comprises a plurality of vote transmissions within the network, and controls the proxy device to provide a proxy vote transmission as part of the consensus operation.
1. A method of operating a network comprising:
responsive to detecting an unavailability of a first node device of a plurality of node devices of the network, activating a proxy device to correspond to the first node device;
detecting a consensus operation among the plurality of node devices for a blockchain operation of a blockchain within the network, wherein the consensus operation comprises a plurality of vote transmissions associated with the blockchain within the network, wherein detecting the consensus operation comprises examining the approval status of each of the plurality of vote transmissions;
controlling, by a processing device, content of a proxy vote transmission provided by the proxy device by setting the content of the proxy vote transmission based on an approval status of each of the plurality of vote transmissions, wherein the proxy vote transmission is associated with the blockchain and is provided by the proxy device as part of the consensus operation for the blockchain;
on a condition that a count of the plurality of vote transmissions that indicate approval exceeds a defined vote threshold, transmitting instructions to the proxy device to transmit the proxy vote transmission comprising an approval of the consensus operation; and
on a condition that the count of the plurality of vote transmissions that indicate approval does not exceed the defined vote threshold, transmitting instructions to the proxy device to transmit the proxy vote transmission comprising a disapproval of the consensus operation.
2. The method of claim 1 , wherein the consensus operation comprises an operation to add a block to the blockchain.
3. The method of claim 1 , wherein the activating the proxy device is performed further responsive to determining that a number of the plurality of node devices that have been detected as being unavailable exceeds a defined availability threshold.
4. The method of claim 3 , wherein the defined availability threshold is greater than twenty-five percent of the plurality of node devices.
5. The method of claim 1 , further comprising transmitting a transaction request on the network that indicates the proxy device corresponds to the first node device.
6. An apparatus comprising:
a memory; and
a processing device, operatively coupled to the memory, to:
responsive to detecting an unavailability of a first node device of a plurality of node devices of a network, activate a proxy device to correspond to the first node device;
detect a consensus operation among the plurality of node devices for a blockchain operation of a blockchain within the network, wherein the consensus operation comprises a plurality of vote transmissions associated with the blockchain within the network, wherein to detect the consensus operation is further to examine the approval status of each of the plurality of vote transmissions;
control content of a proxy vote transmission provided by the proxy device by setting the content of the proxy vote transmission based on an approval status of each of the plurality of vote transmissions, wherein the proxy vote transmission is associated with the blockchain and is provided by the proxy device as part of the consensus operation for the blockchain;
on a condition that a count of the plurality of vote transmissions that indicate approval exceeds a defined vote threshold, transmit instructions to the proxy device to transmit the proxy vote transmission comprising an approval of the consensus operation; and
on a condition that the count of the plurality of vote transmissions that indicate approval does not exceed the defined vote threshold, transmit instructions to the proxy device to transmit the proxy vote transmission comprising a disapproval of the consensus operation.
7. The apparatus of claim 6 , wherein the consensus operation comprises an operation to add a block to the blockchain.
8. The apparatus of claim 6 , wherein the processing device is to activate the proxy device further responsive to determining that a number of the plurality of node devices that have been detected as being unavailable exceeds a defined availability threshold.
9. The apparatus of claim 8 , wherein the defined availability threshold is greater than twenty-five percent of the plurality of node devices.
10. The apparatus of claim 6 , wherein the processing device is further to transmit a transaction request on the network that indicates the proxy device corresponds to the first node device.
11. A non-transitory computer-readable storage medium including instructions that, when executed by a processing device, cause the processing device to:
responsive to detecting an unavailability of a first node device of a plurality of node devices of a network, activate a proxy device to correspond to the first node device;
detect a consensus operation among the plurality of node devices for a blockchain operation of a blockchain within the network, wherein the consensus operation comprises a plurality of vote transmissions associated with the blockchain within the network, wherein to detect the consensus operation is further to examine the approval status of each of the plurality of vote transmissions;
control, by the processing device, content of a proxy vote transmission provided by the proxy device by setting the content of the proxy vote transmission based on an approval status of each of the plurality of vote transmissions, wherein the proxy vote transmission is associated with the blockchain and is provided by the proxy device as part of the consensus operation for the blockchain;
on a condition that a count of the plurality of vote transmissions that indicate approval exceeds a defined vote threshold, transmit instructions to the proxy device to transmit the proxy vote transmission comprising an approval of the consensus operation; and
on a condition that the count of the plurality of vote transmissions that indicate approval does not exceed the defined vote threshold, transmit instructions to the proxy device to transmit the proxy vote transmission comprising a disapproval of the consensus operation.
12. The non-transitory computer-readable storage medium of claim 11 , wherein the consensus operation comprises an operation to add a block to the blockchain.
13. The non-transitory computer-readable storage medium of claim 11 , wherein the processing device is to activate the proxy device further responsive to determining that a number of the plurality of node devices that have been detected as being unavailable exceeds a defined availability threshold.
14. The non-transitory computer-readable storage medium of claim 11 , wherein the processing device is further to transmit a transaction request on the network that indicates the proxy device corresponds to the first node device.