Bitcoin Forum
June 24, 2017, 03:53:40 AM *
News: Latest stable version of Bitcoin Core: 0.14.2  [Torrent].
 
   Home   Help Search Donate Login Register  
Pages: « 1 ... 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 [212] 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 ... 270 »
  Print  
Author Topic: [14000Th] Eligius: 0% Fee BTC, 105% PPS NMC, No registration, CPPSRB  (Read 930907 times)
This is a self-moderated topic. If you do not want to be moderated by the person who started this topic, create a new topic.
Mikestang
Hero Member
*****
Offline Offline

Activity: 826



View Profile
May 21, 2015, 04:06:39 PM
 #4221

Empty blocks minimise your stale shares.

Why would you prioritize stale share rate over publishing a useful solved block?
What wizkid057 said.

But one point he made, more explicitly:
The empty blocks found would not have been a "useful" solved block in any case.
They would have been stale shares.

Whether the pool sends an empty block or not, the miner should always begin working on the non-empty block as soon as it its data is received.


... oh, I already said that:
Empty blocks minimise your stale shares.
Eligius (and probably most cluefully operated pools) send them as soon as a new block is found, so that you can begin mining immediately.
This is also followed up with an updated block full of transactions that miners can begin working on as soon as they receive it.
If your internet connection is 10 Gbps, the empty block might waste a few bytes of bandwidth and you'll get the full block immediately to begin working on.
If your internet connection isn't so fast, you'll begin working on the empty block, then transition to the full one as soon as you finish receiving it.

I appreciate the answers, but the "increases security" reason seems like nonsense to me.  The purpose of the block is not to provide security, it is to record transactions.  Security is inherent in the way the network was designed.

Yes, the empty block is followed by a block of transactions, but I still contend that the empty block is worthless to the network.

Happy mining.
1498276420
Hero Member
*
Offline Offline

Posts: 1498276420

View Profile Personal Message (Offline)

Ignore
1498276420
Reply with quote  #2

1498276420
Report to moderator
POLONIEX TRADING SIGNALS
+50% Profit and more via TELEGRAM
ALTCOINTRADER.CO
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
anth0ny
Full Member
***
Offline Offline

Activity: 196


View Profile
May 21, 2015, 04:14:39 PM
 #4222

I appreciate the answers, but the "increases security" reason seems like nonsense to me.  The purpose of the block is not to provide security, it is to record transactions.

No. That isn't right. Even an empty block helps people out. If nothing else, the empty block makes the coinbase transaction from 120 blocks previous become spendable. In practice, the empty block brings all those 5-confirmation transactions up to 6 confirmations (and 2-confirmation transactions up to 3 confirmations, etc.) The presence of the empty block makes transactions confirm faster than they would have if the empty block weren't there.

