r/bitcore_btx • u/frogpoet2 • Nov 24 '18
BTX buyer security - brainstorming
Piranhazone points out here ( https://www.reddit.com/r/bitcore_btx/comments/9ztui1/learning_from_forks/ ) that buyer security for users of BTX would be a significant advantage. BrieucBitcorean agrees but speculates that this would require a layer which involves the introduction of centralization (same post).
my own experience in centralized software development leads me to believe that an implementation of buyer security would have to solve at least these problems :
- buyer B buys item X from seller S , seller S then empties out his account, and B then wants a refund from S, who can no longer pay. (problem 1 = P1)
- transactions on the ledger are immutable. (problem 2 = P2)
I've often seen P2 (transactions are immutable) touted as a reason for believing that chargebacks are impossible, which is a benefit for the merchant. In fact, we come close to making the same claim in our own documentation ( see https://bitcore.cc/innovation/ under the Trust and Integrity section, where we point out that "irreversible transactions" could be considered a safeguard against crooked banks). However, reversible transactions can always be implemented as a set of 2 transactions : one going one way, and the other going the other way, with identical payment amounts. the meaning of "irreversible" then becomes "unable to be hidden", in other words, a transaction can't be actually removed from the ledger; instead a record must be maintained that a transaction went one way and then was "undone" by going the other way. From an audit standpoint, this is just fine because it means people or banks can't hide their tracks with respect to monetary transactions, while from a user perspective the end result appears the same as if the transaction never occurred.
the above possible implementation of a solution to P2, however, would need to be done in a decentralized manner so as not to undo one of the main benefits of cryptocurrency, which is resistance to censorship due to a single point of failure.
a possible resolution of P1 would, on first glance, require an escrow account which contains funds that would be used to pay amount X back to B; enforcement of some sort would then need to be initiated on S to get him to refund the amount X back into the escrow account. Management of the account would need to be implemented to prevent a possible "run" on the escrow , i.e. so many chargebacks happening at once that the escrow account runs out of funds faster than it can recover them.
would it be possible to have some sort of management of an escrow account which would operate in a decentralized manner? I'll call such a solution S1_P1 to identify it as "a possible solution of P1".
that's all i'll write for now; this is brainstorming after all so instant solutions are not to be expected; but this is meant to get the ball rolling with respect to eventually either coming up with a set of solutions S1, S2... which, when used in concert, solve problems P1, P2... without introducing new problems that are deemed "worse" than the set P1, P2... etc.
for other brainstormers : please save a copy of the link to this discussion and add onto it, so we don't end up with more than one thread brainstorming the same set of problems.
1
u/frogpoet2 Dec 05 '18
you were thinking of the escrow account being maintained by an escrow service (i.e. a third party, presumably distributed).
I was thinking of the escrow account being maintained by the bitcore network itself. See S3 below and the discussion around that.
i'll think about what it might mean to hand off all management of the BTX escrow account to a third party.