code formating

Wednesday, October 14, 2015

A case against bloom filters in bitcoin

Bitcoin Bloom filters are like mazes with many entries and two ways out, lets call them "no way" and "my way". One decides that a transaction has not to be sent to us the other one to be sent. The maze it's built in a way that all our wanted transactions are going to get out of the "my way" and some unwanted too. For the sake of correctness, note that the maze can not be run backwards and every element will repeat its own way every time its thrown through the "maze"".

The anonymity that this technique claims to achieve it's coming from the "unwanted" elements that come out of "my way". This will supposedly confuse anyone that is trying to follow our wanted elements.

Whether with this technique we really achieve anonymity might be arguable or not but I do not have a problem with that part.

With bloom filters, before anything is sent to us by a node, the node has to "build the maze" run every transaction, outpoint, sig script and pub script (this four have been called elements up to now) through the maze and send us the ones that come out of "my way".

Bitcoin it's an open protocol and accessible to anyone so potentially everyone can ask for their own maze to be build. This means that the node now has to build a maze and run every element through it for every client that asks and yet they get no rewards.

I's clear where I want to get with this. This bloom filer building (maze building) and specially the rehashing (rerunning everything through the maze) its none less than practical. The stress the bitcoin community can put on the full nodes is in my opinion unjustifiable. We can not build anonimous bitcoin wallets at the expense of the full nodes. In my opinion we ought to find a better way.

I started to build bloom filters in nicotib in order to avoid downloading the full blockchain. It felt fresh until I thought of implementing the other side of the equation. At this point I have decided to stop building bloom filter in nicotib and I'll be taking the code out of the project.


  1. Agreed. Obviously anonymity is one of the biggest selling points of bitcoin and is therefore extremely important, but if the method we're using compromises the integrity of the entire bitcoin system then we have to find a better way.

  2. Why go somewhere else when you’ve got such a beautiful blog right in front of you.
    Crypto currency

  3. There are cell phone applications for leading versatile Bitcoin exchanges and Bitcoin trades are populating the Internet.
    new ico launch

  4. Other basic inquiries that surface are what is the most ideal approach to purchase Bitcoins, the most ideal approach to get bitcoins or where to purchase bitcoins on the web. ico investment


Programatically walk a CATIA tree in .NET

One of the most basic tasks when automating anything in CATIA, it's usually to walk the whole tree and apply some changes to objects in ...