Bitcoin miner - page 36

 
prostotrader:

Finished auto-switching between algorithms, when

"the GUI itself, I'll post it (maybe someone will find it useful).



What is the principle of algorithm switching?

 
Aleksey Vyazmikin:

What is the principle of algorithm switching?


1. the card speed is tested on EVERY algorithm, data is recorded (permanently).

2. Through the API of the server you mine, you get rates for each algorithm in 30 sec intervals.

3. Calculate the profitability <cost*speed>.

4. You choose the best rate.

 
prostotrader:

1. the card speed is tested on EVERY algorithm, data is recorded (permanently).

2. Through the API of the server on which you mine, you get rates for each algorithm with an interval of 30 sec.

3. Calculate the profitability <cost*speed>.

4. You choose the best rate.


Reasonable. But, is there a direct correlation between speed and profitability? Can we argue that the higher the rate of computation, the more likely to solve the problem - shouldn't we consider the amount of data that needs to be processed to solve the problem? Perhaps this will be different for each cryptocurrency. Or does it not matter, is there a use (hmmm... slipped my mind what it is called - basically you are a cell of a common network that distributes tasks)?

 
Aleksey Vyazmikin:

Reasonable. But, is there a direct correlation between speed and income? Can we argue that the higher the speed of computation, the higher the probability of solving the problem - shouldn't we consider the amount of data that needs to be processed to solve the problem? Perhaps this will be different for each cryptocurrency. Or does it not matter, is there a use (hmmm... slipped my mind what it's called - in general you are a unit of a common network that distributes tasks)?


Revenues are very much dependent on speed, but very bvzhe factor as rasceka for MN.

The whole world is solid cells in one area or another. :)

 
Andy:

Does the original software from the manufacturer work on the same principle and how does yours differ from it?


The principle was taken from the original programme, but it just stopped working :(

 

My 'underachievement' at work...

 
anonymous:

1. It has not been profitable to mine BTC on video cards specifically for several years. Not even the cost of electricity will be recouped. Only the top-end ASIC's...

2. If you join large pool - bounty per day will be approximately equal to <bounty per block> * <number of blocks mined per day> * <your hashrate> / <total network hashrate> - <pool commission>.

One block is generated approximately once every 10 minutes. Block fee is currently, if I'm not mistaken, 12.5 BTC; with mining it decreases periodically by 2 times. Current network hash rate is ~10.6M THash/sec.

Without any pool - expectation of profit is the same, but random value of reward will have a very large variance: in most cases, the profit will be zero, but maybe you will be lucky and wait for a moment, when you'll manage to make a block and get all reward for it.

3. Sell in person or put it on one of dozens of exchanges and exchange it for the desired currency. To withdraw to a bank account or card, you may need to go through anti-money laundering procedures. Some exchanges do not work with people from certain countries.

Please briefly describe what "generate block" means, what is the algorithm or where can I read about it? Are there any ways to optimise this process?
 

All transaction information in the Bitcoin network is contained in a special database (blockchain), this database is synchronised between all bitcoin nodes (wallet, client and server simultaneously, there is no master node, all are equal in capacity to each other. So for example bitcoin is decentralized, and one can not make an invalid transaction, all other nodes will reject it).

Every ten minutes a new record (block) is added to this database (block), the block contains information about new transactions since the last block (for each transaction - the address where bitcoins came from, the address where they went to, and the bitcoins amount).
The process of generating such a block is called mining. The hash function sha256 is applied to this list of transactions, the result of which is a long hash code. There is a requirement for the code - it must have a certain number of zeros in the beginning, and that number depends on the current number of miners. The more mining capacity in the world - the more zeros in the hash code is required in order for the average block generation time to remain approximately the same and not get faster.
The miners can add a random number to the transaction list so that the hash function results in a different number of zeroes in the hash, and do so until it reaches the required number of zeroes in the hash, in which case the new block is considered found and synchronised with all other nodes in the network. As a reward for finding a block, the miner receives commissions from transactions in that block, and an additional number of new bitcoins.

Optimizing the mining can be done by speeding up the sha256 functions, e.g. using a graphics card to perform the calculations instead of a CPU, or using a specially built processor that can only read the function (FPGA, ASIC).

The result of the hash function is completely random, and it's impossible to calculate the right number, the problem can only be solved by bruteforcing.
hash = sha256(transactions + random)
the hash requirement is that the result must start with a certain number of zeros, e.g. 0000000000000.....Z4lYFzZET4vE8OVtCNfKrgZY2wLZHCr
random - random number to cycle through

More information there -https://en.bitcoin.it/wiki/Mining, and in the links under "See Also"

 
Dr. Trader:

The result of the hash function is completely random, and it is impossible to calculate the right number, the problem can only be solved by bruteforcing.

hash = sha256(transactions + random)

Not exactly. The result of hash=sha256(data) calculation is deterministic and can be obtained according to a well-known algorithm.

But the _verse_ function data=sha256^-1(hash) is so complex that in practical tasks and under realistic constraints on computational resources, we can assume that there is no algorithm for calculating it that is much more efficient than brute force. Data value constraints increase exponentially with each iteration of sha256.

Yousufkhodja Sultonov:
Are there any ways to optimize this process?

Well-known ones were told to you above. You can try to find something new and tell others ;)

I have described a couple of theoretically possible attacks on mining pools here: https://www.mql5.com/ru/forum/217910/page8#comment_5941539 They will pat you on the head for that, but only with a tire iron.
 

Work on the GUI has slowed down, due to HTTPs requests

Res:= IdHTTP1.Get('https://api.nicehash.com/api?method=simplemultialgo.info');

are (sometimes) "crashing", causing exceptions which need to be handled with care.

But work is progressing (little by little)


Reason: