Recently, I made a blog post explaining that 51% attacks are not a network failure. While I still believe this, I think it is important to mention that there are different kinds of 51% attacks. They all do the same thing but are fundamentally different for the network participants.
Proof of Work is what brings security to the network. The main idea is that a huge amount of energy is being spent for the network and we give a proof such energy was spent to network participants that can independently verify that it was indeed spent. Depending on the average energy spent (hash rate) for the network, the network participants decide how many blocks they will wait to be convinced the transaction was secured with enough energy — e.g. if a participant decides to wait
K blocks and the average energy spent in these
K blocks is
X , then he trusts that the transaction will stay on the chain with
K * X energy. …
Recent 51% attacks on the Ethereum Classic chain made me think about this attack and while thinking I learned that 51% attacks are not a network failure but it also made me wonder if there is a way to make such attacks on the network participants more expensive.
When a node client finds out another chain exists it has to make a decision which chain to choose. The node client calculates a
chainScore for the chains and then chooses the chain with the highest score. In PoW blockchains the rule which chain to choose is usually called the longest chain rule where the
chainScore value is equal to the total amount of work done on the chain. What’s nice about this chain selection score is that it is completely objective. An example of a subjective score would be if a node client assigned a
chainScore to other chains based not only on how much work was done on the chain but also taking into account how many blocks would be deleted from the local chain if we switched to the other chain (penalizing the chains that would delete the blocks from your chain). …
In regards to recent events on Ethereum Classic blockchain, I’ve decided to write a bit about 51% attacks since there’s a bunch of misunderstanding about them (read this medium post for a good 51% attack explanation).
In order to reach a consensus on which blockchain is the real one, every network participant agrees to follow a simple rule that the ‘real’ chain is the longest one you can find. If a node in the network could see every other node (forming a complete graph) you could just check which is the longest and accept it as a reality. Unfortunately, due to real life constraints a node is not connected to every other node and so has a limited visibility of the graph. …
Ethereum Classic history is one of the things that can’t be easily learned. The details about it are not put in one place which makes it very hard for new people joining the space to understand. I’ve decided to write a bit about it but I soon realized that I don’t know all the details. Since I’ve wanted it to have all the important information in one place, I’ve decided to make a Github repository where anyone can contribute.
I’ve divided ETC history into 4 chapters and here are their summaries:
Blockchains and Trust
The novel thing that blockchains bring to the world is the ability to transfer value between two parties without the need for an intermediate actor serving as a trusted third party that handles the actual transfer (eg. a Bank). Given the assumption that the majority of the network participants are honest, we can transfer money directly between each other and be sure it will end up where we want it to. And it can be done much faster than wire transfers. Magic.
There is however another kind of trust that is rarely mentioned, and this one is per blockchain. When a new blockchain pops up, it comes with some social rules that we all agree on. One such rule would be that a value transfer can only happen with a signed transaction, meaning that only the owner of the wallet can move the money out of it. Another one would be that we don’t undo transactions when people lose money if the network itself was functioning normally. These kind of rules are mostly agreed on implicitly so we often don’t even talk about them as they act as some kind of axioms from which we start. …
Not many understand what happened with the DAO hack . This should not come as a surprise considering an average crypto holder does not have the necessary technical background to understand it. And NO, Ethereum network did not reverse any transactions, what they did is much worse.
To understand the situation it is important to have a picture of the system as a whole. For that reason I’ll start by explaining the main blockchain concepts in layman terms — the details are left out as they are not needed to understand the DAO case.
A Blockchain is just an ordered sequence of transactions. One slightly odd thing is that transactions don’t get added individually but rather a set of them is packed together in something we call a Block. Users around the world submit transactions to be included in the blockchain and once a new block gets added to the chain so do their transactions. …