Live data from Hacker News

Ledger: Stripe's system for tracking and validating money movement

stripe.com

41–43 of 43 posts

Re: Ledger: Stripe's system for tracking and validating money movement

#41

Earlier quoted context omitted.

Did they implement Interledger Protocol (ILP) for their traditional or digital asset ledger? https://interledger.org/developers/rfcs/interledger-protocol...

Mentioned company founder here, we did not yet! I'm glad to see the ILP project is continuing to progress well though, we should definitely consider it again.

The path finding capability perhaps externalized from ripplenet to W3C ILP being worth it, it's not clear why the market doesn't realize there is such incentive and ILP is not yet widely implemented.

Re: Ledger: Stripe's system for tracking and validating money movement

#42
post #9

Earlier quoted context omitted.

Stripe strongly encourages writing for its own sake. So much so that they run their own press. I suspect the intended audience is whoever is curious for a medium depth primer in what a ledger looks like for a company handling billions of transactions. As someone in payment tech I found it very interesting.

Hello! I am the author. Thank you for the comment. While Stripe does love to write, I think our core premise here was that being able to reason mathematically about independent distributed systems was a unique application of a ledger. Likewise, we think the data quality offering is a unique extension since it gives us tools to make improvements to our systems over time.

Stripe may love to write, but it appears to hate its readers. The light gray type on that web page is really hard to read.

Re: Ledger: Stripe's system for tracking and validating money movement

#43
post #35

Earlier quoted context omitted.

I appreciate the reply. I think I would have appreciated a more clear description of how you are reasoning mathematically about your distributed systems. Simply claiming that you can and do is fine, but as an engineer I would have loved more practical examples. The only part that I found which touched on this was when you described how to find clearing errors by simply searching for clearing accounts with a non zero…

Not the author, but I worked on the Ledger team at Stripe for 5 years. Clearing is definitely a key part and a large amount of signal can be derived simply through the zero-balance assertion. To give you some more detailed examples of that: 1. System A bookkeeps +$11 and system B bookkeeps -$10 against the same account, where this is representative of A handing off responsibilities to B during some multi-step process…

I don't work at Stripe, but I've talked to a few ledger nerds there.

One thing I'd point out that makes Stripe's ledger different than most others you might have seen or encountered is the granularity of what they consider an account. If you think about a bank ledger, you logically have a single account per customer. Stripe uses multiple accounts for each payment, so processing this number of accounts is a hard scaling problem, especially when most are ephemeral. The saving grace is that this can be done offline and balances can be eventually consistent or materialised on read.

When you have this many accounts, organising them also is a big challenge, since you want to be able to roll them up to something meaningful. Conceptually asset and liability accounts in a ledger represent a financial relationship with an economic actor. If that's the top level account (e.g. how much does bank X owe us right now) you'll want to have a hierarchy of accounts down to each state of each payment. So a lot of effort went into building modelling tools for product teams to design how their financial activity gets represented in the ledger.

Disclaimer: I'm CTO at Fragment (http://fragment.dev) and Stripe led our last round.

Post reply on HN