I’m curious to those here, if you can imagine a use case for leveraging Stellar for micro transactions (10-50 cents/per task).
Yes. I'm not sure it makes the most sense to do it on Stellar specifically, but I absolutely believe that something like a "Mechanical Turk" system will be instrumental specifically in data validation. All of these people are getting super hyped about Oracles and Prediction Markets, and I think that if those things are to actually succeed it will basically require paying data validators, and incentivizing those validators to stay honest.
Somewhat unrelated: Can we come up with other language than Mechanical Turk though? These are people doing this stuff after all, not in fact automatons.
What are the best wallet-money exchange architectures for transferring a “project” budget to a series of “workers”, without getting eaten up by transaction fees, while preserving some kind of escrow system for refunding money.
Look into how multi-sig functionality works on Stellar. With multisig, it's fairly easy to set up Escrow style exchange of assets. For this to work on stellar, you'd probably want an asset with particular data attached to it (the validation / value returned from the MT) to be put in escrow while awaiting payment from the user.
On Stellar, what this could actually look like would be
1) I want to pay $15 to have a data set validated. I'm willing to pay $0.50 per validation of the data set.
2) I create an asset on the Stellar network. I issue 30 copies of this asset (because $15 / $0.50 is 30). Thus, each token represents $0.50 which means it's equivalent to one validation.
3) I have some sort of website through which MTs access the data set. They access the data set.
4) I have some other website through which the MTs validate the data set. Could be a TypeForm survey, google survey, whatever.
5) Before they start the survey, they create a trust line to my asset (this costs money / XLM remember, at least for a short time until the trustline is destroyed).
6) They take the survey, which also includes them divulging their Stellar public key / wallet address and email address.
7) Once the survey is completed, my / a server is alerted. It parses out their wallet address and sends them a token. The server also leverages the Stellar SDK to generate a pre-signed transaction that completes 2 operations A and B.
Op A
Has your account send the MT user either $0.5 from a USD supplying anchor (none of which exist yet) or a roughly equivalent amount of XLM (price should be pre-negotiated in terms of XLM if you do this, not a moment-by-moment calculation according to Coin Market Cap or whatever such that the user receives exactly $0.5 worth of currency) .
Op B
Has the MT user sending your wallet 1 token of your issuing asset.
Op 'N'
There's plenty of other logic you can throw in here. For example, no longer trusting the MT user for this particular asset in order to prevent them from filling out the survey multiple times without having another wallet.
8 and beyond) If you were going to really be doing something like this in production, you'd want a whole system whereby specific wallet addresses can be rated, backed by peoples' verified identities, etc. There are entire blockchain systems dedicated to this, so I'd say don't bite off more than you can chew.
You have all you need to get a great proof of concept running, but we simply lack the infrastructure to do something like this 100% for now. That will change in the next year or three I expect.
One all tasks are completed, the project organizer must verify the completed tasks, and approve the transfer rewards.
In the case a task was not completed correctly, the task “do-er” forfeits the reward and returns the funds. Otherwise, all money is finally transferred.
Better watch out with this: Depending on what type of work the MT user is being asked of, "validation" on the part of the user of the service might require that the MT be forced to give up all the work and therefore value they have created in order that the validation be allowed to occur. For example, if you say "get me a photo of the sistine chapel" and I get it to you, the validation requires me sending you the photo in question. Now you have it and you can just elect to not pay me? That's a broken system. Watch out for it.
I think it would be interesting to generate a wallet for each state of financial transfer, and make it possible to monitor the amounts in each wallet. I also imagine that there would be value in creating a timed contract, in-that once predefined time has passed, the wallets transfer ownership.
If I understand you correctly, I don't think this is necessary. Multi-sig, multi-operation transactions allow for the atomic transference of assets in two directions at once, without either party taking on risk that the other party fails to send their required asset.
Spidering this is all doable with a database, I’m wondering what the ideal process would be when using XLM wallets.
Not exactly sure what you mean. Just don't ever store wallets' secret keys in your db. Ever.
Should I concern myself with the minimum 1 XLM balance when creating wallets? Do I need to worry about the transaction costs?
Transaction costs are minimal on Stellar. It's one of its big benefits. You should be aware of where they're coming from / who's paying them still. Always be transparent with your users, even with pennies.
Regarding the wallets question, I'm not sure you'll need to create wallets at all, assuming you're dealing with users on both sides of the equation who already have Stellar wallets themselves and know how to operate them.
Hope that's helpful. Good luck.
EDIT: I just remembered to say that you could also just create an offer for your asset once you create it at the market price you wish to charge for the labour. For example, I create an asset called DATV for data validation. I issue 30 tokens of it according to the logic stated above. Then, instead of emailing the user a pre-signed transaction, I just create an offer in the Stellar DEX (decentralized exchange) for my own DATV asset.