Forum rules
The more people that are involved, the more interesting this AMA series will be for everyone.
Please help spread the word of this amazing AMA series on your own social media. (YES, EVEN YOURS!)
Short URL: AMA.Bitcoin.com
Hashtag: #BTCAMA
When the AMAs are finished, all the answers will be compiled into a free E-book!
AndrewStone
AMA
AMA
Posts: 20
Joined: Mon Nov 02, 2015 2:52 pm

Donate BTC of your choice to 1zerg12nRXZ41Pw4tfCTqgtdiJx6D1We3

Contact: Website

I am Andrew Stone (theZerg) of Bitcoin Unlimited, AMA -- STARTS TUES DEC 8, 10AM

Sat Dec 05, 2015 4:25 am

I will be answering questions starting at 10AM EST (3PM UTC) on Tuesday December 8.

Bitcoin Unlimited is a group of people who believe in a set of interrelated ideas. Here is a summary
* Bitcoin is a public good
* The current Bitcoin Core project's authoritative leadership style does not give a voice to many participants in the Bitcoin ecosystem. We have written a careful document that should prevent a cadre of people from taking a project "hostage".
* The Bitcoin P2P network should be for people, not for settlement or for the sake of itself.
* The block size should not be part of the consensus -- it should be part of the network layer.
* 0-conf transactions are useful.

We have produced a fork of Bitcoin Core that has some interesting features. For example, the Bitcoin Unlimited client chooses the "most-work" chain as the active chain regardless of block size, yet allows clients to "discourage" excessively large blocks.

You can read more about it here: http://www.bitcoinunlimited.info/

I will be answering questions starting at 10AM EST (3PM UTC) on Tuesday December 8. AMA!

EDIT: Ok thanks for all the great questions! I'm am going AFK but I'll be monitoring this thread and answering more questions as time permits!
Last edited by AndrewStone on Wed Dec 09, 2015 12:12 am, edited 3 times in total.

User avatar
Windowly
Junior Mod
Junior Mod
Posts: 414
Joined: Sat Nov 21, 2015 7:46 am

Donate BTC of your choice to qrd9y7aas8ce7hla5mlcrcjjmhld3v84zghvylyq

Contact: Twitter

Re: I am Andrew Stone of Bitcoin Unlimited, AMA

Sat Dec 05, 2015 1:13 pm

Wow this sounds pretty interesting.

When did you start getting interested in bitcoin? How did you start getting interested in bitcoin? What aspect of bitcoin most attracted you to the space?

What are some of the plans of Bitcoin unlimited in the next month, next couple months and next year?
Signing Address: qrd9y7aas8ce7hla5mlcrcjjmhld3v84zghvylyqm4

bitsko
Posts: 6
Joined: Thu Sep 24, 2015 1:31 am

Re: I am Andrew Stone of Bitcoin Unlimited, AMA

Sat Dec 05, 2015 5:23 pm

Hello sir. Is it true that bitcoin unlimited came together in the bitco.in forums, specifically 'gold collapsing bitcoin up'?

That forum seems to be a good place for free discussion... recently on /r/btc a moderator banned several users and told one to go have a snickers, and also, in the past, Roger denied sharing of any links.

Is this evidence that power corrupts, the risk of roger's new push ending up the same place those who left theymos' forums wanted to avoid...


What, if anything, can be done to make sure bitcoin unlimited doesnt fall victim to an ambitious, power seeking person to the detriment of bitcoin as a whole?

Edit: http://www.bitcoinunlimited.info/articlesOfFederation

I see this was thought of already...

User avatar
BitcoinXio
Global Moderator
Global Moderator
Posts: 161
Joined: Mon Sep 21, 2015 4:12 pm
Contact: Website

Re: I am Andrew Stone of Bitcoin Unlimited, AMA

Sat Dec 05, 2015 5:40 pm

recently on /r/btc a moderator banned several users and told one to go have a snickers, and also, in the past, Roger denied sharing of any links.
Hi bitsko, I'm a mod there too and I want to clarify your statement and add actual facts to it. There were only three users banned in regards to the issue you are referencing, where all three banned users all have been unbanned to give them a second chance. Everyone is welcome to post in that sub and nobody is censored, but it is moderated for spam and trolls.

User avatar
BitcoinXio
Global Moderator
Global Moderator
Posts: 161
Joined: Mon Sep 21, 2015 4:12 pm
Contact: Website

Re: I am Andrew Stone of Bitcoin Unlimited, AMA

Sat Dec 05, 2015 6:26 pm

Thank you for the reply, bitcoinxio. It was getting lonely under the rug.

I am wondering what you mean though, calling your facts 'actual'?

Several is more than 2, but not many. Jstofi is a bitcoin sceptic, and edmundedgar and imaginary_username are anything but trolls.

Furthermore, how can a refusal to share links be seen as anything but an attempt to direct the masses to those places which benefit Mr. Ver solely, whether or not it's for the best in regard to those masses?
Please open a new topic to discuss. This is an AMA thread and not appropriate for this discussion. Thanks.

User avatar
Skin_in_the_game
Nickel Bitcoiner
Nickel Bitcoiner
Posts: 54
Joined: Thu Nov 19, 2015 6:51 pm

Re: I am Andrew Stone of Bitcoin Unlimited, AMA

Sat Dec 05, 2015 6:34 pm

Hello Andrew

I was re-reading Antifragile by iconoclast thinker Nassim Taleb recently. He writes
"Never ask anyone for their opinion [...] Just ask them what they have -or don't have- in their portfolio"
I have come to think it's a very relevant question and you can better weight people's opinions having an idea of how many Bitcoins they hold (or do not hold.) So Instead of asking their opinion on bitcoin, I'm now asking every participants the same question:

- Do you mind to tell us which percentage of your personal net worth and/or liquid assets you hold in Bitcoins ?

ByzantineGeneral
Posts: 2
Joined: Sat Dec 05, 2015 7:00 pm

Re: I am Andrew Stone of Bitcoin Unlimited, AMA -- STARTS TUES DEC 8, 10AM

Sat Dec 05, 2015 7:09 pm

Hi Andrew,

Thanks for doing the AMA and driving this initiative forward. Two questions:

1. Many of the #bitcoin-wizards claim that all nodes must have exactly the same consensus rules. However, I understand that BitcoinUnlimited nodes can somehow adjust their individual block size limit, but still be guaranteed to track consensus. Can you explain this in more detail? Why do people like maaku, nullc, adam3us, kanzure, etc., claim that this is impossible? Have you proven that your technique works empirically?

2. Why did you choose the name "Bitcoin Unlimited"? I understand that the block size limit is not necessarily unlimited.

Thanks!

dgenr8
Posts: 2
Joined: Sat Dec 05, 2015 7:13 pm

Donate BTC of your choice to 1AQ8qXyQCvt8Lrd6Jf5iHAS9rcMXswbquc

Contact: Twitter

Re: I am Andrew Stone of Bitcoin Unlimited, AMA -- STARTS TUES DEC 8, 10AM

Sat Dec 05, 2015 7:24 pm

Hi Andrew --

With unlimited block sizes, aren't you concerned that a few extra-large blocks will get included, that are near the threshold of what the network can currently tolerate? Wouldn't this put an undue strain on the network since all nodes would then have to "swallow" these lumps to even start running (and every time they wanted to re-index the chain)? Wouldn't many otherwise perfectly adequate nodes be unable to participate?

Thank you!

bitcoinsteffen
Posts: 3
Joined: Sat Oct 03, 2015 1:57 pm

Re: I am Andrew Stone (theZerg) of Bitcoin Unlimited, AMA -- STARTS TUES DEC 8, 10AM

Tue Dec 08, 2015 7:31 am

Hi theZerg

Thank you very much for your Bitcoin Unlimited Initiative and for doing this AMA.

First, as I see the block size situation it is no longer about which way to scale bitcoin. It is about keeping open the original and tested scaling method with more and more traditional bitcoin transactions. We know that way can work. If not, the bitcoin network would already have been smashed. There may be "smarter" ways to scale but that is pure speculation. Those possibly smarter scaling methods may be vulnerable to attacks. Our focus should be on keeping the original path open. The block size limit serves the same purpose as a road block.

If or when that road block is removed user confidence and investor confidence in bitcoin will rise significantly leading to an increase in the bitcoin price. That price increase will make it more profitable to be a bitcoin miner which will attract more miners and make the bitcoin network safer. It will also lead to a new wave of bitcoin users attracted by the higher prize.

I expect that those in the bitcoin network who will face attempt to lift or remove the block size limit will face a huge denial of service attack from different forces of destruction. That is what we saw happen in August to those who adopted Bitcoin CT. The attackers won that battle. My main idea for dealing with this challenge is:
Prevent all access to the upgraded bitcoin nodes from Tor, either permanently or temporarily. This can be attempted at different levels, i.e at the bitcoin software level, the operating system level, the local network level at the miners/nodes, and/or further upstream at the ISPs. One method doesn't exclude the other. The purpose is that whatever attack we will face will at least reveal the ip addresses of the attackers. If we do not succeed in the first attempt of removing the block size limit we will at least be better prepared for a second attempt. We will be in a better position to start a public outcry and block traffic from known attackers. In the next attempt at lifting the block size limit all traffic from ip addresses controlled by attackers can hopefully be blocked at the level where it is most effective.

Comments?

Second, do you see any ways a bitcoin owner can use his bitcoins to "vote" for a bigger block size?

Third, I fear some of the "smarter" bitcoin scaling solutions risk taking away the profitability of mining in the other end of the life cycle of the bitcoin system, ie when miners will need to earn large transaction fees to be profitable. That will only be possible if the miners get to include a large volume of transactions in their blocks. A small transaction fee from a huge number of transactions can still become a large income. If the miners are deprived of most of the transaction volume mining will not be profitable unless most miners leave the business. That will make the bitcoin network very vulnerable and might ultimately kill bitcoin. The solution is to let the block size grow and avoid implementing ”smarter” bitcoin scaling which risk undermining the long term profitability of bitcoin mining. Do you agree?

Best Regards
Bitcoinsteffen
http://bitcoinsteffen.com/en/

