Bitcoin Forum
May 24, 2024, 03:53:03 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: « 1 2 3 4 5 6 7 8 [9] 10 »
161  Bitcoin / Pools / Re: [1500 TH] p2pool: Decentralized, DoS-resistant, Hop-Proof pool on: June 01, 2017, 11:53:22 AM
Block! Mainnet's first in 19 days! Cheesy



Hi! I spent alot of time on the build of Litecoin 0.14-dev from sources and p2pool starting. After this I've cloned jtoomim's p2pool fork [1mb_hardforked] and tried to start it with --testnet parametres, but p2pool can't to connect to the network and displays it: '... taking a while. Common reasons for this include all of bitcoind's connection slots being used ... '
Here is the start line:
Code:
user@p2pool:~/Github/p2pool$ python run_p2pool.py --give-author 1 --net litecoin --testnet --bitcoind-rpc-port 19332 --bitcoind-p2p-port 19333 usr fcknpasswd
2017-06-01 01:00:31.225798 p2pool (version 15.0-5-g6f55d05)
2017-06-01 01:00:31.225947
2017-06-01 01:00:31.226030 Testing bitcoind P2P connection to '127.0.0.1:19333'...
2017-06-01 01:00:36.226441  ...taking a while. Common reasons for this include all of bitcoind's connection slots being used...

UPD!
Today I've tried with a last master cloned from https://github.com/forrestv/p2pool.git and got exactly the same error. Damn, really nobody faced this issue?
Code:
user@p2pool:~/Github/p2pool$ python run_p2pool.py --give-author 1 --net litecoin --testnet --bitcoind-rpc-port 19332 --bitcoind-p2p-port 19333 usr fcknpasswd
2017-06-01 11:16:39.083345 p2pool (version 16.0-4-gde1be30)
2017-06-01 11:16:39.083470
2017-06-01 11:16:39.083554 Testing bitcoind P2P connection to '127.0.0.1:19333'...
2017-06-01 11:16:44.083965     ...taking a while. Common reasons for this include all of bitcoind's connection slots being used...

forrestv and/or jtoomim, guys could you explain me what i do wrong and how to fix it? Thanks in advance!

The P2Pool branches that you tried to use are currently not compatible with Litecoin's segwit. You will not be able to mine using those P2Pool branches.

There is, however, a fork of P2Pool that is compatible with Litecoin's segwit. You can find it here: https://github.com/ilsawa/p2pool-ltc

I made a p2pool for ltc with support for SegWit.
If you want, you can try installing from the repository https://github.com/ilsawa/p2pool-ltc
162  Bitcoin / Pools / Re: [1500 TH] p2pool: Decentralized, DoS-resistant, Hop-Proof pool on: May 29, 2017, 09:55:51 PM
Maybe if p2pool can relay blocks to other nodes, but why should that be faster then core get the block from an other core node?...
This is actually pretty straightforward to do. P2pool has access to the share chain as an index of recently used and recently seen transactions, so it is generally able to encode a block in much less space than bitcoind can. I think most transactions take 2 bytes to encode (8 bits to refer to which ancestor share first mentioned the transaction, and another 8 bits to refer to the index of the transaction within that share), although the mean is much higher than that, especially when there are a lot of novel transactions.

There are other changes to make to p2pool that are a higher priority (e.g. improving fairness), so it's not likely that I'll implement block propagation via p2pool any time soon.

If P2Pool were to include block propagation, would blocks received from other P2Pool nodes then be subsequently forwarded to and verified by the recipient's bitcoind before being mined on, or would the recipient P2Pool node simply assume that the received block is valid?
163  Bitcoin / Pools / Re: [1500 TH] p2pool: Decentralized, DoS-resistant, Hop-Proof pool on: May 29, 2017, 09:18:13 PM
I don't think the problem is between p2pool and btc core, is more an internet problem that core needs to have the block faster and before p2pool heard of it. Maybe if p2pool can relay blocks to other nodes, but why should that be faster then core get the block from an other core node?...

There is a way for your Bitcoin full node to get blocks faster: connect it to one of the Bitcoin FIBRE nodes.

Also, Bitcoin Core 0.14.0 and later has some under-the-hood performance improvements that helps to speed up block propagation and validation. If you don't want the segwit part of 0.14.0 and later but want the faster P2P block propagation and validation that 0.14.0+ offers, you can stick a non-segwit version of Bitcoin Core (e.g., 0.13.0) in between your P2Pool node and 0.14.0+ as a filter. This might introduce a bit of additional latency, however, depending on how much juice your underlying hardware has.

...
No you don't all get the same 10%
People with well optimised good setups, or much higher hashing power, get lower %...
I get your point, and I think that's fair, if you have a better line, setup and hash rate you have a grater chance to find a block, it can't be a huge % diff.., if you get a high % on your node you can use a public node with total higher hash rate instead. Or use a non decentralized pool. Is it worth to spend time on a orphan fix before the empty block problem is solved?, 5 years ago it really didn't was a problem, but today when the tx limit is forced this is really bad for bitcoin. My opinion is it's better to just save the power and stop mining for a few seconds instead of public a empty block. A decc pool is a wonderful thing, but it is what it is.. I have great respect for forrestv

I disagree. P2Pool should provide any and every node with a level playing field. That's one of the points of having a decentralized pool. Having certain nodes that outperform others introduces an undesirable layer of centralization, in terms of orphan rates, etc. So yes, it is worth the time and effort to fix this issue. We should want as many miners as possible to mine at a decentralized pool.

That said, I do agree with you on the point that the empty block problem should be solved first. Demand for block space is already far outstripping supply, and P2Pool should not be a bottleneck in that regard. A decentralized pool should also be helping the network confirm as many transactions as possible. Nevertheless, I do understand that this is a tricky problem to solve; decentralization does seem to throw a spanner in the works here. But until a viable solution is found — I'm optimistic that we will find one soon Smiley — I am inclined to agree with jtoomim that mining on an empty block at the right height is a more appropriate compromise than mining on a full block at the wrong height or not mining at all.
164  Bitcoin / Pools / Re: [1500 TH] p2pool: Decentralized, DoS-resistant, Hop-Proof pool on: May 26, 2017, 01:01:30 PM
Empty block by jtoomimnet. Sad
Well, there was only 24 seconds between block 468172 and 468173.

With 110 MB of transactions waiting in the Bitcoin mempool during that time. jtoomimnet should've been able to fill its transaction cache back up to capacity with the share that found block 468173, but apparently did not.
165  Bitcoin / Pools / Re: [1500 TH] p2pool: Decentralized, DoS-resistant, Hop-Proof pool on: May 26, 2017, 10:37:50 AM
Empty block by jtoomimnet. Sad
166  Bitcoin / Pools / Re: [1500 TH] p2pool: Decentralized, DoS-resistant, Hop-Proof pool on: May 21, 2017, 12:12:51 AM
I'm still trying to understand how P2Pool works. How do I find a list of P2Pool servers? The idea is that I make a node and connect to a server, right? I can't quite visualize how all of this works, despite looking on Google for information visualizations. The image I saw on the Bitcoin wiki didn't make much sense, seemed too technical.

This P2Pool guide should be able to help. It's a lot more beginner-friendly than the Bitcoin wiki's article.
And here is an up-to-date list of public P2Pool nodes that you can connect your miners to, if you decide to not run your own P2Pool node.

There are multiple servers, right?

Yes, in a sense. There are multiple P2Pool nodes, and all of them make up the P2Pool network. It is very similar to how the Bitcoin network works, where multiple Bitcoin full nodes make up the Bitcoin network.

Is there like one main server? Or do a bunch of nodes together make the server?

P2Pool is a decentralized pool, similar to how Bitcoin is a decentralized network. There is therefore no main or central server, nor nodes that make up a main or central server. There is only the network of P2Pool nodes.

In other words, try to look at it according to what in2tactics said: each P2Pool node is its own pool. The P2Pool network connects these nodes together through the P2Pool sharechain, similar to how the Bitcoin network connects every Bitcoin full node together through the Bitcoin blockchain. P2Pool can therefore also be described as a collection of solo miners that pool block payouts and distribute them accordingly, since each P2Pool node is essentially doing its own thing. Contrast this to a traditional pool, where the central pool server dictates what its miners do.
167  Bitcoin / Pools / Re: [1500 TH] p2pool: Decentralized, DoS-resistant, Hop-Proof pool on: May 18, 2017, 12:33:58 PM
... When we hit a block (on one side of the fork), all miners on that side will be paid out, proportional to (as far as I understand!) the number of shares they have in the sharechain...

More accurately, a P2Pool miner will be paid according to the total worth of the accepted shares he or she has in the P2Pool sharechain when a block is found. For example, if Alice found one share that is of the same difficulty level as Bob's ten shares combined, their payouts according to their respective shares would be the same. P2Pool's payouts are weighted according to share difficulty, not share quantity.

... That's IF they're currently mining when the block is hit, otherwise, they get nothing...

That is incorrect. A P2Pool miner is paid according to the total worth of his or her shares remaining in the sharechain when a block is found. The sharechain contains approximately three days' worth of shares. So, for example, even if Alice were to stop mining on P2Pool two days before P2Pool finds a block, Alice still has approximately one day's worth of accepted shares that she will get paid for when the block is found.
168  Bitcoin / Pools / Re: [1500 TH] p2pool: Decentralized, DoS-resistant, Hop-Proof pool on: May 07, 2017, 02:19:27 PM
Dear PROs, can someone post an instruction on how to start jtoomims forked node. I cloned one from github, run it - and it keeps saying "Unknown share type 16"
I got usual p2pool node on that machine and it worked fine.

Hello, keke51. You need to connect your node to one of the jtoomimnet nodes, using the "-n [url:port]" command-line option. jtoomimnet's sharechain is incompatible with mainnet's sharechain, which is why you're getting the "Unknown share type 16" error. jtoomimnet's protocol version number is 32; mainnet's is 16.

For example, here are instructions for connecting your node to jtoomim's node, among others:

...
To connect to me: run_p2pool.py -n ml.toom.im:9333
...

You are also encouraged to publicly share your node details here, once you've set up your node. It would go a long way in helping jtoomim with the further testing of his fork.

If you want to contribute to the networked chain for share propagation testing, please clone https://github.com/jtoomim/p2pool/commits/1mb_hardforked, then configure your node to point to the previous poster's node (e.g. python run_p2pool.py -n previous_node), then list your node IP, what it's connected to, what type and speed of CPU you're using, how fat your pipe is, and whether you're using pypy or CPython (the regular python). Example, and to start us off:

Node IP: ml.toom.im (default ports)
Connected to: ml.toom.im:9334 and :9336 (or :9335 and :9337 for p2p ports)
To connect to me: run_p2pool.py -n ml.toom.im:9333
CPU: Core i7 4790k 4.0 GHz
Pipe: 100m/100m fiber
Using: pypy 2.4.0
169  Bitcoin / Pools / Re: [1500 TH] p2pool: Decentralized, DoS-resistant, Hop-Proof pool on: May 07, 2017, 01:38:54 AM
frodocooper, please note that my fork includes several improvements, not just a change to the maximum number of transactions per share, and consequently actually has a significantly *lower* share orphan rate than the p2pool mainnet. I don't have any good data on whether jtoomimnet is more fair or less fair than mainnet as of yet, but preliminary data suggests that it's about the same or slightly better.

As for the voting, I'm not sure there was any point. If anyone wants to mine on a share chain that allows less than 1 MB of new transactions per share, then there needs to be two separate share chains, because there is at least one miner (me) who chooses not to mine on anything less than full blocks. Rather than have one chain on which everyone compromises, why not just have two chains to satisfy everyone's goals?

Also, there are plenty of methods by which share network traffic can be reduced or taken out of the latency-critical path. I would prefer to just make shares propagate faster regardless of size rather than organize a vote on how much to cap our block sizes.

Edit: Sorry if I came off as irritable earlier. I'm just tired of politics getting in the way of fixing the code. I think that forking, as a permissionless process, is just socially easier to deal with than trying to get consensus, and in the case of p2pool, it has very few disadvantages. This way, I can just write code, and if you think it's better, you can use it. It's really simple that way. I don't have to worry about writing the code and having it never be used, since I know that I will use it even if nobody else does. And users don't have to worry about voting on features they don't understand; they can see the new code already running before they decide whether or not they like it and want to make a switch.

Point taken, jtoomim. I too apologize if I offended you in any way; my intention was simply to get the point across that there is almost always never an optimal solution, but there is almost always a better one. In the case of P2Pool, and Bitcoin in general, my personal belief is that compromise is almost always the better solution, compared to hard-forking.

But nevertheless, you do make very good, and reasonable, points. And I'll respect that, even if I do not agree with all of them. Smiley. (Also, I'm not a programmer, so I may have skimmed over much of the finer workings of your code, simply because I do not understand code. I do apologize if I made unfair and unfounded generalizations.)

Feels like a Scooby Doo caper, but actually your both wrong  Wink

I need to update the description on p2pool.org, and do not have the patience to find the code snippet on my phone, but the share chain length is kind of dynamic. While it stays close to three days, if I remember correctly both share weight and the "spread" change it to be less then 3 days under certain circumstances.

The real answer is both deep in this thread, and in the code... I'll spend the time to dig it out and update the site on Monday, unless someone feels like linking the code here before then Smiley

Yeah, the P2Pool page on the Bitcoin wiki does say that "Each share contains a generation transaction that pays to the previous n shares, where n is the number of shares whose total work is equal to 3 times the average work required to solve a block, or 8640 (= [72] hours of shares), whichever is smaller."

I'm still confused as to what the first part means. Tongue

(By the way, the P2Pool Bitcoin wiki page needs to be updated. It still says that shares are valid to at most 24 hours, among other outdated information.)
170  Bitcoin / Pools / Re: [1500 TH] p2pool: Decentralized, DoS-resistant, Hop-Proof pool on: May 06, 2017, 01:22:10 PM
I have a PR which lets users add text to their coinbase. I suggest people interested in the topic set it to something like /SZ250KB/ so that we can have some statistics.

Is there a simpler way of voting? I'm not a programmer — I assume that not every P2Pool node operator is a programmer too — and the only things I know how to do on GitHub are cloning the main repository and downloading releases. I also have no idea how to add text in my coinbase, let alone install a pull request (I hope that's the correct phrase for it). I would prefer to avoid tinkering in the bowels of my P2Pool node and/or Bitcoin node, for fear of messing up things that shouldn't be messed with.

That said, and for what it's worth here, I vote for the 250 kB share size limit.
171  Bitcoin / Pools / Re: [1500 TH] p2pool: Decentralized, DoS-resistant, Hop-Proof pool on: May 06, 2017, 04:12:28 AM
Those were the days when a share used to be valid for 3 days. Everyone was whining at the time that its too difficult to find a share and then it was adjusted so a share is nowdays valid for a day. It doesnt help if a big miner raises his shares to max which is 30x the minimium. Its like flooding the system with tiny shares. And no you dont get paid for every share you get like you should because shares are too fucking small and small shares flood the system.. But share should be valid not 3 days but somewhere near the shares needed to get 2 blocks, 1 block at least which was earlier today 8 days for 1 block now its 7.9 days - so difficulty should be so that shares would be valid for lets say 12 days. Then it would be like fun to get few shares and then few blocks..

Could you kindly point me to some reliable resources that show P2Pool's share lifespan being reduced from approximately three days to one day? P2Pool.org currently says that "a share in the P2Pool sharechain can be expected to last about 3 days (8,640 shares * 30 seconds = 3 days)" under "How do I get paid?".

Also, having a large miner raise his or her share difficulty to 30x the current minimum doesn't flood the sharechain with tiny shares. It does the opposite; the miner would be submitting fewer, but higher-difficulty and therefore higher-value, shares to the sharechain. Furthermore, large miners are encouraged to send higher-difficulty shares so that smaller miners would still stand a fair chance at having accepted shares — this method helps mitigate the impact of large miners on P2Pool's minimum difficulty, enabling smaller miners to still have a fair chance of submitting accepted shares.

You do get paid for every accepted share in the sharechain, according to the difficulty of those shares. Higher difficulty shares are worth more, and therefore pay out more. And you can't "flood the system" with shares; the sharechain is only as long as the last n shares, with the n being approximately 8,640 (unless this information is outdated). Anything more, and older, than that is disregarded and discarded.
172  Bitcoin / Pools / Re: [1500 TH] p2pool: Decentralized, DoS-resistant, Hop-Proof pool on: May 05, 2017, 11:52:39 AM
Also, if you're unsatisfied with P2Pool's default share difficulty, you can always set your own by appending "+", followed by your preferred difficulty level, to the end of your P2Pool mining address. And if you prefer to only have "difficult-to-find" shares on P2Pool's sharechain, simply append "/", followed by your preferred difficulty level, to the end of your P2Pool mining address.
What nreal is talking about is the p2pool pseudo-shares. The "+" and "/" options do not determine what shares get submitted to the p2pool share chain.

Actually, they do. Or at least, I've been under the impression that they do.

The specified difficulty value after the "/" tells the miner to send only shares above the specified "/" value to the sharechain. If the specified difficulty value after the "/" is lower than the current P2Pool minimum difficulty, then the "/" value is ignored. So, if a miner desires to have only high-difficulty shares in the sharechain, he or she may do so using the "/" function.

The specified difficulty value after the "+" tells P2Pool to send only work of the specified "+" difficulty value to the miner, i.e., the pseudo-shares.

Share should always pay out - thats the idea i guess. Dont mix things with rented or not rented. If one uses 2ph for 24 hours and dont get any payment for that the p2pool sucks because these easy to find shres makes sharechain go too fast round.. Too small share diff doesnt help anyone.
I think you are missing the point. Setting the share life to 1 block as I suggested would make things fairer for everyone to include renters by increasing the probably that anyone mining during the current round will get a payout by the time p2pool finds its next block, but it does not guarantee it. Making the share life higher than 1 block as you suggested only serves to benefit renters by lowering their risk and decreasing potential earnings for long-term p2pool miners. I do not think that arbitrarily decreasing renter risk at the expense of loyal long-term miners is the right answer. This very topic has been a source of contention for pools since their inception and in my opinion using a share life of 1 block seems to be the best compromise for everyone.

I'm getting a little confused here. Do correct me if I'm wrong. From what I am able to understand from your suggestion, you are suggesting that a share's lifetime be limited to the current round of mining, i.e., the sharechain is reset after P2Pool finds a block?

If that's the case, then the payout system would be more along the lines of the "Proportional" payout system rather than P2Pool's current PPLNS system. If what you are suggesting is a "Proportional"-like system, then I think it would be unfair to long-term miners, since the "Proportional" payout system is susceptible to pool-hopping.

Then again, I'm probably misunderstanding the whole discussion. Some clarification would therefore be nice, and much appreciated. Grin
173  Bitcoin / Pools / Re: [1500 TH] p2pool: Decentralized, DoS-resistant, Hop-Proof pool on: May 05, 2017, 08:57:02 AM
Yes its based on difficulty Smiley Everything was calculated right at some point, if I remember right one share was calculated to live 3 blocks time. Nowdays the math is done wrong, share is calculated to live 0,2 blocks time or something Sad Renting hashpower is very risky bacause shares dont pay out etc..
However, I disagree with nreal. It should not be related to anything higher than 1 block time. I am all for renting hash on p2pool mainnet, but renting hash is always a risk and that risk should be reflected in share life on mainnet. I do realize that jtoomim is the one working on the updated fork so ultimately what he codes is up to him, but it is my opinion that p2pool for mainnet should always favor long-term p2pool miners not renters. If that is a problem, then the solution may be to have two separate p2pool pools, one for mainnet and one for renters.

I concur with in2tactics on this one.

Share should always pay out - thats the idea i guess. Dont mix things with rented or not rented. If one uses 2ph for 24 hours and dont get any payment for that the p2pool sucks because these easy to find shres makes sharechain go too fast round.. Too small share diff doesnt help anyone.

Shares do pay out. If they didn't, we wouldn't be here. The difference between (short-term) rented hashpower and non-rented hashpower on P2Pool is that the renter is essentially gambling that P2Pool finds a block while his shares remain in the sharechain (about 3 days). Their payouts therefore rely heavily on chance. Just because someone uses 2PH/s for 24 hours on P2Pool and doesn't get a payout, doesn't mean that P2Pool "sucks." All it means is that his or her gamble didn't pay off.

Also, if you're unsatisfied with P2Pool's default share difficulty, you can always set your own by appending "+", followed by your preferred difficulty level, to the end of your P2Pool mining address. And if you prefer to only have "difficult-to-find" shares on P2Pool's sharechain, simply append "/", followed by your preferred difficulty level, to the end of your P2Pool mining address.
174  Bitcoin / Bitcoin Discussion / Re: Who wants these Bitcoin scaling wars to end? on: May 05, 2017, 03:57:50 AM
...

I agree. I support this proposal.

It makes full sense to fix the bugs in the current system, e.g., transaction malleability, and optimize block space usage — which SegWit does — before making changes to block size limits. To do it in reverse, i.e., increasing the block size before fixing bugs and optimizing block space usage, would essentially mean:
  • bugs in the current system would amplified in presence and in impact, and
  • the ratio of wasted block space to useful block space would be preserved, therefore increasing the amount of resources wasted in propagating and storing these larger, but more wasteful, blocks. In contrast, optimizing block space usage before increasing block size would reduce wasted block space in proportion to useful block space, therefore reducing the amount of resources wasted in propagating and storing these blocks, since there would be less wasteful space to store and propagate.

Furthermore, adapting the block size according to a pre-defined interval's supply and demand is, in my opinion, a much safer method than what is proposed by Emergent Consensus. Emergent Consensus has the potential to unleash chaos on the Bitcoin network in that different pockets of the network may end up mining different blockchains because these different pockets came to different consensus regarding the appropriate block size to use, all before the Bitcoin network as a whole managed to wrangle itself into a universally-accepted block size. Frequent hard forks and chain reorganizations may become the new norm in such a scenario, undermining the integrity of the Bitcoin blockchain.
175  Bitcoin / Pools / Re: Do mining pools directly connect one to another? ("Miner intranet") on: May 05, 2017, 03:08:00 AM
I'd propose adjusting the block size along similar mechanisms as currently employed by the network in adjusting the network difficulty — i.e., adjust the block size once every two weeks based on the demand from the last two weeks.

Its a bit off topic here, but I have advocated some time ago for a BIP-100 based solution (here) with a similar mechanism you describe (credits to Jeff Garzik, Upal and DooMAD). In this proposal every difficulty retargeting (or a slower timeframe) miners can vote to increase the maximum block size by a small percentage (5% were proposed)  but adding a upper "security limit" to prevent a situation where malicious miners (or other users) could spam the network contiuously to achieve a to big block size. Maybe you find it interesting.

Thanks for sharing that; I do find it interesting. And disappointing (in regards to its discussion); Bitcoin's current community just can't help turning a perfectly viable and reasonable proposal into yet another political slugfest. Sad

Still, I remain hopeful that one day, reason will prevail and the community manages to find common ground and move on to better and greater things for Bitcoin. This "debate" has become too much of a colossal waste of time, energy, and resources.

But yeah, we are taking this thread a little off the rails from its original topic. Tongue

I agree to your view about Bitcoin Unlimited's EC, I don't like it. I would like to see it as an altcoin though, simply to see if and how it works.

Me too. It'd be interesting to see how Unlimited would manage to wrangle different pockets of the network into agreeing on a universally-accepted block size and mitigate, if not eliminate, the significant risk of frequent hard forks and chain reorganizations posed by Emergent Consensus. If Unlimited manages to develop and deploy a viable solution, I believe the blockchain ecosystem as a whole would greatly benefit from this.

I share that observation. I have one hope here: that pressure from altcoins (e.g. from Litecoin adopting Segwit and Lightning first, Ethereum with Raiden, there could also be an altcoin adopting Extension Blocks) could calm the debate a bit in front of a potentially more dangerous enemy than an alternative implementation (a "Flippening"), and unite the community again, at least to the degree that Segwit could be accepted - as a soft fork or an hard fork. Let's see what happens.

I concur.
176  Bitcoin / Pools / Re: Do mining pools directly connect one to another? ("Miner intranet") on: May 03, 2017, 03:02:05 AM
(I may sound like a Big Blocker here, but actually I'm a Segwit supporter, but not at all costs.)

Me too. I'm also for flexible block sizes that scale accordingly to meet the demands of the network, but within reason, within reasonable technical limits, and based on a reference framework so that there would be less chaos in the network as a whole coming to a consensus on which block size to use. I'd propose adjusting the block size along similar mechanisms as currently employed by the network in adjusting the network difficulty — i.e., adjust the block size once every two weeks based on the demand from the last two weeks. I believe this to be a far safer solution that what Emergent Consensus proposes; Emergent Consensus has the potential to unleash chaos in that different pockets of the network may end up mining different chains because these different pockets came to different consensus regarding block sizes, all before the network as a whole managed to catch up and settle on a universally-accepted block size. Hard forks and chain reorganizations may run rampant in such a case.

Furthermore, I believe that changes to the block size should come after fixing the many bugs and issues found in the current system, especially that of transaction malleability and the network's current inefficient use of block space. Increasing the block size without fixing these bugs and without optimizing block space usage essentially means amplifying the presence and effects of those bugs, and increasing wasted block space in proportion to useful block space. (In contrast, efficiency improvements to block space usage reduces wasted block space in proportion to useful block space). The net total would essentially be a buggier but bigger block, and a bigger but more wasteful (in terms of storage space) block.

TL;DR: Fix bugs and optimize block space usage before making changes to block size limits.

I conclude from your answers that nodes have actually some power to guide miners' (& pools') decisions and incentive them to not change the rules, but it is a bit limited because other pools also in most cases fill that role because they have similar incentives to invalidate "rule-breaking" behaviours like the economic nodes. But in situations of polarization between relatively small changes (like Segwit), "economically important nodes' opinion" should matter a bit at least, but it's an "informal" power, not a power granted by the protocol (as far as I understand).

Yup, classic game theory at work here. Smiley

I'm currently unaware of such a proposal to essentially sabotage the efforts of non-SegWit miners. In any case, I wouldn't call it an "incentive" to get those miners to signal for SegWit; I would call it coercion. Such efforts are to be condemned, pro-SegWit and non-SegWit alike.

Here I've found the proposal. I think the user who proposed it is not a big miner nor a pool operator, but I may be wrong.

Yeah, I haven't yet found any evidence to suggest that he's a large miner or a pool operator or both. Still, anything's possible. He seems to be a developer though, and may have contributed a fair bit to the development of Bitcoin. Nevertheless, even though I am for SegWit and would like to see it activated as soon as possible, I would not support his proposal. It does way more harm than good to the network, and I fully agree with what achow101 said in response to Carlton Banks' proposal:

I highly recommend that you don't do this because it can cause network partitioning, potentially persistent chain forks, and further the polarization of the debate...

Well, here I think "if it's possible, it will happen" and therefore it should be viewed as a legit possibility for nodes to support a softfork proposal and be included in the considerations regarding consensus. But effectively Fibre or any other possibilities for the pools to directly connect one to another would make ineffective these efforts for regular nodes.

Like you said, it's a bit different if a mining pool (or various pools) is using that kind of software - they could actually really do change the incentive structure.

You're right, FIBRE would pretty much render Banks' proposal useless, since the mining pools are essentially in a virtual private network of their own. And yes, if the pools decide to go Banks' route, then FIBRE would essentially become a mirror of what would happen on the main P2P network if his proposal goes mainstream.

The problem is if there is a large proportion of pools acting that way - e.g. all Segwit-supporting pools blocking the BU nodes, and all BU-supporting pools doing the opposite. From my limited understanding that could also possibly lead to a hard fork.

Yup, and it would be a massive problem, since that is essentially an actual hard fork. The two different factions would be mining their respective versions of the blockchain and broadcasting it to the network. SegWit nodes reject the Unlimited blockchain, and Unlimited nodes reject the SegWit blockchain. A hard fork would have occurred at that point.

So actually, all forms of updating the rules without hard fork develop into hard forks if there is no supermajority agreement for the proposal. Then I ask myself, why not simply do the hard fork and give the big blocker side an incentive to agree (e.g. a compromise solution like Segwit2MB?) to get the supermajority?

I ask myself that too. And the more I immerse myself in the Bitcoin community, the clearer and uglier it becomes to me: pride. The two factions have become so resolutely stubborn in their respective beliefs, that they have blinded themselves to the merits in each other's proposals (no matter how beneficial to the network), and more devastatingly, to the damage that they themselves are inflicting on the Bitcoin ecosystem — they refuse to take any responsibility for their own actions, and instead prefer to blame the other party for any damage that is inflicted on the Bitcoin ecosystem as a result of their actions. They have essentially, in my opinion, reduced themselves to comparing whose dicks are bigger (there are no women in the leading development teams). They are making pathetic fools out of themselves in front of the entire world, and the response has been damning, to say the least.

PS: Thanks for the links! It's good to refresh basic knowledge about Bitcoin's consensus sometimes ...

Likewise, d5000. Smiley
177  Bitcoin / Bitcoin Discussion / Re: Who wants these Bitcoin scaling wars to end? on: May 01, 2017, 02:51:51 PM
if you only see in front you then yeah bitcoin is super expensive but the same answer i gave to you (and people saying bitcoin is not cheap) last year i will give you again: all these prices are super cheap when you compare it with a price in a couple of years.

you guys call bitcoin expensive when it is $200 then it goes to $600 then you still call it expensive then it passes $1000 then the same story.and you will continue saying the same thing in 6 months when price is $1800

Cheap (adjective):
depreciated in value (as by currency inflation)

Current bitcoin price in USD, at time of posting: $1,403.78

Nope, still doesn't look cheap to me.
178  Bitcoin / Pools / Re: Do mining pools directly connect one to another? ("Miner intranet") on: May 01, 2017, 02:23:13 PM
Thank you for clarifying. So basically you say that full nodes enforce the "hard" consensus rules (like total coin supply).

Yup, that's one way to put it. Smiley

I could counter this affirmation by saying that if these rules are changed then Bitcoin would lose value almost instantly so any mining pool that depends on revenue would mine the chain with the correct consensus rules to orphan the chain with the changed rules and the "malicious pool" would have no chance anyway. For such a radical change really getting 50%+1, the participating mining pools would need to have destructive intentions (e.g. "banksters" trying to destroy bitcoin, miners bribed by short sellers ...). So I consider that scenario extremely unlikely.

True, but only if the rule change is a hard fork — i.e., the original blockchain permanently splits into two. And only if the hard fork does not have the backing of the economic majority — i.e., the new blockchain would have little, if any, economic value. So yes, miners would therefore be incentivized to mine the blockchain backed by greater economic value (in this case, the original blockchain), since it would yield more significant revenue for them. And yes, for the new blockchain (the one without the backing of the economic majority) to survive, miners seeking to preserve it and subsequently orphan the original blockchain would need both "destructive intentions" and really deep pockets; they would need to generate an extraordinary amount of hashing power not just to mount a 50%+1 attack, but to preserve that 50%+1 advantage against miners who would be incentivized into mining the original blockchain.

The UASF scenario is interesting:

Firstly, such a soft fork is "user-activated," so miners do not have any say in whether or not such a fork be activated.

Let's observe in detail that case of a disagreement between miners and "economically important" users. First the users would activate the soft fork and most miners ignore it. Let's say after that deadline 70% of the economic nodes and 30% of the miners run the UASF-compatible client, while 70% of miners and 30% of economic nodes would run the non-UASF client.

Quote

Secondly, it is a soft fork, not a hard fork. Therefore, non-UASF-conforming miners would still be able to follow this blockchain and mine valid blocks on this blockchain, but just not blocks that follow the UASF's revised rules.
So the "UASF blocks" would have to be mined by the 30% UASF-accepting miners. But couldn't the 70% non-UASF-supporting miners simply orphan every block or couple of blocks mined by these 30% that support the UASF rules, using their large hashrate majority? OK, here we're going into the details of UASF, so if you want, you can point me to a thread or post where this was discussed.

You are correct. Unless the soft fork — whether user-activated or otherwise — is backed by the majority of hashing power, it would most likely end up being the shortest chain and eventually get orphaned by the network. Since both upgraded nodes and non-upgraded nodes see both soft-fork blocks and non-soft-fork blocks as valid — i.e., non-upgraded nodes will accept as valid all the same blocks as upgraded nodes do — both upgraded nodes and non-upgraded nodes will accept the chain with the most proof-of-work as the best valid blockchain. The soft-fork version of the blockchain would therefore be competing for acceptance by the network with the non-soft-fork version of the blockchain. Since, in this scenario, 70% — and therefore the majority — of hashing power is mining non-soft-fork blocks, the non-soft-fork version of the blockchain wins.

However, in this scenario, since the UASF was backed by 70% of the economy, the 30% of miners who stuck with the UASF version of the blockchain would arguably be incentivized to continue mining this chain, since robust economic backing means significant revenue for them. This "orphaned" blockchain would therefore still be alive and active. In this case, a hard fork has occurred — i.e., two separate active blockchains have permanently diverged from the original chain.

For me, another scenario was of interest: There was an idea to create a Core-based client that could choose to delay or even refuse the propagation of blocks coming from miners that have a header with certain characteristics (e.g. that don't signal for a soft fork proposal like Segwit) to give them incentives to signal for the softfork. In this case, I think the Fibre network would practically invalidate that idea because no pool would depend on a fast propagation via the P2P network if all other pools are connected to Fibre.

I'm currently unaware of such a proposal to essentially sabotage the efforts of non-SegWit miners. In any case, I wouldn't call it an "incentive" to get those miners to signal for SegWit; I would call it coercion. Such efforts are to be condemned, pro-SegWit and non-SegWit alike.

As far as I understand it, FIBRE is merely a backhaul between mining pools. It is up to the mining pools to propagate the blocks as they see fit; the FIBRE network itself does not force the pools to propagate every block at every opportunity as quickly as possible. FIBRE's utility and value depend on mining pools being incentivized to propagate newfound blocks as quickly as possible so that they can mine on top of them as soon as possible.

Therefore, FIBRE in and of itself does not prevent malicious miners from withholding newfound blocks from pools, or delaying propagation of blocks from pools, that do not support their (malicious miners) views.

Nevertheless, I do not foresee such a proposal going very far. If a pool — no matter how big it is — decides to coerce other pools into playing by its own rules, the other pools would most likely blacklist the malicious pool on both the FIBRE network and the main Bitcoin P2P network. The malicious pool would therefore end up shooting itself in both feet; it now would be unable to utilize the FIBRE network to obtain new blocks as quickly as possible, and it would also find itself with a more limited set of mainnet nodes to obtain blocks from. Not to mention the backlash it would receive from the mining community at large; I foresee a not-insignificant number of miners leaving the pool in protest, further crippling its mining operations.
179  Bitcoin / Bitcoin Discussion / Re: Who wants these Bitcoin scaling wars to end? on: April 30, 2017, 12:58:42 PM
miners act against their profits for months now. For the rest of us means cheap bitcoins and everyone want this.

$1,316.81 (at time of posting) doesn't seem cheap to me.
180  Bitcoin / Pools / Re: [1500 TH] p2pool: Decentralized, DoS-resistant, Hop-Proof pool on: April 30, 2017, 02:17:33 AM
...

There are 2 other difficulty settings configurable by the miner:

Share difficulty: sets the actual difficulty for a miners shares. This was implemented for large miners who wanted to set share difficulty HIGHER than P2Pools actual difficulty. If set to lower than share difficulty it is ignored. It is set by adding a "+" to the end of your address followed by the difficulty number.

Sudo share difficulty: sets a sudo difficulty so your miners will submit work more often than they would at the actual difficulty. This is useful to smooth out your hash rate graph on the node. It is set by adding a "/" at the end of the miner address followed by the desired sudo difficulty.

You can set both or either one.

Regardless of your settings shares will only be accepted if they meet the minimum P2Pool difficulty.

Hmm, I was under the impression that it was the other way around, i.e.:
- adding a "/" followed by the desired difficulty level to the end of the Bitcoin address would tell the miner to submit only shares above the stated "/" difficulty level, and
- adding a "+" to the end of the Bitcoin address tells the P2Pool node to always give the miner work with the stated "+" difficulty level.
Pages: « 1 2 3 4 5 6 7 8 [9] 10 »
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!