Bitcoin Forum
May 13, 2024, 11:15:33 PM *
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 »
1  Bitcoin / Development & Technical Discussion / Re: Can centralised pools point their hashpower at a p2pool node? on: June 21, 2014, 07:44:31 PM
I see PetaMine are having a vote on switching to p2pool. http://www.reddit.com/r/Bitcoin/comments/28o1cy/petamine_is_holding_a_vote_to_switch_to_p2pool_if/
While they are not a pool, it is interesting nevertheless. Hopefully this happens and makes it very tempting for some of the smaller pools to join, triggering a cascade.

Would it be too much to ask for all major mining operations to be working via p2pool?Roll Eyes It would be so cool to know in near-realtime which txs are being worked on. Cool
2  Bitcoin / Development & Technical Discussion / Re: Can centralised pools point their hashpower at a p2pool node? on: June 13, 2014, 07:50:54 AM
The sharechain doesn't contain the entire merkle tree and thus you can not verify what tx are being worked on by a share in the sharechain.  Each share has to be as small as possible (to improve efficiency).  It doesn't contain anything more than the bitcoin blockheader, the coinbase tx, and the merkle branch which allows cryptographic verification of the coinbase tx (linking coinbase tx to merkle root).  Actually this is a simplification.  It contains subsets of those elements because there are portions which can be independently computed by peers in the p2pool network and thus don't need to be relayed (i.e. the output of the coinbase tx).  p2pool shares don't contain anything more than what is needed to prevent cheating by p2pool peers.  For a p2pool share to contain all the tx hashes of the bitcoin block which would make them very heavy.

OK. It is important to keep in mind that even without any changes and without any pool providing any additional data, multiple pools using a p2pool-like backend would provide reduced variance. In order to prove that a given tx is being hashed by a given pool, there are various ways to go. The simplest would be for the pool to simply provide a merkle branch linking the tx to the merkle root. This may be a paid service.* Alternatively the pool may provide the full ordered list of tx hashes in the share. If the pool is also willing to provide the txs corresponding to any unknown hashes, this proves that it is not working on any private transactions that have not been disclosed to the rest of the network. This additional data (the merkle branch linking a given tx, or the full list of txs, need not be sent on the p2p network, but can be available from an API on the pool's server.)

It may be possible to allow more efficient verification of "working tx set" but it would require a radical change to the Bitcoin block structure as well as block rules.   If the merkle trees were generally similar or deterministic it would be possible to provide a merkle tree as well as a instruction set on how to select the txs.  Like I said this is more useful for an altcoin as it would be a radical departure from Bitcoin.

I don't think any more efficiency is actually required. The additional data that is required to wholly or partly verify the "working tx set" need not be transmitted on the p2p network (in fact if the data is to be sold, then it cannot be sent on the p2p network), and is actually quite lightweight for something served via a traditional webservice.

There is some merit outside of double spend proof for pools using p2pool as a backbone however there is also a tragedy of commons.   Say p2pool represented 30% of the network hashrate this would mean any entity regardless of their actual contribution has the reduced variance of someone with 30% of the hashrate.   Yes all participants benefit but they benefit to a lesser degree.  The larger the participant the less they benefit and "worse" their advantage over other participants is reduced.   Established pools are able to charge a fee because they are trusted and they reduce variance.  By joining p2pool they undermine those two factors which are their sole reason for existence.  

This is not quite correct. Larger pools in the superpool will still have lower variance than smaller pools, but it is possible for smaller pools in the superpool to have lower variance than large pools outside of it. A good example would be if BTC Guild and Discus Fish (both at 12% of network hashpower were to join into a superpool) Now BTC Guild has a lower variance, but it has come at the "cost" to them of also giving their competition Discus Fish a lower variance. Since they are equal in size and relatively small in comparison to the rest of the network, this seems like a good deal for both of them. If they were to let Eligius join their superpool, their own variance would get lower, and while Eligius variance would reduce, it would still be higher than theirs.


To answer your question there is no technical reason why pools couldn't use p2pool (either the existing network or a private variant) as a backbone.  There never has been.  However there is also no "selfish" reason for them to do so.  All the reasons relate to the "common good" which is a hard sell.

As I see it, the only pool that currently does not have an incentive to join such a superpool, is GHash.io. The tiny pools have nothing to lose, and the medium sized pools are better off joining a superpool with other medium sized pools (allthough possibly not with tiny pools) than not joining.

*This allows for new models of tx-fees. For example I could send a tx with no fees that would not normally get included in a block, but have a pay-per-share transaction fee contract in place with Discus fish. Discus fish would then work on including my tx in a block and receive a nanopayment from me for every share that they produce with a  valid merkle branch linking my tx to the merkle root. The downside is that this introduces variance in my tx fee, I may get lucky and pay a very low tx fee if one of the first shares that mining provider produces is a block, but I may also overpay, significantly if it takes very long before a block is found. The upside is that as a consumer I can choose which pools I wish to support with my tx fees.
3  Bitcoin / Development & Technical Discussion / Re: Can centralised pools point their hashpower at a p2pool node? on: June 12, 2014, 02:04:57 PM
I'm not positive, but I think you just recreated the bitcoin blockchain itself...

Well, yes, except it  wasn't me it was forrestv. :-). I am actually quite familiar with how p2pool woorks, and the few differences between the p2pool sharechain and the blockchain itself that you point it are integral to my proposal.

In turn, the shares are tracked on a sharechain that's almost identical in concept to the bitcoin blockchain, except shares are issued much more quickly (once a minute, I think, rather than once every ten minutes on the blockchain).

Unless I am very much mistaken it is once every 30 seconds. And this increased rate is what allows the benefits that I highlighted in the OP. Since shares are worth less than blocks a pool mining for shares as ppart of a larger conglomerate of pools will see lower earnings variance. The pools are effectively insuring each other against bad days, while remaining completely independent as far as block construction etc. is concerned. Usually a high blockrate has a downside since it results in more orphans and wasted hashpower. However, since the block rate of the underlying network is unchanged, this does not apply in this case. And since this p2pool is intended for use by a few pre-identified centralised pools, we could even raise the share generation rate higher still if the latency of the network links between the pools is low enough.

The transactions being considered for inclusion in a block by the p2pool network are obtained from a standard bitcoin node, so tracking what transactions the pool is working on would be no different from getting a list of pending transactions from any bitcoin node's memory pool. In both cases, any given transaction is not guaranteed to be in the next block, or in any block for that matter.

There is one big difference. If I get the list of pending transactions from a pool node's memory pool, I have no guarantee that the node is being truthful. It may show a tx paying me as being in the mempool, while behind the scenes it is hashing away on a different (double) spend of the same utxo. However, a sharechain provides an unforgeable proof that one or more of the participants in that chain was actually actively mining my transaction. Pools can provide the same proof in the current framework by simply publishing their best submitted share every X seconds. However they then lose the smoothing of earnings benefit.

I suppose you could create a fork of p2pool with its own independent sharechain; the software's all open source. If one of the major pools shifted their backend to this forked-p2pool, it would be mostly invisible to end users. For pools where the login is a bitcoin address, no change at all would be needed to the mining end, though some changes would be needed to the UI, of course. For pools where a different login is required, I would imagine they'd still have a bitcoin address on file for eventual payouts, and that could easily be reused to pay the miners when blocks are found.

I see no reason why any pool would need to change anyythinng on their fron-end. The pool is still mining to their own address and they are still paying out users with mature coins like they currently do. Users would see very little change other than reduced earnings variance. So if Btc Guild (12%), Discus Fish(12%) and Eligius (8%) were to band together like this they would present to their users earnings variance only slightly higher than a non-aggregated pool with 30% of network hashpower, while remaining independent as far as transaction selection goes (i.e. Eligius would mine certain non-standard txs while Discus Fish does not). Even if this aggregation of pools were to grow to 60% of the network (thus providing lower variance than any non-aggregated pool operator could offer) no single pool operator would be in a position to mount a 51% attack. And the sharechain would provide early warning if a pool operator started withholding hashpower (to perform a Finney attack or selfish mining for example).

Bear in mind, though, that funds from newly-found blocks are unspendable ("immature") until they have over 100 confirmations, versus the more standard six confirmations for a payment transaction that most pools currently do. That impacts usability for users.

Aware of this. Today pool operators do this by having their own stash of mature coins which they can pay out to users while waiting for the freshly mined coins which will be coming to the pool address to mature. This will remain unchanged

I strongly suggest reading through the p2pool thread (or at least, the first post and the last few pages, as the thread is huge), then reforming your proposal a little more clearly and posting it there for feedback. While I use and support p2pool, I'm hardly an expert on it.

I'm pretty familiar with the working of p2pool allthough my knowledge may be a little dated. I hope I have clarified the points in my proposal that created confusion.
4  Bitcoin / Development & Technical Discussion / Re: Can centralised pools point their hashpower at a p2pool node? on: June 12, 2014, 01:01:04 PM
Thanks for the constructive reply.
I've been mulling this one over, and honestly, I'm not sure it's such a good idea, at least not with p2pool in its current state.

Let's assume for the sake of discussion that a large pool does shift their entire backend to p2pool overnight. 

First off, it doesn't preclude any pool of a sufficiently large size from conducting a 51% attack, even with p2pool as an intermediary.  (I bring this up because preventing a 51% attack is frequently cited as a reason for switching to p2pool.) The p2pool share chain is consensus based, just like the bitcoin blockchain. Thus, the way a 51% attack works is still just as applicable with p2pool as it is with any other system.  The attacking pool simply has more hashpower than the rest of the p2pool network combined, and their share of the overall network hash rate is still the same as what it was before the shift to p2pool.

No, I understand that a 51% pool still has 51% irrespective of mining via p2pool or otherwise. I did not claim that this would prevent a 51% attack.

Second, it would immediately render p2pool useless for smaller miners.  Let me give an example with simplified numbers (but still close to reality). The current network speed is on the order of 100Ph/s, or 100,000 Th/s.  p2pool itself is registering on the order of 500Th/s, or 0.5% of the network speed. To get one share per day on p2pool, you need about 5Gh/s at present, or approximately 1/100,000 of the overall hash power of p2pool (again, simplified numbers, don't go crazy over my math! Smiley ).  Now let's assume that a pool with 20Ph/s shifts to p2pool.  p2pool's total hash rate jumps to a whopping 40 times its previous hash rate, and to get one share per day, you'd need over 200Gh/s.  So if you have less than that on p2pool, you essentially stop getting shares, which means you get less payouts.  It doesn't matter if the p2pool network is now finding 40 blocks a day or more; if you as an individual miner are sitting at zero shares, then you get zero payout.  You'd be better off solo mining and hoping to hit a jackpot -- or joining a competing pool.

I've always assumed (incorrrectly it would appear) that there are multiple p2pools, to counter the very problem you highlight here. Nevertheless it would be a trivial modification to the p2pool source code to ensure that the pools that mine into THIS p2pool (lets call it poolp2pool :-)) do not share a sharechain with the already existing p2pool miners. Therefore the existing p2pool difficulty remains unaffected. So if you initially had just one major pool switching to a system like this they would just be competing with themselves for shares on the new sharechain and their revenues would be unaffected, they will however, in the process provide the rest of us with an unforgeable proof of which transactions they are currently working on. This data has value and it could even be sold to interested parties (anyone interested in accepting low-confirmation transactions, or trying to estimate the fee they need to include to get their tx into the next block). This is an advantage in itself. However, when a second pool joins this poolp2pool, things get even more interesting, since both pools (and their miners) now see reduced earnings variance. For a miner with too little hashpower to  mine in p2pool directly, this becomes the next best option and miners have less incentive to join the largest pool since even tiny pools mining into poolp2pool can provide low variance income.
5  Bitcoin / Development & Technical Discussion / Can centralised pools point their hashpower at a p2pool node? on: June 11, 2014, 12:05:28 PM
I think there are some advantages to be had if some of the centralised pools would mine through a p2pool node, effectively creating a superpool.

Firstly, the resulting sharechain would provide an easy way for those parties with an interest in accepting low-confirmation transactions to know which transactions the pools are actively mining.

Secondly, if multiple pools point their hashpower at the same p2pool node, they will all see reduced earnings variance and get a share of the p2pool donations. This would remove (or at least drastically reduce) the incentive for miners to join the largest pool in order to reduce variance.

It would allow for much more accurate estimation of network hashpower and the hashpower split between pools (assuming pools don't hide their identities), which would also allow us to determine the fraction of the network in favour of a given proposal (think of the p2sh voting) more rapidly and accurately.


6  Economy / Speculation / Re: Wall Observer BTC/USD - Bitcoin price movement tracking & discussion on: May 29, 2014, 12:11:01 PM
No, but this is.
7  Economy / Speculation / Re: Wall Observer BTC/USD - Bitcoin price movement tracking & discussion on: February 26, 2014, 12:17:51 PM
According to http://freakonomics.com/2014/02/25/what-does-the-mt-gox-meltdown-mean-for-bitcoin-maybe-not-much/ there will soon be a freakonomics podcast on bitcoin. Now they have an estimated 750 000 podcast listeners per episode (Some of it also goes out on public radio, not sure what the numbers there are). Now this is a factor ~14 less than the estimated viewership of The Good Wife, but the demographics are a great fit for bitcoin. Whereas the median age of a "The Good Wife" viewer is 60 the freakonomics listeners are

Quote
Our listeners are, in a nutshell: rather male (77%); relatively young (45% are 25-35 years old, another 24% are 35-44); well-educated (38% have a graduate degree; another 43% have a bachelor’s degree); and — according to the survey data at least — pretty well-off (17% earn more than $150,000 and another 23% earn between $100,000 and $150,000; then there are the 14% who earn between $0 and $30,000, most of whom are likely students).

Here is a graph showing the distribution of occupations


Also, they are obviously interested in economics and unlike the case in the Good wife episode, it will be clear from the context that Bitcoin is a real thing and not a figment of some scriptwriter's imagination.   Smiley
8  Economy / Speculation / Re: Wall Observer BTC/USD - Bitcoin price movement tracking & discussion on: December 05, 2013, 02:11:49 PM
they ban unicorns too.

They BANNED unicorns??!! I don't believe this.  Link or it didn't  happen.

 Wink

Its no joking matter.... apparently...
http://somakeitup.blogspot.com/2013/10/ban-unicorn-jokes.html

BWAHAHAAAHAHAHA -- now THIS makes the whole China's-shitting-pantz-oh-noes-they-aren't thing worth getting out of bed for...

Dude, don't laugh at the lady. Apparently she finds those jokes uni-corny.
9  Economy / Speculation / Re: Wall Observer BTC/USD - Bitcoin price movement tracking & discussion on: December 05, 2013, 02:03:49 PM
no one is that retarded to...

All sentences that start like this are ultimately proven false.
10  Economy / Speculation / Re: Wall Observer BTC/USD - Bitcoin price movement tracking & discussion on: December 05, 2013, 12:47:50 PM
they ban unicorns too.

They BANNED unicorns??!! I don't believe this.  Link or it didn't  happen.

 Wink
11  Economy / Speculation / Re: Wall Observer BTC/USD - Bitcoin price movement tracking & discussion on: December 04, 2013, 12:15:03 PM
Also stop with dumb mBTC.

[/quote]
...he has another 0.6k BTC worth of usd waiting.

OK, so apparently mBTC is dumb, but kBTC is not. Care to clarify your feelings on the other SI prefixes?
12  Economy / Speculation / Re: Wall Observer BTC/USD - Bitcoin price movement tracking & discussion on: December 03, 2013, 09:12:27 AM
So should we still be supporting bitcoin then?  He's against the banks isn't he? That's the main reason i liked him but now i'm confused.  I guess bitcoin can't be any worse than the banks

You should learn to make up your own mind. Be suspicious of any attempts by others to guide your actions (including this post). Do your research, choose your course independently. None of us know the future, and your opinion is just as valid as anyone else's (assuming you've done your research). So whether Max Keiser is indeed a profiteer or not, should be irrelevant.
13  Economy / Speculation / Re: Wall Observer BTC/USD - Bitcoin price movement tracking & discussion on: November 29, 2013, 07:23:30 AM
So much has been talked about regarding the fiat "stuck" in Gox and how people would theoretically have to buy bitcoin to get their currency out. However, the other thing is that who wants to sell their coins there if you can't get the money out? If most people with coins who need the money quicklyever would prefer to use Bitstamp for these obvious reasons, there is just going to be ALOT more bitcoins available on Bitstamp

We are seeing this in the last week. The spread has been over $200 for no particularlya very good reason.
FTFY
14  Economy / Speculation / Re: Wall Observer BTC/USD - Bitcoin price movement tracking & discussion on: November 28, 2013, 10:27:29 AM
The real madness will start once Bitstamp hits $1000. $1000 will seem cheap next week.
I suspect the real madness will take another 1-2 weeks to hit. New money following the flood of >1000 USD new coverage will take some time to get into the exchanges, especially if the verification queues are backed up.
15  Economy / Speculation / Re: Wall Observer BTC/USD - Bitcoin price movement tracking & discussion on: November 27, 2013, 01:54:52 PM
$1000 in 3..2..1...

Was excited for a moment there. We should come up with a currency symbol for goxbux, to prevent this kind of confusion in future.  Wink

Think it'll be a few more hours (or days?) before we hit 1000 at stamp, which is when it will be real.
16  Economy / Speculation / Re: Wall Observer BTC/USD - Bitcoin price movement tracking & discussion on: November 27, 2013, 04:11:25 AM
Speculative interest is all that is driving Bitcoin. Well that and Satoshi dice.

Context :
Of course, but the activity of non speculators is not sufficient to support current valuation or anything even close to it; even more so now that Silk Road has gone which did give Bitcoin some unique  utility in terms of accessing that market.

Yup. You were right weren't you. That valuation could not be sustained  Smiley.
17  Economy / Speculation / Re: Wall Observer BTC/USD - Bitcoin price movement tracking & discussion on: November 26, 2013, 07:18:40 AM
Even if I am wrong on this one, I will admit it latest next Monday. This leaves maximum about 10 days (out of 1000) that I have been a bitcoin bear with no reason.

 Roll Eyes
18  Economy / Speculation / Re: Wall Observer BTC/USD - Bitcoin price movement tracking & discussion on: November 21, 2013, 12:41:31 PM
Historical highs and lows compared using rpietila's trendline:

      Date        Price  / Trend  = x%       (Factor)
Lows  2011-11-17    1.99 /   2.05 =   97.11% (1 /  1.03)
      2012-08-19    7.58 /  13.90 =   54.52% (1 /  1.83)
      2013-04-16   50.01 /  74.30 =   67.31% (1 /  1.49)
      2013-07-05   65.42 / 129.59 =   50.48% (1 /  1.98)
Highs 2011-06-08   31.91 /   0.67 = 4780.29% (1 * 47.80)
      2012-01-05    7.22 /   2.87 =  251.38% (1 *  2.51)
      2012-08-17   15.04 /  13.71 =  109.67% (1 *  1.10)
      2013-04-10  266.00 /  71.22 =  373.48% (1 *  3.73)
      2013-11-19  900.98 / 333.86 =  269.87% (1 *  2.70)


This looks interesting - but what does it mean?

The average bubble is 3.12 times the trendline Wink

> x <- c(47.8, 2.51, 1.1, 3.73, 2,7)
> summary(x)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.
  1.100   2.128   3.120  10.690   6.182  47.800



No, that's wrong. If by "average" you mean median and by "bubble" you mean the 5 highs you have included in your data set, then mental arithmetic shows that the answer should be 2.7. Your software gave the wrong answer because you entered ...3.73, 2,7) instead of ...3.73, 2.7)
19  Bitcoin / Development & Technical Discussion / Re: Discouraging "Selfish" mining on: November 15, 2013, 08:14:10 AM
I would be wary of allowing fees to change the merit of the block because it's low-risk for a miner to publish a transaction with a large fee immediately before publishing a pre-mined block which has its merit artificially inflated because of the influence of the included transaction's fee. Let's not forget that the purpose of a fee is to pay a fair amount for the time taken to verify the transaction and the space it takes in the block-chain. There are a variety of distorting effects that transactions with large fees have so I suggest that a  transaction's fee for the purpose of calculating transactionfee seconds be capped at a value which is no larger than the transaction with the largest fee that the client saw did not make it into the previous block.

That's a good suggestion, but still open to abuse. The selfish miner mines a normal block, then a block with a high fee tx. It releases the high fee tx before releasing either of the blocks. Now it looks like the tx did not make it into block 1, and block 2 gets full credit for the large fee-seconds count it displays. Of course this requires a minimum of two pre-mined blocks to work, so your countermeasure assures that the attacker has gamma=0 in the case where both the private and public chains are 1 block long, (which is the only case where gamma mattered in the SM attack as described), but at the cost of giving him gamma=1 for any block races where the split is more than 1 block back. It is  trivial to adapt the SM attack to exploit this by not revealing the private chain when the lead gets reduced to 1, but rather only once the public chain catches up (since gamma=1 means everyone will prefer our fork), which allows us to build longer secret chains.

I am also concerned about the potential to exploit something like this by not working from the head (i.e. we give the public chain a 1 block headstart). Unless the block creator explicitly maximised his transaction-fee-seconds score at the cost of all other considerations, I can build a block with a higher txfee-seconds count and know that my block will win the block race. 

I am sensitive to hannesnaude's concerns not to encourage block-bloating but hopefully the existing schemes to calculate transaction priority will cope with that. Am I right in thinking that clients are likely to fail to relay and otherwise drop transactions with very low priority?

Even if you fill up a 1MB block with 192 byte transactions, each carrying a 0.0001BTC fee, you only spend 0.546BTC in fees. A selfish miner will fill a block with all the public transactions it deems small enough and then fill all the remaining space with small secret transactions that carry fees (which he expects to get back). As soon as the block has been mined, he releases the secret transactions. Then no honest miner can exceed his transaction-seconds score, the best they can do is to match it, and unless they are using transaction-seconds as the only measure to optimise, they will probably end up with a lower transaction-seconds score.

Curious to hear your opinion on HanSolo's proposal.
20  Bitcoin / Development & Technical Discussion / Re: Discouraging "Selfish" mining on: November 13, 2013, 09:33:51 AM
I know that there has traditionally been reluctance to assume accurate clocks (since NTP is seen as a central point of failure), but this appears to me to be a very weak dependency.

Well a system that aims for security can not rely on self-asserted time, and there is no distributed secure time.  If you start from a false assumption people will systematically abuse your assumption.

Understood, but we aren't really relying on the self-asserted time are we? If we said that we give preference to the one with the earlier timestamp, or the one with the later timestamp, then people would certainly lie about their internal time. But given that we give preference to the block that matches our own internal timestamp the closest, it seems to me that the incentive is to be as accurate as possible with your self asserted time. As things stand today we are implicitly relying on self-asserted time in the sense that nodes assume that the time when a block is received is a good proxy for the time when it was mined. But, as selfish mining shows, this proxy is open to systematic abuse by the miner who mined the block and may choose to delay its broadcast. The miner can only adjust self-asserted time in one direction, but he has an incentive to do so. Under the modification proposed, the miner can adjust self-asserted time in both directions, but his incentive is to report time as accurately as possible.
Pages: [1] 2 3 4 5 6 7 8 9 »
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!