The Bitcoin transaction fetch memory exhaustion attack (TFMEA)

Overview Suppose most Bitcoin clients are installed in Windows operating systems. Suppose most people that use Windows does not compile the source code, but download the 32 bit executable from Sourceforge, which is a 32-bit application. This assumptions seems probable in practice. To process a transaction the Satoshi client loads all referred transactions inputs into […]

Leave a comment

Fixed Bitcoin vulnerability explanation: Why the signature cache is a DoS protection

I read a transcript of  #bitcoin-dev (http://bitcoinstats.com/irc/bitcoin-dev/logs/2012/11/09) where jgarzik and, Sipa debated whether the signature cache was a performance optimization or a DoS protection and why. The sig cache is both of them. But the sig cache was included before performance was a problem because of the DoS protection requirement. The following attack against versions […]

Leave a comment

Global Pool Mining Proposal and a fast light tx verification system

Pooled mining is a mining approach where multiple generating clients contribute to the generation of a block, and then split the block reward according the contributed processing power. Pooled mining effectively reduces the granularity of the block generation reward, spreading it out more smoothly over time. A share is awarded by the mining pool to […]

Leave a comment

About my new Bitcoin vulnerability: get your peer public addresses

I really thought this had been fixed, because I commented the problem of using IsFromMe / IsMine to the developers in the github forums (https://github.com/bitcoin/bitcoin/pull/1648), but no. Not fixed, so I’d better alert people before they can be tracked… The attack requires you to connect to the victim’s node and be disconnected from the victim’s […]

Leave a comment

CVE-2012-3789 disclosure

Given that update ratio from 0.6.2 to 0.6.3+ has probably passed the 80% (*) barrier for a long time, I decided to publish the full CVE-2012-3789 vulnerability report, since that is my obligation with the community. https://en.bitcoin.it/wiki/CVE-2012-3789 I encourage those who are working in the Satoshi client to peer review the report. Also I suggest […]

, , , ,

Leave a comment

Bitmessage v1.0: completely broken crypto

EDIT: This posts covered Bitmessage protocol v1.0 before it switched to OpenSSL ECC because of these problems. When I heard about Bitmessage (http://bitmessage.org) I was pleased to find a new privacy/security preserving project being born. But after I looked at the source code and grasped the crypto protocol (which is not described in the white […]

10 Comments

Lessons from DoS vulnerabilities found in Bitcoin

A month ago I presented my talk about Bitcoin and Mavepay at Ekoparty 2012. The second part of the talk was about Bitcoin vulnerabilities. I talked about the four Denial of Service vulnerabilities I found and “Avalanche”, the most deadly one, carefully hiding information not to let an attacker create an exploit. It was fun. […]

Leave a comment

Direct connection to miners: better or worse?

I’ve been thinking about the benefits or drawbacks of users connecting directly to miners. Casascius Instant Partial Confirmation proposes a method where users can locate miners by addresses published on blocks. These addresses could be normal IP, Tor addresses or whatever system each miner chooses to be located. Currently the P2P network serves two purposes: […]

Leave a comment

Destination Address Anonymization in Bitcoin

This is one of the ideas of APPECoin that can be directly applied to Bitcoin. When you send a payment to the public address of a merchant, hackers can detect that one of your coins are being sent to that merchant. This is because Bitcoin is not truly anonymous (please do not discuss this fact […]

Leave a comment

APPECoin (Anonymous Peer-to-Peer electronic Coin) design

Many  people that visited my blog post about Total anonymization have asked me how a peer to peer system with total anonymization may actually work. Since I have very little time to finish the paper now I will publish the key design points. The system is called APPECoin (Anonymous Peer-to-Peer electronic Coin).  Anonymization is based […]

Leave a comment