Cryptocurrency mining is the process in which transactions between users are verified and added into the blockchain. The process of mining is also responsible for introducing new coins into the existing circulating supply and is one of the key elements that allow cryptocurrencies to work as a peer-to-peer decentralized network, without the need for a third-party central authority.
Bitcoin is the most popular and well-established example of a mineable cryptocurrency, but it is worth noting that not all cryptocurrencies are mineable. Bitcoin mining is based on a consensus algorithm called Proof of Work.
A miner is a node in the network that collects transactions and organizes them into blocks.
Whenever transactions are made, all network nodes receive them and verify their validity.
Then, miner nodes gather these transactions from the memory pool and begin assembling them into a block.
The first step of mining a block is to individually hash each transaction taken from the memory pool, but before starting the process, the miner node adds a transaction where they send themselves the mining reward (block reward). This transaction is referred to as the coinbase transaction, which is a transaction where coins get created ‘out of thin air’ and, in most cases, is the first transaction to be recorded in a new block.
After every transaction is hashed, the hashes are then organized into something called a Merkle Tree (or a hash tree) - which is formed by organizing the various transaction hashes into pairs and then hashing them. The outputs are then organized into pairs and hashed once again, and the process is repeated until “the top of the tree” is reached. The top of the tree is also called a root hash (or Merkle root) and is basically a single hash that represents all the previous hashes that were used to generate it.
The root hash - along with the hash of the previous block and a random number called nonce - is then placed into the block’s header. The block header is then hashed producing an output based on those elements (root hash, previous block’s hash, and nonce) plus a few other parameters. The resulting output is the block hash and will serve as the identifier of the newly generated block (candidate block).
In order to be considered valid, the output (block hash) must be less than a certain target value that is determined by the protocol. In other words, the block hash must start with a certain number of zeros.
The target value - also known as the hashing difficulty - is regularly adjusted by the protocol, ensuring that the rate at which new blocks are created remains constant and proportional to the amount of hashing power devoted to the network.
Therefore, every time new miners join the network and competition increases, the hashing difficulty will raise, preventing the average block time from decreasing.
A node in the context of the blockchain, usually refers to a computer that has downloaded the software of the cryptocurrency in question (Bitcoin, Ethereum, Monero, among others) to participate in the network between peers.
The cryptocurrency blockchain is structured as a network architecture between peers (peer-to-peer or P2P). The term peer-topeer or P2P means that the computers that participate in the network are equal to each other. The term is not new, because making a bit of history, the first massive use of P2P networks was made by the music file sharing network, Napster.
Diving into the context of blockchains - which are designed as distributed systems - the network of computer nodes is what makes it possible for Bitcoin to be used as a decentralized peer-to-peer (P2P) digital currency. As such, it is censorship-resistant by design and doesn’t require a middle-man to be transacted from user to user (no matter how distant they are in the world).
While the block reward is granted to the miner who discovers the valid hash first, the probability of finding the hash is equal to the portion of the total mining power on the network. Miners with a small percentage of the mining power stand a very small chance of discovering the next block on their own.
Mining pools are created to solve this problem. It means pooling of resources by miners, who share their processing power over a network, to split the reward equally among everyone in the pool, according to the amount of work they contribute to the probability of finding a block.
TYPES OF CRYPTOCURRENCY NODES
Routing: discover and connect to other peers in the network. These nodes validate and transmit transactions and blocks, and keep the network connection alive by passing information.
Storage: stores a local copy of the entire blockchain database, known as a full node. Requiring a large amount of hardware storage space, these nodes can independently verify transactions without any external references.
Mining: create new blocks to add to the blockchain. These nodes run special mining software in order to solve a cryptographic puzzle, to win mining rewards. These nodes add new transactions to the blockchain.
Wallet service: called simplified payment verification (SPV) nodes, these nodes do not require a full copy of the blockchain but instead rely on other trustworthy full nodes, aka pool servers, to provide necessary information. These nodes have space and power restrictions.
DIFFERENT TYPES OF CRYPTOCURRENCY NODES
All nodes participate in a network, and in return for verifying and storing transactions they earn a small fee in the relevant cryptocurrency. This is known as mining or forging. Each node is equal, but has their own role depending on the functionalities they want to support. Generally, there are 4 major services: routing, mining, storage and wallet services.
The main feature of cryptocurrency mining on X11 is financial profitability in comparison with other algorithms
Mining efficiency is expressed in three components:
For example, AMD Radeon 6930 graphics card produces 1800 Kh/s, if you use the same module for cryptocurrency mining on the Scrypt algorithm, the indicator will decrease almost three times. Video cards of other models show approximately such ratio of change of power.
When choosing mining equipment, you should prefer a model with an impressive number of Shader processes and a high frequency of the graphics core. If we talk about Radeon graphics cards, pay attention to 7950 and 7970. Nvidia also has analogues to these models.
As for CPU-mining, AMD processors with 6-8 cores or Intel i5/i7 demonstrate not the highest level of performance, but also consume much less electricity.
A different approach to restricting mining inflation is taken on LQX, using a reduction of 1% of the each 411900 blocks. This is done as opposed to reducing by half implemented by other currencies. The production of LQX is programmed to continue along of this century, slowly until the year 2080.
The master branch is meant to be stable. Development is normally done in separate branches. Tags are created to indicate new official, stable release versions of LQX Core.
LQX users will be able to make instant money transactions. They can purchase products and services in LQX, as well as enable the LQX payment system within their businesses.
Testing and code review are the bottleneck for development; we get more pull requests than we can review and test on short notice. Please be patient and help out by testing other people’s pull requests.
Automated testing: Developers are strongly encouraged to write unit tests for new code, and to submit new unit tests for old code. Unit tests can be compiled and run (assuming they weren’t disabled in configure) with: make check.