Coinhive Mining
Mining
Introduction
Mining is the process of adding transaction records to Bitcoin's public ledger of past transactions (and a "mining rig" is a colloquial metaphor for a single computer system that performs the necessary computations for "mining". This ledger of past transactions is called the block chain as it is a chain of blocks. The blockchain serves to confirm transactions to the rest of the network as having taken place. Bitcoin nodes use the blockchain to distinguish legitimate Bitcoin transactions from attempts to re-spend coins that have already been spent elsewhere.
Mining is intentionally designed to be resource-intensive and difficult so that the number of blocks found each day by miners remains steady. Individual blocks must contain a proof of work to be considered valid. This proof of work is verified by other Bitcoin nodes each time they receive a block. Bitcoin uses the hashcash proof-of-work function.
The primary purpose of mining is to set the history of transactions in a way that is computationally impractical to modify by any one entity. By downloading and verifying the blockchain, bitcoin nodes are able to reach consensus about the ordering of events in bitcoin.
Mining is also the mechanism used to introduce Bitcoins into the system: Miners are paid any transaction fees as well as a "subsidy" of newly created coins. This both serves the purpose of disseminating new coins in a decentralized manner as well as motivating people to provide security for the system.
Bitcoin mining is so called because it resembles the mining of other commodities: it requires exertion and it slowly makes new units available to anybody who wishes to take part. An important difference is that the supplydoes not depend on the amount of mining. In general changing total miner hashpower does not change how many bitcoins are created over the long term.
Mining is the process of adding transaction records to Bitcoin's public ledger of past transactions (and a "mining rig" is a colloquial metaphor for a single computer system that performs the necessary computations for "mining". This ledger of past transactions is called the block chain as it is a chain of blocks. The blockchain serves to confirm transactions to the rest of the network as having taken place. Bitcoin nodes use the blockchain to distinguish legitimate Bitcoin transactions from attempts to re-spend coins that have already been spent elsewhere.
Mining is intentionally designed to be resource-intensive and difficult so that the number of blocks found each day by miners remains steady. Individual blocks must contain a proof of work to be considered valid. This proof of work is verified by other Bitcoin nodes each time they receive a block. Bitcoin uses the hashcash proof-of-work function.
The primary purpose of mining is to set the history of transactions in a way that is computationally impractical to modify by any one entity. By downloading and verifying the blockchain, bitcoin nodes are able to reach consensus about the ordering of events in bitcoin.
Mining is also the mechanism used to introduce Bitcoins into the system: Miners are paid any transaction fees as well as a "subsidy" of newly created coins. This both serves the purpose of disseminating new coins in a decentralized manner as well as motivating people to provide security for the system.
Bitcoin mining is so called because it resembles the mining of other commodities: it requires exertion and it slowly makes new units available to anybody who wishes to take part. An important difference is that the supplydoes not depend on the amount of mining. In general changing total miner hashpower does not change how many bitcoins are created over the long term.
Difficulty
The Computationally-Difficult Problem
Mining a block is difficult because the SHA-256 hash of a block's header must be lower than or equal to the target in order for the block to be accepted by the network. This problem can be simplified for explanation purposes: The hash of a block must start with a certain number of zeros. The probability of calculating a hash that starts with many zeros is very low, therefore many attempts must be made. In order to generate a new hash each round, a nonce is incremented. See Proof of work for more information.
Mining a block is difficult because the SHA-256 hash of a block's header must be lower than or equal to the target in order for the block to be accepted by the network. This problem can be simplified for explanation purposes: The hash of a block must start with a certain number of zeros. The probability of calculating a hash that starts with many zeros is very low, therefore many attempts must be made. In order to generate a new hash each round, a nonce is incremented. See Proof of work for more information.
The Difficulty Metric
The difficulty is the measure of how difficult it is to find a new block compared to the easiest it can ever be. The rate is recalculated every 2,016 blocks to a value such that the previous 2,016 blocks would have been generated in exactly one fortnight (two weeks) had everyone been mining at this difficulty. This is expected yield, on average, one block every ten minutes.
As more miners join, the rate of block creation increases. As the rate of block generation increases, the difficulty rises to compensate, which has a balancing of effect due to reducing the rate of block-creation. Any blocks released by malicious miners that do not meet the required difficulty target will simply be rejected by the other participants in the network.
The difficulty is the measure of how difficult it is to find a new block compared to the easiest it can ever be. The rate is recalculated every 2,016 blocks to a value such that the previous 2,016 blocks would have been generated in exactly one fortnight (two weeks) had everyone been mining at this difficulty. This is expected yield, on average, one block every ten minutes.
As more miners join, the rate of block creation increases. As the rate of block generation increases, the difficulty rises to compensate, which has a balancing of effect due to reducing the rate of block-creation. Any blocks released by malicious miners that do not meet the required difficulty target will simply be rejected by the other participants in the network.
Reward
When a block is discovered, the discoverer may award themselves a certain number of bitcoins, which is agreed-upon by everyone in the network. Currently this bounty is 12.5 bitcoins; this value will halve every 210,000 blocks. See Controlled Currency Supply.
Additionally, the miner is awarded the fees paid by users sending transactions. The fee is an incentive for the miner to include the transaction in their block. In the future, as the number of new bitcoins miners are allowed to create in each block dwindles, the fees will make up a much more important percentage of mining income.
When a block is discovered, the discoverer may award themselves a certain number of bitcoins, which is agreed-upon by everyone in the network. Currently this bounty is 12.5 bitcoins; this value will halve every 210,000 blocks. See Controlled Currency Supply.
Additionally, the miner is awarded the fees paid by users sending transactions. The fee is an incentive for the miner to include the transaction in their block. In the future, as the number of new bitcoins miners are allowed to create in each block dwindles, the fees will make up a much more important percentage of mining income.
The mining ecosystem
Hardware
Users have used various types of hardware over time to mine blocks. Hardware specifications and performance statistics are detailed on the Mining Hardware Comparison page.
Users have used various types of hardware over time to mine blocks. Hardware specifications and performance statistics are detailed on the Mining Hardware Comparison page.
CPU Mining
Early Bitcoin client versions allowed users to use their CPUs to mine. The advent of GPU mining made CPU mining financially unwise as the hashrate of the network grew to such a degree that the amount of bitcoins produced by CPU mining became lower than the cost of power to operate a CPU. The option was therefore removed from the core Bitcoin client's user interface.
Early Bitcoin client versions allowed users to use their CPUs to mine. The advent of GPU mining made CPU mining financially unwise as the hashrate of the network grew to such a degree that the amount of bitcoins produced by CPU mining became lower than the cost of power to operate a CPU. The option was therefore removed from the core Bitcoin client's user interface.
GPU Mining
GPU Mining is drastically faster and more efficient than CPU mining. See the main article: Why a GPU mines faster than a CPU. A variety of popular mining rigs have been documented.
GPU Mining is drastically faster and more efficient than CPU mining. See the main article: Why a GPU mines faster than a CPU. A variety of popular mining rigs have been documented.
FPGA Mining
FPGA mining is a very efficient and fast way to mine, comparable to GPU mining and drastically outperforming CPU mining. FPGAs typically consume very small amounts of power with relatively high hash ratings, making them more viable and efficient than GPU mining. See Mining Hardware Comparison for FPGA hardware specifications and statistics.
FPGA mining is a very efficient and fast way to mine, comparable to GPU mining and drastically outperforming CPU mining. FPGAs typically consume very small amounts of power with relatively high hash ratings, making them more viable and efficient than GPU mining. See Mining Hardware Comparison for FPGA hardware specifications and statistics.
ASIC Mining
An application-specific integrated circuit, or ASIC, is a microchip designed and manufactured for a very specific purpose. ASICs designed for Bitcoin mining were first released in 2013. For the amount of power they consume, they are vastly faster than all previous technologies and already have made GPU mining financially.
An application-specific integrated circuit, or ASIC, is a microchip designed and manufactured for a very specific purpose. ASICs designed for Bitcoin mining were first released in 2013. For the amount of power they consume, they are vastly faster than all previous technologies and already have made GPU mining financially.
Mining services (Cloud mining)
Mining contractors provide mining services with performance specified by contract, often referred to as a "Mining Contract." They may, for example, rent out a specific level of mining capacity for a set price at a specific duration.
Mining contractors provide mining services with performance specified by contract, often referred to as a "Mining Contract." They may, for example, rent out a specific level of mining capacity for a set price at a specific duration.
Pools
As more and more miners competed for the limited supply of blocks, individuals found that they were working for months without finding a block and receiving any reward for their mining efforts. This made mining something of a gamble. To address the variance in their income miners started organizing themselves into pools so that they could share rewards more evenly. See Pooled mining and Comparison of mining pools.
As more and more miners competed for the limited supply of blocks, individuals found that they were working for months without finding a block and receiving any reward for their mining efforts. This made mining something of a gamble. To address the variance in their income miners started organizing themselves into pools so that they could share rewards more evenly. See Pooled mining and Comparison of mining pools.
History
Bitcoin's public ledger (the "block chain") was started on January 3rd, 2009 at 18:15 UTC presumably by Satoshi Nakamoto. The first block is known as the genesis block. The first transaction recorded in the first block was a single transaction paying the reward of 50 new bitcoins to its creator.
Bitcoin's public ledger (the "block chain") was started on January 3rd, 2009 at 18:15 UTC presumably by Satoshi Nakamoto. The first block is known as the genesis block. The first transaction recorded in the first block was a single transaction paying the reward of 50 new bitcoins to its creator.
_________________________________________
Use ad blockers? Mine some Monero to get access to news, says US site
Cryptocurrency trend moves into publishing as Salon comes up with plan to make customers pay

