Posts in the P2P network category

With the recent Bitfinex heist models for decentralized exchanges have received a bit more attention as usual.

This is a repeating pattern happening every few months after a major incident. And it goes back to business as usual after people are entertained by the next soap opera.
So I do not expect that the majority of cryptoland citizens will radically change their behavior. And that has several understandable reasons.
But beside that, there is lack of awareness for critical problems and lack of visions for possible solutions.

People are used to traditional models and centralized exchanges are serving exactly that. They are similar to stock exchanges or Forex trading. They satisfy what those types of traders or speculators are looking for. Nothing wrong with serving people’s demands and habits, right?

What makes the difference?

But hey, isn’t there something different between Bitcoin and that traditional Fiat world?
Wasn’t there something what created excitement for those who consider themselves as early adopters or cypherpunks?

Do you think Satoshi tried to satisfy people from the finance industry or give the mainstream users a more convenient payment method? Certainly not!
Paypal was built with that mindset, Bitcoin wasn’t.
It was built with a vision beyond the short sighted demands and habits derived from the past.

So like with everything what is new, those new models require a little bit of endeavor from those who are brave enough to explore that new territory.

What are the differences?

A P2P exchange has differences and will not perfectly satisfy people who are used to centralized exchanges.

But let’s first define the term exchange how we understand it, because many people use it with a different meaning:

  • The main feature is to exchange one currency to another. 
  • The feature to speculate on price movements, short-selling, hedging or lending are extended features which some centralized exchanges provide, but I think that is outside of the core definition of an exchange.
  • How the exchange is implemented, if it uses automatic order matching or how fast the exchange happens are secondary characteristics.
  • A Fiat exchange means that national currencies are used, not IOUs for representing them.

Before we look at the reasons why the decentralized model provides a unique value let us have a look to the drawbacks:

  • Bitsquare is slower and trading is a more manual process.

That will be improved in future but the basic model that users control their funds require settlement controlled by the user and that takes a bit of time, even in the case for crypto currencies (blockchain confirmation). The exchange process will never be able to compete with high frequency trading. But that sort of speculative activity might get served by other solutions in future (Options, CFD,…).

  • You need to install a desktop app and you can’t run it in your browser, smartphone or your golden caged iPad.

The simple reason for that is that peer-to-peer means: all peers are equal – equally serving other peers and consuming from other peers.
Smartphones or tablets are not good in serving.
Web browsers are clients in the classical client-server architecture so they fail if you want to use them to serve other peers.
But sure, it would be convenient and nice to be able to run real P2P apps just everywhere. It might even happen some day but it comes with considerable challenges and effort. So please have patience or join our forces to make it earlier happen.

What’s on the table?

So beside those drawbacks, why should you be interested in P2P applications?
You can ask the exactly same question: Why should you be interested in Bitcoin?
You get security and privacy!

The security model is obvious:

  • If there is no sever to hack, you cannot steal money and user’s identity data from it.

Identity theft will become even more crucial in future as it is already. Regulation will soon enter that area as well.

  • If you don’t accumulate funds you don’t attract criminals.

That is an aspect which usually does not get much attention, because big numbers are impressive in our society.

Excuse me to remind on one of cryptoland’s latest soap operas, it just fits perfectly to that topic: The DAO
That completely pointless strategy to collect an enormous amount of money, without any concrete need for it was not only fatally damaging their own project. That often repeated, unethical but profitable model of externalizing risks and costs to others caused immense damage to their host community: Ethereum – giving cryptoland a new soap opera episode called ETC against ETH. Too bad that the real problems are not getting solved by those excitements.

Privacy – security’s sensitive brother

Beside security, privacy is an even more important issue. I think the relevance of privacy is widely underestimated.
If you have read that infamous EU proposal, you should be alerted. The MIT ChainAnchor project is another warning sign that our financial privacy is at risk and governments are getting more and more drunk of power abuse.
The 4 horsemen are riding again. Actually they never stopped riding the last 20 years as it seems they are pretty efficient in their job. Shocking how cheap that works…

We are getting closer to a critical junction: The future is the result of that what is getting prepared now. If we don’t engage to form it, others will do it for us.

Bitcoin seems to become the wet dream for governments to get full control and surveillance over the financial life of it’s citizens if we allow them to continue that path.
Financial information is even more critical and valuable than information derived from communication.

Matching users Bitcoin addresses with the user’s real life identity threatens Bitcoin’s weak privacy model and makes chain analysis a simple exercise – and even more crucial – it destroys a core property of sound money: Fungibility

Those companies who are engaged in that business of weakening privacy cannot be considered as anything else than parasites – destroying it’s host for short term profits.

So even those who are not convinced of the importance of the protection of privacy should be alarmed about that, because such a currency will never find mass adoption.
No company will use Bitcoin when they know that they have zero privacy with their transactions. Furthermore, people will not accept Bitcoin as payment if they cannot be sure that they can spend it later without risk. The burden of verifying the history of a coin and evaluating it’s risk would produce too much friction for mass adoption. All that would make Bitcoin inferior to the USD or EUR.

How can a decentralized exchange like Bitsquare help here?

Let us answer with a quote:

“Governments are good at cutting off the heads of centrally controlled networks like Napster, but pure P2P networks like Gnutella and Tor seem to be standing their ground.”
– Satoshi Nakamoto

Decentralization is a requirement to achieve censorship resistance. Censorship resistance is a foundation for a free society. Americas founding fathers have been more aware of that than todays retarded politicians and their corrupted media industry.

But can a decentralized exchange be efficient?

Lack of efficiency is not that what causes the most pain in our world. We are pretty good with efficiency in many areas.
Resilience is the area where we are terrible weak.

The blockchain is not good at efficiency but it is very resilient.
From an efficiency point of view it is the worst, slowest and most expensive database. Only censorship resistance gives it value and significance.

The fact that Bitcoin’s efficiency outperforms the bank’s efficiency and that they consider the “blockchain” revolutionary, is just because the banks are so unbelievable inefficient and have slept the last 20 years (or longer). They get woken up now by FinTech companies who are now considered “revolutionary” simply by applying modern IT to the banking world. We are witnessing the cheapest revolution of the century.
Bitcoin will remain alien to banks. Bitcoin is a complete contradiction to their concept and culture.

Where are we now? What is left?

We see now the first wave of P2P apps like Bitsquare and OpenBazaar operational and flourishing.
But of course there is a lot of headroom for improvements. Same like there was headroom to find creative solutions to scale Bitcoin (the right way).
It took a bit of time but solutions like Segregated Witness will give us a basket of gifts not a one-time-shot:
When you try to solve 1 problem and get 10 others solved as by-product, you know you are doing right. Then synergy happens.

That kind of synergy is what Bitsquare is aiming for. There will be soon an announcement regarding that topic.

Beside that, we are working hard to bring the project to the next level:

  • Automated trading for altcoins
  • APIs
  • The decentralized arbitration system
  • CoinJoin
  • Option trading
  • Micro credit market
  • And of course many improvements from the feedback we get from our users

If you have not already visited our survey, please lend us 5 min. of your time and let us know what you expect and think about Bitsquare.

Ready?

If we start to explore the new possibilities, potential and characteristics of decentralized applications we might end up in a completely new territory. A territory which is not built by replicating old habits from the past.
It might need a bit of openness and courage for trying out new paths, but you know:

The revolution will not be televised

New P2P network

Some of you might ask what causes the delay of the beta release which was planned for that summer.
The reason for the delay is a change in a fundamental part of the application – the P2P network.

The following might be a bit technical. If you are not interested in those details you can skip to the last paragraph as well.

DHT

Bitsquare used TomP2P which is the most mature Java DHT implementation available and I was lucky to get the author – Thomas Bocek – on board to help to fix the open issues with Nat traversal.
Those issues was the source of a constant concern since the project start as for any P2P network it is a big challenge to overcome the restrictions set up by NATs and firewalls to avoid that nodes are accessible from other nodes in the internet.

Tor

Bernd Prünster introduced another idea to me which turned out to not only solve the NAT problematic but also helps to mitigate other open issues I had with a DHT solution: Using a Tor proxy to delegate the network traffic over Tor and therefore delegate the NAT problematic to Tor, which has solved that to a very satisfying level (they even pass through Chinas great firewall).

But no worry the Bitsquare user don’t need to do anything. It is all integrated into the application and no special setup is required. There are also no performance drawbacks with the small amount of data sent by Bitsquare.

Using Tor not only solved the network connectivity issues but also adds the high level of anonymity Tor provides to Bitsquare. In fact we use Tors Hidden Services for every node to make the P2P communication completely anonymous (as far Tor provides that).
That solved another open issue with the previous solution: The offerer need to be able to get contacted by a taker and therefore leaked his IP address when publishing an offer.
Now there are no IP addresses used but onion addresses. Those cannot be used to reveal the real location or identity of the user and that previous privacy issue is therefore solved.

Flooding network

The network routing algorithm used to transport the data (offers) previously stored in the DHT to all users is now a flooding (or gossiping) algorithm. A similar one is used in Bitcoin to provide a very robust P2P network with less vulnerabilities as a structured network like a DHT.

More sophisticated and effective routing algorithms like Kademlia routing which is used in DHTs come with a serious Sybil attack risk, as anyone who can control certain nodes could control the storage of certain data. The problem is that the network ID creation is free and the network ID is used to derive the storage location. So  you can create a huge amount of netwok IDs and then select those which are giving you the control over the data storage location of the data you want to control.
That vulnerability is mitigated with the flooding algorithm as every node stores everything.

Satoshi has chosen the flooding algorithm for Bitcoins P2P network to obtain a highly decentralized and randomized network structure which is very important to secure the network against hostile takeover of parts of the network.
Though it came with some costs regarding resource usage. As we know, every full node in the Bitcoin network has to store 50 GB of blockchain data.
Luckily Bitsquare uses very small amount of short living data and the number of nodes will be much smaller as well. I estimate there will be data storage requirements of a few hundreds of Kilobytes or a few Megabytes. Each data has an expiration date, so our requirements will not cause any scalability problems.

Additionally to the publicly readable data like the offers there are data stored which need to remain private. There are trade process messages which are stored in a kind of mailbox in case the peer is offline. Those data are encrypted and signed and also sent to every node for storage. Only the receiver (who has the private key) can decrypt the data. A similar approach is used in Bitmessage.

Current state

Of course building a custom P2P network is a task which needs time and caution. That’s what causes the delay in the roadmap to release the Beta version.
The new network is basically already implemented in the application but it is not completed yet.

I hope that we can release the Beta version in about 2-6 weeks.