The Stack Overflow podcast is back! Listen to an interview with our new CEO.

Hot answers tagged

32

Update Mar 5 2017 The state cleaning was announced by Vitalik Buterin in the tweet State clearing 100% complete dated 23:07 Nov 29 2016. This time corresponds to block 2,718,436. The Clearing Contract can be found at 0xe9c9068240d8450da314f60804debfc194b72309. There was over 10,000 transactions involved in clearing the state. The first transaction to ...


26

you don't lose anything from behaving badly, you lose nothing by signing each and every fork, your incentive is to sign everywhere because it doesn't cost you anything. so as it doesn't cost you anything, it's a good strategy to work on each and every chain should a fork occur and double spend a digital good. Maybe the wiki explains it better : However, ...


22

Update - 25th March 2017 Ropsten has been revived! We are pleased to announce that the Ropsten testnet has been revived! Thanks to a generous donation of GPU hashpower, the Ropsten chain has been cleared of the spam blocks that had accumulated in a recent attack. https://github.com/ethereum/ropsten/blob/master/revival.md Update - 18th March 2017 ...


20

If a full-frontal and obvious 51% attack occurs, the live Ethereum network will essentially have failed. There is no real way to protect against this eventuality other than to watch for orphan rates to spike and then immediately notify everyone that the network is unreliable. The main thing protecting the Ethereum network (and the Bitcoin network, and any ...


19

A replay attack is a valid data transmission that is maliciously or fraudulently repeated or delayed. Extending this to blockchains, a replay attack is taking a transaction on one blockchain, and maliciously or fraudulently repeating it on another blockchain. For example, an attacker taking someone's testnet transaction, and repeating it on the "real" ...


18

Currently, Ethereum uses elliptic curve cryptography, which is not quantum resistant. In the upcoming Serenity upgrade, however, accounts will be able to specify their own scheme for validating transactions, so individuals could choose to use Lamport signatures or other quantum proof algorithms. The Serenity blog post has a more in depth look at account ...


13

In a temporary 51% attack, the attacker can: censor or reorder transactions at will (i.e. prevent you from using your money or any dApps) doublespend ether/tokens/shares at will to drain non-blockchain resources of exchanges or vendors steal from certain types of contracts which rely on deposit-challenge-verify mechanisms shorter in length than the attack "...


12

What happened? 3,641,694 ETH where splitted out of theDAO. The attacker found a loophole in the regular splitDAO function so that they could reuse the same DAO tokens over and over again. How did the attack worked exactly? The attacker managed to combine 2 exploits. The first exploit was to call the split DAO function recursively. That means the ...


12

It means that a transaction that was valid on the Olympic testnet was still valid for next release (Frontier). If you made a transaction T in Olympic that sends Ether from address A to B, and then reuse the key behind address A in the Frontier release, that transaction T could be broadcasted again (replayed) and the transfer from A to B would happen in ...


12

There's no concept of DDOS in contracts in the same vein as a web server in Ethereum. You can send as many transactions as you want, but you won't be able to block access to it, simply by flooding it with transactions. To DDOS, you would have to try and DDOS the whole Ethereum network. In this attack, you essentially send so many transactions that you fill ...


12

tl;dr from Casper 101 [In proof of stake] if there’s a fork in the chain, the optimal strategy for any validator is to validate on every chain, so that the validator gets their reward regardless of the outcome of the fork. More details Proof of work requires CapEx (buy ASICs and other equipments) and OpEx (power and real estate cost etc) to participate ...


10

Summary As of 22/06/2016 AEST, 5+ attacks are identified below: # 1 The major 17 June 2016 attack #1 that pictured in ether.camp/dao-thief (info from user iamtrillion in the post DAOhub.org - [Workgroup] DAO White Hat Team). #2 0xae8ad906948ef5ad5e95eed52990ff89312887d7 where you can see the recursive call transfers in ...


9

Summary Here are the statistics, based on the drains that I have identified in How many The DAO recursive call vulnerability attacks have occurred to date?: Type # Balance ExtraBalance Tokens ---------- --- ------------ ------------ -------------- ------------------------------------------ Total 243 11727931.16 344909.18 ...


8

In a naively implemented proof of stake, suppose that there is an attacker with 1% of all coins at or shortly after the genesis block. That attacker then starts their own chain, and starts mining it. Although the attacker will find themselves selected for producing a block only 1% of the time, they can easily produce 100 times as many blocks, and simply ...


8

I'm using the same unmodified script from How many ethers have been drained through the recursive call attacks on The DAO? to calculate the balance of The DAO and it's child DAOs. For a finer categorisation of the different child DAOs, see the latest update from How do I get a refund for my The DAO tokens that was split into a child DAO?. There are several ...


7

That is something the owner of the node has to do and it is not part of the Ethereum protocol. It is also worth mentioning that it does not specifically relate to Proof of Stake. Today miners and pools gets DDoSed already. On the contrary, it is worth mentioning that the incentive to DDoS others is much higher in POW compared to POS (or specifically Casper)....


7

On a practical note, just remove your blockchain and synchronize again. The blockchain bloat has been removed already. Stop your node and/or close your Ethereum wallet. Remove the chaindata. for parity it is in ~/.parity/906a34e69aec8c0d/* for geth it is in ~/.ethereum/chaindata/* Resync the whole chain (this is faster than waiting to get through the ...


7

You should definitely not give away your keystore file as it contains your encrypted private key. The only thing that can decrypt your private key is your password. However, one could perform a brute force algorithm on your keystore file in an attempt to crack your password and gain access to all your funds. If you create a new wallet on myetherwallet.com ...


7

Generally, no! It can be dangerous. If you are asked to send such a transaction, you should understand what is the source code of the address you are sending to, and what function you might be invoking with the data you are sending. Do not send arbitrary data to some arbitrary address because that is like running an arbitrary program, clicking on an ...


6

That idea may have been part the motivation behind this post: "Is anyone in the process of splitting from the DAO right now? It would really help if the person whose split will finish in 2 hours (#69) can contact us." https://www.reddit.com/r/ethereum/comments/4oi2ta/i_think_thedao_is_getting_drained_right_now/d4csoa8 More evidence to support this idea: ...


6

A very highlevel, very simplified answer. If you send a split request to the DAO, it checks your token account, creates a new copy of the DAO with your ethers in it and then reduces your account by the amount of tokens you split out. If the address from which you send the split request however reacts to the answer by sending a new split request, your token ...


6

A Sybil attack occurs when one actor acts as multiple separate entities. Because many distributed systems have no form of identity management beyond accounts, and because accounts are trivially created, any actor can create an unbounded number of accounts. This is a problem if, for instance, you want to implement a voting system, or in other situations ...


6

In the current vision of Casper Proof of Stake protocol, the validators (who are staking), when eligible, need to bet on the finality of blocks. More technically speaking, each bet has to specify for each block height: which block will most likely win, and with what probability. Validators will be constantly updating their bets, thereby converging to ...


6

The Baddies joined into the Split Proposal #59 where they were not the curator. From this split, the Baddies created a number of split proposals where the Split Proposal #59.10 was used to split out the attacked funds into a split where the attacker was the curator. The Baddies have now created the Non-Split Proposals #59.10.1 and #59.10.2 where the funds ...


5

I don't believe your node will be protected. Any server connectable from the internet is at risk for a DDoS attack. The question should be how likely will it be. An attacker has not much to gain from just attacking you, if his goal is somehow influencing the network-wide consensus he needs to influence all validator nodes. I do believe that the risk and ...


5

It's also possible to ensure quantum-resistant transactions by implementing 'transaction commitments'. Basically, (at least with BTC) the the protocol is vulnerable to quantum man-in-the-middle attacks when submitting a signed transaction to the network. You can solve this by first submitting a 'transaction commitment', which you would confirm after x ...


5

Sybil is a 1973 book by Flora Rheta Schreiber about a woman with sixteen different personalities that has been made into a mini-series. From Sybil attack - Wikipedia: The Sybil attack in computer security is an attack wherein a reputation system is subverted by forging identities in peer-to-peer networks. It is named after the subject of the book Sybil, ...


5

This is the problematic line of code in the withdrawRewardFor function: if (!rewardAccount.payOut(_account, reward)) <-- reentrant exploit throw; paidOut[_account] += reward; The payOut will call the recipient payout function: function payOut(address _recipient, uint _amount) returns (bool) { .. if (_recipient.call.value(...


5

After the DAO hack, some people created a list together on Reddit. You can also check Vitalik's blog post about it: The DAO (obviously) The “payout index without the underscore” ponzi (“FirePonzi”) The casino with a public RNG seed Governmental (1100 ETH stuck because payout exceeds gas limit) 5800 ETH swiped (by whitehats) from an ETH-backed ERC20 token ...


5

What were the technical challenges why the protocol didn't prevent them in the first place? There weren't any particular technical challenges. It was simply an oversight, "a mistake, a flaw in the protocol." This was a known subtlety (see "note: there is a difference between zero-balance and nonexistent") It was always understood that zero-balance ...


Only top voted, non community-wiki answers of a minimum length are eligible