Author Topic: Reversible transactions - is there any sane way this could work?  (Read 7047 times)

0 Members and 1 Guest are viewing this topic.

Offline monsterer

You can disable trading for restricted UIA as well

But presumably you can still buy/sell it for BTS? Unless you mean there is a giant OFF button which disables the entire thing?
My opinions do not represent those of metaexchange unless explicitly stated.
https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads

Offline Agent86

  • Sr. Member
  • ****
  • Posts: 471
  • BTSX: agent86
    • View Profile
With reversible transactions, if a hacker got your keys they could set up a script so even if you reverse the transaction to yourself they just keep sending it to themselves again and reverse any transactions you send to anyone else... so perhaps the result is pretty similar to just burning it and burning offers no incentive to the reverser to do it maliciously. 

An interesting point. I guess if we are talking about hacks and compromised wallets, it could well be that the attacker gains access to the account issuing reversible transactions... in this case the attacker could hold the coins in limbo by repeatedly sending to themselves, but not sure they can do anything to walk away with them? In the worst case this is equivalent to burning them, since they are forever in limbo... but does the attacker have this level of patience?
In short, yes the attacker has the patience.  The person being attacked is more likely to lose patience and give up then the attacker who is almost certainly technically capable of automating it.

Offline monsterer

With reversible transactions, if a hacker got your keys they could set up a script so even if you reverse the transaction to yourself they just keep sending it to themselves again and reverse any transactions you send to anyone else... so perhaps the result is pretty similar to just burning it and burning offers no incentive to the reverser to do it maliciously. 

An interesting point. I guess if we are talking about hacks and compromised wallets, it could well be that the attacker gains access to the account issuing reversible transactions... in this case the attacker could hold the coins in limbo by repeatedly sending to themselves, but not sure they can do anything to walk away with them? In the worst case this is equivalent to burning them, since they are forever in limbo... but does the attacker have this level of patience?
My opinions do not represent those of metaexchange unless explicitly stated.
https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads

Offline toast

  • Hero Member
  • *****
  • Posts: 4001
    • View Profile
  • BitShares: nikolai
We've established that having a special transaction type is fine, I just interpreted this proposal as enabling delegates or some other trusted party to reverse normal bitasset or BTS transactions.
Do not use this post as information for making any important decisions. The only agreements I ever make are informal and non-binding. Take the same precautions as when dealing with a compromised account, scammer, sockpuppet, etc.

Offline Agent86

  • Sr. Member
  • ****
  • Posts: 471
  • BTSX: agent86
    • View Profile
Monsterer,

I don't think you are crazy for thinking along these lines, nor do I think it is in opposition to the utility of crypto.
I proposed a similar concept here:  https://bitsharestalk.org/index.php?topic=5504.0 and added some permutations https://bitsharestalk.org/index.php?topic=5504.msg97744#msg97744

Basically, my thought was you allow an option for an account so that any transaction out of that account could be "burned" within a specified time frame (rather than reversible) and those funds must wait to fully "clear" (similar to bank transactions.)

With reversible transactions, if a hacker got your keys they could set up a script so even if you reverse the transaction to yourself they just keep sending it to themselves again and reverse any transactions you send to anyone else... so perhaps the result is pretty similar to just burning it and burning offers no incentive to the reverser to do it maliciously.  Even with burning the hacker gets nothing and wasted his time (therefore much less likely to bother in the first place) and maybe the community who already has the power to vote for dilution to create new funds could reimburse you because you can prove funds were burned so the community breaks even.  Maybe you could make it more complex with an offline master key that reverses transactions or something.  I haven't thought about it in awhile but I think these ideas are worth exploring.

Offline toast

  • Hero Member
  • *****
  • Posts: 4001
    • View Profile
  • BitShares: nikolai
In version 1.0, when creating a UIA you will be able to specify an optional flag, which will allow the issuer to freeze or revoke any balance in that asset [1].  This is primarily to help gateways [2] comply with regulatory requirements.  (Many governments want entities that hold user funds to be able to freeze / confiscate account balances.)

In order for this to work in practice, you'd need to disable trading against the UIA with a non reversible asset, otherwise the thief will just trade and withdraw and you'd be back to square one.

You can disable trading for restricted UIA as well
Do not use this post as information for making any important decisions. The only agreements I ever make are informal and non-binding. Take the same precautions as when dealing with a compromised account, scammer, sockpuppet, etc.

Offline monsterer

In version 1.0, when creating a UIA you will be able to specify an optional flag, which will allow the issuer to freeze or revoke any balance in that asset [1].  This is primarily to help gateways [2] comply with regulatory requirements.  (Many governments want entities that hold user funds to be able to freeze / confiscate account balances.)

In order for this to work in practice, you'd need to disable trading against the UIA with a non reversible asset, otherwise the thief will just trade and withdraw and you'd be back to square one.
My opinions do not represent those of metaexchange unless explicitly stated.
https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads

Offline theoretical

If it were possible to design a transaction type which was reversible (and fair) it could solve a lot of problems.

In version 1.0, when creating a UIA you will be able to specify an optional flag, which will allow the issuer to freeze or revoke any balance in that asset [1].  This is primarily to help gateways [2] comply with regulatory requirements.  (Many governments want entities that hold user funds to be able to freeze / confiscate account balances.)

Crypto generally aims to let the end user own the value token

Which is why there's going to be inherent tension between reversible transactions and decentralized ownership schemes.  In other words, if someone else can reverse a transaction and take tokens out of my wallet, did I ever really own those tokens in the first place?

Our solution is to provide both "traditional" irreversible tokens and "reversible" UIA's (where the UIA or their designee has the power to revoke anyone's balance).  Since we also provide tools to allow people to trade them against each other, the relative market cap and value of the two different approaches will become clear.

[1] Actually, currently the plan is for all UIA's created post-1.0 to have these capabilities enabled, but allow the UIA issuer to permanently, irrevocably turn off the capability.  This design is not final and may change before 1.0 is released!

[2] A "gateway" is a business that takes fiat currency deposits from the general public and issues a UIA; effectively shares of the UIA can be created or redeemed for an equal amount of fiat currency.
BTS- theoretical / PTS- PZxpdC8RqWsdU3pVJeobZY7JFKVPfNpy5z / BTC- 1NfGejohzoVGffAD1CnCRgo9vApjCU2viY / the delegate formerly known as drltc / Nothing said on these forums is intended to be legally binding / All opinions are my own unless otherwise noted / Take action due to my posts at your own risk

Offline monsterer

In the future you will create something like

4 multisig account

1 key : on your computer
2 key : on your mobile
3 key : trusted company (send sms or email for verification)
4 key : trusted company (dito)

so you have not control of 3 keys to unlock, but no other party. the exchange can operate the same way.

Because this stops an exchange being able to move currency around between users, which is an essential part of their process.
My opinions do not represent those of metaexchange unless explicitly stated.
https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads

Offline Shentist

  • Board Moderator
  • Hero Member
  • *****
  • Posts: 1601
    • View Profile
    • metaexchange
  • BitShares: shentist
why not solve it with multisig?

say you create a account with 3 of 4 keys are needed to unlock the funds. You need now 4 "trusted" keyholders for your multisig wallet. If you do it right, it should be nearly inpossible for a theft to get 3 keys he need to unlock the funds.

In the future you will create something like

4 multisig account

1 key : on your computer
2 key : on your mobile
3 key : trusted company (send sms or email for verification)
4 key : trusted company (dito)

so you have not control of 3 keys to unlock, but no other party. the exchange can operate the same way.

Offline monsterer

Only after a day passes, would that money actually be their's. Anyone could also see this on the blockchain, so merchants might refuse to accept any money with that property until the reversibility period passed. The money "in their possession" for the period of that day would essentially be the same as no money at all and instead a promise by the exchange to pay them after a day.

I must concede this.

It would essentially be like an uncleared transaction at a bank. You could implement it the same way, though - such that the only party allowed to send an uncleared transaction is the trusted party, so the user can receive it just fine, but they are unable to spend it until it clears.
My opinions do not represent those of metaexchange unless explicitly stated.
https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads

Offline arhag

  • Hero Member
  • *****
  • Posts: 1214
    • View Profile
    • My posts on Steem
  • BitShares: arhag
  • GitHub: arhag
I don't see how reversible transactions solves any of that? The centralized exchange would just need to have a policy of delaying withdrawals of cryptocurrencies (since they aren't reversible) and being allowed to roll back the order book in the case of theft.

Delaying withdrawals is extremely bad for user experience. Exchanges doing this will lose customers to those who do not, which is why you just do not see this in practice.

Reversible transactions gives users and exchange owners the best of both worlds.

Having reversible transactions like the way you envision (one that could have solved Bitstamp's troubles for example) is simply not an acceptable position in the cryptocurrency community. Compromising cryptocurrency like that would provide it barely any advantage over our current system.

In any case you don't need to 'compromise' the entire system by making all transactions reversible; you could have a special transaction type, or a special account type from which the transactions were reversible within some time window.

That is the same thing as delaying withdrawals. Let's say Bitstamp kept their hot client funds in a special reversible transaction fund (where some group of people could vote whether to reverse it or not within a period of a day). If they were to pay money to their customers withdrawing those funds, these customers would know that "their" money might disappear at any time for a period of a day. Only after a day passes, would that money actually be their's. Anyone could also see this on the blockchain, so merchants might refuse to accept any money with that property until the reversibility period passed. The money "in their possession" for the period of that day would essentially be the same as no money at all and instead a promise by the exchange to pay them after a day.
« Last Edit: January 08, 2015, 09:20:39 pm by arhag »

Offline monsterer

If you can reverse transactions you don't have value ownership or decentralization...

Use a time window on the reversibility properties and then you do.
My opinions do not represent those of metaexchange unless explicitly stated.
https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads

Offline monsterer

I don't see how reversible transactions solves any of that? The centralized exchange would just need to have a policy of delaying withdrawals of cryptocurrencies (since they aren't reversible) and being allowed to roll back the order book in the case of theft.

Delaying withdrawals is extremely bad for user experience. Exchanges doing this will lose customers to those who do not, which is why you just do not see this in practice.

Reversible transactions gives users and exchange owners the best of both worlds.

Quote
These are decisions for the centralized exchanges to make. Certainly none of this requires compromising the properties that people hold valuable in cryptocurrencies.

When you say 'people' you are not looking at the bigger picture - imagine how far paypal would have gotten with non-reversible transactions?

In any case you don't need to 'compromise' the entire system by making all transactions reversible; you could have a special transaction type, or a special account type from which the transactions were reversible within some time window.
My opinions do not represent those of metaexchange unless explicitly stated.
https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads

Offline toast

  • Hero Member
  • *****
  • Posts: 4001
    • View Profile
  • BitShares: nikolai
If we have someone we are willing to trust to make decisions about reversing transactions, why use crypto instead of just a normal webapp which tracks user balances?

Value ownership
Decentralisation
Fungability
etc
etc

If you can reverse transactions you don't have value ownership or decentralization...
Do not use this post as information for making any important decisions. The only agreements I ever make are informal and non-binding. Take the same precautions as when dealing with a compromised account, scammer, sockpuppet, etc.

Offline arhag

  • Hero Member
  • *****
  • Posts: 1214
    • View Profile
    • My posts on Steem
  • BitShares: arhag
  • GitHub: arhag
Centralised exchanges are not going away, there will always be a place for them - e.g. for traders who like to place and cancel limit orders without being charged.

Okay. I don't see what the problem is. Those that want better security can use a decentralized exchange. Those that want whatever conveniences a centralized exchange provide (HFT, cheaper for bots) can take the risks that come with centralized exchanges.

I don't see how reversible transactions solves any of that? The centralized exchange would just need to have a policy of delaying withdrawals of cryptocurrencies (since they aren't reversible) and being allowed to roll back the order book in the case of theft. If they can prove theft that is worth rolling things back within the period of time of the delay, they might be able to make the victims whole.

These are decisions for the centralized exchanges to make. Certainly none of this requires compromising the properties that people hold valuable in cryptocurrencies.

Offline monsterer

If we have someone we are willing to trust to make decisions about reversing transactions, why use crypto instead of just a normal webapp which tracks user balances?

Value ownership
Decentralisation
Fungability
etc
etc
My opinions do not represent those of metaexchange unless explicitly stated.
https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads

Offline monsterer

The centralized exchange already has the ability to roll back the database assuming they had withdraw restrictions to limit how much money was irreversibly taken away from their control. So forget about the example.

This is not something to forget about IMO. Bitstamp and Gox had exactly this system, and millions of pounds of BTC were still stolen from customers due to the hot wallet being compromised.

Centralised exchanges are not going away, there will always be a place for them - e.g. for traders who like to place and cancel limit orders without being charged.
My opinions do not represent those of metaexchange unless explicitly stated.
https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads

Offline roadscape

Couldn't you do it like this?
  • Issue your own (retractable) asset: PolicedUSD
  • Set up buy/sell walls around 1:1 PolicedUSD:BitUSD
  • If PolicedUSD is stolen, you (the Police) take it back from the theif
If you convince people that PolicedUSD is safer and your rules are fair, then you have a viable product

ninja edit: "people" meaning customers and merchants

No, because what would happen is the thief would just trade the PolicedUSD against bitUSD and withdraw, potentially before the exchange could take action to reverse.

Ah, you're right!

So PolicedUSD cannot be tradeable in non-KYC markets. Is there a way to configure specific markets when you register an asset in BTS?

edit:
Also, maybe Police could just disable trading PolicedUSD altogether, be the only gateway, and use KYC+coercion to "reverse" transactions they don't agree with.

disclaimer: this is simply a fun thought experiment and horrible idea
« Last Edit: January 08, 2015, 08:57:53 pm by roadscape »
http://cryptofresh.com  |  witness: roadscape

Offline toast

  • Hero Member
  • *****
  • Posts: 4001
    • View Profile
  • BitShares: nikolai
If we have someone we are willing to trust to make decisions about reversing transactions, why use crypto instead of just a normal webapp which tracks user balances?


There is not a chance we are making normal or market BTS or bitassets transactions reversible by anybody.
Do not use this post as information for making any important decisions. The only agreements I ever make are informal and non-binding. Take the same precautions as when dealing with a compromised account, scammer, sockpuppet, etc.

Offline arhag

  • Hero Member
  • *****
  • Posts: 1214
    • View Profile
    • My posts on Steem
  • BitShares: arhag
  • GitHub: arhag
Whatever "payment" you make, whether it is in exchange for goods/services or the money allocated for a bid/ask order, you would need to create and sign the transaction and send it to the exchange. The exchange could sign that transaction and broadcast it, but they don't until they verify the payment should become irreversible.

That simply isn't how centralised exchanges work. In any case, how would you create a bid/ask transaction without knowing who you were going to be matched against?

The only type of centralised service that can use a escrow system like this is one that doesn't have any method of internally exchanging value. An online wallet would work fine, but not an exchange.

The transaction would be going to the centralized exchange account itself. All funds sitting in the order book would be controlled by the centralized exchange just like they are today. This is why I am not interested in centralized exchanges and prefer decentralized ones.

I think the multisig example is confusing the issue in the case of a centralized exchange. The centralized exchange already has the ability to roll back the database assuming they had withdraw restrictions to limit how much money was irreversibly taken away from their control. So forget about the example. The solution to exchange security is using decentralized exchanges with 2-of-3 multisig to protect all of your transactions.

The 2-of-2 example still holds for the case I originally presented it for where a merchant accepts a "reversible by a particular exchange" payment for goods/services. In this case both the merchant and the consumer have opted in to trust the third-party arbiter.

Offline monsterer

Couldn't you do it like this?
  • Issue your own (retractable) asset: PolicedUSD
  • Set up buy/sell walls around 1:1 PolicedUSD:BitUSD
  • If PolicedUSD is stolen, you (the Police) take it back from the theif
If you convince people that PolicedUSD is safer and your rules are fair, then you have a viable product

ninja edit: "people" meaning customers and merchants

No, because what would happen is the thief would just trade the PolicedUSD against bitUSD and withdraw, potentially before the exchange could take action to reverse.
My opinions do not represent those of metaexchange unless explicitly stated.
https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads

Offline monsterer

Whatever "payment" you make, whether it is in exchange for goods/services or the money allocated for a bid/ask order, you would need to create and sign the transaction and send it to the exchange. The exchange could sign that transaction and broadcast it, but they don't until they verify the payment should become irreversible.

That simply isn't how centralised exchanges work. In any case, how would you create a bid/ask transaction without knowing who you were going to be matched against?

The only type of centralised service that can use a escrow system like this is one that doesn't have any method of internally exchanging value. An online wallet would work fine, but not an exchange.
My opinions do not represent those of metaexchange unless explicitly stated.
https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads

Offline roadscape

Couldn't you do it like this?
  • Issue your own (retractable) asset: PolicedUSD
  • Set up buy/sell walls around 1:1 PolicedUSD:BitUSD
  • If PolicedUSD is stolen, you (the Police) take it back from the theif
If you convince people that PolicedUSD is safer and your rules are fair, then you have a viable product

ninja edit: "people" meaning customers and merchants
« Last Edit: January 08, 2015, 08:06:24 pm by roadscape »
http://cryptofresh.com  |  witness: roadscape

Offline arhag

  • Hero Member
  • *****
  • Posts: 1214
    • View Profile
    • My posts on Steem
  • BitShares: arhag
  • GitHub: arhag
Now, if you do trust that exchange why not keep your balances in a 2-of-2 multisig where you hold one of the keys and the other key is held by the exchange.

Impossible. You could trade within the exchange, make a huge loss and then refuse to release the key to the exchange at withdrawal time, locking up the balance and preventing the exchange from moving the funds out to the winner(s) of all your losing trades.

My example was regarding paying merchants for goods and services, but it still could work in certain cases with centralized exchanges too. Whatever "payment" you make, whether it is in exchange for goods/services or the money allocated for a bid/ask order, you would need to create and sign the transaction and send it to the exchange. The exchange could sign that transaction and broadcast it, but they don't until they verify the payment should become irreversible. If they decide to reverse, they can simply throw away that transaction and create a new signed one (which they give to the payer to sign and broadcast) that moves the funds to a new balance so that the payer has assurance that the old transaction cannot be used. In the case where the bid/ask order is actually matched, at some point the exchange needs to settle with the parties involved with an irreversible transaction. Prior to that point though, the exchange could roll things back.

But anyway, I am not concerned with the case of trading on centralized exchanges because I think the future is trading on decentralized exchanges like the ones on BitShares. And I think multisig protection (2-of-3 for example where you have one in the hot client, one in cold storage, and the third by a trusted business) is good enough to prevent your funds from being stolen or traded against your will due to hacking attacks.
« Last Edit: January 08, 2015, 08:07:57 pm by arhag »

Offline monsterer

Now, if you do trust that exchange why not keep your balances in a 2-of-2 multisig where you hold one of the keys and the other key is held by the exchange.

Impossible. You could trade within the exchange, make a huge loss and then refuse to release the key to the exchange at withdrawal time, locking up the balance and preventing the exchange from moving the funds out to the winner(s) of all your losing trades.
My opinions do not represent those of metaexchange unless explicitly stated.
https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads

Offline monsterer

Indeed, imagine that. Having compromised the exchange, the thief would now be able to reverse transactions at will, rather than only making off with the poorly secured funds.

What is this "trusted exchange" of which you speak, and if it existed how would theft from it occur in the first place?

Obviously you don't set it up that way. You could imagine a system whereby only one party has the ability to reverse transactions, which would cover your first point.

Secondly one definition for 'trusted exchange' is legitimate business managing millions of dollars of customers funds.

How can theft occur? Inadequate security measures. Take bitstamp for instance - their hot wallet was compromised, yet they are a trusted exchange by my definition.
My opinions do not represent those of metaexchange unless explicitly stated.
https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads

Offline arhag

  • Hero Member
  • *****
  • Posts: 1214
    • View Profile
    • My posts on Steem
  • BitShares: arhag
  • GitHub: arhag
Imagine if you could give a trusted exchange the ability to reverse transactions in case of theft?

Horrible idea in my opinion. Now we are exposed to the risk that this exchange decides to go rogue and reverse transactions (and take their cut from the person they reverse it to) to pull off double spends. What if I don't trust that exchange? Why should I be exposed to that risk of double spend every time I accept cryptoassets for goods/services?

Now, if you do trust that exchange why not keep your balances in a 2-of-2 multisig where you hold one of the keys and the other key is held by the exchange. Now if your hot client gets hacked, your funds cannot be stolen without the cooperation of the exchange. When you pay someone, the exchange can simply allocate some of the funds for the payment but not officially pay the merchant (with an irreversible transaction) until they verify the transaction was not theft. This is good enough protection against theft in my opinion. And more importantly it is opt-in for each user rather than being imposed on everyone by the network.
« Last Edit: January 08, 2015, 07:51:12 pm by arhag »

Offline Troglodactyl

  • Hero Member
  • *****
  • Posts: 960
    • View Profile
Irreversible transactions are a consequence of the decentralized and autonomous parts of the DAC. How is a DAC supposed to know whether it is "fair" to reverse a transaction when it doesn't know "truths" about the outside world and any "truths" fed into it are the opinions of some party.

Escrow and multisig really is good enough. You let the two parties involved in the transaction decide on the arbiter who gets to tell the blockchain whether it is fair to reverse a transaction.

The DAC cannot 'know' of course. You need outside input and there are trust issues.

I don't think escrow covers all the bases - especially in the case of theft.

Imagine if you could give a trusted exchange the ability to reverse transactions in case of theft?
Indeed, imagine that. Having compromised the exchange, the thief would now be able to reverse transactions at will, rather than only making off with the poorly secured funds.

What is this "trusted exchange" of which you speak, and if it existed how would theft from it occur in the first place?

Offline monsterer

Irreversible transactions are a consequence of the decentralized and autonomous parts of the DAC. How is a DAC supposed to know whether it is "fair" to reverse a transaction when it doesn't know "truths" about the outside world and any "truths" fed into it are the opinions of some party.

Escrow and multisig really is good enough. You let the two parties involved in the transaction decide on the arbiter who gets to tell the blockchain whether it is fair to reverse a transaction.

The DAC cannot 'know' of course. You need outside input and there are trust issues.

I don't think escrow covers all the bases - especially in the case of theft.

Imagine if you could give a trusted exchange the ability to reverse transactions in case of theft?
My opinions do not represent those of metaexchange unless explicitly stated.
https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads

Offline arhag

  • Hero Member
  • *****
  • Posts: 1214
    • View Profile
    • My posts on Steem
  • BitShares: arhag
  • GitHub: arhag
