Note: On May 23, a number of leading players of the bitcoin community reached a consensus to enable the SegWit proposal for Bitcoin and a countdown to a 2 MB hard fork within six months. However, the scaling solution is opposed by some bitcoin core developers. Will the long-dragging debate about scalability finally come to an end? This Thursday, Charlie Lee, Samson Mow and Johnson Lau talked about everything from the HK agreement to the recent consensus at 8btc Ask Me Anything.

My first question goes to possible patent violations associated with the Segregated Witness (Segwit) protocol. How could it be deployed if violations are true?

Samson Mow: I think questions is related to a post where someone erroneously stated that Blockstream patented SegWit. That is completely false. Blockstream has no patents pertaining to SegWit. As is the case for other major protocol features, the Bitcoin developers worked carefully to not create patent complications. Segwit was a large-scale collaboration across the community, which included people who work for Blockstream among its many contributors.

Moreover, Blockstream has made a patent pledge (read more here https://blockstream.com/about/patent_pledge/) which allows anyone to utilize our patents freely for use under the Defensive Patent License (https://defensivepatentlicense.org/license), a free copyleft-style license for patents. Also, Blockstream will only use our patents defensively. Patents and patent trolls are a part of the technology landscape, however, through our patent strategy, we hope to protect open and permissionless innovation.

So to reiterate, SegWit is not patented. Blockstream does have two patents pending for technology we invented: Sidechains, and Confidential Transactions. Those two patents are offered for free usage under the DPL. That means you could start a company to develop Sidechains for companies and that’s fine; in fact there’s a startup called Chain (chain.com) that provides blockchain infrastructure for companies and they utilize our patented technology.

Samson, what do you think of Consensus 2017? Why Blockstream didn’t sign on it? And Charlie, as an developer, do you believe the recent consensus is the best solution?

Samson Mow: Blockstream was invited to the meeting, but later un-invited. If we did attend the meeting, we likely would not have signed onto the agreement for several reasons. First, I don’t think that it is a good idea for Bitcoin protocol development to be decided by a small group of businesses behind closed doors. The entire point of Bitcoin is that it’s not controlled by any group or person. If a group of businesses can decide the direction of Bitcoin’s development, then it’s really the same as AliPay. Bitcoin is digital gold. It is valuable because people value the properties it has, which are the consensus rules: 21 million coin limit, 10 minute block times, 1 MB block size, halvings every four years and so on. If we start to change the properties of Bitcoin by committee, I have no doubt that Bitcoin will lose its value. Maybe the next point of contention is the halving which may impact some companies negatively, but if we change consensus rules for convenience, it will destroy Bitcoin.

Second, the New York meeting was an attempt to bypass the BIP process where proposals are discussed amongst the development community openly for everyone to see. The BIP process is the correct method for proposals to changes to Bitcoin, not private meetings.

Third, their agreement is technically unsound on many levels, which was to be expected because no developers were present to provide input. A hard-fork in 6 months? That’s going to be a disaster. You can’t rush protocol development just as you can’t tell two women to have 1 baby in 4.5 months. Bitcoin’s market cap is $44 billion USD now, why would we want to rush a hard-fork through with an inexperienced team? Keep in mind that Jeff Garzik, who seems to be the technical lead, has done very little Bitcoin development despite billing himself as a “Core Developer.” Hard-forks require everyone in the entire network to upgrade simultaneously or there will be a split. You cannot do a hard-fork when there is contention in the community – we’ll end up with two chains chains permanently. Finally, the agreement also requires signaling SegWit and a 2MB hard-fork at the same time, however, it is not technically possible to lock in a hard-fork with a soft-fork. Impossible. After SegWit is activated, any hard-fork can trigger can be disabled, so it’s completely pointless to try and activate both at the same time – any HF code in the SegWit2x client is just a suggestion.

The signatories to the agreement all agreed to activate SegWit along with 83.28% of the hashrate controlled by mining pools, so why not just activate SegWit using BIP141 (the current mining pool signaling method to activate)? Activating SegWit with a new client (SegWit2x) developed by an inexperienced team makes no sense. It’s like you want ice cream, and instead of going to Family Mart to buy one, you create a machine to make ice cream from scratch. If they want SegWit, they should just activate it now as it is, it’s so much simpler and safer.

Charlie_Lee: I think the recent consensus on the Barry Silbert agreement is flawed. There’s really no practical way to tie a SegWit softfork with a 2mb hardfork. And different sides expect different things from the agreement. I don’t have high hopes that this will result in something successful.

Johnson_Lau: It’s great that key industrial players agreed to activate segwit. But will a hard fork be activated? I guess they have to convince the community first.

Johnson Lau cheated the whole community when he signed the HK agreement in 2016 and here again, the Consensus 2017 is all the same with the HK agreement. Don’t you have any honor?

Samson Mow: If you read the wording of the HK agreement carefully, the Core developers present had agreed to work on a hard-fork, which they did. They did not make any commitment to implement it and make it happen – that is not the job of developers, nor is it even possible. The 400 or so Bitcoin Core developers work on writing and testing the best possible software for all of us so Bitcoin runs perfectly and can be used as a store of value. People choose the implementation of Bitcoin that they want to run – and most choose Bitcoin Core because it’s has the best team behind it. The developers have as much power over what client people choose to run as you do. It can be hard for people to understand, but there is no one “in charge” of Bitcoin; it’s a decentralized system.

Samson, what would be your next job if Blockstream is forgot like the bitcoin foundation?

SamsonMow: Well, I could always work on promoting Litecoin with Charlie! 🙂

I should point out that Blockstream is actually doing quite well. Our business is providing blockchain platforms for enterprises and we have a few interesting projects underway already. Also, having raised over $80 million USD from Reid Hoffman, Sir Ka-shing Li’s Horizons Ventures, AXA Strategic Ventures, Khosla Ventures, and Digital Garage, we have a very long runway.

For me, it’s like Core refuses to make any compromise concerning the scaling solution. How good is Core in coding? If Core were knocked out, who should be responsible for coding?

Samson Mow: SegWit is actually a compromise. It was a fix for malleability, which prevents Layer 2 scaling like Lightning and also makes it harder to do things like Smart Contracts (main selling point in Ethereum), but also allows for the block size is be increased up to 4 MB – depending on the types of transactions that go into a block. If the question is why can’t Core compromise and add a hard-fork into SegWit? That’s because a hard-fork requires everyone to upgrade simultaneously and Core cannot force people to do that. It’s an impossible compromise. It’s like me saying I’ll do something for you if you get me a date with Taylor Swift – you probably can’t do that.

Moreover, there should be no compromises at the protocol level over safety and stability of the network. A soft-fork is backwards compatible and opt-in – that’s far better than a hard-fork that requires massive preparation from the entire ecosystem around the world. Soft-forks are also Satoshi Nakamoto’s preferred method to upgrade the network. Originally he used soft-forks but once he learned that things could be done with soft-forks he used them exclusively. Imagine your hard was bitten by a dog and you went to a doctor. The doctor says he will give you a Tetanus shot and put in some stitches – that’s a soft-fork like SegWit. While you’re talking to the doctor, someone who is not a doctor shouts from the hallway that you should cut your hand off – that’s a hard-fork. 🙂

Core has done an excellent job of maintaining and scaling the network for the past 7-8 years. Keep in mind that there’s no one to ask for help – this was and is cutting edge technology. I think that anyone thinking of abandoning the Bitcoin Core client doesn’t fully understand the work they are doing – Bitcoin isn’t an app on your phone, it’s a protocol like TCP/IP. It’s very complex work. Other teams have tried to modify and maintain Bitcoin Core, such as Bitcoin Unlimited, but with disastrous results. The entire network of BU nodes crashed 3 times. Not once, not twice, but three times, because they were incapable. It takes years of dedication and effort to become proficient in Bitcoin development.

I’ve got three questions for you.

What’s the fundamental difference between the HK agreement and the recent consensus?

It looks like they all support SW first and then 2M. The HK one is signed by five core developers saying a hard fork could be activated with supermajority, but the recent one has no support of core developers and it doesn’t make clear the activation threshold of 2M.

How many people support UASF now? And who are exactly users in UASF? What if some mining companies want to activate a hard fork when UASF is activated? How do you interpret this pic?

SamsonMow: If you look at the UASF website you can see that there is a lot of support actually. http://www.uasf.co/. Just a few days ago one of the biggest V P N providers posted a statement saying they support BIP148 and will stop working with BitPay if they didn’t support 148 as well. As we get closer and closer to August 1st it will be more clear how much support there is – but to answer your question, “User” is coins, nodes, businesses, and hashrate (Slush Pool recently started to allow miners to signal for 148). Bitfinex is working on a prediction marketplace for BIP148 as well, so soon we will get a good idea of how much users value Bitcoin on the BIP148 chain – which will help miners to decide which chain they will mine on.

Did you mean when UASF BIP148 happens on August 1st, some people will execute a hard-fork at that time? I’m not worried about that because they would just be forked-off the network – they need everyone to hard-fork for the coins to have value and no one is ready for a hard-fork at this time. My interpretation of the chart is that more users are starting to run nodes – it’s also similar to mining. I’m seeing a lot of users placing orders with Avalon so they can mine on the 148 chain.

I don’t think there will be any POW change unless the BIP148 chain gets attacked. POW was only discussed when Jihan was making threats that he would kill any minority chain. When people are attacked or perceived a threat, they will react – developers can only code, so their natural reaction was to talk about a POW change. However, I don’t think anyone wants a POW change – that is a nuclear option when left with no choice.

SW2M is just a political vehicle. If SW2M was just lowering the threshold from 95% to 80% that could be okay, but the problem is they want to entangle SegWit activation with a hard-fork, which is complex, but also impossible. SW2M is a convoluted way to just activate SegWit. It would be simpler if they just activated with BIP141 (95% threshold MASF) because the code is already there.

The problem with these agreements is that everyone interprets them differently. For the HK agreement, many interpreted it to mean the 5 devs would make a hard-fork happen, when the wording, and the understanding of the devs was that they would work on the research, which they did. For the NYC agreement it was even more chaotic; asking 3 companies that signed on would get you 3 different answers: SW first, HF first, and SW/HF at the same time. Anyhow, the NYC agreement was useful in that it provided a venue for everyone to publicly state that they do in fact support SegWit. So now we just need them to activate it before August 1st.

Charlie_Lee: SW2M is still being developed. I’m not sure what the difference is, but I think they want to tie a 2MB hardfork with SegWit in some way. That doesn’t make sense to me.

I think the HK agreement was SegWit first and 2M later. And some people feel like the Core developers that signed the agreement did not hold up to their end of the bargain. So the NY agreement is to force SegWit and 2M as one thing. IMO, there’s no reason why people need to force 2M hardfork this way. Just do SegWit and get the scaling benefits and do 2MB if needed later.

I think the HK agreement was SegWit first and 2M later. And some people feel like the Core developers that signed the agreement did not hold up to their end of the bargain. So the NY agreement is to force SegWit and 2M as one thing. IMO, there’s no reason why people need to force 2M hardfork this way. Just do SegWit and get the scaling benefits and do 2MB if needed later.

I have two questions to ask.

Samson Mow,I used to be a loyal supporter of Core, but I don’t understand why Core doesn’t make any compromise when mining companies are working to shake up the status quo.

Charlie_Lee: I have some portion of litecoins. It seems that no matter what ltc adopts, smart contracts or LN, will finally be deployed on bitcoin. I’d like to know what exactly will litecoin do to stop being called the replica of btc.

Samson Mow: Hi Keeking, thanks for supporting Core! I think I touched on this in another question, but negotiating on protocol development isn’t the best idea. The “problem” has always been framed in terms of a hard-fork to 2MB but from a technical perspective, it doesn’t make sense. SegWit is a 2MB block size increase (maybe more) and accomplishes the same goal. It appears that Core is unreasonable because they won’t compromise, but the compromise was unreasonable to begin with. If they have a superior technical solution, should they decide to not use it in order to make everyone happy? Is that the Bitcoin that you want to use and store your wealth it? I sure wouldn’t want that.

Increasing the block size is also a terrible method to scale. Let’s say everyone in Japan wants to make 3 tx per day. That is 127 million people x 3 = 381 million transactions. 381 million transactions is roughly 190 GB and as there are 144 blocks a day, that needs 1.3 GB blocks. Assuming 2 seconds to validate a 1 MB block, those 1.3 GB blocks need 43 minutes to validate, 33 minutes longer than the block interval.

Also, increasing the blocksize variable has other costs. It reduces decentralization and the ability for people to run their own nodes. That’s the entire point of Bitcoin, that users can validate their own transactions on the blockchain without trusting a third party. If we make it too hard for people to do that, then why do we even need Bitcoin? There are far more efficient ways to move money around. A bump to a 2MB block through a hard-fork would require the work everyone has done to prepare for SegWit to be thrown out and a new waiting period to code up a hard-fork and giving the network time to upgrade. Core is not against a hard-fork sometime to increase block size, but it’s a question of when – the Core roadmap even mentions a hard-fork a some point. However, if they can gain scale through less intrusive methods first, that should be the everyone’s preference.

Charlie_Lee: Litecoin development will likely remain closely tied to Bitcoin development. Litecoin will likely deploy some new features first just like we did SegWit. We have no plans currently to do something totally different than what Bitcoin developers are currently working on.

Welcome to 8btc, Charlie. I am a huge fan of litecoin and I hope it will not be the unbearable lightness of my life. My question is what you are doing now to make litecoin great. Is ShaolinFry a full-time developer of litecoin team? Have you tested atomic swaps on litecoin? Can you like send me a photo of yourself with your signature on it? I could use it as an amulet. (haha, Cindy asked this question)

Charlie_Lee:Our roadmap is detailed here: https://litecoincore.org/index-zh.html Rootstock on Litecoin will allow token issuance on Litecoin similar to Ethereum.

ShaolinFry has been working on Litecoin for about a year now. We have not yet tested atomic swap yet via Lightning Network. It’s something we are looking forward to. Our plans to make Litecoin great is in the roadmap.

I’m coming to China at the end of June. If we meet up, I would be happy to take pictures with people and sign things.

“If BIP148 were to fail, the alternative would result in Litecoin taking a lead over Bitcoin (already, there are Bitcoin devs defecting). For that reason, I would rather take the risk, and in the worst-case scenario turn BIP148 into an altcoin with a PoW change, so that BIP148-as-an-altcoin could be the altcoin (rather than Litecoin) that kills Bitcoin instead. In the meantime, I will do my utmost to ensure that the risks of supporting BIP148 are kept to a minimum, and a chain split unlikely or at least quickly resolved, so that BIP148 is successful at upgrading Bitcoin itself.”

This is what luke jr said. Are all core developers as crazy as him?

Johnson_Lau: Ask me the question when you stop calling luke a madman.

Charlie Lee, I have 7 questions for you. Are you ready, my man!

1, As the eth blockchain is growing, will it have the save congestion problems like bitcoin?

2, How can litecoin surpass eth when smart contracts be adopted?

3, If Core insisted on a POW change +1M, do you think this version of bitcoin stand a chance to be accepted by the economy?

4,What are the shortcomings of RootStock?

5, RootStock or Ethereum, who will take the lead?

6, Will there be two bitcoins? can they coexist?

7, When will smart contracts, smart litecoin and atomic swap be added on litecoin?

Thank you~

Charlie_Lee:1. The Ethereum blockchain is definitely growing much quicker than Litecoin and it is harder to scale well. Putting smart contracts on a sidechain will help scaling for the main chain.

2. I don’t know how hard it is to overcome the first mover advantage. I don’t see this as a winner take all game. We can grow the pie where Bitcoin, Litecoin, and Ethereum all succeed.

3. Yes, I do think most people will follow Core developers because Core developers are by far the best team out there.

4. Without it’s own token, the security can only be done with a federated chain or merged mining. There are weaknesses to both of those methods. A federated chain is centralized. And it’s hard to incentivize miners to merge mine sidechain that doesn’t give enough fees to the miners.

5. I think there’s room for both.

6. I think there will only be one Bitcoin chain.

7. That’s a better question for the RSK team.

Samson Mow, if segwit+2M were successfully deployed, is it still necessary to activate UASF?

SamsonMow: It’s not really a question of necessary or unnecessary. It’s something many users have committed to because they are tired of the politics in Bitcoin and it certainly doesn’t help when Jihan goes on Twitter to threaten the community that he will force a hard-fork. Also, people are frustrated with the stalling of new technology like Lightning and smart contracts. We saw that when SegWit was activated in Litecoin, a few things happened: 1) The price skyrocketed, and 2) developers started to get interest in working on Litecoin or doing new things on top of Litecoin.

I think the BIP148 UASF (there’s also a BIP149 UASF proposed which some devs support) is a symptom of all of this frustration and it can’t really be stopped as users are free to do what they wish – just like mining pools deciding to run Bitcoin Unlimited. The safest thing to do would be to convince mining pools to activate SegWit based on BIP141 (the current activation method), and the next safest thing is for everyone to enforce BIP148. All BIP148 does is have mining pools signal for SegWit activation – that’s all. They don’t even need to upgrade their pool software – they can just use a border node to signal. After SegWit is activated, they don’t need to mine SegWit transactions either! BIP148 just takes advantage of the existing deployment to which 80% of nodes on the network have already upgraded to. BIP149 requires BIP141 to time out in November, which means we have to wait maybe another year before SegWit can be activated.

“It doesn’t matter if a cat is black or white so long as it catches mice.” Since the NYC agreement signers already said they will activate SegWit, it shouldn’t matter to them how it’s done – either BIP141 or BIP148 should be acceptable. The choice is if they will stand by and do nothing, or take action and prevent an avoidable split.

Many say litecoin is just the copy of btc, what do you say?

SamsonMow: I think Charlie went to bed, so I can try to comment on this. Litecoin has more transaction capacity through faster block times – that should be enough. Litecoin and Bitcoin’s destinies are intertwined and it’s a good thing. Whatever Bitcoin has in the future, like Lightning or Sidechains or Smart Contracts in the future, Litecoin will also have right away. In fact as soon as SegWit was activated on Litecoin, some devs spun up Lightning and were able to send a transaction right away. Both Bitcoin and Litecoin are Layer 1 bases for technology that will be built on top, all secured with the reliability of Proof of Work through mining.

Keep in mind that Bitcoin can never serve everyone in the world right away, Gold is needed but Silver is also needed. Some people are worried that Layer 2 solutions like Sidechains and Lightning will reduce mining revenue but that’s just not going to happen. I recall a calculation someone did where they figured out it would take around 80 years for everyone in the world to open up a Lightning payment channel – that’s just people doing transactions on Layer 1 to open a channel on Layer 2 and nothing else. That’s why Litecoin is so important, because it really is the silver to Bitcoin’s gold; just as in the past people used gold to buy expensive things and silver to buy cheaper things, we will see the same utility for Litecoin as digital currencies gain traction around the world.