We have had previous experiences selling products on Ebay, and have had a few unfortunate sales and purchases involving arbitration by Ebay employees. We were considering a way to automate the process of arbitration, and determined that it was not feasible to do algorithmically, due to how subjective the process is. Thus, we settled on a different solution: use a democratic approach by asking multiple people using mechanical turk to decide, then choosing only the best.

What it does

The majority of the site frontend is a sales site processing sales in a similar manner to Ebay's 'buy it now' option. However, when resolving a dispute, instead of alerting site administrators, the site instead polls mechanical turk users based upon the evidence submitted by the interested parties as to which side appears more truthful. This allows for dispute resolution without requiring the arbitrators working for an auction/market site to be unbiased. For a significant amount of responses, it becomes more likely that the correct outcome will be reached.

How we built it

The site is running on a linode running a python server and a mongodb instance. We had originally intended and completed the work necessary to perform escrow using the ethereum blockchain, but ran into major problems with deployment and so instead used the nessie api to simulate an escrow service.

Challenges we ran into

As stated, we spent a large amount of time working on creating the entire auction functionality on the ethereum blockchain. However, saturday afternoon, it became apparent that we would not be able to overcome our implementation difficulties, and pivoted instead to a server based solution. The original goal was to have an auction system which had as little counterparty risk as possible by preventing the server from running at any one location.

As a result, we were unable to make a solution using the ethereum testnet, and were limited by the fact (both in our escrow implementation and with mechanical turk) that to actually implement these processes would require us to spend significant sums of money in testing. As such, we are operating in the developer environment of mechanical turk, where we can complete our tasks but they will not be picked up and performed anonymously, although a one line change in the codebase could make this live.

What we learned

How to interact with mechanical turk jobs for one. Also, it was a good experience to practice python programming with a time constraint.

Share this project: