<p>No, as far as we know, Ethereum transactions cannot be reversed.</p>

<p><a href="https://medium.com/@ogucluturk/the-dao-hack-explained-unfortunate-take-off-of-smart-contracts-2bd8c8db3562" rel="nofollow noreferrer">The DAO hack</a> exploited a badly coded smart contract. </p>

<p>The smart contract runs on top of Ethereum, so there are two layers involved here: the Ethereum blockchain and virtual machine (EVM) and the smart contracts which run on the EVM.</p>

<p>Neither the EVM or the Ethereum blockchain were exploited. That one particular smart contract was.</p>

<p>You may be referring to the <a href="https://www.coindesk.com/ethereum-executes-blockchain-hard-fork-return-dao-investor-funds" rel="nofollow noreferrer">2016 Ethereum fork</a>. That was, indeed, a controversial fork which led to a discussion about Ethereum governance. </p>

<p>In that particular situation, the Ethereum developers did reverse the DAO theft by reorganizing the blockchain. This was done deliberately by the developers. Ethereum wasn't hacked and transactions still can't be reversed, but in that occasion the developers themselves did fork Ethereum to save the DAO funds. They won't do this for any reason though, in fact that fork had <a href="https://futurism.com/the-dao-heist-undone-97-of-eth-holders-vote-for-the-hard-fork" rel="nofollow noreferrer">widespread support</a> from the community, so your coins are safe. Ethereum won't reverse transactions to harm investors and hopefully another DAO-style hack won't happen in the future.</p>

CC BY-SA 4.0
2019-10-15T14:22:16.683Z
So basically a transaction can be reversed if a majority of the community (or more likely, the wallet developers) approves of the reverse?
user2741831
CC BY-SA 4.0
2019-10-15T14:44:54.117Z
@JoseFonseca "They won't do this for any reason though": It is a very bold statement to make when a precedent has been set.
Ugam Kamat
CC BY-SA 4.0
2019-10-15T16:23:19.263Z
@user2741831 Yes. That's what happened in 2016. This applies to every cryptocurrency, including Bitcoin. In fact Bitcoin rolled back transactions in 2010.
Jose Fonseca
CC BY-SA 4.0
2019-10-15T16:26:14.810Z
@UgamKamat Statistically it's a correct statement. Out of millions of transactions only one has ever been reversed so IMO it's fair to say they don't do this for just any reason and without overwhelming public consent. In the end The People rule cryptocurrencies. If 97% of users demand a change, they'll likely make the change.
Jose Fonseca
CC BY-SA 4.0
2019-10-15T16:29:45.353Z
Probably makes me a bad person, but I feel like the goal of bitcoin is removing the human (corruptible) element out of finance and replace it with a purely pragmatic machine. Although I guess if a majority of people simply violate the bitcoin protocol collectively, theres nothing anyone can do about it.
user2741831
CC BY-SA 4.0
2019-10-15T16:55:20.323Z
@user2741831 That's correct. Bitcoin aims to be as free from human influence as possible. It's not perfect but it's the closest we've gotten to a financial system without political influence.
Jose Fonseca
CC BY-SA 4.0
2019-10-15T17:44:20.353Z
@JoseFonseca 2010 Bitcoin rollback was because of the protocol level vulnerability (overflow error), not to undo a transaction that stole somebody else's coins.
Ugam Kamat
CC BY-SA 4.0
2019-10-15T20:38:57.257Z
@JoseFonseca 97% of eth users did NOT vote on the DAO fork. That website apparently accounts for 2.67 million eth worth of votes, out of ~75 million eth that existed at the time (only ~3.5% of eth). For all we know, this 'majority yes' vote could come from literally just one wealthy individual, it is not necessarily representative of the wider userbase. Devs made the decision, attempting to map this choice onto users is trying at best.
chytrik
CC BY-SA 4.0
2019-10-15T20:58:08.170Z
@UgamKamat Correct. I'm not passing any judgement at all about whether one was more justified than the other. Personally I would not have forked ETH, as bad as I feel for those who lost funds.
Jose Fonseca
CC BY-SA 4.0
2019-10-15T14:11:45.840Z
2019-10-15T14:17:22.037Z
2019-10-15T14:17:22.037Z
Jose Fonseca
<p>The Bitcoin blockchain is not absolutely immutable, it is probabilistically immutable. </p>

<p>We say this because the history of transactions (the blockchain) is secured by mining power, and mining success is a probabilistic. Given a certain amount of hashpower, we expect that we'll find a block within some certain amount of time - but it is possible to find the block on the first attempt, however incredibly unlikely that may be. So for an attacker to re-write history, we expect that they will need a majority of hashpower on the network, otherwise probability is working heavily against them. For more info see <a href="https://bitcoin.org/bitcoin.pdf" rel="nofollow noreferrer">section 11 of the original bitcoin whitepaper</a>. </p>

<p>So the finality of a transaction is related to what portion of hashpower is being controlled by 'honest miners'. Thankfully, there are heavy financial incentives for miners to behave honestly, and so after a decade of operation, we haven't seen a majority-attack against the network take place. </p>

<hr>

<p>The DAO hack was a different situation: ethereum developers decided that rolling back the chain to erase the DAO hack (and all transactions that had happened since then) was a good idea. This led to an interesting conundrum: what is the real guarantee offered by a blockchain? Is it probabilistic immutability? Or is there more to it than that? How much does the human element weigh in, and control the outcome? Why did the Eth developers have such power? </p>

<p>This is an important test of one of the core tenants of a system like Bitcoin: does any group control the protocol? How large of a group is needed, before effecting a change becomes possible?</p>

<p>If every single bitcoin user decided that it was a good idea to change the protocol to include a mandatory cat image with every transaction, then it would be simple to make the change (after all, everyone already agrees, and will implement the change). However, if only a small portion of users want to make this change, then they will need to convince the rest that it is a good idea. As the network grows and more users come on board, this becomes increasingly difficult to accomplish. </p>

<hr>

<p>For bitcoin (or any blockchain) to succeed, it is paramount that no small group is able to make these sorts of decisions unilaterally, otherwise that group would represent a huge threat to the network. If the group were compromised by a bad actor, they could wreck undue havoc on the network. </p>

<p><strong>This is a crucially important point: having a large, decentralized network with many users makes it more difficult to enact change</strong>. If a network has a small number of users, it will be easier to convince a majority of them to make the change. </p>

<p>Looking at Bitcoin's history, we can see that it is extremely difficult to force a change onto the network. Some of the most influential businesses, persons, miners, and some developers pushed heavily for a change in the base block size in 2016/2017, but were unable to convince the majority of network users to go along with it, and thus failed. </p>

<p>Even the developers cannot unilaterally push a change onto the network. They can propose changes (including rolling the chain back), but if the users (ie those that run nodes) do not agree with the change, then the devs cannot force it through. The open source process involves a ton of peer review and is a transparent process that would be difficult to push a contentious change through. Anyone is free to propose a change, of course, but the onus is on the proposer to convince everyone else that it is a good idea. </p>

<hr>

<p><strong>TL;DR:</strong></p>

<p>As a user, you should want some guarantees that the system of money you are buying into will not be arbitrarily changed or rolled back at some point in the future. This means at least two things:</p>

<ol>
<li><p>There is a large amount of mining power securing the network (and no large pool of hashpower that could be pointed at the network exists otherwise).</p></li>
<li><p>No small group of people can easily force a change onto the network. </p></li>
</ol>

CC BY-SA 4.0
2019-10-15T21:27:02.447Z
Doesn't that just ultimate ly mean the majority of devs control the entire currency and human apathy?
user2741831
CC BY-SA 4.0
2019-10-15T22:53:19.623Z
@user2741831 no, the devs can propose changes, but ultimately in a healthy (sufficiently decentralized) network it is users that must agree with and adopt the changes proposed. Devs cannot just force a change through. I've added a little more info to my answer to help explain this.
chytrik
CC BY-SA 4.0
2022-04-04T03:24:53.430Z
but if the program used for mining, for example, hive os, is being used for a lot of miners,  miners actually don't have the power right? even if the miners don't want an update, hive os could agree one day to change the code, and they'll win because they have majority of miners on control
John Balvin Arias
CC BY-SA 4.0
2022-04-04T04:07:27.877Z
@JohnBalvinArias no, if hive OS released a malicious update, miners could a) not update to it, and b) ultimately run a different OS. In the case of hard-forking changes, regular users would also have to update their nodes with the new code as well. In the case of soft-forking changes, a majority of hashpower would have to enforce the change in order for it to take hold. Nobody has the unilateral control to enforce such a thing.
chytrik
CC BY-SA 4.0
2019-10-15T21:07:09.077Z
2019-10-15T22:52:13.887Z
2019-10-15T22:52:13.887Z
chytrik
<p>Blockchains are often described as 'immutable' (meaning the history cannot be rewritten after the fact), but is this really true? How easy is it to change the history?</p>
<p>I have read about the Ethereum DAO hack and how the blockchain has been hard forked to reverse a transaction by the hacker. This is very disappointing. I thought cryptos by design were irreversible, even with a hard fork.</p>
<p>How can we measure the immutability of a blockchain? Is Ethereum less safe than Bitcoin, for example?</p>

CC BY-SA 4.0
2019-10-15T21:09:28.200Z
I've edited this question to be more on-topic. In its original form I agree it would be off-topic, but the core of the question is still relevant and interesting to Bitcoin users, so I think it is worth keeping open.
chytrik
<security><blockchain-fork><consensus>
Can a blockchain's transactions be reversed?
user2741831
# Can a blockchain's transactions be reversed?

(Asked by: username_0 on 2019-10-15)

Blockchains are often described as 'immutable' (meaning the history cannot be rewritten after the fact), but is this really true? How easy is it to change the history?

I have read about the Ethereum DAO hack and how the blockchain has been hard forked to reverse a transaction by the hacker. This is very disappointing. I thought cryptos by design were irreversible, even with a hard fork.

How can we measure the immutability of a blockchain? Is Ethereum less safe than Bitcoin, for example?

**Tags:** security, blockchain-fork, consensus

> **Comments:**
> **username_1**: I've edited this question to be more on-topic. In its original form I agree it would be off-topic, but the core of the question is still relevant and interesting to Bitcoin users, so I think it is worth keeping open.  

---

## 2 answers

### Answer by username_2 on 2019-10-15. Score: 1 | Accepted answer

No, as far as we know, Ethereum transactions cannot be reversed.

[The DAO hack](https://medium.com/@ogucluturk/the-dao-hack-explained-unfortunate-take-off-of-smart-contracts-2bd8c8db3562) exploited a badly coded smart contract.

The smart contract runs on top of Ethereum, so there are two layers involved here: the Ethereum blockchain and virtual machine (EVM) and the smart contracts which run on the EVM.

Neither the EVM or the Ethereum blockchain were exploited. That one particular smart contract was.

You may be referring to the [2016 Ethereum fork](https://www.coindesk.com/ethereum-executes-blockchain-hard-fork-return-dao-investor-funds). That was, indeed, a controversial fork which led to a discussion about Ethereum governance.

In that particular situation, the Ethereum developers did reverse the DAO theft by reorganizing the blockchain. This was done deliberately by the developers. Ethereum wasn't hacked and transactions still can't be reversed, but in that occasion the developers themselves did fork Ethereum to save the DAO funds. They won't do this for any reason though, in fact that fork had [widespread support](https://futurism.com/the-dao-heist-undone-97-of-eth-holders-vote-for-the-hard-fork) from the community, so your coins are safe. Ethereum won't reverse transactions to harm investors and hopefully another DAO-style hack won't happen in the future.

> **Comments:**
> **username_0**: So basically a transaction can be reversed if a majority of the community (or more likely, the wallet developers) approves of the reverse?  
> **username_3**: @username_2 "They won't do this for any reason though": It is a very bold statement to make when a precedent has been set.  
> **username_2**: @username_0 Yes. That's what happened in 2016. This applies to every cryptocurrency, including Bitcoin. In fact Bitcoin rolled back transactions in 2010.  
> **username_2**: @username_3 Statistically it's a correct statement. Out of millions of transactions only one has ever been reversed so IMO it's fair to say they don't do this for just any reason and without overwhelming public consent. In the end The People rule cryptocurrencies. If 97% of users demand a change, they'll likely make the change.  
> **username_0**: Probably makes me a bad person, but I feel like the goal of bitcoin is removing the human (corruptible) element out of finance and replace it with a purely pragmatic machine. Although I guess if a majority of people simply violate the bitcoin protocol collectively, theres nothing anyone can do about it.  
> **username_2**: @username_0 That's correct. Bitcoin aims to be as free from human influence as possible. It's not perfect but it's the closest we've gotten to a financial system without political influence.  
> **username_3**: @username_2 2010 Bitcoin rollback was because of the protocol level vulnerability (overflow error), not to undo a transaction that stole somebody else's coins.  
> **username_1**: @username_2 97% of eth users did NOT vote on the DAO fork. That website apparently accounts for 2.67 million eth worth of votes, out of ~75 million eth that existed at the time (only ~3.5% of eth). For all we know, this 'majority yes' vote could come from literally just one wealthy individual, it is not necessarily representative of the wider userbase. Devs made the decision, attempting to map this choice onto users is trying at best.  
> **username_2**: @username_3 Correct. I'm not passing any judgement at all about whether one was more justified than the other. Personally I would not have forked ETH, as bad as I feel for those who lost funds.  

---

### Answer by username_1 on 2019-10-15. Score: 3

The Bitcoin blockchain is not absolutely immutable, it is probabilistically immutable.

We say this because the history of transactions (the blockchain) is secured by mining power, and mining success is a probabilistic. Given a certain amount of hashpower, we expect that we'll find a block within some certain amount of time - but it is possible to find the block on the first attempt, however incredibly unlikely that may be. So for an attacker to re-write history, we expect that they will need a majority of hashpower on the network, otherwise probability is working heavily against them. For more info see [section 11 of the original bitcoin whitepaper](https://bitcoin.org/bitcoin.pdf).

So the finality of a transaction is related to what portion of hashpower is being controlled by 'honest miners'. Thankfully, there are heavy financial incentives for miners to behave honestly, and so after a decade of operation, we haven't seen a majority-attack against the network take place.

---

The DAO hack was a different situation: ethereum developers decided that rolling back the chain to erase the DAO hack (and all transactions that had happened since then) was a good idea. This led to an interesting conundrum: what is the real guarantee offered by a blockchain? Is it probabilistic immutability? Or is there more to it than that? How much does the human element weigh in, and control the outcome? Why did the Eth developers have such power?

This is an important test of one of the core tenants of a system like Bitcoin: does any group control the protocol? How large of a group is needed, before effecting a change becomes possible?

If every single bitcoin user decided that it was a good idea to change the protocol to include a mandatory cat image with every transaction, then it would be simple to make the change (after all, everyone already agrees, and will implement the change). However, if only a small portion of users want to make this change, then they will need to convince the rest that it is a good idea. As the network grows and more users come on board, this becomes increasingly difficult to accomplish.

---

For bitcoin (or any blockchain) to succeed, it is paramount that no small group is able to make these sorts of decisions unilaterally, otherwise that group would represent a huge threat to the network. If the group were compromised by a bad actor, they could wreck undue havoc on the network.

**This is a crucially important point: having a large, decentralized network with many users makes it more difficult to enact change**. If a network has a small number of users, it will be easier to convince a majority of them to make the change.

Looking at Bitcoin's history, we can see that it is extremely difficult to force a change onto the network. Some of the most influential businesses, persons, miners, and some developers pushed heavily for a change in the base block size in 2016/2017, but were unable to convince the majority of network users to go along with it, and thus failed.

Even the developers cannot unilaterally push a change onto the network. They can propose changes (including rolling the chain back), but if the users (ie those that run nodes) do not agree with the change, then the devs cannot force it through. The open source process involves a ton of peer review and is a transparent process that would be difficult to push a contentious change through. Anyone is free to propose a change, of course, but the onus is on the proposer to convince everyone else that it is a good idea.

---

**TL;DR:**

As a user, you should want some guarantees that the system of money you are buying into will not be arbitrarily changed or rolled back at some point in the future. This means at least two things:

1. There is a large amount of mining power securing the network (and no large pool of hashpower that could be pointed at the network exists otherwise).
2. No small group of people can easily force a change onto the network.

> **Comments:**
> **username_0**: Doesn't that just ultimate ly mean the majority of devs control the entire currency and human apathy?  
> **username_1**: @username_0 no, the devs can propose changes, but ultimately in a healthy (sufficiently decentralized) network it is users that must agree with and adopt the changes proposed. Devs cannot just force a change through. I've added a little more info to my answer to help explain this.  
> **username_4**: but if the program used for mining, for example, hive os, is being used for a lot of miners,  miners actually don't have the power right? even if the miners don't want an update, hive os could agree one day to change the code, and they'll win because they have majority of miners on control  
> **username_1**: @username_4 no, if hive OS released a malicious update, miners could a) not update to it, and b) ultimately run a different OS. In the case of hard-forking changes, regular users would also have to update their nodes with the new code as well. In the case of soft-forking changes, a majority of hashpower would have to enforce the change in order for it to take hold. Nobody has the unilateral control to enforce such a thing.  

---

