The purpose of this post is to encourage a community discussion on a new service. Feel free to steal this idea and run with it yourself, or start an open source project (that I'd be happy to contribute to) to make it a reality.
Up until now, Bitcoin's uniqueness as a currency has mostly been focused around it's pseudo-anonymity and distributed nature. This has led to its adoption by people concerned with anonymity and the ability to resist government take down - which, if you believe the press, means it's essentially a currency used by hackers and drug dealers (*insert sigh here*).
I propose we shift this dynamic. Let's find ways to grow Bitcoin into the de facto online currency.
My contribution is an idea to bring in the gamers of the interwebz, outlined in the long post below.
In short, the idea is to setup Bitcoin as THE currency of all virtual currencies, through which all others can be exchanged. A gamer has 500 gold on Game A, but is quitting it to start playing Game B. With this system, they will be able to translate that 500 gold on Game A into bitcoins, and then use the bitcoins to get X credits on Game B so they don't have to start from scratch.
This will be done through the virtual currency marketplace. People can create listings asking for any amount of any virtual currency in return for some of their bitcoins, or asking for bitcoins for some amount of virtual currency they have.
Any type of virtual currency can be exchanged, there will be no presets (though obviously autocomplete for popular queries). The site will specifically avoid virtual currencies that are directly tied to physical currencies (e.g. Paypal, etc). The site should probably obey all USA DMCA laws (such that it will have a form for people who suspect copyright infringment to submit listing ID #s for takedown - but just like ebay, youtube, and craigslist, things will only be taken down when the site is notified of specific listing ID #s).
Disputes will be regulated by the users in the same way a story is upvoted or downvoted on a site like reddit (see below).
The site will pay for itself, will turn a bit of a profit, and will reward users for judging disputes using a flat 2% fee structure (again, see below).
Below is a document outlining all the specific functionality of the site.
I ask for discussion on this. Please post ideas about refining the logic of how the site works, thoughts about hosting (cloudfare, tor hidden service, etc), thoughts about security, etc.
I am solely proposing the idea, as it is something I want to use. I am willing, if the community deems it a good idea, to code the entire logic of the site as open source. I have no design skills, nor significant sys-admin skills, so that would be all I could contribute.
BituniTurning Bitcoins into a universal online currency, utilizing an escrow service and democratic tribunal to promote honesty.
- 1. Users can add/withdraw bitcoins from their account.
- 1.1. Bitcoins stored in the site's wallet will be called bitunis in this document.
- 1.2. The owners of the site always offer a 'listing' of 1 bitcoin for 1 bituni, and vice versa, for any amount. This keeps the bituni price fixed on the bitcoin price. The owners have a couple options on how to manage this.
- 1.2.1. In the first option, there is a specific marketplace for bitcoin and bituni conversions that doesn't have transaction fees. In this marketplace, users can offer to trade bitunis for bitcoins, and bitcoins for bitunis. It works essentially the exact same as the main marketplace of the site, except that there is a listing always at the top from the owners of the site that offers 1 bitcoin for 1 bituni (in any amount). The caveat is that the site's bitcoins are in a secure cold-ish storage, and so up to a 1 week delivery/credit time period can apply. This will allow other users to offer slightly advantageous ratios for speedy transactions for users who want them. For other users hosting listings of this sort, the bitcoin transfer can be verified by requiring bitcoin addresses to be presented beforehand and then verifying the transaction in the block chain.
- 1.2.2. In the second option, the site owners are the only ones who offer bituni and bitcoin conversions, and (like pretty much all other bitcoin sites) keep enough bitcoins onhand to do speedy transactions.
- 2. Users can create listings
- 2.1. Create Listing: X bituni for Y of currency C.
- 2.1.1. After listing is created, bituni is withdrawn from user's account, user waits for offers.
- 2.2. Create Listing: Y of currency C for X bituni.
- 2.2.1. After listing is created, user waits for offers.
- 3. Users can make offers on 'live' listings
- 3.1. Offer: Y of Currency C for X bituni
- 3.1.1. Buyer found a listing asking for Y of currency C. He offers somewhere close to Y, and waits for the seller to review his offer and accept or reject it, or for the listing to end or be canceled.
- 3.2. Offer: X bituni for Y of Currency C
- 3.2.1. Buyer found a listing asking for X bituni. He offers somewhere close to X, the bituni is withdrawn from his account, and he waits for the seller to review his offer and accept or reject it, or for the listing to end or be canceled.
- 4. Users can accept/reject offers on their listings
- 4.1. Upon accepting an offer, the listing is taken off the market, all other offers are rejected/refunded their bituni, and the buyer and seller enter a finalize trade screen.
- 4.2. Upon rejecting an offer, the buyer is notified. If the buyer had offered bituni that were put into escrow, they are refunded.
- 5. Users can complete a trade with another user
- 5.1. Contents of Finalize Trade Screen:
- 5.1.1. Next Action Box
- 220.127.116.11. Details what the next action that needs to be taken is (e.g. Person A needs to send Y of currency C to Person B, or Person B needs to verify receiving it, etc)
- 5.1.2. Chatbox
- 18.104.22.168. Facilitates communication on a given listing, allowing users to set up any details in a trade
- 5.1.3. Sensitive Information Boxes
- 22.214.171.124. A small text area for special information that isn't to be made public in the event of a dispute (e.g. account names, passwords, w/e). Both buyer and seller have their own - text limit is rather small.
- 5.2. Finalize Trade 'Flow'
- 5.2.1. Users enter finalize trade screen and review the terms and quantities agreed to.
- 5.2.2. Users conduct trade, using chatbox to communicate and sensitive info boxes for specific credentials and the like.
- 5.2.3. User who is giving non-bituni currency goes first (since bitunis are held in escrow). This user has 7 days to transmit alternative currency in agreed upon method, then return here and mark 'currency sent'.
- 126.96.36.199. If this user is unable to contact the other user or transfer the currency within 7 days, this user needs to click 'open dispute'.
- 188.8.131.52. If this user does not mark 'currency as sent' at the end of 7 days (nor opens a dispute), the listing is closed as failed, this user receives 1 negative reputation, and the other user (with the bitunis) receives their bitunis back.
- 5.2.4. A new 7 day timer is started after currency has been marked sent. User who offered bitunis must do one of the following:
- 184.108.40.206. Click Òcurrency receivedÓ to release the bitunis to the other user, closing the listing.
- 220.127.116.11. Do nothing. After the 7 day timer runs out, the bitunis are released to the other user, the listing is closed, and this user (with the bitunis) receives 1 negative reputation.
- 18.104.22.168. If this user did not receive the currency that the other user declared as sent, and is unable to resolve the issue with the other user, this user should click 'open dispute'.
- 6. Users can open disputes for the Tribunal to judge
- 6.1. When a dispute is opened, both the buyer and seller are given three days to prepare a short paragraph detailing their position.
- 6.2. After 3 days (or after both buyer and seller have submitted their final words), the dispute is entered into the Tribunal system with the following information
- 6.2.1. User reputations (user names are anonymized).
- 6.2.2. Listing details
- 6.2.3. Actions in finalized listings
- 6.2.4. Chat logs with users replaced by 'buyer' and 'seller'- still up in the air on this one.
- 6.2.5. Data in sensitive information box has been deleted and WILL NOT show in the tribunal or anywhere else.
- 6.3. Users now wait for the Tribunal to decide the fate of the trade. Tribunal will either decide whether to award the bituni in escrow to the buyer or seller, judging which person upheld their part of the trade and which flaked. In the event no majority decision is reached, the escrow is split between the buyer and seller.
- 7. Users can judge in Tribunals
- 7.1. Users are given access to X number of tribunals a day they can judge, with X increasing as their accuracy and experience increases.
- 7.2. Judges in a tribunal review all the data associated with a listing (trade details, chat logs, timespans) and vote to either release the escrow to the buyer or to the seller.
- 7.3. After a set threshold of votes has been obtained for a tribunal case (or a set time period elapsed), a decision is rendered in the listing.
- 7.3.1. If neither buyer nor seller have a 60% or higher majority in votes, both buyer and seller are penalized 1 negative reputation and they split the bitunis in the escrow.
- 7.3.2. If buyer or seller has a 60% or higher majority in votes, user with the vote majority receives the bitunis in escrow and the other user receives negative reputation.
- 22.214.171.124. If user's opponent received 60-79% of votes, user is penalized 3 negative reputation.
- 126.96.36.199. If user's opponent received 80% or more of the votes, user is penalized 10 negative reputation.
- 7.4. A user's vote weight is determined in a tribunal as follows
- 7.4.1. If user has voted in less than 100 Tribunals, their votes are not counted in the actual judgment of the Tribunal (vote weight is 0), though they still count towards their experience and accuracy.
- 7.4.2. If a user has voted in more than 100 Tribunals, their vote weight are determined as follows:
- 188.8.131.52. If a user's accuracy rate is below 60%, their vote has 0 weight, and only counts as an attempt to increase accuracy/experience.
- 184.108.40.206. If user's accuracy rate (defined by the number of times they have successfully voted with the majority in previous tribunals) is > 60% and < 70%, a user's vote has a weight of 1.
- 220.127.116.11. If a user's accuracy rate is > 70% and < 80%, a user's vote has a weight of 3.
- 18.104.22.168. If a user's accuracy rate is > 80% and < 90%, a user's vote has a weight of 10.
- 22.214.171.124. If a user's accuracy rate is > 90%, a user's vote has a weight of 50.
- 126.96.36.199. An admin's vote has a weight of 100. This means that in the beginning of the site when there is little action in the tribunal, an admin will have a significant effect, but as the site grows and the community begins to regulate itself, the admin's powers will lessen proportionately.
- 7.5. Users get rewards upon choosing the 'correct' side in a tribunal proceeding - view the next section for more information.
- 8. Every completed or disputed transaction has a 2% fee on the Bituni amount.
- 8.1. If a listing is canceled, or an offer rejected or withdrawn, there is no fee.
- 8.2. If a listing is successful, 2% of the bitunis involved will be deducted (regardless of whether bitunis originate from seller or buyer). Sellers & buyers need to take this into account with creating/offering on listings. The 2% fee is disposed of as follows:
- 8.2.1. If a referral/affiliate program is in effect, 1% of the fee goes to referrer/affiliate. (still up in the air on this one)
- 8.2.2. Anything remaining goes to owners of site to pay for servers/life/pizza.
- 8.3. If a listing enters a dispute and hits the Tribunal, regardless of the outcome the 2% fee is applied. The 2% fee is then split among the voters in the tribunal (none is kept by the owners of the site) in the following manner:
- 8.3.1. The fee is given to users according to their votes in a case, with 1 vote (or a single vote with a weight of 1) being equivalent to 1 share. This means if someone has a vote weight of 50 because of a 90% or better accuracy, they get 50 shares of this fee. A user's rewards here are stored in their Tribunal wallet.
- 188.8.131.52. Example: 2% fee = 5 bitunis. There were 1000 votes cast. One user had an accuracy of 90%, so he put in 50 votes. He receives 0.25 bitunis into his Tribunal wallet.
- 8.3.2. This means users with an accuracy rate of less than 60%, or users who have not yet completed 100 Tribunals - namely, users whose votes have a weight of 0 - have no share in the fee.
- 8.3.3. A user's Tribunal wallet (containing their rewards from Tribunal) can be withdrawn either anytime, or when it hits a certain threshold (e.g. 1 bituni, to try to minimize a load of small transactions).