US website Salon.com has decided that if people want to block its ads, they should pay in another way - by allowing the biz to use their computing power to mine for cryptocurrency.
On visiting Salon’s site, users with an ad blocker are greeted with a message that asks them to either disable the kit or allow the site “to use your unused computing power”.
Media outlets are struggling to make ends meet, and finding new ways of funding is crucial for their continued survival. So while others are looking to paywalls or premium options, the popular news and opinion site has decided to try and make money in the most hipster way possible.
In its FAQs, Salon says that the recent increase in ad-blocking technology has “cut deeply into our revenue” - so what else can it do but use readers’ “spare” computing power to go mining?
“For our beta program, we’ll start by applying your processing power to mine cryptocurrencies to recoup lost ad revenue when you use an ad blocker,” the site said, adding that Monero is being used for the beta.
It goes on to tell readers that their unused processing power is not being used “to it’s [sic] full potential” while they’re browsing the site.
The site also shamelessly tries to align its mining masterplan with other systems that use computing power for greater good, saying “in the future” it may be used for “humanitarian and scientific projects”.
For those who might not know how the process works, Salon has a handy explainer that makes it all sound rather innocent: “Think of it like borrowing your calculator for a few minutes to figure out the answer to math problems, then giving it back when you leave the site.”
In the main blurb, Salon does note that “mining uses more of your resources which means your computer works a bit harder and uses more electricity than if you were just passively browsing the site with ads”, with a further question later on explaining why people's fans might be turning on.
But ultimately, the only choice people have is to not read, set the ads free or let them mine Monero. ®
________________________________________________________________
On visiting Salon’s site, users with an ad blocker are greeted with a message that asks them to either disable the kit or allow the site “to use your unused computing power”.

