Gold collapsing. Bitcoin UP.

freetrader

Moderator
Staff member
Dec 16, 2015
2,806
6,088
Going to float an idea again which I think might have been mentioned before, but could be worth thinking more about as a way of incentivizing full nodes:

Let's say a miner is considering to build a block which is presumably excessive.

Now the miner wants to reduce the risk that the block will be rejected by the rest of the nodes.

It makes sense to me that the miner's node could set up one-off contracts with nodes in the network that would pay willing nodes a little something in return for guaranteed acceptance of a block up to a certain size.
This makes sense economically too since the other nodes are expected in return to validate and disseminate the block, which comes at some cost.

The question becomes one of arranging such contracts with as many peers as the miner deems necessary to lower this "avoidable" orphan risk.

Conceivably, there could also be some kind of auction of relaying capacity by the nodes.

There would be an incentive for nodes to behave honestly as they would build up a reputation over time, and new nodes would be less likely to be entrusted with such contracts or offered a much lower rate for their capacity.

One obvious question is how would the miner know whether a node had kept its promise or not.
The only way I see is that there would need to be some 'spy' nodes contracted by the miner to provide reliable feedback on whether it had been supplied with the attempted block by the subject node. Since it doesn't make sense for each miner to keep a large network of nodes just for these surveillance purposes, the function of gathering such data about the network would probably centralize to some service providers who could be thought of as node rating agencies.
 
Last edited:

Zangelbert Bingledack

Well-Known Member
Aug 29, 2015
1,485
5,585
Opinions on this? I haven't had time to read or think through it, but my suspicion is always that Core will do the obvious thing and leverage its inertia to try to shift the burden of coordinating a counterfork (hard fork) onto the disagreers, and that this could just be the latest softer negotiating ploy to achieve that since Segwit seems DOA.
Some thoughts about the activation mechanism for soft forks. In the past we used IsSuperMajority and currently use BIP9 as soft fork activation methods, where a supermajority of hashrate triggers nodes to begin enforcing new rules. Hashrate based activation is convenient because it is the simplest and most straightforward process. While convenient there are a number limitations with this method.

Firstly, it requires trusting the hash power will validate after activation. The BIP66 soft fork was a case where 95% of the hashrate was signaling readiness but in reality about half was not actually validating the upgraded rules and mined upon an invalid block by mistake[1].

Secondly, miner signalling has a natural veto which allows a small percentage of hashrate to veto node activation of the upgrade for everyone. To date, soft forks have taken advantage of the relatively centralised mining landscape where there are relatively few mining pools building valid blocks; as we move towards more hashrate decentralization, it's likely that we will suffer more and more from "upgrade inertia" which will veto most upgrades.

Upgrade inertia in inevitable for widely deployed software and can be seen for example, with Microsoft Windows. At the time of writing 5.72% of all Microsoft Windows installations are still running Windows XP, despite mainstream support ending in 2009 and being superseded by 4 software generations, Vista, 7, 8 and 10.

Thirdly, the signaling methodology is widely misinterpreted to mean the hash power is voting on a proposal and it seems difficult to correct this misunderstanding in the wider community. The hash powers' role is to select valid transactions, and to extend the blockchain with valid blocks. Fully validating economic nodes ensure that blocks are valid. Nodes therefore define validity according to the software they run, but miners decide what already valid transactions gets included in the block chain.

As such, soft forks rules are actually always enforced by the nodes, not the miners. Miners of course can opt-out by simply not including transactions that use the new soft fork feature, but they cannot produce blocks that are invalid to the soft fork. The P2SH soft fork is a good example of this, where non-upgraded miners would see P2SH as spendable without a signature and consider them valid. If such an transaction were to be included in a block, the block would be invalid and the miner would lose the block reward and fees.

So-called "censorship" soft forks do not require nodes to opt in, because >51% of the hash power already have the ability to orphan blocks that contain transactions they have blacklisted. Since this is not a change in validity, nodes will accept the censored block chain automatically.

The fourth problem with supermajority hash power signaling is it draws unnecessary attention to miners which can become unnecessarily political. Already misunderstood as a vote, miners may feel pressure to "make a decision" on behalf of the community: who is and isn't signalling becomes a huge public focus and may put pressures onto miners they are unprepared for. Some miners may not be in a position to upgrade, or may prefer not to participate in the soft fork which is their right. However, that miner may now become a lone reason that vetoes activation for everyone, where the soft fork is an opt-in feature! This situation seems to be against the voluntary nature of the Bitcoin system where participation at all levels is voluntary and kept honest by well balanced incentives.

Since miners already have the protocol level right to select whatever transaction they prefer (and not mine those they don't), it would be better if a miner could chose to not participate in triggering activation of something they won't use, but, without being a veto to the process (and all the ire they may have to experience as a consequence).

The alternative discussed here is "flag day activation" where nodes begin enforcement at a predetermined time in the future. This method needs a longer lead time than a hash power based activation trigger, but offers a number of advantages and perhaps provides a better tradeoff.

Soft forks are still entirely optional to use post activation. For example, with P2SH, many participants in the Bitcoin ecosystem still do not use P2SH. Only 11% of bitcoins[2] are stored in P2SH addresses at the time of writing. Miners are free to not mine P2SH transactions, however, the incentives are such that miners should still validate transactions so they don't accidentally include invalid transactions and cause their block to be rejected. As an additional safety measure for well designed soft forks, relay policy rules prevent non-standard and invalid transactions from being relayed and mined by default; a miner would have to purposefully mine an invalid transaction, which is against their own economic interest.

Since the incentives of the Bitcoin system rely on self validation, economic nodes (miners and users) should always remain safe by ensuring their nodes either validate the current rules, or, they can place their network behind a full node that will filter out invalid transactions and blocks at the edge of their network (so called firewall or border nodes).

A user activated soft fork is permissive. Miners do not have to produce new version blocks and non-upgraded miners' blocks will not be orphaned as was the case with IsSuperMajority soft forks (e.g. BIP34, BIP66, BIP65-CLTV) which made it a compulsory upgrade for miners.

BIP9 "versionbits" soft fork activation method is also permissive in so far as non-upgraded miners are not forced to upgrade after activation because their blocks wont be orphaned. A recent case was the "CSV" soft fork that activated BIP68, BIP112 and BIP113. As such, the CSV soft fork allows non-upgraded miners to continue mining so long as they didn't produce invalid blocks.

Miners always retain discretion on which transactions to mine. However, regardless of whether they actively include transactions using the new soft fork feature, or not, the incentive for hash power to upgrade in order to validate is strong: if they do not, they could be vulnerable to a rogue miner willing to waste 12.5BTC to create an invalid block, which may cause non-validating miners to build on an invalid chain similar to the BIP66 incident. Validation has always had a strong requirement.

A user activated soft fork is win-win because it adds an option that some people want that does not detract from other peoples' enjoyment. Even if only 10% of users ever wanted a feature, so long as the benefit outweighed the technical risks, it would not be rational to deny others the ability to opt-in.

My suggestion is to have the best of both worlds. Since a user activated soft fork needs a relatively long lead time before activation, we can combine with BIP9 to give the option of a faster hash power coordinated activation or activation by flag day, whichever is the sooner. In both cases, we can leverage the warning systems in BIP9. The change is relatively simple, adding an activation-time parameter which will transition the BIP9 state to LOCKED_IN before the end of the BIP9 deployment timeout.

You can find the proposal here https://gist.github.com/shaolinfry/0f7d1fd22743bb966da0c0b1682ea2ab

References:

[1]: https://bitcoin.org/en/alert/2015-07-04-spv-mining
[2]: http://p2sh.info/dashboard/db/p2sh-statistics?from=1472043312917&to=1488030912918
Source: https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2017-February/013643.html

/r/btc thread: https://www.reddit.com/r/btc/comments/5w7jj1/bitcoindev_moving_towards_user_activated_soft/


/r/Bitcoin threads with NP links (your comments and votes won't be seen*):
https://np.reddit.com/r/Bitcoin/comments/5w7jho/bitcoindev_moving_towards_user_activated_soft/

https://np.reddit.com/r/Bitcoin/comments/5w7lxq/moving_towards_user_activated_soft_fork_activation/

*See here for the scoop on NP:
 
Last edited:

freetrader

Moderator
Staff member
Dec 16, 2015
2,806
6,088
@Zangelbert Bingledack : Correction there : NP means you shouldn't vote or comment, not "it won't be seen".

In fact, it's happened that users visit NP links to there, vote or comment, and then get suspended for brigading. So visitors, tread carefully.

On topic:
shift the burden of coordinating a counterfork (hard fork) onto the disagreers
ACK!
 
  • Like
Reactions: majamalu

majamalu

Active Member
Aug 28, 2015
144
775

But the skepticism about models that I propose does not lead to the same conclusions as the ones endorsed by anti-environmentalists, pro-market fundamentalists, quite the contrary: we need to be hyper-conservationists ecologically, super-Green, since we do not know what we are harming with now.
False dichotomy. It can be argued that the true environmentalist is the "pro-market fundamentalist", precisely because he admits he doesn't know what "should be done" in order to prevent harm. His "solution" is not specific, it's just a framework that allows real solutions to emerge (instead of centrally planned commands, which are anxiety relieving but tend to provoke catastrophes).
 

Zangelbert Bingledack

Well-Known Member
Aug 29, 2015
1,485
5,585
@freetrader

Today I learned (see my edit). Apparently then it's just a plausible deniability thing for the person who links to a sub, though it still seems likely /r/Bitcoin CSS is set up to disable votes/comments from NP links, probably in shadow style if that is possible (similar to how a shadowban works; you feel like you're participating but then all your work goes into a bottomless pit).
 

adamstgbit

Well-Known Member
Mar 13, 2016
1,206
2,650
Going to float an idea again which I think might have been mentioned before, but could be worth thinking more about as a way of incentivizing full nodes:

Let's say a miner is considering to build a block which is presumably excessive.

Now the miner wants to reduce the risk that the block will be rejected by the rest of the nodes.

It makes sense to me that the miner's node could set up one-off contracts with nodes in the network that would pay willing nodes a little something in return for guaranteed acceptance of a block up to a certain size.
This makes sense economically too since the other nodes are expected in return to validate and disseminate the block, which comes at some cost.

The question becomes one of arranging such contracts with as many peers as the miner deems necessary to lower this "avoidable" orphan risk.

Conceivably, there could also be some kind of auction of relaying capacity by the nodes.

There would be an incentive for nodes to behave honestly as they would build up a reputation over time, and new nodes would be less likely to be entrusted with such contracts or offered a much lower rate for their capacity.

One obvious question is how would the miner know whether a node had kept its promise or not.
The only way I see is that there would need to be some 'spy' nodes contracted by the miner to provide reliable feedback on whether it had been supplied with the attempted block by the subject node. Since it doesn't make sense for each miner to keep a large network of nodes just for these surveillance purposes, the function of gathering such data about the network would probably centralize to some service providers who could be thought of as node rating agencies.
this sounds cool, nodes would be somehow rewarded for the work they do. But i'm not sure i like the idea of nodes taxing the minners, and i'm not sure if adding a tiny amount of monetary reward, is going to provide much of an incentive to run a node.

I see 2 (stronger? good enough?) incentives to run a full node today.
1) not relying on a third party to validate transactions
2) taking part in evolution of the network.

everytime you update to the lastest, or maybe switch to a different implementation, you take part in the decision making process regarding the evolution of the network.

I dont buy into the idea that full-nodes must be accessible to anyone for cheap, i'm pretty sure if there was 2 million full nodes on the network it wouldn't really add any value to the network.

low node count is bad? Why? the only good reason i can think of is that, if all nodes are ran by a hand full of bitcoin companies ( bitpay, stamps, blockchain.info etc...) then a government can pressure all these companies to block some BTC address and whatnot... but this is bullshit, i mean what would really happen... poeple would start running there own nodes to counter this "corrupt node attack", someone would come up with a way for poeple to donate tiny sums of BTC in order to fund honest nodes. Low node count doesn't really impact bitcoin security, and the second that it does, node count rises.
 

Zarathustra

Well-Known Member
Aug 28, 2015
1,439
3,797
Ha ha, back to the "no surplus without taxes" assertion. You really stick to that one.

Yes, of course, there is by far enough evidence. The homo sapiens in the communities who still lives beyond organized violence (tribute by church and state) still produces the same amount as 10'000 years ago. Zero growth and in equilibrium with the nature, while the nationalized homo sapiens (the homo oeconomicus, the collectivist as a taxed caricature of the homo sapiens) produces orders of magnitudes more than 10'000 years ago.


I'm not trying to get into a debate about climate change, my main point is that I don't think Taleb's argument will be convincing.. except for those who already agree with him.
The global ecosystem, and the global economy are both very complex systems. So one could argue that it's dangerous to interfere with either one.
Yes. But one of these two systems is essential for the planet while the other one is not.


Which one you are more concerned with will depend on your underlying philosophical framework.

Anthropocentrism vs. Nature.

Anthropocentrism is a suicidal philosophical framework. It's much more a religion than a philosophy, and I really hate religion.


So the debate inevitably gets kicked up to a philosophical/theoretical level: Do you value humans over nature?
Algebra. Since this species is just a tiny part of the nature, the answer should be obvious.

Are humans primarily creative or destructive?
The former humans who have been transformed into taxed, surplus producing collectivists are destructive.

"Essentially, the economy is an engine that transforms resources into waste." (Ugo Bardi)

That's obvious if we aren't suffering from the Principle of the triple blind (we don't see that we don't see what we don't see).


Is capitalism a force for human progress or an unsustainable model based on greed and ever-growing consumption?
Human progress ...; altruism in perfection ...




Whenever the homo sapiens has been transformed into a collectivist, tributed homo oeconomicus, he had been doomed from the start. Whether it was a capitalist, feudalist or socialist hypercollectivist organization was no difference eventually. Collectivism always means rise and fall.




"You are all a bunch of socialists !"

 
Last edited:

freetrader

Moderator
Staff member
Dec 16, 2015
2,806
6,088
@adamstgbit : I fail to see how they can be serious about running Bitcoin mining on a bunch of volunteered gaming PCs , but their model seems to be to auction computing resources to any type of application (machine learning etc.) The website leaves me with a lack of details but I didn't delve deeply, and they seem to be just starting up, so maybe it could evolve into something interesting.

Oh wait, you were talking about just running nodes. My bad - I'm tired and my brain went the next (il)logical step. So basically you rent out the idle resources on your full node to other grid-like computing applications to make money, I guess. I probably wouldn't just trust their software unless it's open source and I can compile it myself and it's audited and whatnot.
 
  • Like
Reactions: adamstgbit

lunar

Well-Known Member
Aug 28, 2015
1,001
4,290
finally got round to reading this.

http://www.wallstreettechnologist.com/2017/02/23/ouija-board-consensus-decentralization-myths-part-4/

Great post @digitsu - highly recommended all, if you've not already.

The code that miners run has no power over how miners act. It has zero efficacy. It only seems to be true because Nakamoto Consensus is working.

This is why Satoshi Nakamoto invented Proof of Work in order decide the winner in such adversarial contests. If we forsake this process in light of one where we just trust some seemingly well meaning developers, then we have just substituted Nakamoto consensus, for Ouija board consensus.
Code is NOT the Law. There is no ‘law’ except for one’s own wealth preservation instinct. Trust in the economic incentives of the network participants to keep the system honest.
i'd really like to see Adam Back go head to head with this very clearly argued logic. I think his response would be give everyone definitive proof of wether he is acting honestly in this debate. Of course that might mean admitting he's made some miscalculations, but that's what grown up academics do.

Attempting to control a decentralised system designed to resist centralised control is a fools errand.

I was trying to think of an analogy of how it must feel to be an academic attempting to add extra layers of security onto a system that is mathematically uncontrollable.

Suddenly this popped into mind. The cypherpunk lost boys

 

awemany

Well-Known Member
Aug 19, 2015
1,387
5,054
Am I missing something here?

User-activated soft-forks look very much like BU. Except for one key difference: The same idea, but sold in a very dishonest way. It is simply a hard fork, for fuck's sake. Money quote:

Thirdly, the signaling methodology is widely misinterpreted to mean the hash power is voting on a proposal and it seems difficult to correct this misunderstanding in the wider community.
IOW: Satoshi is wrong, the whitepaper is wrong - because we say so, no logical argument needed - and redefine Bitcoin to whatever the fuck we want.

Besides, one should note this: All worries brought forward against bigger blocks HF apply to soft forks as well:

Increased UTXO set? Check. Just create extension blocks that define special, extra UTXOs.
Increased bandwidth? Check. Current SegWit has that.
Increased miner centralization? Check. The above two are argued to cause this.

Then there's the one worry left that Core uses against a hard fork: It is controversial. Now, as @seweso said well: "Hardforks are dangerous if they are contentious, and hardforks are contentious because they are dangerous, ..."

With the new proposal, this arguments truly becomes a mad 'I want it so' - dance as well. We avoid controversial hard forks at all costs, and now we propose them.

If you have half a brain, you can clearly see that just upping the damn maxblocksize limit is the only conservative, safe and sane option left.

EDIT: Oh this is awesome. With this proposal, they're really outdoing themselves. It all falls apart now. See OneTallNerd here:
EDIT #2: This is awesome. More of this. I like this. We've really come full circle on the bullshit. Just read the /r/Bitcoin thread on this. Peak idiocy. I really can't wait until ViaBTC or btc.com mines some of the anyonecanspends :)
 
Last edited:

molecular

Active Member
Aug 31, 2015
372
1,391
does anyone see weird disparities between mempool reporting websites?
https://blockchain.info/unconfirmed-transactions, showing 33000 tx, 40 MB
http://bitcointicker.co/networkstats/, showing a spike down to 0.
mayb mempool is empited on restart of the node and they restarted their node?
[doublepost=1488114125][/doublepost]
Going to float an idea again which I think might have been mentioned before, but could be worth thinking more about as a way of incentivizing full nodes:

Let's say a miner is considering to build a block which is presumably excessive.

Now the miner wants to reduce the risk that the block will be rejected by the rest of the nodes.

It makes sense to me that the miner's node could set up one-off contracts with nodes in the network that would pay willing nodes a little something in return for guaranteed acceptance of a block up to a certain size.
This makes sense economically too since the other nodes are expected in return to validate and disseminate the block, which comes at some cost.

The question becomes one of arranging such contracts with as many peers as the miner deems necessary to lower this "avoidable" orphan risk.
couldn't the miner of the big block just spend some of the coinbase reward with a high fee?

Hmm, I just remembered the coinbase reward can't be spent for 120 blocks or so. So maybe the miner could set up an address that is filled by a tx included the big block and then broadcast a tx that spends that output with a high fee? Nope, damnit, doesn't work either, a miner could just mine both those tx on another chain without the big block ;(.

Something along those lines should be possible, no?
 
  • Like
Reactions: freetrader

theZerg

Moderator
Staff member
Aug 28, 2015
1,012
2,327
In my BU node running on Ubuntu 16.10 the "Client version" is "v1.0.0.1-unk".

What does "unk" mean in this context?
It means "unknown". Normally the checkin hash would be there. So this means that you built BU yourself and had a local modification to a file.
[doublepost=1488114704][/doublepost]WRT possible node restarts, this is a problem. People are using these sites to claim the backlog was cleared, but perhaps it hasn't cleared for days now...
 

freetrader

Moderator
Staff member
Dec 16, 2015
2,806
6,088
State of Bitcoin 2017 - the censorpunks are still in the house.
Clearly doing God's Adam's work.

To find out what consensus looks like in Core, follow this thread initiated by @achow101 :

https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2017-February/013539.html

Would be interesting to know if the debate had been carried to some sort of conclusion within Core's discussion spaces, or whether BtcDrak's final word had driven it out into the wilderness to die.
 
Last edited:

Mengerian

Moderator
Staff member
Aug 29, 2015
536
2,597
@Zangelbert Bingledack @awemany Re. "user-activated soft fork"

It's very interesting reading the proposals for the so-called user-activated soft fork. I would be very surprised if it catches on. Just think about the incentives involved. By running such code, a node is saying "I will reject the longest proof-of-work chain produced by the miners if it violates these additional validity rules I will impose after a certain date". This is a very risky position to put ones-self in, it creates significant risk of falling out of consensus with the network.

I try to explain this dynamic in more detail in this article: https://medium.com/@Mengerian/the-market-for-consensus-203de92ed844#.8tatnicf6

If it looks like a majority of miners won't enforce the new rules, then it's likely they will produce a longer proof-of-work chain that violates the new rules, splitting off from the soft-forkers. It's exactly the scenario they have been worried about with hard forks, and used as a reason to reject hard forks!


It seems obvious that this scheme won't work, and it definitely will not "depoliticize" the issue. But maybe it's good if it attempted, if only as a learning excercise.

A "user-activated hard fork", on the other hand, makes far more sense. In fact BU enables this. I, along with 600 others, run a hard-fork activated node right now! I accept up to 16MB blocks, should the miners produce them. And it is very safe, no risk of splitting the chain, my node follows the longest proof-of-work and stays with the majority.

@Peter R had a good graphic showing how protocol changes loosening validity rules (aka "hard-fork") could be safely coordinated in user-led fashion, whereas protocol changes tightening validity rules ("soft-fork"), are safely coordinated led by miners.
[doublepost=1488126800,1488125716][/doublepost]
To find out what consensus looks like in Core, follow this thread initiated by @achow101 :

https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2017-February/013539.html
Luke Jr's response:
My BIP draft didn't make progress because the community opposes any block size
increase hardfork ever. Your version doesn't address the current block size
issues (ie, the blocks being too large).
https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2017-February/013540.html
 

Zarathustra

Well-Known Member
Aug 28, 2015
1,439
3,797
False dichotomy. It can be argued that the true environmentalist is the "pro-market fundamentalist", precisely because he admits he doesn't know what "should be done" in order to prevent harm. His "solution" is not specific, it's just a framework that allows real solutions to emerge (instead of centrally planned commands, which are anxiety relieving but tend to provoke catastrophes).
Anything can be argued. Since the market has been regulated and sanctionned by central authorities since its invention: what does that even mean, "market fundamentalist"? A market that only exists in theory and nowhere in reality? Of course I like the relatively decentralized Swiss market more than the North Korean one, but even the markets with the most freedom for the participants have never delivered real solutions to the problem. The market (which is an ever growing state bastard until the collapse) itself is the problem. How can it be the solution?

 

Peter R

Well-Known Member
Aug 28, 2015
1,398
5,595
@Peter R had a good graphic showing how protocol changes loosening validity rules (aka "hard-fork") could be safely coordinated in user-led fashion, whereas protocol changes tightening validity rules ("soft-fork"), are safely coordinated led by miners.
One year ago I wrote this to explain why "nodes go first" with a hard-forking change and "miners go first" with a soft-forking change (a soft fork can the thought of as the reversal of a previous hard fork).

But it didn't really create much discussion. I think it was too wonkish to catch on on Reddit. And it was censored from the bitcoin-dev list (in fact the idea was censored all three times I've tried to post on this topic over the last year). I think BS/Core does not want this knowledge to get out and people to start talking about it. If it does, it becomes so obvious that user-led hard forks have an equivalence to miner-led soft forks.
 

lunar

Well-Known Member
Aug 28, 2015
1,001
4,290
@Peter R

I remember that post, I think it was what finally convinced me that BU was the best way forward. I wonder if it's not time for a new medium version, making sure to cc all the major exchanges and payment processors. It would only take a response from a few, to issue a statement along the lines.

"We at Xchange have upgraded our all our nodes to follow the longest proof of work chain with a blocksize of up to 2MB"

This would seriously reduce the friction to a Hard Fork.