randy-lawnmole
Posts: 2
Joined: Tue Nov 03, 2015 10:48 pm

Re: I am Andrew Stone (theZerg) of Bitcoin Unlimited, AMA -- STARTS TUES DEC 8, 10AM

Tue Dec 08, 2015 4:00 pm

I will be answering questions starting at 10AM EST (3PM UTC) on Tuesday December 8.

We have produced a fork of Bitcoin Core that has some interesting features. For example, the Bitcoin Unlimited client chooses the "most-work" chain as the active chain regardless of block size, yet allows clients to "discourage" excessively large blocks.
Hi Andrew

Thanks for doing this.

Can you give some more detail, (preferably not too technical) on how the Unlimited client discourages large blocks. How does this incentive work in practice? There seems to be quite some talk of removing the block size limit altogether and leaving it to the free market, but the main argument against this is 'mining decentralization', in your mind how does this play out?

AndrewStone
AMA
AMA
Posts: 20
Joined: Mon Nov 02, 2015 2:52 pm

Donate BTC of your choice to 1zerg12nRXZ41Pw4tfCTqgtdiJx6D1We3

Contact: Website

Re: I am Andrew Stone of Bitcoin Unlimited, AMA

Tue Dec 08, 2015 4:00 pm

Wow this sounds pretty interesting.

When did you start getting interested in bitcoin? How did you start getting interested in bitcoin? What aspect of bitcoin most attracted you to the space?

What are some of the plans of Bitcoin unlimited in the next month, next couple months and next year?

> When did you start getting interested in bitcoin? How did you start getting interested in bitcoin?

I am a software developer but I taught myself hardware design and produced and sold an Arduino compatible LED driver in 2011. Since I was sourcing parts and building boards in China and then selling internationally about 10% of the list price of the board was consumed by money transfer fees. It cost more to move the money than it cost to ship the boards. But the kicker came when BMW started using my boards in a few of their prototype cars. I could not get paid via a wire transfer to my credit union. Bank tellers were not even aware that their bank's wire transfers did not work internationally. Finally I had to get a separate account at a "big box" bank, and eat their high fees and predatory business practices. I discovered Bitcoin while looking for a solution.

> What aspect of bitcoin most attracted you to the space?

The time and monetary efficiencies gained during international p2p and b2b payments.


> What are some of the plans of Bitcoin unlimited in the next month, next couple months and next year?

That is up to the officers and members.

AndrewStone
AMA
AMA
Posts: 20
Joined: Mon Nov 02, 2015 2:52 pm

Donate BTC of your choice to 1zerg12nRXZ41Pw4tfCTqgtdiJx6D1We3

Contact: Website

Re: I am Andrew Stone of Bitcoin Unlimited, AMA

Tue Dec 08, 2015 4:03 pm

Hello sir. Is it true that bitcoin unlimited came together in the bitco.in forums, specifically 'gold collapsing bitcoin up'?
Yes, BU ideas are the product of many individual contributions.
That forum seems to be a good place for free discussion... recently on /r/btc a moderator banned several users and told one to go have a snickers, and also, in the past, Roger denied sharing of any links.
Is this evidence that power corrupts, the risk of roger's new push ending up the same place those who left theymos' forums wanted to avoid...
What, if anything, can be done to make sure bitcoin unlimited doesnt fall victim to an ambitious, power seeking person to the detriment of bitcoin as a whole?
Edit: http://www.bitcoinunlimited.info/articlesOfFederation
Yes. BU recognises that people who are not developers have important perspectives that need to be included in determining the future of Bitcoin.

Before I wrote a line of code I wrote these articles in an attempt to create a client whose direction reflects the will of the majority. To the anarchists or libertarians out there: I believe that whenever people work together there must be some structure to ensure that the working actually is "together". You can choose to design this structure ("aka" government) like you would a computer program, or you can simply let it evolve. But the natural result of an evolved government is a monarchy or oligarchy run by those with serendipidous positioning and the desire to be king.

AndrewStone
AMA
AMA
Posts: 20
Joined: Mon Nov 02, 2015 2:52 pm

Donate BTC of your choice to 1zerg12nRXZ41Pw4tfCTqgtdiJx6D1We3

Contact: Website

Re: I am Andrew Stone of Bitcoin Unlimited, AMA

Tue Dec 08, 2015 4:04 pm

Hello Andrew

I was re-reading Antifragile by iconoclast thinker Nassim Taleb recently. He writes
"Never ask anyone for their opinion [...] Just ask them what they have -or don't have- in their portfolio"
I have come to think it's a very relevant question and you can better weight people's opinions having an idea of how many Bitcoins they hold (or do not hold.) So Instead of asking their opinion on bitcoin, I'm now asking every participants the same question:

- Do you mind to tell us which percentage of your personal net worth and/or liquid assets you hold in Bitcoins ?
My personal interests are absolutely aligned with the long term success of Bitcoin. I hold more bitcoins than financial advisors would deem appropriate. I don't hold on margin, and my salary is in an unrelated field so I'm not looking for a quick pump, which results ofc in the inevitable dump.

AndrewStone
AMA
AMA
Posts: 20
Joined: Mon Nov 02, 2015 2:52 pm

Donate BTC of your choice to 1zerg12nRXZ41Pw4tfCTqgtdiJx6D1We3

Contact: Website

Re: I am Andrew Stone of Bitcoin Unlimited, AMA -- STARTS TUES DEC 8, 10AM

Tue Dec 08, 2015 4:46 pm

Hi Andrew,

Thanks for doing the AMA and driving this initiative forward. Two questions:

1. Many of the #bitcoin-wizards claim that all nodes must have exactly the same consensus rules. However, I understand that BitcoinUnlimited nodes can somehow adjust their individual block size limit, but still be guaranteed to track consensus. Can you explain this in more detail? Why do people like maaku, nullc, adam3us, kanzure, etc., claim that this is impossible? Have you proven that your technique works empirically?
You can throw anything into the set of consensus rules but that does not mean it must or should be there. I believe that block size should be part of the network layer, not the consensus layer. In protocol design, there is a aphorism "Be lenient about what you accept, and careful about what you produce". We can apply this to the block size. BU will accept (but discourage) very large blocks, and generate (mine) with a much more conservative block size.

The way this works in Bitcoin Unlimited is that the generated (mined) maximum block size is separated from that of the received block size. And the received block size limit is replaced with the concept of an "excessive" block. An excessive block is bigger than this node's operator desires that the network produce.

What happens is that Bitcoin Unlimited tracks the "most work" chain. Let's say the current active chain tip is block N. If block N+1a is an "excessive" block, that block is essentially considered a fork. The active chain stays at N. If the "excessive" fork grows beyond a parameter we call the "acceptance depth" (A), then it (N+A) becomes the active chain. If people ignore the excessive block and mine a block N+1b then that becomes the active chain tip and the excessive block N+1a is orphaned. The BU client "helps" the network ignore the excessive block by refusing to relay it -- this allows the client to essentially "vote" for its block size preference.

I have triggered these excessive block forks and rejoins on regtest (its essentially your own private blockchain), and Bitcoin Unlimited clients have been involved in the fracas on testnet, including mining both < 1MB and > 1MB blocks. On testnet I unwound over 1000 blocks on the < 1MB fork and switched to the > 1MB fork. This situation is unlikely to happen on mainnet and I'll be honest it needs optimization -- 100% CPU for many hours.

2. Why did you choose the name "Bitcoin Unlimited"? I understand that the block size limit is not necessarily unlimited.
I forget who came up with the name; you can look at the history of the bitco.in GCBU thread to find out!

It refers to "unlimited" blocks -- the client WILL accept blocks of unlimited size (well, in practice right now the max message is 10x the excessive block size -- but you can change the excessive block size without restarting)

But it refers perhaps more importantly to giving the users "unlimited" control of the operation of their own client -- as compared to having a small group of devs decide what's best for your and everyone else's situation.

AndrewStone
AMA
AMA
Posts: 20
Joined: Mon Nov 02, 2015 2:52 pm

Donate BTC of your choice to 1zerg12nRXZ41Pw4tfCTqgtdiJx6D1We3

Contact: Website

Re: I am Andrew Stone of Bitcoin Unlimited, AMA -- STARTS TUES DEC 8, 10AM

Tue Dec 08, 2015 4:56 pm

Hi Andrew --

With unlimited block sizes, aren't you concerned that a few extra-large blocks will get included, that are near the threshold of what the network can currently tolerate? Wouldn't this put an undue strain on the network since all nodes would then have to "swallow" these lumps to even start running (and every time they wanted to re-index the chain)? Wouldn't many otherwise perfectly adequate nodes be unable to participate?

Thank you!
This is an excellent question and it reflects the concern of many engineers who are used to being able to control operating parameters in great detail. However this kind of control is not possible in untrusted loosely coupled distributed computing and sometimes this is an advantage rather than a liability.

In any network, "gigantic" blocks propagate at a disadvantage due to network bandwidth and validation time. Peter_R's fee market paper talks about this.

In a network dominated by BU nodes, these blocks will be even more disadvantaged because they will not be relayed by all the nodes whose "excessive block" setting is smaller then this node.

And even if they were included in in the active chain they will consume resources that result in smaller subsequent blocks, resulting in a maximum network-wide average txn throughput via a process I will describe in a forthcoming paper.

AndrewStone
AMA
AMA
Posts: 20
Joined: Mon Nov 02, 2015 2:52 pm

Donate BTC of your choice to 1zerg12nRXZ41Pw4tfCTqgtdiJx6D1We3

Contact: Website

Re: I am Andrew Stone (theZerg) of Bitcoin Unlimited, AMA -- STARTS TUES DEC 8, 10AM

Tue Dec 08, 2015 5:07 pm

Hi theZerg

I expect that those in the bitcoin network who will face attempt to lift or remove the block size limit will face a huge denial of service attack from different forces of destruction. That is what we saw happen in August to those who adopted Bitcoin CT. The attackers won that battle. My main idea for dealing
Comments?
It is truly unfortunate that some people choose to argue this using underhanded methods. And let me include in this pile the "scalability testing" spam that was probably generated by someone who wanted larger blocks. But I do not think we should spend a lot of time pre-emptively fighting against these underhanded methods -- especially the ones that encourage "mutually assured destruction".
Second, do you see any ways a bitcoin owner can use his bitcoins to "vote" for a bigger block size?
The 3 problem with this is:
1. to get people to take their coins out of storage, and
2. who gets to vote the coins held on exchanges?
3. why should the economic majority decide?

But its still a very interesting idea. On bitco.in we have briefly discussed a solution which would make people take coins out once, but then could vote many times.
Third, I fear some of the "smarter" bitcoin scaling solutions risk taking away the profitability of mining in the other end of the life cycle of the bitcoin system, ie when miners will need to earn large transaction fees to be profitable. That will only be possible if the miners get to include a large volume of transactions in their blocks. A small transaction fee from a huge number of transactions can still become a large income. If the miners are deprived of most of the transaction volume mining will not be profitable unless most miners leave the business. That will make the bitcoin network very vulnerable and might ultimately kill bitcoin. The solution is to let the block size grow and avoid implementing ”smarter” bitcoin scaling which risk undermining the long term profitability of bitcoin mining. Do you agree?

Best Regards
Bitcoinsteffen
http://bitcoinsteffen.com/en/

Yes I think that they do take profitability away from miners. And ideas like LN could require money transmitter licenses. So I am in favor of scaling the core protocol as much as possible, while still allowing dedicated individual participants if they are willing to spend some money or live in a location with good network connectivity, and allowing groups of people to create a shared full node in areas with worse infrastructure.

I believe that scaling main-chain transactions will result in increased adoption which will result in increased full nodes by companies and individuals who suddenly have a vested interest in the network.

Main-chain scaling is not "kicking the can down the road" because the road is widening fast. While ideas like BIP101 require us to project far into the future, and BIP100 puts voting solely in the hands of miners, Bitcoin Unlimited puts "voting" in the hands of every full node -- the max block size emerges from the "excessive" settings on all nodes and the increased orphan probability that that creates. These settings reflect the underlying capability of the network and processing power the node is running on. We do not need to make future projections... let's let our future selves make the decision collectively and in a manner that is connected to underlying fundamentals.

And when we do hit the real limits of the underlying network and processing hardware, then by all means use the excellent L2 ideas that have been presented.

AndrewStone
AMA
AMA
Posts: 20
Joined: Mon Nov 02, 2015 2:52 pm

Donate BTC of your choice to 1zerg12nRXZ41Pw4tfCTqgtdiJx6D1We3

Contact: Website

Re: I am Andrew Stone (theZerg) of Bitcoin Unlimited, AMA -- STARTS TUES DEC 8, 10AM

Tue Dec 08, 2015 5:26 pm

Hi Andrew

Thanks for doing this.

Can you give some more detail, (preferably not too technical) on how the Unlimited client discourages large blocks. How does this incentive work in practice? There seems to be quite some talk of removing the block size limit altogether and leaving it to the free market, but the main argument against this is 'mining decentralization', in your mind how does this play out?
The Unlimited client lets each user configure the "excessive" block size. If a block is bigger than this size, it does not become part of the active chain (its not fully accepted by your client) until the rest of the network has essentially indicated that it accepts this block size by mining N (the user picks N) blocks on top of it. At that point the Unlimited client accepts the excessive block and the block is added to the active chain.

The Unlimited client won't relay "excessive" blocks to other nodes until it has been accepted into the active chain. This behavior slows the propagation of excessive blocks through the network, which means the block is more likely to be orphaned. This discourages large blocks.


Mining decentralization:

I think that the primary force creating miner centralization (especially in the context of mining pools vs miners) is access to premium hardware and cheap electricity. Regardless of your opinion, from a analytic point of view, we can't "control for" that effect so any claim that large blocks promote centralization is not empirically based.

I think that adding the ability to process large blocks is tiny compared to the cost of mining hardware. However, certain miners may have optimized the electricity cost vs. bandwidth cost equation dramatically in favor of electricity. This optimization is unfortunately detrimental to the network as a whole because it inhibits growth, and may be detrimental to the miner's own profitability because stifling network growth will stifle the price of the mined Bitcoins. I believe that the price of the coin is significantly based on future potential so miners may be in for a very nasty surprise if that potential is removed.

But we should not make decisions on speculation: I would love to hear from miners in this situation and we could then work to create a transitional period, or special relay nodes that allows the miner to re-optimize his deployment.

ByzantineGeneral
Posts: 2
Joined: Sat Dec 05, 2015 7:00 pm

Re: I am Andrew Stone of Bitcoin Unlimited, AMA -- STARTS TUES DEC 8, 10AM

Tue Dec 08, 2015 6:17 pm

Hi Andrew,

Thanks for doing the AMA and driving this initiative forward. Two questions:

1. Many of the #bitcoin-wizards claim that all nodes must have exactly the same consensus rules. However, I understand that BitcoinUnlimited nodes can somehow adjust their individual block size limit, but still be guaranteed to track consensus. Can you explain this in more detail? Why do people like maaku, nullc, adam3us, kanzure, etc., claim that this is impossible? Have you proven that your technique works empirically?
You can throw anything into the set of consensus rules but that does not mean it must or should be there. I believe that block size should be part of the network layer, not the consensus layer. In protocol design, there is a aphorism "Be lenient about what you accept, and careful about what you produce". We can apply this to the block size. BU will accept (but discourage) very large blocks, and generate (mine) with a much more conservative block size.

The way this works in Bitcoin Unlimited is that the generated (mined) maximum block size is separated from that of the received block size. And the received block size limit is replaced with the concept of an "excessive" block. An excessive block is bigger than this node's operator desires that the network produce.

What happens is that Bitcoin Unlimited tracks the "most work" chain. Let's say the current active chain tip is block N. If block N+1a is an "excessive" block, that block is essentially considered a fork. The active chain stays at N. If the "excessive" fork grows beyond a parameter we call the "acceptance depth" (A), then it (N+A) becomes the active chain. If people ignore the excessive block and mine a block N+1b then that becomes the active chain tip and the excessive block N+1a is orphaned. The BU client "helps" the network ignore the excessive block by refusing to relay it -- this allows the client to essentially "vote" for its block size preference.

I have triggered these excessive block forks and rejoins on regtest (its essentially your own private blockchain), and Bitcoin Unlimited clients have been involved in the fracas on testnet, including mining both < 1MB and > 1MB blocks. On testnet I unwound over 1000 blocks on the < 1MB fork and switched to the > 1MB fork. This situation is unlikely to happen on mainnet and I'll be honest it needs optimization -- 100% CPU for many hours.
That sounds awesome! It's like we can have the benefits of a limit and the benefits of NO limit at the same time.

But I'm still confused on why the Core devs disagree with you about this. I thought I've even heard some of them say that it's impossible for nodes to come to consensus without all having the EXACT same rules--even bug-for-bug compatibility. Is the idea just too new and perhaps they haven't properly understood it, or thought about it enough?

AndrewStone
AMA
AMA
Posts: 20
Joined: Mon Nov 02, 2015 2:52 pm

Donate BTC of your choice to 1zerg12nRXZ41Pw4tfCTqgtdiJx6D1We3

Contact: Website

Re: I am Andrew Stone of Bitcoin Unlimited, AMA -- STARTS TUES DEC 8, 10AM

Tue Dec 08, 2015 7:06 pm


You can throw anything into the set of consensus rules but that does not mean it must or should be there. I believe that block size should be part of the network layer, not the consensus layer. In protocol design, there is a aphorism "Be lenient about what you accept, and careful about what you produce". We can apply this to the block size. BU will accept (but discourage) very large blocks, and generate (mine) with a much more conservative block size.

The way this works in Bitcoin Unlimited is that the generated (mined) maximum block size is separated from that of the received block size. And the received block size limit is replaced with the concept of an "excessive" block. An excessive block is bigger than this node's operator desires that the network produce.

What happens is that Bitcoin Unlimited tracks the "most work" chain. Let's say the current active chain tip is block N. If block N+1a is an "excessive" block, that block is essentially considered a fork. The active chain stays at N. If the "excessive" fork grows beyond a parameter we call the "acceptance depth" (A), then it (N+A) becomes the active chain. If people ignore the excessive block and mine a block N+1b then that becomes the active chain tip and the excessive block N+1a is orphaned. The BU client "helps" the network ignore the excessive block by refusing to relay it -- this allows the client to essentially "vote" for its block size preference.

I have triggered these excessive block forks and rejoins on regtest (its essentially your own private blockchain), and Bitcoin Unlimited clients have been involved in the fracas on testnet, including mining both < 1MB and > 1MB blocks. On testnet I unwound over 1000 blocks on the < 1MB fork and switched to the > 1MB fork. This situation is unlikely to happen on mainnet and I'll be honest it needs optimization -- 100% CPU for many hours.
That sounds awesome! It's like we can have the benefits of a limit and the benefits of NO limit at the same time.

But I'm still confused on why the Core devs disagree with you about this. I thought I've even heard some of them say that it's impossible for nodes to come to consensus without all having the EXACT same rules--even bug-for-bug compatibility. Is the idea just too new and perhaps they haven't properly understood it, or thought about it enough?
I haven't heard any Core devs offer an opinion one way or another.

However, the statement "it's impossible for nodes to come to consensus without all having the EXACT same rules" is only true if the rules can only result in a boolean decision -- in a "yes" or "no" choice. And in general, this is the way the Satoshi client is implemented today. But that is typically not the way the world works.

The reality is that consensus can be less rigid if we let it.

An example of this is the "soft fork". Basically to create a soft fork, engineers find and exploit holes in today's rigid consensus algorithm -- holes that trick an older client into accepting a block or transaction as "valid" even though our new meaning (for that transaction) is very different from what the older client thinks it means. So engineers are exploiting a lack of rigidity in the consensus model.

But It would have been a lot cleaner if the consensus algorithm was programmed to accept some things that it didn't understand but flag any coins associated in a manner similar to the way 0-conf coins are shown but not added to your balance. In this way, a less rigid consensus algorithm results in a better user experience -- it becomes completely clear to a user that he must upgrade the client in order to spend these coins.

