Scaling Bitcoin 2016: Retarget — Milan
It has been 10 months since the last Scaling Bitcoin workshops took place in Hong Kong, China. This year the workshops were held in Milan, Italy. Bitonic was a sponsor of the event, as we feel it is important to support Bitcoin development and initiatives that aid the technical consensus-building process. Four members of our team travelled to Milan to attend the workshops and participate in the discussion. For those that are not familiar with the conference yet, it is where developers, academics and researchers come together to discuss Bitcoin’s scalability issues and solutions.
The group of Dutch attendees, from left to right: Jasper (Deloitte), Jannes (Elevate), Corné (Amiko Pay), Jorn (yogh.nl), Michiel (Bitonic), Jouke (Bitonic), Jeroen (Bitonic), Daan (Bitonic) & Aaron (Bitcoin Magazine).
There were many interesting talks, covering topics such as fungibility, the Lightning Network, Sidechains, Segregated Witness and Schnorr signatures. The full talks are available on the Scaling Bitcoin Youtube channel.
Conference impressions & Hackathon
It was a valuable experience for our team to attend the Scaling Bitcoin workshops. It is inspiring to see the large group of very capable developers that are actively working to improve the Bitcoin protocol present and talk about their ideas. The atmosphere was very positive as well — everyone is passionate about Bitcoin and the enthusiastic conversations about the technology just do not seem to end.
After the conference, we stayed in Milan for another two days to participate in a hackathon where developers came together to make progress on the various scalability solutions that are currently being worked on. It was interesting to see the group come together and informally discuss implementation details and project directions. Notably, the developers behind the Lightning Network: Rusty Russel, Joseph Poon, Tadge Dryja, Corné Plooy and Olaoluwa Osuntokun (Roasbeef) seemed to make valuable progress in working out some of the specifics involved in routing, fees, and how to best (safely) approach launching the Lightning Network.
There was an additional focus on fungibility this year, emphasised by Adam Back (Blockstream) in the first talk of the conference. Back explained the current level of fungibility in Bitcoin and the effects it has on the network and its users. Many of the following talks also covered this topic: JoinMarket by Adlai Chandrasekhar, TumbleBit by Ethan Heilman and Leen AlShenibr, and MimbleWimble by Andrew Poelstra.
What is fungibility and why is it important?
Fungibility is the property of a good or commodity where each individual unit of a commodity can be equally exchanged for any other unit of that commodity; no unit is more valuable than another unit from the same commodity. Currently, in Bitcoin, it is relatively easy to check where the bitcoins you have received came from by checking the transaction history. If some bitcoins are somehow tainted or recognisable as originating from an unwanted source, it can make those bitcoins less desirable to own. This can lead to it being harder to spend the bitcoins you have received; the bitcoins might be less valuable than ‘regular’ bitcoins or a service might not accept them.
For example, if someone sold drugs on an online drug market in return for bitcoins and these bitcoins, through two or three other people, end up in your possession, you might not be able to spend those bitcoins at a service because the bitcoins are recognised as originating from an illegal source. Receiving those particular bitcoins would have a negative impact on your ownership of them, even though the drug purchase had nothing to do with you. This is something we want to avoid — you should not have to worry about whether it is safe to receive money.
Fungibility is strongly tied to privacy. While we want to preserve the equality of each unit of a currency, we also want to ensure user privacy. Third parties should not be able to identify what entities you are transacting with — we also want to preserve the freedom of personal transacting. In line with freedom of speech, freedom of religion, and freedom of association, the ability to freely transact can be stifled in certain political climates. By adding features that enhance fungibility and user privacy, the Bitcoin network will be able to function as global payment system without being affected by external (political or other) factors.
How does fungibility relate to scalability?
Adam Back also notes that features that increase fungibility and privacy sometimes also help in scalability. The reason for this is that privacy-enhancing features aim to reduce information leakage, which means there might be less information that is required to go into the blockchain. Conversely, scaling Bitcoin so that it is able to process a greater amount of transactions (data) will allow us to implement fungibility features that require more data — such as Ring Signatures and Confidential Transactions.
Work is being done on many different solutions that increase Bitcoin’s fungibility and privacy: CoinJoin, TumbleBit, Lightning (met Onion routing voor transacties), Ring Signatures (Monero), Zcash, One Way Aggregatable Signatures, Confidential Transactions and MimbleWimble.
What exactly will eventually be integrated into the Bitcoin protocol to improve fungibility is yet to be determined. Some solutions can become part of the core protocol (Ring Signatures, Confidential Transactions) and some solutions will function as layers or protocols on top of Bitcoin (CoinJoin, MimbleWimble as a Sidechain or other Sidechains solutions). What is important at this moment is awareness of the fungibility issues affecting Bitcoin so we can start working towards identifying the optimal solution before fungibility in Bitcoin starts to become problematic.
Andrew Poelstra — presentation about MimbleWimble
In addition to major extensions to the Bitcoin protocol like the Lightning Network, work continues on protocol optimizations. Naturally, Segregated Witness (SegWit) cannot be left out of this coverage. Greg Sanders (Blockstream) presented an update on SegWit progress, after it was introduced as a scaling solution by Pieter Wuille last year in Hong Kong. SegWit is one of the largest changes to Bitcoin ever, as it affects all layers of the Bitcoin code: the peer-to-peer protocol, transactions, wallets and the consensus mechanism. For this reason, although SegWit development is close to completion, it is important to make sure the release is free of bugs and other issues. SegWit is currently activated on the Bitcoin testnet and close to deployment on the Bitcoin mainnet.
Scalability = optimization
This year in Milan, Pieter Wuille presented on Schnorr Signatures as a scaling solution. Wuille estimated that Schnorr signatures could provide a 20% decrease in the amount of data required in the blockchain. In addition, he noted that Schnorr Signatures incentivise users to use CoinJoin as the cost for doing a CoinJoin transaction is now shared by all participants — increasing fungibility. Although this scaling win is not as significant as SegWit or the Lightning Network, hearing about optimizations and protocol improvements such as this gets us excited for what is to come.
All in all, attending a conference such as this, it again becomes clear that many bright and passionate minds from diverse backgrounds all over the world are involved in making significant progress to Bitcoin development.
Other interesting projects are already in the works; development on MAST (Merkelized Abstract Syntax Trees) has started. More on this soon!