1. An apparatus for ensuring application transaction integrity in a multi-node system, the multi-node system comprising: (a) a parent node; and (b) a plurality of child nodes, each child node including: (i) a hardware processor, (ii) an application executing in the hardware processor, (iii) an indicia engine, (iv) an instance of a database used by the application, and (v) an audit trail, each child node executing transactions, each transaction including a BEGIN step, one or more data manipulation language (DML) or data definition language (DDL) operations, and a transaction END step which is either a COMMIT or an ABORT, wherein the parent node is configured to send to at least two child nodes an identical request to process a transaction, wherein the application executing in the hardware processor at each of the two child nodes is configured to execute the identical request in the instance of the child node's database up until the transaction END step, wherein the indicia engine at each of the at least two child nodes is configured to: (A) join the transaction being processed at the child node, (B) read the data from the audit trail of the child node, (C) compute indicia of the outcome of the processing of the identical request using the data from the audit trail of the child node, wherein the indicia is dependent upon at least a subset of the DML or DDL operations, and (D) send its computed indicia to the parent node, wherein, the parent node is further configured to compare the received computed indicia from the at least two child nodes, and instruct the indicia engine at the at least two child nodes to vote to perform their respective transaction END steps for the transaction in the application executing in the hardware processor at the at least two child nodes as follows: (E) vote to COMMIT when the result of the comparison indicates that the processing was correct, and (F) vote to ABORT when the result of the comparison indicates that the processing was incorrect, and wherein the comparing of the computed indicia occurs independently of any checking as to whether an application on a child node is ready to commit via a commit process.