1. A system for executing transactions, comprising at least one processor for executing at least one transaction, the at least one processor comprising a first processor for executing a first transaction of the at least one transaction, each of the at least one transaction comprising at least one memory access operation; a shared memory that can be accessed by the at least one processor; and a first cache operatively associated with the first processor, wherein the first cache serves as a buffer between the first processor and the shared memory, such that the first cache maintains data accessed by the first transaction throughout the execution of the first transaction; wherein the first cache comprises a first cache line, the first cache line comprising a first flag and a first color; wherein, if the first cache line is currently accessed by the first transaction, the first cache sets the first flag to indicate that the first cache line is currently accessed by some transaction; wherein, if the first cache line is currently accessed by the first transaction, the first cache sets the first color to indicate the first transaction.