A control device of a plurality of mobile body devices that is included in a system utilized to use a service object, and holds a first distributed ledger, the system including the control device and a plurality of other control devices of the plurality of mobile body devices that each hold a second distributed ledger, the control device different from the plurality of other control devices, the control device comprising:
- a memory, storing a computer program;
- and
- a processor configured to execute the computer program to:
- obtain a first transaction data for the first node, wherein the control device is in an offline state;
- store, by the processor, the first transaction data in the first distributed ledger after failing to transmit the first transaction data to the plurality of other control devices based on the offline state, wherein the first transaction data corresponds to a first sidechain block of the first distributed ledger;
- return the control device to an online state such that the control device is in communication with one or more of the plurality of other control devices;
- delete the first sidechain block that includes the first transaction data;
- store the first transaction data in a first transaction pool of the control device;
- generate a new block containing the first transaction data stored in the first transaction pool;
- execute transmission processing for transmitting the first transaction data to each of the plurality of other control devices, wherein each of the plurality of mobile body devices communicate with the first distributed ledger, the second distributed ledger or both when online;
- count a total number of the plurality of other control devices that successfully communicate with the control device in the transmission processing, wherein an error did not occur in the transmission processing;
- verify the first transaction data by a consensus algorithm, wherein the consensus algorithm is based at least in part on;
- determining, by the processor, that the total number is greater than a first predetermined number;
- receiving one or more reports from each of the plurality of other control devices;
- and
- determining successful verification of the first transaction data based on a total of the one or more reports that indicate that verification of the first transaction data was successful exceeds a second predetermined number;
- and
- store the first transaction data verified using the consensus algorithm in the first distributed ledger.