Pages:
Author

Topic: bitcoin "unlimited" seeks review - page 5. (Read 16106 times)

alp
full member
Activity: 284
Merit: 101
January 02, 2016, 11:04:00 PM
It is entirely obvious the MO of Unlimited.

1)  Create chaos.  By having all kinds of forks and "emergent" consensus, no one will know what to trust, and the network becomes useless and untrustworthy.

2)  Distract development on Bitcoin.  Any time spent having to refute this nonsense is time that could be spent on other tasks that are actually useful.

3)  Find new suckers.  The "Trump" effect.  Appeal to the lowest common denominator for those without critical thinking skills, develop a following, then use it as a fundraising attempt.  Just wait - they will be begging for money from their "government" as taxes and use it to fund themselves.

It's fairly obvious that this is an unworkable idea that will result in very bad things for anyone who uses it.  Give a warning for such users, and anyone stupid enough to follow these fools off a cliff without a parachute can suffer the consequences.
legendary
Activity: 2968
Merit: 1198
January 02, 2016, 10:58:05 PM
inserted by developers who excellent at what they do have no track record as incentive designers, economic parameter setters, etc.

They do in fact have a track record. Various economic- and incentive-related decisions have been made in Bitcoin development over the past 6 years and it hasn't completely blown up yet. That includes both changes and decisions about what not to change.

I guess this conclusion depends in part on how big a failure you think the "blocksize debate" represents. From where I sit, the blockchain is still working, transactions are being processed, etc. I don't see a major failure even in that.

legendary
Activity: 3038
Merit: 1660
lose: unfind ... loose: untight
January 02, 2016, 10:57:03 PM
the social contract (SHA256 PoW, 10 minute solution target, 21e6 emission, 1MB max block, pay-for-priority) cannot change one iota without alienating a dominant plurality of the socioeconomic majority's critical mass.

1MB may change, should it prove to be an insurmountable impediment to growth or stubbornly problematic for maintaining status quo.

Both of these statements cannot be simultaneously true. Which one do you consider dominant?
legendary
Activity: 1036
Merit: 1000
January 02, 2016, 10:54:18 PM
Interesting. Do you have a general sense of what block sizes are most BU supporters comfortable with? How about yourself?

I used to be an unqualified big blocker until I realized that big blocksize caps aren't necessarily any more "free market" than small blocksize caps. I was caught up with the "cap" thing, thinking low caps are market interventions. Well they are, but so are high caps. So the free market position must be elsewhere. The free market position to let the market decide the cap. See the image I posted above.

Now my position is that much bigger blocks are probably fine and the system will probably self-limit via mechanisms like orphaning, and that generally most of the small block arguments spring from a mistrust of markets... BUT that I shouldn't be the one to decide. I'd like to place my bet in a prediction market that, say, 50 MB would actually be fine right now, but if I were Core maintainer I definitely wouldn't want to put 50MB or even 10MB in the next release - for fear that I, a fallible human, could be wrong.

I wouldn't want anyone to have that power. I want the market to decide, and to do so unburdened by the interference of the hardcoded cap inserted by developers who - while absolutely excellent at what they do - have no track record as incentive designers, economic parameter setters, etc. And even if they did it wouldn't matter, the power would be too concentrated.

I'm for having Core be closer to a wallet, with any controversial consensus parameters left to the user. Users would not screw themselves over, just like a car driver doesn't turn on the emergency brake while cruising on the freeway. I know some people think they would, but as I keep saying, the inconvenience barrier isn't that high. It's plenty high enough to set a very strong Schelling point, though, which serves as a big market intervention. With multiple competing implementations to choose from, like XT, this intervention becomes weaker, but it is still highly suboptimal and in my opinion a security risk or at least a millstone slowing progress.