With Bitcoin Unlimited I am looking at providing a client that does not just "fork off" whenever something is slightly awry. Instead it would alert the user -- "The network seems to be tracking consensus on a blockchain that I have rejected", or "Danger, there are currently 2 non-trivial forks in the chain; you may want to investigate this situation". And it could require "are you really really sure" type dialogs before spending coins...

greenabacus
Posts: 8
Joined: Thu Nov 05, 2015 4:42 pm

Re: I am Andrew Stone (theZerg) of Bitcoin Unlimited, AMA -- STARTS TUES DEC 8, 10AM

Tue Dec 08, 2015 8:36 pm

Elsewhere Andreas wrote this:
I am not at all concerned about fragmentation of value. The market for digital currencies follows a power-law distribution (also known as a long-tail). Most of the value (90%) will be in 2-3 coins, with the other 10% divided among hundreds or thousands of coins.

In fact, alt-coins benefit bitcoin. Bitcoin is the primary reserve currency that supports all alt-coins. Want to buy an alt-coin? You have to spend bitcoin! All this ends up creating more liquidity and investment in bitcoin, as much as it fragments the value.
If BU exceeds regular Bitcoin in censorship resistance, I would hope that BU becomes the 'primary reserve currency'; otherwise, people will have to first interface with a possibly centralized cryptocurrency (settlement layers, etc) before interacting with the BU ecosystem.

Given these assumptions, how would you envision the BU ecosystem scaling in such a way to facilitate the transfer of wealth from a more centralized system to one which is free and censorship resistant - the ideal to which I presume BU aspires?

Thank you!

AndrewStone
AMA
AMA
Posts: 20
Joined: Mon Nov 02, 2015 2:52 pm

Donate BTC of your choice to 1zerg12nRXZ41Pw4tfCTqgtdiJx6D1We3

Contact: Website

Re: I am Andrew Stone (theZerg) of Bitcoin Unlimited, AMA -- STARTS TUES DEC 8, 10AM

Tue Dec 08, 2015 9:32 pm

Elsewhere Andreas wrote this:
I am not at all concerned about fragmentation of value. The market for digital currencies follows a power-law distribution (also known as a long-tail). Most of the value (90%) will be in 2-3 coins, with the other 10% divided among hundreds or thousands of coins.

In fact, alt-coins benefit bitcoin. Bitcoin is the primary reserve currency that supports all alt-coins. Want to buy an alt-coin? You have to spend bitcoin! All this ends up creating more liquidity and investment in bitcoin, as much as it fragments the value.
If BU exceeds regular Bitcoin in censorship resistance, I would hope that BU becomes the 'primary reserve currency'; otherwise, people will have to first interface with a possibly centralized cryptocurrency (settlement layers, etc) before interacting with the BU ecosystem.

Given these assumptions, how would you envision the BU ecosystem scaling in such a way to facilitate the transfer of wealth from a more centralized system to one which is free and censorship resistant - the ideal to which I presume BU aspires?

Thank you!
Bitcoin Unlimited is not an altcoin or a fork; its a bitcoin client like XT and Core. The difference is that it tracks the most-work blockchain regardless of block size. So if bitcoin forks, BU will follow the fork with the mining majority. That could be the < 1MB core fork, or it could be some > 1MB fork. It does this because we agree with Satoshi that the consensus algorithm appropriate for the blockchain is also appropriate for consensus on these issues. The final sentence of the Bitcoin white paper states:
They [nodes/miners] vote with their CPU power, expressing their acceptance of valid blocks by working on extending them and rejecting invalid blocks by refusing to work on them. Any needed rules and incentives can be enforced with this consensus mechanism. (emphasis added)
So unless an altcoin overtakes bitcoin, the Bitcoin Unlimited client will likely be on the Blockchain that today's Bitcoin exchanges are using.

Now to answer you scaling question, I believe that Bitcoin should scale in multiple dimensions to achieve its maximum potential. This includes BIP101 style scaling, and it includes optimizations like IBLT or thin blocks.

Today Gregory Maxwell said in his "Capacity increases for the Bitcoin system" posting to bitcoin-dev:
Since Bitcoin is an electronic cash, it _isn't_ a generic database;
the demand for cheap highly-replicated perpetual storage is unbounded,
and Bitcoin cannot and will not satisfy that demand for non-ecash
(non-Bitcoin) usage
, and there is no shame in that. Fortunately, Bitcoin
can interoperate with other systems that address other applications,
and--with luck and hard work--the Bitcoin system can and will satisfy
the world's demand for electronic cash.
I believe that the market should be making the decision of what should be on the Blockchain based on transaction fee, not Gregory Maxwell.
I believe that the market should be making the decision of how big blocks should be, not Gregory Maxwell.

I believe that this comment of his should be a wake-up call for every company who plans to provide a non-cash service on top of Bitcoin -- and I think this is a LOT of companies given how "hot" "Blockchain" is right now. If you want your service to use the Bitcoin blockchain you need to start talking to each other, purchasing mining capacity, and planning in other ways for that to happen. The Bitcoin Unlimited project has a carefully designed organization Articles that will allow you to present ideas to the community, before spending a lot of money developing them. If they are accepted your organization can then write and contribute the code.

User avatar
ronnieb
Nickel Bitcoiner
Nickel Bitcoiner
Posts: 176
Joined: Sat Oct 03, 2015 6:15 pm
Location: Idaho
Contact: Website Facebook

Re: I am Andrew Stone (theZerg) of Bitcoin Unlimited, AMA -- STARTS TUES DEC 8, 10AM

Tue Dec 08, 2015 10:59 pm

@Andrew, thanks for all you are doing in the space...

So, I think we have a few core clients now; Bitcoin Core, BitcoinXT, Bitcore, LibBitcoin, BitcoinJ... is that about right? and so now we have Bitcoin Unlimited (thanks to you!!).

Questions:

So how many clients would you like to see out there?

If I were to write a full authoritative node, what language would you suggest?

Is it worth developing another client or should efforts be focused on light weight clients?

How long did the fork take?

What was the biggest hurdle(s)?

AndrewStone
AMA
AMA
Posts: 20
Joined: Mon Nov 02, 2015 2:52 pm

Donate BTC of your choice to 1zerg12nRXZ41Pw4tfCTqgtdiJx6D1We3

Contact: Website

Re: I am Andrew Stone (theZerg) of Bitcoin Unlimited, AMA -- STARTS TUES DEC 8, 10AM

Wed Dec 09, 2015 12:11 am

@Andrew, thanks for all you are doing in the space...

So, I think we have a few core clients now; Bitcoin Core, BitcoinXT, Bitcore, LibBitcoin, BitcoinJ... is that about right? and so now we have Bitcoin Unlimited (thanks to you!!).

Questions:

So how many clients would you like to see out there?
I haven't thought about it; don't really think it matters so long as it is > a half dozen or so.

If I were to write a full authoritative node, what language would you suggest?
The choice of language should emerge from your goal in writing a new node. Performance? Serving web clients? Blockchain analysis? Its easier to accomplish different tasks with different languages.
Is it worth developing another client or should efforts be focused on light weight clients?
This is an interesting question. I would say both. What I mean is that I feel like the "wallet" functionality of full node clients is not so important any more. However I would love to see a full node and lightweight client co-developed... the lightweight client is essentially the "wallet" for the full node, but can fall back on standard SPV protocols in a pinch. With such an architecture you could do a lot of interesting things and add node -> client features rapidly. I think the mycelium client is FOSS so I would start there.
How long did the fork take?
We are currently carefully limiting the feature set to Bitcoin Core + unlimited blocks & optional traffic shaping. So it hasn't taken long. The organizational stuff took longer. We are just getting started.
What was the biggest hurdle(s)?
The client has code AcceptBlock that returns True/False. The biggest trick was expanding that to return True/False/Maybe and dealing with the effects of blocks that are not yet accepted but also not rejected.

dgenr8
Posts: 2
Joined: Sat Dec 05, 2015 7:13 pm

Donate BTC of your choice to 1AQ8qXyQCvt8Lrd6Jf5iHAS9rcMXswbquc

Contact: Twitter

Re: I am Andrew Stone of Bitcoin Unlimited, AMA -- STARTS TUES DEC 8, 10AM

Sat Dec 26, 2015 6:38 pm

...even if they were included in in the active chain they will consume resources that result in smaller subsequent blocks, resulting in a maximum network-wide average txn throughput via a process I will describe in a forthcoming paper.
That's what an engineer who is not used to thinking adversarially might say.

This line of reasoning assumes that an attack block will never be produced. An attack block would contain a large number of txes that pay miner himself, just to make the block difficult for the network to swallow. Then the attacker would do it again with a slightly larger block that became difficult for the remaining nodes, etc.

This is a real attack that could push many nodes offline.

steash
Posts: 9
Joined: Wed Aug 02, 2017 7:31 am

Re: I am Andrew Stone (theZerg) of Bitcoin Unlimited, AMA -- STARTS TUES DEC 8, 10AM

Wed Aug 02, 2017 8:45 am

Regarding the recent fork of Bitcoin.

I understand that the devs and such are always caught up in the tech side of things, but the majority of us invest simply because we have faith in decentralized currency, we really do keep the whole thing alive.

So considering the low tech investors like myself make up the bulk of investors it really s&$t's me that the guys up the top don't give us a thought.

Not one page explaining how to get BCC when we hold Bitcoin in a Bitcoin Core Wallet.

This is really weak considering this is early days in crypto and we all need to encourage others to get involved.

Please, sometimes, just sometimes, get off your thrones and help us out.

Not one page telling us what to do, not one youtube vid.......nothing.

Are we really that minuscule in your plans. So please stop giving yourselves medals and help us to help you.

Im sure some low tech person like myself will soon work it out for themselves and post something.

At the moment thanks for nothing

CryptoToTrade
Nickel Bitcoiner
Nickel Bitcoiner
Posts: 10
Joined: Mon Feb 05, 2018 11:21 pm

Re: I am Andrew Stone (theZerg) of Bitcoin Unlimited, AMA -- STARTS TUES DEC 8, 10AM

Mon Feb 05, 2018 11:43 pm

So cool. That is awesome project


Return to “AMA - Ask Me Anything”

Who is online

Users browsing this forum: Baidu [Spider] and 3 guests