Bitcoin Forum
November 12, 2019, 02:56:29 AM *
News: Latest Bitcoin Core release: 0.18.1 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 ... 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 [1761] 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 ... 2226 »
  Print  
Author Topic: [30-400PH] KanoPool kano.is 0.9% fee 🐈 US,NL,JP,NYA,OR,SG  (Read 5238927 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. (7 posts by 5 users deleted.)
NCDiesel
Jr. Member
*
Offline Offline

Activity: 76
Merit: 3


View Profile
February 05, 2018, 06:16:55 PM
Last edit: February 05, 2018, 06:55:55 PM by NCDiesel
 #35201


I could be completely wrong here, but my understanding is that each miner is given work to do and while that work is independent of everyone else's work, everyone is contributing to finding the  solution. That means, even a low hash rate worker has a chance of solving the block. I have always assumed that solving the block was a "brute force" method, so the pool just hands out work to everyone (Here, try this. Now, try this., etc.) The reason larger hash rate miners crack many (most?) of the the blocks is because they can try so many more attempts than a low hash rate miner. However, the attempts that a small miner makes (even if they fail) are still helping the pool because those are attempts that the other miners don't have to make because Everyone gets unique work.  Pretty sure Kano can explain this much more accurately.

Edit: To cut to the chase, assuming two pools are run exactly the same (e.g Kano S3 pool and Kano S9 pool) a 100PH pool made up of nothing but miners running S3 rigs, will be just as successful at cracking blocks as the 100PH pool made up of nothing but S9 rigs. (Not talking efficiency here, just block solving capability). Total pool hash rate is what counts, not how you got there.

Your understanding is correct. It is the total hash rate that matters, and workers are given their own space that will pretty much never overlap with the space of other miners.

We're all brute forcing a double SHA256 hash with slightly different parameters (nonce, time, extraNonce) and some of the same (merkle root, previous block, version) and each miner has effectively an infinite search space with those variables.  

The other thing to remember is that while people talk about "cracking this block" its actually been hundreds of blocks on the network, we just didn't brute force it before someone else on the network did.

But we're still on "this block", so in essence...yes we're still trying to "crack this block".  
Yes, this block for us, as in the next block the we finally solve,  but we've been working on lots of different network blocks since we cracked our last one. We'll all still use the "this block" expression though because it is convenient for our discussion purposes. That said........Let's crack this block!   Grin

Edit: And of course, at any point in time, the block we are trying to solve is "this block". It's just that "this block" is a group of different blocks since our last one. Ok, I think this horse is dead so I'll stop beating it.  Grin

Thanks for this great explanation, and it sort of confirms what I suspected was happening.   May I restate it and you folks make sure I understand it?

  • Kanopool grabs a block
  • We work on a whole bunch of math problems designed to help us find an encryption key that "unlocks" the block.  
  • More frequently however, some other pool/solo miner beats us to the solution.
  • So we grab another block and start again.
  • It is theoretically possible(though highly unlikely) that we might never find another block ever again - ie someone always beats us to the solution on every block we try, forever more.     Sorry - I shouldn't risk jinxing us (-:  )

In other words, we don't necessarily always work on the same block until it is solved(but we might solve it and get the coins), nor do we work on a "new" empty block until it is solved(side note:  I originally guessed this was what was happening  - we decrypted dummy data in the new block then we would be handed a "real" block to move into our new solved empty block, stripping out the loot in the process.


[edited to be more clear]


-------------------------------------
4 Avalon 841s
The Bitcoin Forum is turning 10 years old! Join the community in sharing and exploring the notable posts made over the years.
1573527389
Hero Member
*
Offline Offline

Posts: 1573527389

View Profile Personal Message (Offline)

Ignore
1573527389
Reply with quote  #2

1573527389
Report to moderator
1573527389
Hero Member
*
Offline Offline

Posts: 1573527389

View Profile Personal Message (Offline)

Ignore
1573527389
Reply with quote  #2

1573527389
Report to moderator
rifleman74
Member
**
Offline Offline

Activity: 630
Merit: 21

4 s9's 2 821's


View Profile
February 05, 2018, 06:59:06 PM
 #35202


I could be completely wrong here, but my understanding is that each miner is given work to do and while that work is independent of everyone else's work, everyone is contributing to finding the  solution. That means, even a low hash rate worker has a chance of solving the block. I have always assumed that solving the block was a "brute force" method, so the pool just hands out work to everyone (Here, try this. Now, try this., etc.) The reason larger hash rate miners crack many (most?) of the the blocks is because they can try so many more attempts than a low hash rate miner. However, the attempts that a small miner makes (even if they fail) are still helping the pool because those are attempts that the other miners don't have to make because Everyone gets unique work.  Pretty sure Kano can explain this much more accurately.

Edit: To cut to the chase, assuming two pools are run exactly the same (e.g Kano S3 pool and Kano S9 pool) a 100PH pool made up of nothing but miners running S3 rigs, will be just as successful at cracking blocks as the 100PH pool made up of nothing but S9 rigs. (Not talking efficiency here, just block solving capability). Total pool hash rate is what counts, not how you got there.

Your understanding is correct. It is the total hash rate that matters, and workers are given their own space that will pretty much never overlap with the space of other miners.

We're all brute forcing a double SHA256 hash with slightly different parameters (nonce, time, extraNonce) and some of the same (merkle root, previous block, version) and each miner has effectively an infinite search space with those variables.  

The other thing to remember is that while people talk about "cracking this block" its actually been hundreds of blocks on the network, we just didn't brute force it before someone else on the network did.

But we're still on "this block", so in essence...yes we're still trying to "crack this block".  
Yes, this block for us, as in the next block the we finally solve,  but we've been working on lots of different network blocks since we cracked our last one. We'll all still use the "this block" expression though because it is convenient for our discussion purposes. That said........Let's crack this block!   Grin

Edit: And of course, at any point in time, the block we are trying to solve is "this block". It's just that "this block" is a group of different blocks since our last one. Ok, I think this horse is dead so I'll stop beating it.  Grin

Thanks for this great explanation, and it sort of confirms what I suspected was happening.   May I restate it and you folks make sure I understand it?

  • Kanopool grabs a block
  • We work on a whole bunch of math problems designed to help us find an encryption key that "unlocks" the block.  
  • More frequently however, some other pool/solo miner beats us to the solution.
  • So we grab another block and start again.
  • It is theoretically possible(though highly unlikely) that we might never find another block ever again - ie someone always beats us to the solution on every block we try, forever more.     Sorry - I shouldn't risk jinxing us (-:  )

In other words, we don't necessarily always work on the same block until it is solved(but we might solve it and get the coins), nor do we work on a "new" empty block until it is solved(side note:  I originally guessed this was what was happening  - we decrypted dummy data in the new block then we would be handed a "real" block to move into our new solved empty block, stripping out the loot in the process.


[edited to be more clear]



That is kind of what I thought was going on...and was wondering why we as a pool just didn't toss the block we were working on and picked up another one...
clgrissom3
Legendary
*
Offline Offline

Activity: 1666
Merit: 1031


Carl, aka Sonny :)


View Profile
February 05, 2018, 07:21:51 PM
 #35203

...clipped
In other words, we don't necessarily always work on the same block until it is solved(but we might solve it and get the coins), nor do we work on a "new" empty block until it is solved(side note:  I originally guessed this was what was happening  - we decrypted dummy data in the new block then we would be handed a "real" block to move into our new solved empty block, stripping out the loot in the process.

[edited to be more clear]

That is kind of what I thought was going on...and was wondering why we as a pool just didn't toss the block we were working on and picked up another one...

I'm pretty sure the pool switches to the new work as soon as a new block is found.  I don't think there is any "dummy data" work being done.

I proudly mine at the KanoPool.
BSGMiner
Member
**
Offline Offline

Activity: 476
Merit: 16

1xA921 + 1xA741 + Backup-->1xA6 ;)


View Profile
February 05, 2018, 07:40:32 PM
 #35204

...clipped
In other words, we don't necessarily always work on the same block until it is solved(but we might solve it and get the coins), nor do we work on a "new" empty block until it is solved(side note:  I originally guessed this was what was happening  - we decrypted dummy data in the new block then we would be handed a "real" block to move into our new solved empty block, stripping out the loot in the process.

[edited to be more clear]

That is kind of what I thought was going on...and was wondering why we as a pool just didn't toss the block we were working on and picked up another one...

I'm pretty sure the pool switches to the new work as soon as a new block is found.  I don't think there is any "dummy data" work being done.

For starters, I thought we'd at least have to drop out the previously-unconfirmed transactions that we were trying to include in our new block candidate, which would kind of "reset" our progress since we'd then be working off a different batch of transactions.

The BTCest mining pool (<1% fee): KanoPool
***PPLNS rewards averaged over the 5Nd to reduce variance***
heartlandmining
Jr. Member
*
Offline Offline

Activity: 104
Merit: 5


View Profile
February 05, 2018, 07:55:36 PM
 #35205

  • Kanopool grabs a block
  • We work on a whole bunch of math problems designed to help us find an encryption key that "unlocks" the block.  
I may not fully understand your analogy, but take issue with it inasmuch as it presents the misconception that there's "a"  block (singular) to be solved.

Without going into the math (but we could), there are numerous solutions that constitute a block; the hash computed simply needs to be less than a prescribed value based on the target and the difficultly.  Like everyone else, we're just working to find one that possesses a hash that meets the given criteria for the current round - and working to be the first pool that finds one with the current round's parameters.
jeecom
Jr. Member
*
Offline Offline

Activity: 56
Merit: 1


View Profile
February 05, 2018, 08:40:29 PM
 #35206

500% !
bigolin
Jr. Member
*
Offline Offline

Activity: 126
Merit: 2


View Profile
February 05, 2018, 08:42:01 PM
 #35207

500% !

Oh my GOD it hurts!

Hang in there everyone!!!
muscarina
Newbie
*
Offline Offline

Activity: 27
Merit: 0


View Profile
February 05, 2018, 08:52:16 PM
 #35208

500% !

Oh my GOD it hurts!

Hang in there everyone!!!

https://www.youtube.com/watch?v=4uj9BZ3NBMY
 Cos everybody hurts, mahboy.
Thrash
Sr. Member
****
Offline Offline

Activity: 519
Merit: 253



View Profile
February 05, 2018, 09:16:26 PM
 #35209




Hurts now but will feel better when we find a block.
A.Delaney
Member
**
Offline Offline

Activity: 238
Merit: 11


View Profile
February 05, 2018, 09:20:46 PM
 #35210

This is like watching paint dry.
deki09
Newbie
*
Offline Offline

Activity: 4
Merit: 0


View Profile
February 05, 2018, 09:25:25 PM
 #35211


yes we are saying that for past 2 weeks!
Sphere360
Newbie
*
Offline Offline

Activity: 40
Merit: 0


View Profile
February 05, 2018, 09:35:31 PM
 #35212

Will the reward be any higher than that of the previous blocks we found quickly? Like the 4 we found over 2 days.
jeecom
Jr. Member
*
Offline Offline

Activity: 56
Merit: 1


View Profile
February 05, 2018, 09:48:26 PM
 #35213

Will the reward be any higher than that of the previous blocks we found quickly? Like the 4 we found over 2 days.

Sadly, no.   
kano
Legendary
*
Offline Offline

Activity: 2968
Merit: 1199


Linux since 1997 RedHat 4


View Profile
February 05, 2018, 10:12:01 PM
Last edit: February 06, 2018, 12:42:43 AM by kano
Merited by HagssFIN (1), Shazam!!! (1), CryptoBuddha (1)
 #35214

So, I felt the urge to ramble on about Bitcoin again since this block is pissing me off probably as much as everyone else here Smiley

Rather than try to edit in and out of the various posts ... here's how mining works Smiley

Firstly, mining is exactly the same as rolling a dice ... except for the number of possible solutions!
When you roll a dice, you have a 1 in 6 chance of getting a 6.
There's no progress to getting a 6, ever. You either get a 6 or you don't.
One try = yes or no. No history involved.

With Bitcoin the dice actually has 2^256 sides - yeah that's a pretty big number ~1.579x10^77
And ... there's more than one solution that's valid.
Any "side of the dice" that has enough zeros on the front, and is less than a specified value, is a block.
Of that ~1.579x10^77 number, the current difficulty decides how many sides mean we found a block.

The current difficulty is actually "0x176c2146" which is called "bits" and is 4 bytes of the data we hash.
"0x17" = 23 decimal and 32-23 = 9 bytes of leading zeros (i.e. 9 times '00')
The rest is "0x6c2146"
So, what those 2 numbers mean is that any block hash with a hex value of
H=0x0000000000000000006c21460000000000000000000000000000000000000000 or less is a block

and if you divide 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff+1 (~1.579x10^77) by H and divide it again by 0x100000000 (2^32) you will get that network difficulty number:
Nd = 2,603,077,300,218.593
which means that every 2^32 times you roll the Bitcoin dice (i.e. hash a full nonce range) you have a 1 in 2,603,077,300,218.593 chance of finding a block.

... and the reason we divide by 0x100000000 again is that the network difficulty number of 1 represents 2^32 hashes

So ... that's how hashing works, but what are we actually hashing?

I wrote a document about it once, I'll repeat a little bit here:

The structure of a block header is an 80 byte binary data set, defined as follows:
Version                   4 bytes
Previous Block Hash      32 bytes
Merkle Root              32 bytes
Block Time                4 byte Unix Timestamp
Required Hash Difficulty  4 bytes
Hash Nonce                4 bytes

So looking at that we can vary 3 things:
Merkle root, Block Time and Hash Nonce

Normal hashing is to setup everything except the Hash Nonce and then count the Hash Nonce from 0 to 2^32-1 and hash each one.
Hashing the full Nonce range from 0 to 2^32-1 is also called 1 difficulty.

With stratum we can modify the Merkle Root to generate a different block header to hash the Nonce range.
The Merkle Root is a hash tree of the transactions we include in the block, however there's one transaction that we can change with stratum, and that is the coinbase transaction - or the transaction that pays the miner.
In this transaction we only need to make sure that:
1) It's a valid transaction (which is actually pretty random for the coinbase transaction due to the "sig" being allowed to contain almost anything as long as it starts with 'height')
2) It pays out to the expected address we want to receive the generated Bitcoins
3) The amount it pays is correct

So for stratum we put a bunch of other 'nonces' in the coinbase sig, that includes a unique number for each miner, and run the others from 0 up to some specified limit to generate a different coinbase transaction each time, that will generate a unique Merkle Root, to be put in a block header, to be hashed over the full Nonce range.

Thus with the unique number for each miner, and the miner itself following the stratum rules for creating coinbase transactions, the miner can keep generating a large amount of work that isn't expected to run out before the pool sends it new work.

Lastly, every time the miner finds a hash value that is higher than the difficulty specified by the pool, the miner sends the nonce and the "sig" nonces back to the pool.
The pool hashes those nonces with the values it sent to the miner, and thus verifies it's valid, and thus rewards the miner with the difficulty of the work sent to  the miner.

Now one more thing I'll add, that got mention a little while back, is that the miner can't modify the payout address to 'steal' the block.
The reason is that the pool wont get a valid hash of the nonces sent back, so the miner will get no reward. Simple Smiley

Pool: https://kano.is Here on Bitcointalk: Forum BTC: 1KanoPb8cKYqNrswjaA8cRDk4FAS9eDMLU
Discord support invite at https://kano.is/ Majority developer of the ckpool code
Help keep Bitcoin secure by mining on pools with full block verification on all blocks - and NO empty blocks!
baldfiddle
Newbie
*
Offline Offline

Activity: 4
Merit: 0


View Profile
February 05, 2018, 10:15:22 PM
 #35215

what are we supposed to do?  just sit back?
VRobb
Hero Member
*****
Offline Offline

Activity: 1288
Merit: 518


I'm in BTC XTC


View Profile
February 05, 2018, 10:18:47 PM
 #35216

Yes, and Mine On!  Cool

I don't believe in superstition because it's bad luck
In Hotels, I prefer the 13thF1oor6CAwyzyxXPNnRvu3nhhYeqZdc
These aren't the Droids you're looking for: S5 & S7 (Sold), R4B2, R4B4 (RIP),S9-13.5, S9r-12, 2xS15-28
rifleman74
Member
**
Offline Offline

Activity: 630
Merit: 21

4 s9's 2 821's


View Profile
February 05, 2018, 10:20:31 PM
 #35217

Will the reward be any higher than that of the previous blocks we found quickly? Like the 4 we found over 2 days.


Rewards right now are in the 12-lower 14's range right now. 
rifleman74
Member
**
Offline Offline

Activity: 630
Merit: 21

4 s9's 2 821's


View Profile
February 05, 2018, 10:22:50 PM
 #35218

Rather than quote kano's post to applaud his hard work, I'll just do it here to clean up the thread.  Thanks for the information, really appreciating it.
-EOS-
Full Member
***
Offline Offline

Activity: 211
Merit: 100


View Profile
February 05, 2018, 10:28:11 PM
 #35219

So, I felt the urge to ramble on about Bitcoin again since this block is pissing me off probably as much as everyone else here Smiley

Rather than try to edit in and out of the various posts ... here's how mining works Smiley

Firstly, mining is exactly the same as rolling a dice ... except for the number of possible solutions!
When you roll a dice, you have a 1 in 6 chance of getting a 6.
There's no progress to getting a 6, ever. You either get a 6 or you don't.
One try = yes or no. No history involved.

With Bitcoin the dice actually has 2^256 sides - yeah that's a pretty big number ~1.579x10^77
And ... there's more than one solution that's valid.
Any "side of the dice" that has enough zeros on the front, and is less than a specified value, is a block.
Of that ~1.579x10^77 number, the current difficulty decides how many sides mean we found a block.

The current difficulty is actually "0x176c2146" which is called "bits" and is 4 bytes of the data we hash.
"0x17" = 23 decimal and 32-23 = 9 bytes of leading zeros (i.e. 9 times '00')
The rest is "0x6c2146"
So, what those 2 numbers mean is that any block hash with a hex value of
H=0x0000000000000000006c21460000000000000000000000000000000000000000 or less is a block

and if you divide H by 0xffffffffffffffffffffffffffffffff and divide it again by 0x100000000 (2^32) you will get that network difficulty number:
Nd = 2,603,077,300,218.593
which means that every 2^32 times you roll the Bitcoin dice (i.e. hash a full nonce range) you have a 1 in 2,603,077,300,218.593 chance of finding a block.

... and the reason we divide by 0x100000000 again is that the network difficulty number of 1 represents 2^32 hashes

So ... that's how hashing works, but what are we actually hashing?

I wrote a document about it once, I'll repeat a little bit here:

The structure of a block header is an 80 byte binary data set, defined as follows:
Version                   4 bytes
Previous Block Hash      32 bytes
Merkle Root              32 bytes
Block Time                4 byte Unix Timestamp
Required Hash Difficulty  4 bytes
Hash Nonce                4 bytes

So looking at that we can vary 3 things:
Merkle root, Block Time and Hash Nonce

Normal hashing is to setup everything except the Hash Nonce and then count the Hash Nonce from 0 to 2^32-1 and hash each one.
Hashing the full Nonce range from 0 to 2^32-1 is also called 1 difficulty.

With stratum we can modify the Merkle Root to generate a different block header to hash the Nonce range.
The Merkle Root is a hash tree of the transactions we include in the block, however there's one transaction that we can change with stratum, and that is the coinbase transaction - or the transaction that pays the miner.
In this transaction we only need to make sure that:
1) It's a valid transaction (which is actually pretty random for the coinbase transaction due to the "sig" being allowed to contain almost anything as long as it starts with 'height')
2) It pays out to the expected address we want to receive the generated Bitcoins
3) The amount it pays is correct

So for stratum we put a bunch of other 'nonces' in the coinbase sig, that includes a unique number for each miner, and run the others from 0 up to some specified limit to generate a different coinbase transaction each time, that will generate a unique Merkle Root, to be put in a block header, to be hashed over the full Nonce range.

Thus with the unique number for each miner, and the miner itself following the stratum rules for creating coinbase transactions, the miner can keep generating a large amount of work that isn't expected to run out before the pool sends it new work.

Lastly, every time the miner finds a hash value that is higher than the difficulty specified by the pool, the miner sends the nonce and the "sig" nonces back to the pool.
The pool hashes those nonces with the values it sent to the miner, and thus verifies it's valid, and thus rewards the miner with the difficulty of the work sent to  the miner.

Now one more thing I'll add, that got mention a little while back, is that the miner can't modify the payout address to 'steal' the block.
The reason is that the pool wont get a valid hash of the nonces sent back, so the miner will get no reward. Simple Smiley


Thank you!!!  It amazes me that you still have the patience to explain everything as often as you do for us.
CryptoSol
Newbie
*
Offline Offline

Activity: 2
Merit: 0


View Profile
February 05, 2018, 10:35:37 PM
 #35220

Question....

As I understand it this is the longest streak ever without finding a block in this pool.  Is this purely because of bad luck or is it a combination of that and the recent difficultly increase?  

If the latter, is this pool going to be profitable at it's current hash rate as these streaks become more prolonged and extend across additional difficulty increase events?  
Pages: « 1 ... 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 [1761] 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 ... 2226 »
  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!