Quote
Will BU be rolling in the long list of other scaling changes core is going to be rolling out, including SegWit/SepSig?  (Seems to be some confusion on the issue here-- https://bitco.in/forum/threads/what-is-bus-stance-on-segwit.665/) , perhaps this is all premature as you still need to vote in officers and finish updated your github as I see multiple issues there with a quick glance(many old notes and links from pre-fork).

I think there is some interest in doing that. Generally I'm not that particular about what happens in any one implementation. If Core and XT would abdicate some power and give users leeway on consensus parameters that are controversial, that would be great. If BU is adopted, that would be fine, too. If someone forks BU and does something else with it, that would be cool as well. If btcd implements adjustable blocksize caps, I might use that.

From an adoption perspective, I think it likely that BU will try to incorporate whatever it can. I have even argued that opt-in RBF would be good to include, despite my disagreeing with it. My motto is,

"I find your settings despicable, sir, but I will defend to the death your right to set them."
legendary
Activity: 2156
Merit: 1072
Crypto is the separation of Power and State.
January 02, 2016, 10:41:51 PM
the social contract (SHA256 PoW, 10 minute solution target, 21e6 emission, 1MB max block, pay-for-priority) cannot change one iota without alienating a dominant plurality of the socioeconomic majority's critical mass.

If indeed it is true that 1MB4EVA is part of Bitcoin's social contract, and indeed anything changed in the social contract will alienate the dominant plurality of the socioeconomic majority's critical mass, then you can go back to sleep, as BU presents no risk to you.

But your being here, expending effort in arguing against BU, is an indication that you are afraid that your assertions are incorrect.

If the economic majority does not agree to some new limit, then any fork based upon that limit will die. It requires an economic majority to sustain any fork.

I can only speak for myself, but I do agree with you that there are certain attributes that I feel are sacrosanct -- without which I would divest.

However, I do not agree that 1MB4EVA is even remotely part of these fundamental principles. Further, it seems you've lost that battle even amongst the majority of those that oppose a simple maxblocksize increase at this point in time.

Must suck. Sorry.

I can't wait to see BU (fail to) deal with 16/32MB blocks trollishly construed so as to take hours or days to verify.   Wink

BU doesn't need little old *me* to argue against it.  It's already been properly #R3KT by the socioeconomic majority, as expressed by the 99.9% of miners that support small blocks.

What you ridicule and denigrate as "1MB4EVA" is actually a beneficial outcome of Bitcoin's conservative/reactionary approach to preserving (at all costs) its fundamentally diffuse/diverse/defensible/resilient network.

1MB may change, should it prove to be an insurmountable impediment to growth or stubbornly problematic for maintaining status quo.

But "Z0MG I REALLY REALLY REALLY REALLY WANT TO!1!11!" isn't a good enough reason to pick some other magic number/algorithm, no matter how much you wish that constant to be changed Right Fucking Now.  Sorry, not tonight dear!

Must suck to be deep in the red on those BTC for which you paid $800.  Tongue
legendary
Activity: 994
Merit: 1035
January 02, 2016, 10:41:25 PM
Sorry but if you really think bitcoins success lies in the fact that a simple change can only be made by a developer then the system is completely doomed. Good thing emergent consensus does not work like this, anywhere in nature.

I think some of them are unaware, or have not considered the fact that consensus can be emergent. I don't even think Gavin has fully internalized this, even though he did agree to the idea three years ago.

This is indeed a fundamental difference in viewpoints. I normally like this principle - https://en.wikipedia.org/wiki/Wisdom_of_the_crowd
but when determining complex code improvements I believe the WOTC tends to breakdown as it tends to work best when there is a definitive correct answer to a particular question (not within scaling decisions as there are complex tradeoffs and no single correct option) and social influence can make the WOTC extremely inaccurate.

I do think there are valid concerns being raised about governance, but I would warn you that direct democracy and groupthink can be very dangerous. Emergent consensus can decide upon a larger block because enough users demand it , but that doesn't mean it technically can work or scale efficiently. O(n2) is a real problem that so far only lightning network with larger blocksizes or treechains seem to adequately address.
staff
Activity: 3458
Merit: 6793
Just writing some code
January 02, 2016, 10:39:52 PM
BU eliminates the power struggle by unbundling the setting of consensus parameters from the rest of the Code.
Why should this be removed from the code and made user configurable? It is consensus critical since it can create hard forks, so why should it be removed?

It gives choices you say, so does that mean that we should make everything else that is consensus critical and make that user configurable? Should we remove the block reward schedule? Should we change the difficulty retargeting schedule?

Everything controversial, yes, unless we want to vest inordinate power in whichever devs control the dominant implementation. That power concentration opens a major attack vector. I believe this hasn't been noticed before because there was never such a big controversy before. Who knows what the next big debate will be. Whatever it might be, realize that making the choices blockier (less granular) by trying to shoehorn people into one, two, or three possible implementations with bundled consensus parameters doesn't make the situation any better. The market will always choose the least bad option, but if there are only two options, say that offered by Core and that offered by XT, that's quite suboptimal and will lead to less satisfying results no matter what parameter we're talking about.
I agree that having too few options is bad, but at the same time too many options is not optimal either. BU gives too many options for this, and there currently aren't just two options for the block size limit. There are several other BIPs out there with many different alternatives to this.

Part of the problem I have with BU is that I see it as a not-production-ready software. It doesn't having the proper testing (I couldn't find any), and it doesn't consider the all of the consequences. I think it should have been released when deployment options were available and some more options were there instead of just block size limit. There is much more than just the block size limit when it comes to deploying such a fork and not completely screwing up the network.
legendary
Activity: 1036
Merit: 1000
January 02, 2016, 10:32:59 PM
BU eliminates the power struggle by unbundling the setting of consensus parameters from the rest of the Code.
Why should this be removed from the code and made user configurable? It is consensus critical since it can create hard forks, so why should it be removed?

It gives choices you say, so does that mean that we should make everything else that is consensus critical and make that user configurable? Should we remove the block reward schedule? Should we change the difficulty retargeting schedule?

Everything controversial, yes, unless we want to vest inordinate power in whichever devs control the dominant implementation. That power concentration opens a major attack vector. I believe this hasn't been noticed before because there was never such a big controversy before. Who knows what the next big debate will be. Whatever it might be, realize that making the choices blockier (less granular) by trying to shoehorn people into one, two, or three possible implementations with bundled consensus parameters doesn't make the situation any better. The market will always choose the least bad option, but if there are only two options, say that offered by Core and that offered by XT, that's quite suboptimal and will lead to less satisfying results no matter what parameter we're talking about.
legendary
Activity: 2968
Merit: 1198
January 02, 2016, 10:28:20 PM
legendary
Activity: 1036
Merit: 1000
January 02, 2016, 10:24:10 PM
I personally believe XT's (and as suggested here BU) 75% threshold to be dangerously low as well. A 95% supermajority with a minimum 2 week grace period and alerts sent should be the default for hardforks.

I think 60% is fine. Just kidding. Or am I? I say it doesn't matter what I think. The market will make the choice anyway. The only thing devs can do by locking the consensus parameters down in each implementation is force the market to make a less granular choice.

For example, if the market wants a 90% supermajority, and the options are Core at 98% and XT at 75%, maybe the market will be forced to go with 75%, which the market deems dangerously low but better than an impossible 98%, or it will be forced to go with 98%, causing a lot of unreasonable delay. 

Or maybe it's Core with 95% and a three-day grace period, and XT with 75% and a three-week grace period. Gotta choose the lesser of two evils, not a happy place to be.

When choices are not granular, consensus cannot find its optimum level. This is the kind of friction that can be removed by unbundling the consensus-parameter-setting service from the rest of the roles the devs play. The choices can even be among BIPs the devs offer, so it's not even anti-dev. If the market thinks devs know best, the market will go with a dev recommendation. If not, it will go with something else.

And small block adherents, imagine the reverse, if it were Mike and Gavin were running Core and Pieter, Wlad, and Maxwell had broken off and started their own implementation, with maybe Jeff going between. And people were sticking with Core and its giant block plan, heading for catastrophe. You might notice the market friction then.

One doesn't have to pick sides. I respect all of the developers above and can have nuanced opinions and disagreements with individual aspects of their code contributions.

So do I. They all have great talents to contribute, and it pains me to see them have to be involved in a kind of power struggle because of the fact that they are being relied upon not just to recommend consensus parameters from among controversial choices, but to attempt to force them on users or at least spoonfeed them to users because they believe that they need to do so in order to generate consensus. I think some of them are unaware, or have not considered the fact that consensus can be emergent. I don't even think Gavin has fully internalized this, even though he did agree to the idea three years ago.
legendary
Activity: 817
Merit: 1000
January 02, 2016, 10:22:04 PM
Why are you having such a hard time understanding that it IS ALREADY CONFIGURABLE!? BU has done nothing more then add a GUI to a system that is already designed to reach consensus based on the code individual users decide to run. It says this very clearly in the whitepaper, do none of you understand how how Satoshi envisioned this system to work? How can you even invest in Bitcoin when you don't understand these very basic facts, because otherwise this system would be extremely fragile and would make no investment sense at all.

Of course, everything is configurable and to a developer their is little difference between recompiling from source a few changes in the code and making the changes with a GUI. To a non-technical person, this makes a world of difference and has a profound political impact however.

Sorry but if you really think bitcoins success lies in the fact that a simple change can only be made by a developer then the system is completely doomed. Good thing emergent consensus does not work like this, anywhere in nature.
legendary
Activity: 994
Merit: 1035
January 02, 2016, 10:09:59 PM
Why are you having such a hard time understanding that it IS ALREADY CONFIGURABLE!? BU has done nothing more then add a GUI to a system that is already designed to reach consensus based on the code individual users decide to run. It says this very clearly in the whitepaper, do none of you understand how how Satoshi envisioned this system to work? How can you even invest in Bitcoin when you don't understand these very basic facts, because otherwise this system would be extremely fragile and would make no investment sense at all.

Of course, everything is configurable and to a developer their is little difference between recompiling from source a few changes in the code and making the changes with a GUI. To a non-technical person, this makes a world of difference and has a profound political impact however.

Yeah. By "small" I just mean like single-digit MB sizes for the next few years. I don't mean just permanent 1MB supporters.

Interesting. Do you have a general sense of what block sizes are most BU supporters comfortable with? How about yourself?
Will BU be rolling in the long list of other scaling changes core is going to be rolling out, including SegWit/SepSig?  (Seems to be some confusion on the issue here-- https://bitco.in/forum/threads/what-is-bus-stance-on-segwit.665/) , perhaps this is all premature as you still need to vote in officers and finish updated your github as I see multiple issues there with a quick glance(many old notes and links from pre-fork).

However, I do not agree that 1MB4EVA is even remotely part of these fundamental principles. Further, it seems you've lost that battle even amongst the majority of those that oppose a simple maxblocksize increase at this point in time.

1 MB couldn't possibly be a core principle in the inherent initial social contract as it was imposed at a later date and Satoshi. He later indicated how it could be raised as well. Its a good thing that almost no core devs want to keep it at 1MB...even Peter Todd has signed up to increase it recently by accepting SepSig.

 
legendary
Activity: 1036
Merit: 1000
January 02, 2016, 10:09:34 PM
Really? How? So far what I have seen is that a new block size limit in BU takes effect immediately. There is no mechanism that does the supermajority fork process.

If there is a specific option to for the supermajority fork process for a single BIP, then there should be that for every BIP. Will BU have options to allow the user to support whatever BIP or not? How will new BIPs be added? Through a software upgrade?

Yeah, software upgrade as far as I know. These are planned. Dev just started recently. Don't know how long it will take. Probably the supermajority requirements will be as in the original BIPs, with option for the user to customize them as well. Depends on what the devs do, or what people who fork BU do.*

*Note that, unlike Core or XT, it doesn't really matter (as far as consensus parameters) whether you run BU or a fork of it. This is an implication of the unbundling of consensus-parameter-setting from the rest of the code. So any questions you might be asking about the specific BU project with Andrew Stone as lead dev should probably be reconceived a bit:

Instead of asking BU what it will do, ask what anyone that does something similar could do. The genie is kind of out of the bottle. With the unbundling concept, anyone could offer blocksize-related BIP-mimicry of any kind in any configuration. It's just a matter of dev time and inclination. Dave Collins of the btcd implementation mentioned adding BU-style blocksize cap configurability, for example (on the other forum).
legendary
Activity: 3038
Merit: 1660
lose: unfind ... loose: untight
January 02, 2016, 10:06:22 PM
the social contract (SHA256 PoW, 10 minute solution target, 21e6 emission, 1MB max block, pay-for-priority) cannot change one iota without alienating a dominant plurality of the socioeconomic majority's critical mass.

If indeed it is true that 1MB4EVA is part of Bitcoin's social contract, and indeed anything changed in the social contract will alienate the dominant plurality of the socioeconomic majority's critical mass, then you can go back to sleep, as BU presents no risk to you.

But your being here, expending effort in arguing against BU, is an indication that you are afraid that your assertions are incorrect.

If the economic majority does not agree to some new limit, then any fork based upon that limit will die. It requires an economic majority to sustain any fork.

I can only speak for myself, but I do agree with you that there are certain attributes that I feel are sacrosanct -- without which I would divest.

However, I do not agree that 1MB4EVA is even remotely part of these fundamental principles. Further, it seems you've lost that battle even amongst the majority of those that oppose a simple maxblocksize increase at this point in time.

Must suck. Sorry.
legendary
Activity: 1036
Merit: 1000
January 02, 2016, 09:56:26 PM
Does BU have any sig-ops limits for CVE-2013-2292 like what Gavin proposed here - https://github.com/bitcoinxt/bitcoinxt/commit/cc1a7b53629b265e1be6e212d64524f709d27022 of is BU stuck to standard 20k ?
 I see a brief mention of it here - https://bitco.in/forum/threads/bitcoin-unlimited-code-review.359/  nothing confirmed.

I'm probably not the right person to ask. Other people on that forum should know.

Quote
Most of my interest is with the experimental stuff discussed by testing1567 as well as some interesting new attack vectors opened up politcially by empowering the nodes with developmental decisions. There are some topics that need further analysis.

Note that nodes already are empowered with decisions on the consensus parameters, it's just that there is a lot of friction in them doing so because of the inconvenience barrier and the strong Schelling point that artificially sets up. (See my post above in reply to Smooth. I would say the current approach makes it far more political, and BU attempts to eliminate such aspects.)

Quote
This does get me interested in a potential oracle or DAO potentially having the role to determine maxBlockSize by analyzing technical merits/limitations at a higher weight than user demand which could be used to influence a more dynamic block adjustment.

Interesting idea. Bitcoin has a lot up its sleeve for the future, and DAO+oracles could do amazing things to market efficiency. I think a prediction market would be ideal. Once a decentralized prediction market is up and running and gets liquidity, this will probably be the way the blocksize cap is decided in the future.  

This whole debate has made be extremely optimistic about Bitcoin's future, as I see the ferocity with which people will defend and debate until the right answer has been reached even on a fairly esoteric point to most lay people. This is the power of an economic system powered people with skin in the game. How much have all of us learned, no matter what side of the debate you are on, in this past year? Bitcoin drives us to be better, smarter, wiser, less biased, less emotional, less narrowly focused on our own domains of expertise.

Quote
1) Very few of the core developers are "small block adherents", besides 1-2 developers , all suggest raising maxBlockSize.

Yeah. By "small" I just mean like single-digit MB sizes for the next few years. I don't mean just permanent 1MB supporters.

Quote
2) testing1567 indicated " My other issue with BU is it lacks a way to move the blocksize down, only up." is this true for nodes with BU(I am aware that miners can set the limit to anything.)

No, any limit can be set. I assume testing1567 was referring to something about how someone said the acceptance depth thing was supposed to work.
staff
Activity: 3458
Merit: 6793
Just writing some code
January 02, 2016, 09:51:29 PM
BU eliminates the power struggle by unbundling the setting of consensus parameters from the rest of the Code.
Why should this be removed from the code and made user configurable? It is consensus critical since it can create hard forks, so why should it be removed?

It gives choices you say, so does that mean that we should make everything else that is consensus critical and make that user configurable? Should we remove the block reward schedule? Should we change the difficulty retargeting schedule?
legendary
Activity: 2156
Merit: 1072
Crypto is the separation of Power and State.
January 02, 2016, 09:42:06 PM

Unlimiturd: you may have any block size you want, so long as it's <16MB.

Am I wrong about ^this^?  If so, please advise on the actual maximum value.


Yeah, you're wrong. You're referring to src/unlimited.h:

Code:
DEFAULT_EXCESSIVE_BLOCK_SIZE = 16000000

It's a default value of a setting that can be changed in Unlimited. As in: not a permanent feature.

The actual hard limit is in src/consensus/consensus.h:

Code:
static const unsigned int BU_MAX_BLOCK_SIZE = 32000000;  // BU: this constant is deprecated but is still used in a few areas such as allocation of memory.  Removing it is a tradeoff between being perfect and changing more code. TODO: remove this entirely

Note: this means it is 32MB - currently, subject to future removal.
Not 16 as you've now confidently twice claimed.


Thanks for the correction in response to my request for exactly such a clarification.

So 16MB is Unlimiturd's max, except when 32MB is the limit.   Roll Eyes

Unlimiturd: you may have any block size you want, so long as it's <32MB.

#rekt   Grin
legendary
Activity: 994
Merit: 1035
January 02, 2016, 09:41:37 PM

A new client download and install takes about 2 minutes, it's not that big of a problem. Even so, the miners would have to either switch to use bigger block sizes after the fork happens or somehow indicate that they are supporting the bigger blocks before the fork (e.g. the supermajority fork process). This means that that larger block size should not take effect immediately.  


This is indeed an issue as it could divide the network and create a lot of havoc . I personally believe XT's (and as suggested here BU) 75% threshold to be dangerously low as well. A 95% supermajority with a minimum 2 week grace period and alerts sent should be the default for hardforks. Developers have a responsibility to insure that code changes don't effect users investments. The loss of trust by the code itself losing assets would be extremely negative PR for bitcoin.

And small block adherents, imagine the reverse, if it were Mike and Gavin were running Core and Pieter, Wlad, and Maxwell had broken off and started their own implementation, with maybe Jeff going between. And people were sticking with Core and its giant block plan, heading for catastrophe. You might notice the market friction then.

One doesn't have to pick sides. I respect all of the developers above and can have nuanced opinions and disagreements with individual aspects of their code contributions.
newbie
Activity: 21
Merit: 0
January 02, 2016, 09:38:51 PM
BU will let the user select a given Core or XT BIP (this is still be worked on (BUIP002, probably not supposed to link it here)), so for example if they turned on the BIP101 option, their node would mimic an XT node as far as following BIP101, including the 75% threshold and specific starting block.
Really? How? So far what I have seen is that a new block size limit in BU takes effect immediately. There is no mechanism that does the supermajority fork process.

I think you overlooked Zangelbert's mention that the BIPs are work in progress through BUIP002 - a BU Improvement Proposal.

You are correct that there is no full emulation of the BIP101 threshold etc. for now, and I believe the matter of to which degree BIPs need to be emulated faithfully is still being discussed.
legendary
Activity: 1036
Merit: 1000
January 02, 2016, 09:38:14 PM
"We would be trying to predict what the market would decide, "

@Zangelbert Bingledack, I'm somewhat sympathetic to your cause but I don't really see how the market mechanism operates here, outside of a very broad definition of "market" which encompasses politics. Node voting doesn't work at all. Without that you are still reduced to politics and whoever shouts the loudest in trying to convince miners what block size they should use.

Well that's how it is anyway, and even now the market does decide. My point is that there's market friction in the inconvenience barrier of users not being able to set the blocksize cap themselves. That gives artificial solidity to the Schelling point set by Core (as well as the one set by XT). If Core is doing the correct thing, it shouldn't mind putting it to the market test more fully, by taking its finger off the scale.

How much is Core's finger really on the scale here? Well, for example, how many reasons are there to mistrust Mike Hearn? Some would say a lot. That means, as things stand now, even if you want BIP101, you can't really have it if you have a problem with Mike, because XT isn't an option for you. And because other people feel that way, you're further limited. The way Core (and XT) does it now makes it a power struggle, a popularity contest, and a package deal. Maybe Core could stall for a long time before people would finally give up and go with Mike. That's a lot of friction in the market.

And small block adherents, imagine the reverse, if it were Mike and Gavin were running Core and Pieter, Wlad, and Maxwell had broken off and started their own implementation, with maybe Jeff going between. And people were sticking with Core and its giant block plan, heading for catastrophe. You might notice the market friction then.

BU eliminates the power struggle by unbundling the setting of consensus parameters from the rest of the Code. It also of course makes for a lot more choices. If 1MB is too small and 8MB too big, what recourse is there? Roll your own and try to popularize it? Very hard. But propose 4MB and try to get people to agree? More doable. Or what if, like some Chinese miners were saying, 8MB is fine but the scaling to 8GB is ridiculous. What do you do? You have two options, and they are bundled up tightly with all the other aspects of the code and why you choose Core or XT. That's again a lot of market friction.
Pages:
Jump to: