A method for byzantine fault-tolerance replicating of data on a plurality of n servers (2, 3) by a client, said n servers (2, 3) comprising one primary node, 'PN' and n-1 replica nodes, 'REPN', wherein f servers (2, 3) may arbitrarily fail, and wherein all n servers having a trusted computing entity, 'TCE', comprising the steps of: a) Performing a request procedure, b) Performing a prepare procedure, c) Performing a commit procedure and d) Performing a reply procedure, Wherein said request procedure according to a) comprises the steps of: - Providing, by a client, a request message for requesting a certain operation, - Transmitting, by said client, said request message to all n servers (2, 3), And wherein said prepare procedure according to b) comprises the steps of - Computing, by said PN, a prepare message including at least part of the content of said request message and a unique identifier, 'UI', said UI being computed by said TCE of said PN, said UI being based on a cryptographic signature of said request message and a unique, monotonic, sequential counter, 'UMSC', - providing said prepare message to said REPN, And wherein said commit procedure according to c) comprises the steps of - Validating said prepare message by checking the UI, - Upon positive verification of said prepare message, computing a commit message, by said PN or by each of said REPN, including said valid unique identifier and at least the content of said prepare message, wherein in case of computing said commit message by each of said REPN, the computed commit messages include all the same part of the content of said prepare message. - Multicasting said commit message by said PN or by each of said REPN, And wherein said reply procedure according to d) comprises the steps of - Validating, by each server, the unique identifiers of received commit messages, when the number of valid received commits from different servers (2, 3) is greater than f, - Computing a reply message for said client. a) Performing a request procedure, b) Performing a prepare procedure, c) Performing a commit procedure and d) Performing a reply procedure, - Providing, by a client, a request message for requesting a certain operation, - Transmitting, by said client, said request message to all n servers (2, 3), - Computing, by said PN, a prepare message including at least part of the content of said request message and a unique identifier, 'UI', said UI being computed by said TCE of said PN, said UI being based on a cryptographic signature of said request message and a unique, monotonic, sequential counter, 'UMSC', - providing said prepare message to said REPN, - Validating said prepare message by checking the UI, - Upon positive verification of said prepare message, computing a commit message, by said PN or by each of said REPN, including said valid unique identifier and at least the content of said prepare message, wherein in case of computing said commit message by each of said REPN, the computed commit messages include all the same part of the content of said prepare message. - Multicasting said commit message by said PN or by each of said REPN, - Validating, by each server, the unique identifiers of received commit messages, when the number of valid received commits from different servers (2, 3) is greater than f, - Computing a reply message for said client.