Author

Topic: Bitcoin secure chargebacks (with votes)? (Read 1591 times)

newbie
Activity: 17
Merit: 0
April 01, 2011, 03:07:53 PM
#2
I think an escrow will be better and simpler, your solution seems too complicated.
full member
Activity: 129
Merit: 119
March 23, 2011, 06:58:00 PM
#1
I have a little idea, I really don't know if this would be a good idea, but just discuss it.

The scheme would work like this:

You can elect to create either a standard non-reversible transaction, or you could create a secure reversible transaction.

A secure reversible transaction works in that way that you attach a note in the transaction, with a brief description of whats expected for return in the transaction, and all data that is needed to verify (this must be in english). The receiver of the bitcoins has to reply to this description to be able to claim the coins. The receiver should then reply in english, and have to supply evidence of having delivered what being asked.

For example a tracking URL to a freight company that makes it possible to track physical goods, a screenshot of transferred funds via paypal, or other evidence that is relevant for the case.

All of this could be described in a help file and a small how-to on how to verify transactions once a user selects to partipicate in secure votes (see later)


The recipient can also reject the transaction, immediately refunding the funds and not publishing any secure transaction over the network, which also refunds the 10 BTC fee minus lets say a rejected secure transaction fee of 1 BTC.

If the recipient ACCEPTS a transaction and affix evidence, the sender can select to ignore this, and then funds are released after a number of blocks (that correspond to 48 hours or something like that), or the sender can "protest" a transaction, for example if the recipient of the transaction tries to SCAM the sender.
If the sender ignores a transaction, the 10 BTC fee goes to the first whoever that calculates the block that releases this transaction.

Now "secure" transactions should have a huge fee (like 10 BTC or something like that). Now to the interesting part:

The bitcoin client should have a option "partipicate in secure transfer votes". If this is enabled, the user gets a popup OR some type of message in a inbox in the client as soon as a "secure transfer" appears on the network.
What all bitcoin users who have enabled "partipicate in secure transfer votes" does now, is to review the transaction as supposed from the sender of the bitcoins, and review the evidence published by the receiver of the transaction.

The user then votes that the transaction should either be chargebacked, or votes that the transaction should let go to the receiver. What the bitcoin client does now, is calculating blocks containing 1 YES or NO vote each containing the transaction, with "Proof Of Work"s and embeds this in the block chain. These blocks are always accepted once the required difficulty are set. (This means, more CPU power = more votes)

When the vote are over, the bitcoin network calculates number of votes for chargeback, and number of votes to release the coins and the majority wins. If theres a draw, the client will also include one extra block which are nearest after the vote expiration time.


The user can then configure how many percent of their total CPU capacity that should go to mining and how much should go to voting.

Now to the time part.
The user could have a specific time to accept/reject a secure transaction. This could be measured in blocks and could be 7 days or something like that and on timeout the transaction is REJECTed. When the user has accepted a transaction, there could be a specific time for voting, lets say 24 hours or something like that. When the vote is over, its tallied and then the network executes the specific action.
The sender could have 48 hours (2 days) to protest a transaction, before its immediately released without vote.


Now to where these 10 BTC in transaction fee should go where: When a vote is over, 10 BTC is divided along all votes that contributed to a specific "good" answer so the adress which casted a specific vote gets (1/X)*10 BTC where X is the total number of Y votes, where Y is the majority vote.


So lets say in a very small bitcoin network with 6 nodes, it works like this:

A = sender
B = receiver
C = random user who have elected for voting
D = random user who have elected for voting
E = random user who have elected for voting
F = random user who have NOT elected for voting.

A sends a "secure transfer" to B with 110 BTC containing a note like this: "100 BTC for a nokia 3310 + 10BTC shipping".

B have 2 choices. If B now REJECTS the transaction, its refunded to "A" minus a 1BTC fee to whoever calculates the block of refund.
If B now ACCEPT the transaction, and affixes a evidence, like this: "Yes, have sent the nokia 3310 now. Here is the tracking: http://www.large-freight-company.invalid/track.php?id=78563495495630247259"

A now gets the transaction in return. The A can now check if he deems the evidence legit, then he just does nothing (or immidiately releases funds) and the coins will be released to the sender, 10 BTC goes to whoever calculates the release block first. Or A can think "this looks like fraud" and click on PROTEST.

On PROTEST, this happens:
The bitcoin system now sends out the transaction for voting and affixes it a coutdown of 24 hours.
Now user C, D and E will get a message in the bitcoin client (in some form of inbox) or a popup with the vote. F does not get anything since he has not elected for voting.

The user C, D and E now checks the evidence and makes a decision if he deems the evidence legit.

Lets say C and D votes for the transaction to go to B, and E votes for the transaction to go to A.

The C and D client will now generate blocks containing "B votes" and push to the network, and E will generate blocks contatining "A votes" and push to the network.
In the end run, 100 blocks containing B votes goes out, and 25 blocks containing A votes goes out. B also gets the transaction. (eg the coins are released and NOT chargebacked)
C calculates 75 B votes, and D calculated 25 B votes.
Now C gets 10 BTC / 100, * 75 = 7,5 BTC in his account for his votes.
And D gets 10 BTC / 100, * 25 = 2,5 BTC in his account for his votes.
E does not get anything since he "voted wrong", which means the network rewards users for voting "right".

The network rejects any votes that are for expired polls or does not contain enough PoW.

This would give a new opportinity to earn BTC, and also helping the network to prevent scams, in this way allowing the network to decide about secure chargebacks.

The voting by "noobs" (which would mostly contain erronous votes) would get outclassed by those having large mining banks which could set their mining banks to only send out votes.

Also to prevent "noobs" from voting incorrectly, there could even be a fee for each vote sent out on 0,01 BTC. That fee you *always* get back along with the reward if you vote right (right as in voting like the majority). If you vote wrong (wrong as in voting like the minority), your 0,01 BTC fee will be lost and put in the pot that is divided along all winning votes. That would make a strong incentive to vote right.

Any thoughts?
Jump to: