> Unfortunately people are not 100% trustable, devices are not 100% secure and code is not 100% perfect.
- which is actually why you use crypto.
> If someone steals my credit number, I will likely not be on the hook for the money and will not lose anything.
- because the bank guarantees the safety of the payment means you use. The fact that you don't have to pay (as a private customer) doesn't mean that stolen credit card numbers and fraud transactions don't cost money. Someone has to pay somewhere in the chain. If the principal is recovered (the stolen money), then someone still has to pay for the overhead of recovering the money (for you). There're insurance and liability-shift mechanisms in place, but the money transfer would be much safer, faster, and cost-efficient if crypto was in place.
> If I make a mistake during banking, I can turn to people at the bank about it.
- So? It's not because your infrastructure uses crypto that you give up of customer support.
which is why (in my viewpoint) it matters a great deal, and there's just no way back. Trust is required for monetary exchange, but not only. It also matters where very strong guarantees are needed, which is everywhere, e.g., when setting up contracts or when making statements (expert or regulated) about a product, service, or a status. Trust matters because then the whole value-chain gets more efficient, rapid, and cost-effective.
For a few years I worked on a startup that aimed to address fraud management in e-commerce from a quantitative risk modelling perspective. And when Stripe released radar 2.0, I went through their docs. I was impressed by Stripe's marketing (docs) and UI—they're knowingly good for that, but I was much less impressed by radar 2.0's feature-set and product. The biggest issue for me was their "one-size-fit-all" approach, because that just does NOT work in what I've seen, i.e., both billion- and million-euro businesses.
From a risk management perspective, a 2-7% gross margin e-commerce manages risk totally differently than a 50%+ gross margin e-commerce. For one, the false negative (i.e., a fraud gets through) is super-expensive. For the other, a false positive (i.e., a real client is stopped) is super expensive. And I did not see anywhere in their docs how they integrated the cost-imbalance of the risk for each of their client (you), and event less for each of their client's clients! It's possible to do, but it's hard.
Of course, like any fraud prevention system, radar 2.0 allows clients to add rules and lists to customise their logic, but these mechanisms are difficult to setup when you start processing payments, because you don't have yet any payment history, as well as when your e-commerce gains in velocity and complexity, because you don't necessarily have the in-house resources or skills to keep your rules and lists up to date and well maintained.
And in the lucky case that one just feels happy with Stripe's radar 2.0 system, then how do you know that you're not loosing customers? Having no risk of chargeback is very easy, just don't accept any payment and you've a risk-free e-commerce! In my experience, we increased sales by 7% (a few tenths of millions of euros) by just re-parameterising how fraud was managed. I don't see anywhere anywhere in the docs why and how I should trust radar 2.0 for the specifics of e-commerce A, B, and C. One-size-fit all just doesn't work.
As a former startup founder in that area, I still see we're a long way towards personalised risk management in e-commerce services, that would help owners throughout the different stages of their e-commerce, i.e., idea, proof of concept, scaling, growth... sounds similar?
- How did you guys scale that much w/o a bootloader before?
That's what I don't get. All the design patterns are those of Unix. You boot the kernel with a ... bootloader. Then you've the kernel with all the system's params (call it ECS). Then each process is a child of the root process. And when you get by whatever mean the news that your app's source code has changed, you pull that code and start running it, while still having the old one live. Once the fork of the new code returns a proper response code, you kill the old one and set the new app live, otherwise you stay live with the old version.
I have a dataset management mechanism (delete, copy, duplicate, etc.) where dataset attributes are tagged as PII (personally identifiable information), and where generic filters are then applied to obfuscate PII for datasets that'll be used by non-privileged users, e.g., data science.
- It's not bullet proof, but it achieves what I'm looking for.
+1, tomasdpinho. Yes to everything, and notably the queues everywhere, versioning the models, and the issue to mix sync and async (go for queues).
As a scientist designing risk management systems, I also like to:
. avoid moving the data;
. bring the (ML/stats) code to the data;
. make in-memory computations (when possible) to reduce latency (network+disk);
. work on live data instead of copies that drift out-of-date; and
. write software to keep models up to date because they drift with time too and that's a major, operationally un-noticed, and extremely costly problem.
I'm not yet into Tensor/ML-Flow, but I use R, JS, and Postgres, thereby relying on open-source eco-systems (and packages) that are:
- which is actually why you use crypto.
> If someone steals my credit number, I will likely not be on the hook for the money and will not lose anything.
- because the bank guarantees the safety of the payment means you use. The fact that you don't have to pay (as a private customer) doesn't mean that stolen credit card numbers and fraud transactions don't cost money. Someone has to pay somewhere in the chain. If the principal is recovered (the stolen money), then someone still has to pay for the overhead of recovering the money (for you). There're insurance and liability-shift mechanisms in place, but the money transfer would be much safer, faster, and cost-efficient if crypto was in place.
> If I make a mistake during banking, I can turn to people at the bank about it.
- So? It's not because your infrastructure uses crypto that you give up of customer support.