This is a blogpost intended to demonstrate the usefulness of applying neo4j to a specific problem. All the challenges you cite are valid, but they do not negate the value of using neo4j in this scenario.<p>You can solve these problems by adding to the list of identifiers. Off the top of my head: browser fingerprinting, request latency, IP subnets, IP ASNs, hsts super cookies...<p>Stopping fraud is always going to be a cat and mouse game. The goal is not to eliminate fraud completely, but to make it so difficult for fraudsters to use your service successfully, that they would rather move to the next target. If a fraudster is specifically targeting your service, they <i>will</i> get around any blockades you put in front of them. But you can still make it as hard as possible to circumvent those blockades.<p>If you deter a high enough percentage of fraudsters, you mitigate your risk of chargebacks. That risk will never be zero. But you should certainly do all you can to minimize it.