A method for a first compute device configured to be included within a plurality of compute devices (110, 120, 130, 140) that implements a leaderless distributed database via a network operatively coupled to the plurality of compute devices (110, 120, 130, 140), the first compute device comprising a processor operatively coupled to an instance of the distributed database, the method comprising: defining, at a first time and at the processor of the first compute device, a first event linked to a first plurality of events and including a reference of at least two events from the first plurality of events, each event from the first plurality of events being a sequence of bytes, wherein the reference of each event from the at least two events of the first plurality of events indicates that the referenced event came before the first event. receiving, at a second time after the first time and from a second compute device from the plurality of compute devices (110, 120, 130, 140), a second event defined by the second compute device. linked to a second plurality of events, and including a reference of at least two events from the second plurality of events, each event from the second plurality of events being a sequence of bytes, wherein the reference of each event from the at least two events of the second plurality of events indicates that the referenced event came before the second event. defining a third event including a reference of the first event and a reference of the second event, identifying, using a consensus algorithm, an order of a third plurality of events based at least on the first plurality of events and the second plurality of events, each event from the third plurality of events being from at least one of the first plurality of events or the second plurality of events, wherein the order is calculated based on a partial order defined by the pattern of references between the events, storing in the instance of the distributed database the order of the third plurality of events, wherein said consensus algorithm implements a deterministic function such that each compute device of the plurality of compute devices (110, 120, 130, 140) calculates the same order of the third plurality of events. defining, at a first time and at the processor of the first compute device, a first event linked to a first plurality of events and including a reference of at least two events from the first plurality of events, each event from the first plurality of events being a sequence of bytes, wherein the reference of each event from the at least two events of the first plurality of events indicates that the referenced event came before the first event. receiving, at a second time after the first time and from a second compute device from the plurality of compute devices (110, 120, 130, 140), a second event defined by the second compute device. linked to a second plurality of events, and including a reference of at least two events from the second plurality of events, each event from the second plurality of events being a sequence of bytes, wherein the reference of each event from the at least two events of the second plurality of events indicates that the referenced event came before the second event. defining a third event including a reference of the first event and a reference of the second event, identifying, using a consensus algorithm, an order of a third plurality of events based at least on the first plurality of events and the second plurality of events, each event from the third plurality of events being from at least one of the first plurality of events or the second plurality of events, wherein the order is calculated based on a partial order defined by the pattern of references between the events, storing in the instance of the distributed database the order of the third plurality of events, wherein said consensus algorithm implements a deterministic function such that each compute device of the plurality of compute devices (110, 120, 130, 140) calculates the same order of the third plurality of events.