Provision of Incentives and Proof of Work
In this discussion we will discuss more about incentives and proof of work in Bitcoin. We have seen how the previous Bitcoin consensus algorithm. And already know how it will work safely.
We certainly remember the previous discussion of Bitcoin decentralization . At the beginning of the discussion we have mentioned that the Bitcoin system is partly done by combining the technical and engineering methods of enginering. Further in this section we will discuss the incentives of engineering in Bitcoin.
To begin with, we try to assume that we can select node nodes randomly. Say, at least from time to time there are about 50 percent of the honest nodes in the Bitcoin network. This assumption of incentives would be a problem if the incentives were given to nodes that tried to thwart the Bitcoin process mechanism. We certainly can not assume that all nodes will be honest. The more precise is, can we provide incentives for the nodes to be honest?
Let’s look back at the unofficial discussion of consensus on zero confirmation and multiple transactions . Can we try to punish those double actors? This will certainly be quite difficult because the nodes in bitccoin have no real identity. Likewise with the question can we give a service reply to the node because it has made a block and is in the blockchain consensus in the long run? Of course it will also be difficult, considering the Bitcoin node can not reveal its true identity.
Unless we can send it using digital currency. Now we can begin to get an idea of this. About the provision of Bitcoin as an incentive for nodes that have been honest and made the block. How can this reward be made? In Bitcoin, there are two kinds of incentive-giving mechanisms. Namely block rewards and Transaction Fees (transaction fee).
In the first mechanism, the reward block, given to the node that has made the block include also a special transaction into the block. Whereas this particular transaction is a new Bitcoin block making transaction. To be able to receive this reward, of course the node has its own address as a place to receive the reward.
As far as we know so far, the value of the block reward is 25 Bitcoin. At every 210,000 blocks, the reward value will be halved. And it will come down more or less in the next four years. Early on, the block reward is 50 Bitcoin, and has become 25 Bitcoin. And will be reduced by half in the future. Of course, the reduction of this reward will have its own implications later on. We will know the implications and the relationships further.
Up here we may ask, why should there be a reward incentive for this block? And why is this reward only given to an honest node only? Of course we already know that this node will keep the blockchain chain, as well as to produce new blocks of Bitcoin from time to time. It is not true if incentives also apply to nodes that have been dishonest in the Bitcoin system.The node will get its reward if the block is in the blockchain consensus arrangement in the long run. As with other transactions. Coin creation will be accepted if it has been in the blockchain consensus. That is the background of this incentive-giving mechanism.
This mechanism can run quite strongly. With this mechanism, nodes will more believe that other nodes will extend their blocks. And if most of the nodes in the Bitcoin network follow these same rules, then the incentive-giving mechanism will also continue to run as it should.
While the distribution of block rewards to half if it has reached 210,000 blocks (approximately 4 years), is a geometric series (row rate) . We will know that it means a finite sum . And not infinite series . Overall, the achievement of 210,000 blocks is a total of 21 million Bitcoins.
Note: The limit of 210,000 blocks becomes the only way a new Bitcon can and can be created. And the total amount is 21 million new Bitcoins that can be made. The sum of these values is as a rule that is still valid today.
Thus, it means at least the reward of the creation of the block will end in 2140. So whether later in 2140 the node becomes no longer have incentives? And lead to the number of nodes that will apply dishonestly? Until making the situation and conditions become insecure again? It seems that the assumption of these questions is still too early. Because there is still a second incentive mechanism in the Bitcoin system.
Transaction Fees ( Transaction Fees )
The second incentive mechanism is called Transaction fees . What is meant here is, transaction creators can choose to include transaction fees. By making the total output the transaction value is less than the total input value. For anyone who has created the first block can put transaction costs. Suppose there is a node node that creates a block. Let’s say on the block there are about 200 transactions. Then the total cost of the 200 transactions will be paid to the block maker’s address.
The transaction fee is purely voluntary. However, based on our understanding of the Bitcoin system, in fact the cost is mandatory. Moreover, if later the block’s reward decreases, and starts expiring block reward of 25 Bitcoin. So it is quite important for the user to enter the transaction fee to be able to get the quality of transaction services fair transaction.
Although it is still not known exactly how the Bitcoin system will develop later, but the transaction fee is already running now. It would be interesting as a further study on the Bitcoin system later on. But it still leaves some problems with the consensus mechanism as we alluded to earlier. First, how can we select node nodes randomly. Second, the Bitcoin system can run unstable if the granting of such incentives applies to all who run the Bitcoin node. Because the whole node hopes to get the reward.
And the third is if there is a node that is not honest and trying to subvert the process of consensus by doing Sybil Attack . As has been described in the previous discussion on consensus without identity . To overcome these three related problems, an alternative bridge that can emerge as a solution.
Proof of Work
The three problems above are related to each other. And all three can also be solved with one thing in common. The so-called proof of work . The underlying idea of this proof of work is in an attempt to approach the node selection method randomly. Instead of selecting nodes based on their resources. In the hope that no one will monopolize.
For example such a resource is computational power. So the resources that are the proof of work system. Another alternative is the proportion of digital currency ownership. Or called the proof of stake (evidence of ownership of shares in the form of digital currency).Although this proof of stake is not used in the Bitcoin system, it can be used as a legitimate alternative. In addition, this alternative model has also been used in some other digital currencies.
Next let’s try to find out more how better way to be able to choose node. The selection of nodes is expected to be comparable to the computing power. It could be that this way will allow nodes to compete with each other by using computing power. So it will be able to generate node selection automatically according to its proportion.
In Bitcoin, the achievement of proof of work is done by solving the hash puzzle . In the creation of a new block, when node proposes a new block it needs a number, or nonce.When the node combines the nonce, the previous hash and the list of transactions contained in the block can be retrieved by the entire hash and string.
So that the hash output can produce smaller numbers, in relation to the amount of output space of the hash function. Still remember about the discussion of input space and output on the hash function that has been discussed on the discussion of cryptographic hash functions ? If not, it can be seen again the relation of why this hash output should be able to produce outputs smaller than the amount of input space hash function on the discussion about the Hash Function .
Let’s continue. Since the hash output is smaller than the input space of the hash function, it can be said that the target output space in any value will fall below a certain target value. In this case, nonce must satisfy the following inequalities:
(nonce || prev_hash || tx || tx || … || tx) arget H <target
Generally the block proposed by the node will contain a series of transactions. In addition the block also contains a hash pointer that points to the next block. So now the block also needs a nonce. The idea is to make it quite difficult when trying to find a nonce that can fulfill this required trait.
The trick is to do hashing all the blocks including nonce. With this process will produce a kind of output. While if the hash function has fulfilled the puzzle-friendliness property as in the previous discussion, then the only way to solve the hash puzzle is to simply try nonce one by one until it finally succeeds.
Especially if the target space is only one percent of the total output space. So nodes should try about 100 nonce before they can succeed and get lucky. In fact, the target size space is no larger than one percent of the output space, making it much smaller.
Hash Puzzle can work well, and has been eligible to be able to select node nodes randomly.Instead nodes will be idependent when computing the puzzle hash all the time. Sometimes one of them will be lucky and can find the nonce randomly The lucky node will be able to propose the next block. That’s how decentralized this system is. No one can decide which nodes will be able to propose the next block.
Difficult For Computing
There are three important functions of Hash puzzle . Firstly that should be quite difficult to compute. Why? Because over time will vary the degree of difficulty. By the end of 2014, the level of kesullitannya is about 10 20 hashes per block. In other words, the target space size is only 1/10 20 of the output space of the hash function.
The amount is enough to be computed. Therefore, only a few nodes will be able to compete and complete the block-making process. This process will continue repeatedly, trying to solve the hash of the puzzle. Furthermore, the term to describe this process is called Bitcoin Mining (mining Bitcoin) . And then the nodes or participants participating in this process are called Miners (miners).
Determining the Cost Parameter
The second characteristic is how to be able to determine cost parameters. But it does not become a constant cost all the time. The possible way is that all nodes in the Bitcoin peer-to-peer network will automatically recalculate the target. The target here is the size of the target space as a small portion of the output space, in every 2016 block that has been achieved.
They recalculate the targets in such a way that the average block that can be produced takes about 10 minutes. With that period, the 2016 block will be completed within two weeks. In other words, in the next two weeks, they will again repeat and calculate again the target.
Let’s deepen it again. If you as a miner, and you have invested some money to get Bitcoin mining equipment, while in the mining ecosystem as a whole will grow and develop. More other miners will participate. Or it could be some manufacturers to develop mining devices quickly. So in the two-week period, of course the number of blocks to be found to be less.
That’s why the node will automatically adjust the target, while the miner’s job to find the blocks is increasing. So if you decide to invest a fixed amount of money for a mine device, your average rate of finding the actual block also depends on what other miners have done.
For example, Nita is trying to win the next block. Nita’s probability in mining is equivalent to its hash power. Say if Nita has a mine device with a power of about 0.1 percent of the total hash power, then Nita will find one out of every 1,000 blocks.
So what is the purpose of this adjustment? While why should it take 10 minutes? The reason is quite easy. If there are close blocks simultaneously, it will become ineffective. So that would be less than optimal in entering more transactions in a block. This indicates that there is nothing special about this 10th number. In this case the number 10 is a period of 10 minutes. So even though it is lowered from 10 minutes to 5 minutes it will not have a significant effect, and the system will stay okay.
There are many disagreements about this amount, but most people agree why there should be a fixed amount of time. Because it can not be left down without any limitations. That’s why Bitconn has an automatic counting feature. The formulation of cost and proof of work parameters will then formulate assumptions about security. In the end we know that if there are many attacks in the system, the majority of miners with consideration of the hash power following the protocol will overcome them. This can be said to be a solution because many miners will compete to be able to propose the next block. So at least 50 percent of the nodes will be able to act and behave honestly. As has also been mentioned at the beginning.
Let’s continue the discussion again. In solving the hash puzzle is done by using probability.Because no one can predict nonce. Mathematically, this process is called the Bernouli experiment (Bernoulli trials) . This Bernouli experiment is an experiment that yields the two most likely outcomes. Whereas in each probability is done in a row.
Here, the results of the experiment either be farther or closer to the target, assuming the hash function will remain random. The probability of the experimental results is fixed.Normally, the node will try with many nonce to be tested. While the process can also be done by conducting a continuous probability process or so-called Poisson process . This process is the process by which events occur idependently at a constant and constant rate of average. The result of all that is that the probability function will indicate the existence of a relative density of time. Until the next block can be seen and finally can be found.
Furthermore, this process is called the exponential distribution. There are some small possibilities that blocks can be found. The next block will be found soon after. That said, the next block will be found within a few seconds or a few minutes. In addition there is also a small possibility that it will take a longer time. Say for about an hour to find the next block.
But overall, the network will automatically adjust the difficulty. So that the time between blocks that can be found can be maintained average timing. In the long run is 10 minutes. If you are a miner, you may be very interested to calculate how long it will take to find a block.The calculation can be represented by the following equation:
The point here is, if you have 0.1 percent of the total computational power in the network, then with this equation it will be known that you will be able to find blocks every 10,000 minutes (approximately one week). The fraction of the computational power of the equation is the percentage of your computational power compared to the total computational power in the network. So that not only the completion time will increase, but the variants found block between the blocks will also be increased. Here are some of the implications we could alluded to earlier.
Trivial to Verify
Third, the important function of the proof of work is Trivial to Verify. The point here is that to verify a node that has compromised the proof of work correctly becomes trivial.Although the average node will do 10 20 attempts to find the nonce, and can make the hash of the block fall below the target. Furthermore, the nonce must be published as part of the block. So it becomes trivial for other nodes to be able to see the contents of the block.Because they do it together. And also has verified, that the output is less than the target.
This becomes an important trait. Nonce , will allow us to throw away the centralization. So we do not need centralized authority to verify that the miners have done their job properly.All miners or nodes will be able to instantly verify that a block has been found by another miner, and has also fulfilled the proof of work nature.
We now know the whole picture of the Incentives and Proof of Work in the Bitcoin system. And find out why the Incentive and Proof of Work are required. The next discussion will discuss technically the continuation of the whole process from the previous discussion.