Electronic lottery tickets as micropayments (1997)
fermatslibrary.com
fermatslibrary.com
In this scheme, a lottery ticket for a $10 prize with a 1/1000 chance of winning could be used to pay for 1 cent"
https://twitter.com/fermatslibrary/status/140994550447414067...
https://github.com/OrchidTechnologies/orchid
In the current end-user client--which you can currently download from the iOS/Android/Mac application stores--we use this to pay for VPN service "as you go" in rather small units (the size of these chunks in our case feels limited by bandwidth overhead of sending signatures and CPU usage for signing tickets, as opposed to by the reasonable size of a transfer).
It seemed like a really clever workaround to not having enough digits of precision (whether explicit or hidden), but now I see it’s just a regular sized lottery, a psychological tool to encourage investment. :)
What described here is a simple probabilistic micropayments. Since the payment transactions are expensive, you amortize the cost of many smaller "virtual" transactions over a single large real transaction. This scheme is frequently used in the API billing, or even for all-inclusive costs in hotels (i.e. you charge for the buffet instead of for each meal separately) and you hope that probabilistically it will end up OK.
https://news.ycombinator.com/item?id=15700718
So, something maybe-fascinating to people is that Rivest--who designed this scheme--helped start a company to use it on the web to pay for things like news articles and generally replace ads. It was called Peppercoin, and was sufficiently before its time that not only did it fail (well, in the usual YC-sense: it got acquired by something boring and failed to change the world) but a lot of the people working on this technology today have never heard of it ;P.
Here are a million references I have in a note I was collecting back in December on the rise and fall of Peppercoin (which I intended to show to my team at Orchid--where we are trying to apply this technology to a decentralized market for bandwidth and other Internet services: see orchid.com--and then honestly never have as I have been busy; and I considered that, maybe even "best case", this was likely to be a distraction to them as much as it was to me ;P).
background
https://news.ycombinator.com/item?id=989020
https://news.ycombinator.com/item?id=15272944
https://news.ycombinator.com/item?id=9837380
https://news.ycombinator.com/item?id=17533350
papers
https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.44...
https://people.csail.mit.edu/rivest/pubs/Riv97b.pdf
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.5.1...
https://people.csail.mit.edu/rivest/pubs/Riv04c.slides.slide...
wikis
https://en.m.wikipedia.org/wiki/Peppercoin
https://en.bitcoinwiki.org/wiki/Peppercoin
https://ebrary.net/88179/business_finance/micropayments
funding
http://web.archive.org/web/20031002123349/http://www.paidcon...
https://www.buyoutsinsider.com/peppercoin-banks-on-4-3m-in-c...
http://www.econtentmag.com/Articles/News/News-Item/Peppercoi...
https://www.wsj.com/articles/SB112430543406915783
launch
https://bizwest.com/2003/10/31/peppercoin-solves-download-pa...
https://www.technologyreview.com/2003/12/01/233570/the-webs-...
https://www.nytimes.com/2004/01/07/technology/circuits/a-vir...
https://nextbillion.net/cashless-transactions-at-the-bop-pep...
"2.0"
https://www.finextra.com/pressarticle/1492/peppercoin-releas...
2004-2005
https://www.digitaltransactions.net/peppercoin-scores-anothe...
https://www.digitaltransactions.net/moneris-signs-up-pepperc...
https://www.bizjournals.com/boston/blog/mass-high-tech/2005/...
https://thepaypers.com/payments-general/peppercoin-small-pay...
banking
https://www.businesswire.com/news/home/20050112005057/en/Pep...
https://thepaypers.com/payments-general/chase-merchant-servi...
mastercard
https://www.finextra.com/newsarticle/14621/peppercoin-and-ma...
https://www.cbronline.com/news/mastercard_and_peppercoin_to_...
https://www.insidearm.com/news/00025887-mastercard-supports-...
https://www.networkworld.com/article/2316448/mastercard-team...
https://www.pressreader.com/usa/san-francisco-chronicle/2005...
"3.0"
https://www.digitaltransactions.net/is-peppercoin-eyeing-opp...
https://www.digitaltransactions.net/peppercoin-3-0-debuts-wi...
operations
https://www.digitalcommerce360.com/2006/04/24/charles-casert...
https://www.securetechalliance.org/secure/events/20061003/T0...
2006-2007
https://www.bizjournals.com/boston/stories/2006/07/24/story1...
https://www.insidearm.com/news/00015050-suntrust-merchant-se...
https://www.allwirelessnews.com/features/heartland-payment-s...
acquirement
https://www.americanbanker.com/news/peppercoin-sold-to-orego...
https://www.businesswire.com/news/home/20070416005392/en/Cho...
https://mashable.com/2007/04/17/peppercoin/
postmortem
It's same as a paper lottery ticket.
In case this isn't obvious how it applies to this case--as the probabilities might be obfuscating things somewhat, and I have now seen multiple replies to you make it sound like your question is invalid, despite being the key question for how to use this technology (as someone who works with it daily and has for years)--imagine if you send four people 50% tickets for your entire balance.
In this scenario, you would expect two of them would win; let's just assume this is the actual concrete result. Even if you decide that people who receive a winning ticket will commit their ticket before accepting it, two of these people got losing tickets and a third will succeed in claiming their winner... you just managed to get 1.5x the value of your account, by handing out more (probabilistic) checks than you can (probabilistically) pay.
The only protection from it not being a true 2x overdraft was that two of the participants had a naive way to verify they got paid... but really, participants in this system usually accept money from low-probability losing tickets; this then becomes a form of off-chain settlement that is subject to scenarios where people can "double-spend" some of their money if you aren't paying attention, in a way that is actually very analogous to blockchains (such as Bitcoin and Ethereum) that experience routine chain reorganization: you need to have some kind of scheme in place to not only decide a single valid result but also a scheme to feel comfortable with the "finality" of that result (the whole "wait for six confirmations" jazz).
The usual solution to this is to have the spender put money down into an on-chain contractual "escrow" that gets "burned" (destroyed) as part of any overdraft, to make it so you hopefully lose more money than you are capable of overspending in any reasonable period of time (which I would argue has at least some parallels to mechanisms in proof of stake blockchains, with the understanding that every single lottery payment account is effectively its own blockchain at this point).
Honestly, I find much more inspiration in this much later paper, which extends this scheme to zero-knowledge coins and does some of the math required to understand the bounds on the escrow required to manage this risk.
EDIT: Who pays for the lottery ticket transactions that the bank is saving?
If you could persuade all banks to make all fees be percentage based or nill, such a scheme would be unnecessary.
"and you receive tickets at 1/2500 probability"
How do you receive these tickets? How can they be trusted? How can you guarantee they are honored? If we can receive lottery tickets in a cheap, trusted, secure manner why don't we just use the same system for the money itself?
The only real mechanism you need is a shared random number generator? Here is the simple one most people use: you make a random number, hash it, and send me the hash. I make a second random number, and then sign the number and the hash. You then determine if you won by hashing your number with mine, and if the hash type cast to a number is less than 1/2500 times the maximum such number, then you won, and can reveal your original number to the bank--which has to be willing to honor the weird instructions I scrawled on my check involving "only accept this check if the following math holds based on the public key of my bank account" to verify these hashes and signatures... here is where turing complete blockchains come in :D--as proof. Neither of us can now control whether the ticket wins.
The thing you seem to be missing though honestly isn't that? You are conflating the ability to create a "trusted" mechanism with a "cheap" one: in a world where it costs $0.25 to move the money, the issue is how to mitigate that cost without losing trust in the process. This is a transform on an existing trusted system that is "too expensive" to make it cheaper. If you had a cheap way of doing it, you wouldn't need this transform... but you don't have a cheap way of doing it: you only have an expensive way... so we agree to share the cost of using that expensive way across numerous parties.
Really, I think the right question here is "but this can't come for free: what is the cost?" and the key tradeoff is that now all transfers are some horribly confusing probabilistic space of variance over possible payouts... you go to buy a stick of gum and end up "losing" four days in a row and have now spent over $100 on four sticks of gum, which in the limit should eventually work out, but even then there will be some binomial distribution where different people got lucky throughout their lives and others didn't; and, I think worse, users can run into "cash flow" problems during losing streaks as they have a budget based on their non-probabilistic income that is now being used on probabilistic expenditures... the whole thing is a mess if you apply it indiscriminately :(.
This scheme is thereby simply "different": it results in a primitive that only makes sense for very large numbers of very tiny transactions, which the original trusted system likely wasn't capable of, as it wanted to make it not only cost effective but "reasonable" to spend $5... by which I mean that, after I give you the money, I know what I gave you and you know what you got and the amount of money left in my account is in a knowable state and so no one is "gambling" hoping to get lucky enough to make it through this month without "actually" spending money on their gum habit--or, alternatively, getting massively overpaid for gum ;P--so they can pay their respective rents), something this system is (maybe almost "hilariously") incapable of.
Put elsewise: I do not know of any current way to deterministically accept very small quantities of money, at scale; but, given a way to deterministically accept large quantities of money (at high cost) with some attached instructions (such as you theoretically could do with a simple check if the bank tellers were still people and had advanced math degrees ;P), I am able to convert that into a way to accept small quantities of money (at low cost)... except now it is stochastic (probabilistic) instead of deterministic :(. If, thereby, you had a way to deterministically accept small quantities of money, then I have a way to (now stochastically :/...) accept even smaller quantities of money (which deceases your variance and increases your efficiency); and, in fact, I am always excited by the release of higher-efficiency blockchains (such as Avalanche) for this reason.