US 11,935,120 B2
Hardware-based transaction exchange
Seth Gregory Friedman, Tokyo (JP); Alexis Nicolas Jean Gryta, Tokyo (JP); and Thierry Gibralta, Tokyo (JP)
Assigned to Liquid-Markets GmbH, Baar (CH)
Appl. No. 17/928,844
Filed by Liquid-Markets GmbH, Baar (CH)
PCT Filed Jun. 8, 2021, PCT No. PCT/US2021/036299
§ 371(c)(1), (2) Date Nov. 30, 2022,
PCT Pub. No. WO2021/252423, PCT Pub. Date Dec. 16, 2021.
Claims priority of provisional application 63/035,993, filed on Jun. 8, 2020.
Prior Publication US 2023/0196458 A1, Jun. 22, 2023
Int. Cl. G06Q 40/04 (2012.01)
CPC G06Q 40/04 (2013.01) 20 Claims
OG exemplary drawing
 
1. A field programmable gate array (FPGA) based matching engine comprising:
a network interface configured to receive data packets containing proposed transactions, wherein the proposed transactions are respectively associated with transaction subjects, and wherein the network interface identifies network addresses in initial sequences of bits in each of the data packets in parallel to receiving respective further sequences of bits in each of the data packets;
state memory containing information related to the proposed transactions;
policy memory containing policies to be applied to the proposed transactions;
transaction validation circuitry configured to: receive the proposed transactions from the network interface and validate the proposed transactions based on their identified network addresses, their related information from the state memory, and the policies, wherein the transaction validation circuitry is further configured to discard any data packets containing proposed transactions that do not conform to the policies;
pending transaction memory configured to store proposed transactions that were validated in one or more tables; and
matching algorithm circuitry configured to read at least some of the proposed transactions from the one more of tables and match pairs of pending transactions according to pre-determined criteria, wherein the matching algorithm circuitry is subject to a 50-300 nanosecond random delay when matching the pairs of the pending transactions.