A full block is better than an empty block. But an empty block is better than nothing. (And a block at the same height and roughly the same time as someone else's partially propagated block, which temporarily splits the network into two chains of equal height, is significantly worse than nothing.)

Ideally, transaction fees probably wouldn't go solely to the block in which they were located, but would go to that block and future blocks which build upon them (maybe in a declining way like 50% to the first block, 25% to the second block, 13% to the third block....I don't know as I haven't fully thought about it). Right now it doesn't particularly matter, as the transaction fees are small compared to the block reward. But in the future when there are no block rewards at all, just transaction fees, there might be problems due to this (if someone puts an especially large fee on a transaction, there might be an incentive for miners to "steal" that transaction fee by orphaning the block which includes it instead of building upon the block which includes it). Fortunately there are many years before this will become an issue.

Yes, the empty block is followed by a block of transactions, but I still contend that the empty block is worthless to the network.

In addition to the direct benefits of faster confirmations and faster spending of generated coins, think about how the inclusion or non-inclusion of the empty block affects someone who is performing so-called "selfish mining" or some other sort of block delaying attack.
Mikestang
Hero Member
*****
Offline Offline

Activity: 826



View Profile
May 21, 2015, 05:08:45 PM
 #4223

Even an empty block helps people out. If nothing else, the empty block makes the coinbase transaction from 120 blocks previous become spendable. In practice, the empty block brings all those 5-confirmation transactions up to 6 confirmations (and 2-confirmation transactions up to 3 confirmations, etc.) The presence of the empty block makes transactions confirm faster than they would have if the empty block weren't there.

There is no need to try and "speed up" transactions artificially.  Everything positive you said about an empty block applies to a block full of transaction, only the full block provided worth to the network because it contains transactions, which is a block's purpose.  You even admit in your post that a full block is better than an empty block.  And I still do not see any benefit from an empty block, but again I appreciate the attempt at explaining to me.
Luke-Jr
Legendary
*
Offline Offline

Activity: 2198



View Profile
May 21, 2015, 05:33:43 PM
 #4224

I appreciate the answers, but the "increases security" reason seems like nonsense to me.  The purpose of the block is not to provide security, it is to record transactions.  Security is inherent in the way the network was designed.
No, any node can arbitrarily record any transactions it wants without miners.
Mining's primary purpose is to provide security for them.

"Empty" blocks are not really empty either: they still include every transaction mined by the prior blocks.
And since 1 block is not sufficient to confirm a transaction, it's really the block 5 down the chain which is beneficial to the transactions in the block mined anyway.

jonnybravo0311
Legendary
*
Offline Offline

Activity: 1134


Mine at Jonny's Pool


View Profile WWW
May 21, 2015, 05:55:55 PM
 #4225

No, any node can arbitrarily record any transactions it wants without miners.
Mining's primary purpose is to provide security for them.

I can write a transaction down on a piece of paper and leave it on my desk, too.  It means absolutely squat until such time that some miner somewhere provides a block that is added to the public ledger known as the blockchain.  Mining's primary purpose is to confirm the validity of transactions by adding them to the ledger through proof of work hashing.  If my transaction never makes it into that ledger, it may as well never have happened.  Expand upon that and see what happens.  A whole bunch of blocks created doing nothing but generating block rewards that can never be used because no transactions are ever included in the blocks.  Extreme case?  Absolutely.

"Empty" blocks are not really empty either: they still include every transaction mined by the prior blocks.
And since 1 block is not sufficient to confirm a transaction, it's really the block 5 down the chain which is beneficial to the transactions in the block mined anyway.
No, empty blocks do not include every transaction mined by the prior blocks, they include a way to get to a parent block.  That block might have the transaction, or it might not... but it also includes a way to get to its parent block and so on back to the genesis block.

Jonny's Pool - Mine with us and help us grow!  Support a pool that supports Bitcoin, not a hardware manufacturer's pockets!  No SPV cheats.  No empty blocks.
Luke-Jr
Legendary
*
Offline Offline

Activity: 2198



View Profile
May 21, 2015, 05:59:38 PM
 #4226

I can write a transaction down on a piece of paper and leave it on my desk, too.  It means absolutely squat until such time that some miner somewhere provides a block that is added to the public ledger known as the blockchain.  Mining's primary purpose is to confirm the validity of transactions by adding them to the ledger through proof of work hashing.  If my transaction never makes it into that ledger, it may as well never have happened.
No, that transaction remains perfectly valid as long as the sender is honest. The blockchain is only needed to provide security against dishonest senders.

"Empty" blocks are not really empty either: they still include every transaction mined by the prior blocks.
And since 1 block is not sufficient to confirm a transaction, it's really the block 5 down the chain which is beneficial to the transactions in the block mined anyway.
No, empty blocks do not include every transaction mined by the prior blocks, they include a way to get to a parent block.
Which is the same as any new transactions in the block.

jonnybravo0311
Legendary
*
Offline Offline

Activity: 1134


Mine at Jonny's Pool


View Profile WWW
May 21, 2015, 06:22:19 PM
 #4227

No, that transaction remains perfectly valid as long as the sender is honest. The blockchain is only needed to provide security against dishonest senders.
I agree that the transaction is perfectly valid.  However, valid or not, until that transaction is recorded and confirmed in the public ledger, the transfer of coin is not legitimized.  An empty block certainly helps to ensure that malicious activity becomes that much harder to perpetrate on the previous blocks, but it does nothing for all of those transactions out there waiting to be added to the chain.  Now, if there simply are no transactions to be included, then by all means, add empty blocks.

Which is the same as any new transactions in the block.
Not sure I follow here... I've added an empty block to the chain (well, there's at least 1 transaction because of the generated coins).  That block has no other transaction.  It does, however, know its parent.  Are you stating that because I know my lineage until genesis, that's equivalent to having all transactions in every block?  I'd argue that if this were the case, then every block would be larger than it's predecessor.  Genesis would be size (n), block 1 would be (n + m), block 2 would be (n + m + x) and so on... obviously that's not true.  I'll agree that every block has knowledge of its own transactions and a way to get to all previous transactions, but not that every block has every transaction Smiley.

Jonny's Pool - Mine with us and help us grow!  Support a pool that supports Bitcoin, not a hardware manufacturer's pockets!  No SPV cheats.  No empty blocks.
Mikestang
Hero Member
*****
Offline Offline

Activity: 826



View Profile
May 21, 2015, 08:31:39 PM
 #4228

I'll source the Bitcoin Wiki for the definition of mining, https://en.bitcoin.it/wiki/Mining.  The very first sentance of the page states:
Quote
Mining is the process of adding transaction records to Bitcoin's public ledger of past transactions.


Here's a few other mining definitions (emphasis added by me):

https://bitcoin.org/en/faq#what-is-bitcoin-mining
Quote
Mining is the process of spending computing power to process transactions, secure the network, and keep everyone in the system synchronized together.
Quote
Mining software listens for transactions broadcast through the peer-to-peer network and performs appropriate tasks to process and confirm these transactions.

http://www.investopedia.com/terms/b/bitcoin-mining.asp
Quote
Bitcoin mining is the process by which transactions are verified and added to the public ledger, known as the block chain, and also the means through which new bitcoin are released.

http://whatis.techtarget.com/definition/Bitcoin-mining
Quote
Bitcoin mining is the processing of transactions in the digital currency system, in which the records of current Bitcoin transactions, known as a blocks, are added to the record of past transactions, known as the block chain.

http://en.wikipedia.org/wiki/Bitcoin#Mining
Quote
Mining is a record-keeping service.[note 9] Miners keep the block chain consistent, complete, and unalterable by repeatedly verifying and collecting newly broadcast transactions into a new group of transactions called a block.


Therefore, I contend that if you're not adding transactions to the blockchain (i.e. solving an empty block) then you are not mining.
jonnybravo0311
Legendary
*
Offline Offline

Activity: 1134


Mine at Jonny's Pool


View Profile WWW
May 21, 2015, 08:43:04 PM
 #4229

I'll source the Bitcoin Wiki for the definition of mining, https://en.bitcoin.it/wiki/Mining.  The very first sentance of the page states:
Quote
Mining is the process of adding transaction records to Bitcoin's public ledger of past transactions.

Therefore, if you're not adding transactions to the blockchain (i.e. solving an empty block) then you are not mining.

Here's a few other mining definitions (emphasis added by me):

https://bitcoin.org/en/faq#what-is-bitcoin-mining
Quote
Mining is the process of spending computing power to process transactions, secure the network, and keep everyone in the system synchronized together.

http://www.investopedia.com/terms/b/bitcoin-mining.asp
Quote
Bitcoin mining is the process by which transactions are verified and added to the public ledger, known as the block chain, and also the means through which new bitcoin are released.

http://whatis.techtarget.com/definition/Bitcoin-mining
Quote
Bitcoin mining is the processing of transactions in the digital currency system, in which the records of current Bitcoin transactions, known as a blocks, are added to the record of past transactions, known as the block chain.

http://en.wikipedia.org/wiki/Bitcoin#Mining
Quote
Mining is a record-keeping service.[note 9] Miners keep the block chain consistent, complete, and unalterable by repeatedly verifying and collecting newly broadcast transactions into a new group of transactions called a block.

Empty blocks are not mining.
Until the block rewards subsidy goes away, an empty block still technically has one transaction: the coinbase which distributes the generated coins from the block reward.

So, while it isn't adding any value by including other transactions, it does, indeed technically fit the definition of mining.

Jonny's Pool - Mine with us and help us grow!  Support a pool that supports Bitcoin, not a hardware manufacturer's pockets!  No SPV cheats.  No empty blocks.
Mikestang
Hero Member
*****
Offline Offline

Activity: 826



View Profile
May 21, 2015, 08:46:02 PM
 #4230


Until the block rewards subsidy goes away, an empty block still technically has one transaction: the coinbase which distributes the generated coins from the block reward.

So, while it isn't adding any value by including other transactions, it does, indeed technically fit the definition of mining.

Every single definition of mining states "transactions", plural.  Nothing is confirmed in an empty block, it does not meet the definition.  Seems to me the empty block thing is a huge oversight, and that empty blocks should not be valid and the network should reject them.  The only block that should have been considered valid with a single transaction generating coins was the genesis block.

Has there been any analysis of an "empty block attack"?  Imagine what would happen if an inordinate number of empty blocks were solved and submitted in succession?  Bitcoin would effectively cease functioning.
jonnybravo0311
Legendary
*
Offline Offline

Activity: 1134


Mine at Jonny's Pool


View Profile WWW
May 21, 2015, 08:53:39 PM
 #4231


Until the block rewards subsidy goes away, an empty block still technically has one transaction: the coinbase which distributes the generated coins from the block reward.

So, while it isn't adding any value by including other transactions, it does, indeed technically fit the definition of mining.

Every single definition of mining states "transactions", plural.  Nothing is confirmed in an empty block, it does not meet the definition.  Seems to me the empty block thing is a huge oversight, and that empty blocks should not be valid and the network should reject them.  The only block that should have been considered valid with a single transaction generating coins was the genesis block.
I read the usage of the plural transactions to be a set from one to many.  I also think that empty blocks do indeed serve a purpose if there are no other transactions to be processed.  However, I am in complete agreement that if there are transactions to be processed, any created block should include any/all of those transactions and not ignore them outright just for the sake of adding a block to the chain, or keeping miners from stale shares, or whatever else has been given as a reason.

The kind of validation you're proposing would be rather daunting.  It would require every node have knowledge that when the block they're verifying was created there were in fact transactions that could have been included into that block.  You can't just blindly reject all blocks with only a single coinbase transaction, because it could very well be that there really were no transactions to include (albeit extremely unlikely).

Jonny's Pool - Mine with us and help us grow!  Support a pool that supports Bitcoin, not a hardware manufacturer's pockets!  No SPV cheats.  No empty blocks.
Mikestang
Hero Member
*****
Offline Offline

Activity: 826



View Profile
May 21, 2015, 09:01:04 PM
 #4232

I suspect (with a very high degree of certainty) that the bitcoin network has grown well beyond the point that we could ever expect a 10 minute period to elapse without a singular transaction occurring somewhere in the world.
jonnybravo0311
Legendary
*
Offline Offline

Activity: 1134


Mine at Jonny's Pool


View Profile WWW
May 21, 2015, 09:05:19 PM
 #4233

I suspect (with a very high degree of certainty) that the bitcoin network has grown well beyond the point that we could ever expect a 10 minute period to elapse without a singular transaction occurring somewhere in the world.
Of that I have no doubt; however, blocks are found within seconds sometimes.  If I remember correctly, AntPool had a 3 second back-to-back block just a few days ago.  I also remember there was a very close (within seconds) back-to-back block by p2pool.  This doesn't include blocks found and submitted by miners on different pools that occur within seconds either.

Jonny's Pool - Mine with us and help us grow!  Support a pool that supports Bitcoin, not a hardware manufacturer's pockets!  No SPV cheats.  No empty blocks.
anth0ny
Full Member
***
Offline Offline

Activity: 196


View Profile
May 21, 2015, 09:20:28 PM
 #4234

Even an empty block helps people out. If nothing else, the empty block makes the coinbase transaction from 120 blocks previous become spendable. In practice, the empty block brings all those 5-confirmation transactions up to 6 confirmations (and 2-confirmation transactions up to 3 confirmations, etc.) The presence of the empty block makes transactions confirm faster than they would have if the empty block weren't there.

There is no need to try and "speed up" transactions artificially.

Where "artificially" means what, exactly? Everything we're doing is artificial.

Everything positive you said about an empty block applies to a block full of transaction, only the full block provided worth to the network because it contains transactions, which is a block's purpose.  You even admit in your post that a full block is better than an empty block.

Yep. A full block is better than an empty block. But the choice isn't between a full block and an empty block, it's between an empty block and a stale block.

And I still do not see any benefit from an empty block, but again I appreciate the attempt at explaining to me.

Compared to nothing? The benefits are the ones I listed, including speeding up the confirmation of transactions.
anth0ny
Full Member
***
Offline Offline

Activity: 196


View Profile
May 21, 2015, 09:28:50 PM
 #4235

Has there been any analysis of an "empty block attack"?  Imagine what would happen if an inordinate number of empty blocks were solved and submitted in succession?  Bitcoin would effectively cease functioning.

Someone (or a group of people working in concert) who can solve and submit an inordinate number of blocks (of any type) in succession can do bad things. This is a well-known problem for which there is no possible solution (at least no solution within the concept of having a decentralized proof of work blockchain).

Fortunately, in order to submit an inordinate number of blocks in succession with any significant probability, you have to have a lot of "mining power" (51% would definitely do it; maybe 33 1/3% under the right situations; probably somewhere in between the two under less "ideal" situations).

Seems to me the empty block thing is a huge oversight, and that empty blocks should not be valid and the network should reject them.

It's trivial to add one (or any number of) useless spam transactions to a block. If you're trying to save network bandwidth you could even calculate the spam transactions based on a formula, so you don't have to send the actual transaction content over the network. So rejecting empty blocks wouldn't add any security, and would really just add complications to the client. It could also potentially make Sybil attacks slightly easier (all you have to do to stop a miner from mining is stop them from getting new transactions, you don't have to shut down their network connection entirely).

You could have a rule where every block must have at least a certain number of bitcoin-days destroyed. But that would have its plusses and minuses. Something for an altcoin to consider (especially if you added something fun like negative transaction fees for "high priority" transactions), but not something that's necessary for bitcoin.
Luke-Jr
Legendary
*
Offline Offline

Activity: 2198



View Profile
May 21, 2015, 10:02:01 PM
 #4236

Mostly the same information I said here, but FWIW: http://www.reddit.com/r/Bitcoin/comments/36qje1/why_can_a_block_have_only_1_transaction/crgtdxk

Which is the same as any new transactions in the block.
Not sure I follow here... I've added an empty block to the chain (well, there's at least 1 transaction because of the generated coins).  That block has no other transaction.  It does, however, know its parent.  Are you stating that because I know my lineage until genesis, that's equivalent to having all transactions in every block?  I'd argue that if this were the case, then every block would be larger than it's predecessor.  Genesis would be size (n), block 1 would be (n + m), block 2 would be (n + m + x) and so on... obviously that's not true.  I'll agree that every block has knowledge of its own transactions and a way to get to all previous transactions, but not that every block has every transaction Smiley.
I don't know if I am capable of explaining this without explaining the Bitcoin protocol (and there are plenty of references you could read on it already). Blocks have two pointers, one to all past blocks/transactions, and one to new transactions. Both of these are just pointers, however. When people talk about block size, they are including all the new transactions, but that's just a matter of abstraction.

Biomech
Legendary
*
Offline Offline

Activity: 1176


Anarchy is not chaos.


View Profile
May 25, 2015, 04:26:10 PM
 #4237

Wow, that was a lot of to-do about nothing... Look at any block explorer and tell me how many "empty" blocks you find. I've never seen one, though I know they can theoretically exist. Just because of this conversation, I think I'll pay more attention to it. but seriously?

Buy Bitcoins with Paypal, Credit card, or other methods. Send me a PM or a text to 208-451-2665.
bomberb17
Sr. Member
****
Offline Offline

Activity: 422


View Profile
June 04, 2015, 05:30:44 AM
 #4238

What's going on with this pool's "luck"??
This is ridiculous..
Can someone post the average luck for the last 30 days?

chalkboard17
Sr. Member
****
Offline Offline

Activity: 321



View Profile
June 04, 2015, 09:11:41 AM
 #4239

What's going on with this pool's "luck"??
This is ridiculous..
Can someone post the average luck for the last 30 days?
Agree, this is also getting me thinking. I only checked last weeks but this entire time ghash had nearly same hashrate the entire time but mined 3 times more blocks.

MaximeAD
Full Member
***
Offline Offline

Activity: 168


cryptominer.ca


View Profile WWW
June 04, 2015, 12:44:52 PM
 #4240

What's going on with this pool's "luck"??
This is ridiculous..
Can someone post the average luck for the last 30 days?


Statistical part
I think I had about 80% shares rewarded on April 30. I still had 80% shares rewarded on May 31st. We can then grossly estimate the pool luck was 80% for May 2015.

Is it unexpected? Let's see...

Today, the reported hashing power is 6.7 PH/s. Assuming difficulty was at current rate for this month and hashrate has not moved for simplification, it means there should have been about 86 blocks founds. The estimation of the pool luck tells us that 80% of this expected value was found -> 67 blocks.

Is it statistically surprising? What are the odds that 67 blocks or less are found with what we know?

The number of blocks found can be modelled with a Poisson Distribution with mean 86. A quick Excel calculation tells me that with assumptions told in this post, there was about a 8% probability to find 67 blocks or less for the month of may. Not that surprising that it can happen.. That's the kind of variation you can expect with the size of the pool.

Let's remember that we are also more sensitive to the bad luck of the pool versus its good luck which can bias our view.

Conclusion
If you want less variation in your reward, you should seek bigger pool. https://blockchain.info/pools . You can also put your hashing power on many pools which will have for effect to decrease your variance.

For now, all my hashing power is on Eligius. I tried BTCGuild, Ghash, Antpool... But what is important for me is the transparency of the pool and the expected reward value (No fees). This is what you have with Eligius and I'm a big fan of the pool.

I find it unfortunate that it shrinks in hashing power since it increases variance, but the only thing I can do is keep my hashing power there...!

http://cryptominer.ca - Canadian miner hosting (600 kW+ datacenters)
Pages: « 1 ... 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 [212] 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 ... 270 »
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!