-2

Disclaimer: I'm not sure if this question belongs here, please suggest another place if you have one.

I'm trying to figure out what would be my best strategy:

I need to develop an internal coin/tokens/currency system, however you want to call it :-). The closest analogy I can come up with is when you visit a festival, you have to convert your money into their token, then during the festival you buy stuff with their tokens using your phone instead of directly using money. It's kind of the same, you sell goods, you get tokens, with those tokens you can buy other stuff or eventually you can transfer tokens back to money.

In my case:

  • Pretty small scale (maybe max couple of 1000 users)
  • It will be in use in a developing country, where internet/electricity access is unstable
  • I need to support phone to phone transfer of tokens (using NFC)

First thing that came to my mind is using some private hosted blockchain implementation, but I have 0 experience in this area, and I'm also afraid it might be overkill for my use-case. Furthermore, I'm worried about blockchain in combination with flakey internet. Also, a transfer should have 0 fees on it.

So my other option would be that I develop some kind of wallet system, where I try to tackle all difficulties involved myself (security, concurrency, audit-trail, backups, failed transactions because of internet issues...). Or maybe there's some (open-source) library/technology I can use for this?

Backend stack: Python/FastAPI/PostgresQL (hosted in AWS)

Frontend stack: Flutter

Daan
  • 105

1 Answers1

4

Reasons not to use a blockchain:

  • Can't cancel or unwind transactions, so you can't handle errors or frauds by your users.
  • No privacy for transactions. This may not matter, or it may matter a lot.
  • Proof-of-work blockchains are very energy-inefficient and you don't have enough users for proof-of-stake to be meaningful.
  • Blockchain doesn't help you much, if at all, with bad connectivity.
  • Hosted blockchains have usage fees. That's how they make money. Somebody has to pay for the servers, bandwidth and power.
  • Reputational issues: there is enough fraud and incompetence in the blockchain and cryptocurrency industry that some people will simply refuse to use a blockchain implementation. Trying to persuade them to do so will reinforce their suspicion that this is a scam. Speaking personally, you would have to commit imprisonable offences to get me to use a blockchain-based system for anything, and I would be acting under clear and obvious legal duress.