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.

10 comments:

  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.

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

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

    ReplyDelete
  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

    ReplyDelete
  5. One must realize what a Bitcoin wallet is and how to utilize it. It is basically what might as well be called a ledger. see it here

    ReplyDelete
  6. I have no association with this site and get nothing on the off chance that you utilize them. I basically think they are a decent method to get your feet wet). icoinpro

    ReplyDelete
  7. Ever had the bad experience where you need to send some money to the other side of the world and the amount of charges for currency conversion, opening Letter of Credits, banking charges etc. cryptocurrency

    ReplyDelete
  8. Bitcoin anticipated esteem is a subject regularly talked about. In January of 2015 the cost of one bitcoin was $215. At present it is around $5000. Btc double

    ReplyDelete
  9. This comment has been removed by the author.

    ReplyDelete
  10. With the emergence of bitcoins, some other alternative cryptocurrencies also evolved. They are popularly called Altcoins and includes Ethereum(ETH), Litecoin(LTC), Ripple(XRP), Monero(XMR) and many others.The Crypto Guru

    ReplyDelete

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 ...