Irreversible transactions are just a consequence of the design rather than a feature. IMO they cause a lot of problems. If it were possible to design a transaction type which was reversible (and fair) it could solve a lot of problems.

Irreversible transactions are a consequence of the decentralized and autonomous parts of the DAC. How is a DAC supposed to know whether it is "fair" to reverse a transaction when it doesn't know "truths" about the outside world and any "truths" fed into it are the opinions of some party.

Escrow and multisig really is good enough. You let the two parties involved in the transaction decide on the arbiter who gets to tell the blockchain whether it is fair to reverse a transaction.

Offline Shentist

  • Board Moderator
  • Hero Member
  • *****
  • Posts: 1601
    • View Profile
    • metaexchange
  • BitShares: shentist
i don't see this coming, but maybe more use of multisig for security use.

Security is really the key for the massadaption. It is so much more convenient to outsource the security to a 3rd party and don't care about it.

Offline monsterer

There's already escrow, I suppose we could make delegate escrow.

But yeah reversible transactions are the #1 thing the crypto space is specifically trying to replace...

I disagree. Crypto generally aims to let the end user own the value token for the currency. That's the primary driving factor behind decentralisation - you don't hold a IOU with no intrinsic value, you hold the cash in digital form.

Irreversible transactions are just a consequence of the design rather than a feature. IMO they cause a lot of problems. If it were possible to design a transaction type which was reversible (and fair) it could solve a lot of problems.
My opinions do not represent those of metaexchange unless explicitly stated.
https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads

Offline Frodo

  • Sr. Member
  • ****
  • Posts: 351
    • View Profile
  • BitShares: frodo
Quote
What about somehow allowing transactions (or even a special transaction type) to be reversed by delegates, or even reversed by majority vote?

There's already escrow, I suppose we could make delegate escrow.

+ If it is only a special type of transaction it doesn't help against theft, as a thief would obviously not use a reversable transaction type. Switching completely to reversable transactions is even worse though.

Nevertheless if there should be demand for something like a reversable transaction type, imo it would be best to simply make it reversable for a % fee taken by the network.

Offline CryptoPrometheus

  • Sr. Member
  • ****
  • Posts: 324
    • View Profile
Eventually there will be trusted 3rd party insurance entities (like squaretrade) that will offer dispute mediation services for a spread.

As far as involuntary chargebacks, I don't think this could ever be a feature because (what @toast said above).
"Power and law are not synonymous. In fact, they are often in opposition and irreconcilable."
- Cicero

Offline toast

  • Hero Member
  • *****
  • Posts: 4001
    • View Profile
  • BitShares: nikolai
Quote
What about somehow allowing transactions (or even a special transaction type) to be reversed by delegates, or even reversed by majority vote?

There's already escrow, I suppose we could make delegate escrow.

But yeah reversible transactions are the #1 thing the crypto space is specifically trying to replace...
Do not use this post as information for making any important decisions. The only agreements I ever make are informal and non-binding. Take the same precautions as when dealing with a compromised account, scammer, sockpuppet, etc.

Offline Ander

  • Hero Member
  • *****
  • Posts: 3506
    • View Profile
  • BitShares: Ander
Having transactions being reversible kindof defeats the point.  It then becomes just like the current money system, where whoever is in charge of being able to reverse transactions has the power.


Of course, there is one way to reverse transactions: hard fork and get the whole community to agree.  This imposes an extreme cost so it could only be used in the gravest emergencies, which seems appropriate.


A better way to prevent theft is for everyone to use multisig.
https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads

Offline monsterer

Seems to me that nearly every bitcoin theft/heist in history could have been easily circumvented if transactions were somehow reversible.

The trouble is, how do you implement this feature in a sane way? Having both parties agree to reverse the transaction is one way, but that doesn't help for thefts.

What about somehow allowing transactions (or even a special transaction type) to be reversed by delegates, or even reversed by majority vote?


My opinions do not represent those of metaexchange unless explicitly stated.
https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads