Bitcoin Forum
March 04, 2025, 07:45:33 PM *
News: Community Awards voting is open
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: A few basic, or not so basic questions  (Read 62 times)
newb789 (OP)
Newbie
*
Offline Offline

Activity: 3
Merit: 1


View Profile
February 26, 2025, 08:27:19 PM
 #1

1. How does a pool know miner's hash rate? I know miner sends easier successful hashes (shares?), but that's not a direct hash rate.

2. What inputs are used for hashing? I've read about Nonce, timestamp, extra Nonce.

3. What is the algorithm for input variations?

4. Is there a random element in how input variations are determined so that two identical miners do not follow the same input sequence? Because if there isn't then they would arrive at exactly the same sequence of hashes, and therefore a miner with better Internet connection (less latency) wins.

5. I am guessing that there is randomness. In this case, is there a chance that the same combination of input parameters may be repeated, thus wasting valuable hash rate? Or is the number of combinations of input variations is so great that there is little chance of that happening?

6. Why hash rate keeps fluctuating? E.g. for my LV07, it averages 1.0TH, but fluctuates between 0.85TH - 1.2TH. Every 3-4 min or so it reaches low point, and in the next 3-4 min it reaches the high point. And on, and on.

7. My LV07 frequency is set to 575 MHz. It generates around 1.0 TH. This means that during every tick the ASIC calculates (1.0 Th / 575 MHz) = 1739 hashes. How is that possible? Each hash is a complex calculation, and doing 1739 of them in a single tick!?! A regular CPU may execute a simple operation in a single tick - like moving data from register to memory, or perform an addition, etc.
NotFuzzyWarm
Legendary
*
Offline Offline

Activity: 3920
Merit: 2867


Evil beware: We have waffles!


View Profile
February 26, 2025, 09:20:41 PM
Last edit: March 02, 2025, 03:07:26 AM by NotFuzzyWarm
Merited by ABCbits (5)
 #2

Quote
Each hash is a complex calculation, and doing 1739 of them in a single tick!?! A regular CPU may execute a simple operation in a single tick - like moving data from register to memory, or perform an addition, etc.
A. It is NOT a complex calculation. The SHA algo simply takes a set of inputs and applies them to a boolean logic table which then spits out a result. It is not doing any kind of usual add/subtract/multiply/divide/carry sequential math operations like how a typical computer does things. In a sense, you could say those functions happen all at once in a massively parallel operation. A good start on that using code that works with chip design software such as Cadence is http://stevengoldfeder.com/projects/circuits/sha2circuit.html or do a search using "sha256 logic gates" as the search term.

B. That logic table is hardwired into each ASIC core which is each comprised of thousands of AND, XOR and INV gates, each chip has from several hundred to maybe 2k of those cores and a miner can have from 1 to a few hundred of the ASIC chips in it.

C. Operation is:
 c1. Pool supplies work to the miner controller that creates the inputs to be fed to the ASIC's.
 c2. From that work, apply inputs in parallel, cycle clock to run through the logic table which will then immediately present the result which is a simple 1 or 0 (yes you found a block or no so try again).
 c3. If no block found, increment nonce value then repeat 'c2 & c3' until a block is found or until pool sends new work.

D. If a block is found, notify the pool you are using so it can verify and broadcast 'Block Found' to the BTC network.

The only real bottleneck is that yes, the CPU's in a miner are creating the inputs to the ASIC chips and responding to their output however that does not take much speed to do. That is why RasPi's, BeagleBones, etc can be used as the controller in a miner.

A good place for you to read up on what the input data is can be found starting here https://kano.is/index.php?k=mining
A rather fun live action page for what happens is here https://sha256algorithm.com/

- For bitcoin to succeed the community must police itself -    My info useful? Donations welcome!  3NtFuzyWREGoDHWeMczeJzxFZpiLAFJXYr
 -Sole remaining active Primary developer of cgminer, Kano's repo is here  Discord support invite at https://kano.is/
-Support Sidehacks miner development. Donations to:   1BURGERAXHH6Yi6LRybRJK7ybEm5m5HwTr
ABCbits
Legendary
*
Offline Offline

Activity: 3164
Merit: 8481


✔️ CoinJoin Wallet


View Profile
February 27, 2025, 09:49:53 AM
 #3

2. What inputs are used for hashing? I've read about Nonce, timestamp, extra Nonce.

Block header, which have 80 bytes size. Aside from 3 field you mentioned, IIRC overt ASICBoost also manipulate nVersion.

6. Why hash rate keeps fluctuating? E.g. for my LV07, it averages 1.0TH, but fluctuates between 0.85TH - 1.2TH. Every 3-4 min or so it reaches low point, and in the next 3-4 min it reaches the high point. And on, and on.

Without additional information, i would speculate your LV07 is in loop due to overheating where it underclock itself temporarily.

█▀▀▀▀











█▄▄▄▄
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
██▄▄▄▄▄▄▄▄▄▄
██▄███████
████████
▄██████▀▀▀▀▀
█████▀███▄▄▄▄▄▄
██████████████
███████▀▀██████
█████▄▄▄█████
███████████
███▀█████████▀
█████▀▀▀▀▀▀▀

▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
.....Your private Bitcoin wallet for desktop.....█▀▀▀▀











█▄▄▄▄
▀▀▀▀█











▄▄▄▄█
newb789 (OP)
Newbie
*
Offline Offline

Activity: 3
Merit: 1


View Profile
Today at 06:37:18 PM
 #4

Thank you for the detailed replies. After I read everything, and played with illustrations, I still cannot answer a simple question:

If I have two identical ASICs sitting in a room, pointed to the same pool, and using the same connectivity - will they be following the same sequence of input parameters? If not, who and how makes them different?
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!