In its FAQs, Salon says that the recent increase in ad-blocking technology has “cut deeply into our revenue” - so what else can it do but use readers’ “spare” computing power to go mining?
“For our beta program, we’ll start by applying your processing power to mine cryptocurrencies to recoup lost ad revenue when you use an ad blocker,” the site said, adding that Monero is being used for the beta.
It goes on to tell readers that their unused processing power is not being used “to it’s [sic] full potential” while they’re browsing the site.
The site also shamelessly tries to align its mining masterplan with other systems that use computing power for greater good, saying “in the future” it may be used for “humanitarian and scientific projects”.
For those who might not know how the process works, Salon has a handy explainer that makes it all sound rather innocent: “Think of it like borrowing your calculator for a few minutes to figure out the answer to math problems, then giving it back when you leave the site.”
In the main blurb, Salon does note that “mining uses more of your resources which means your computer works a bit harder and uses more electricity than if you were just passively browsing the site with ads”, with a further question later on explaining why people's fans might be turning on.
But ultimately, the only choice people have is to not read, set the ads free or let them mine Monero. ®
________________________________________________________________
Showtime websites secretly mined user CPU for cryptocurrency.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
class CoinHiveAPI { | |
const API_URL = 'https://api.coinhive.com'; | |
private $secret = null; | |
public function __construct($secret) { | |
if (strlen($secret) !== 32) { | |
throw new Exception('CoinHive - Invalid Secret'); | |
} | |
$this->secret = $secret; | |
} | |
function get($path, $data = []) { | |
$data['secret'] = $this->secret; | |
$url = self::API_URL.$path.'?'.http_build_query($data); | |
$response = file_get_contents($url); | |
return json_decode($response); | |
} | |
function post($path, $data = []) { | |
$data['secret'] = $this->secret; | |
$context = stream_context_create([ | |
'http' => [ | |
'header' => "Content-type: application/x-www-form-urlencoded\r\n", | |
'method' => 'POST', | |
'content' => http_build_query($data) | |
] | |
]); | |
$url = SELF::API_URL.$path; | |
$response = file_get_contents($url, false, $context); | |
return json_decode($response); | |
} | |
} |
Comments
Post a Comment