The "halvening", which is the bitcoin block reward halving, has come and gone. It occurred on July 9th and the block reward was reduced from 25 bitcoins to 12.5. What was the aftermath? Was there a cataclysmic event that shook the planet? What exactly happened in this epic occurrence?

Pretty much as we suggested, nothing. The block reward went from 25 to 12.5 and that was about it.

7/11/2016 - Not a live feed

There were several parties and get together's in various countries and forums were a buzz as the clock wound down.


Source: Twitter
Source: Facebook and Shapeshift

Not Simple to Pinpoint

Many clocks setup around the web didn't even seem to register block 420000 until well after-the-fact. Bitcoin clock for example still read block 419999 for several minutes after 420000 was found and seemed to reset its clock around block 420003. Block 419997 took longer than expected and then blocks 419998, 419999, and 420000-420002 flew by likely messing up calculations or undershooting update times.

One of the more hilarious blunders was the rocket over at The Halvening ... it didn't take off.


It just sat there and later the admins fixed it so it actually does take off now. Still, even with the current halvening almost 4 years away. Larger presences such as had some issues as well, it initially reported the new reward at 16.66666666 which was notice all over the place. 

Source: Reddit (User: BashCo)


The halving estimate (such as ours on the right) calculate the block reward halving estimate by looking at the number of blocks left and multiplying the remainder of the current block deducted from the target block by the block time average or by 10 minutes. This is what makes the exact time difficult to pinpoint specifically. The aforementioned clocks likely did this calculation by 10 minutes and why it, and others, was off.

As the halving nears the block averages have to be taken more closely into affect. The blockchain does this every 2016 blocks by getting the averages of the times it took to complete each block. That's where we get the adjusted difficulties from.

When the halving is 4 years away like block 630000 is now, it's not all that big of a deal and 10 minutes per block is a safe estimate, but down to the last 5 or so blocks, the averages and times need to be monitors to accurately estimate. Like what happen with block 419997, it took an additional 12 minutes or so with 3 block to go, then the last 2 blocks flew by. I don't have the exact time in front of me but lets say the last 4 blocks went like so in this Python example:

def getaverage(self):
    last1 = 8
    last2 = 18
    last3 = 2
    last4 = 4
    result = (last1 + last2 + last3 + last4)
    print("Last 4 blocks:" + result + " minutes.")
    average = result / 4
    print("Average:" + average + " minutes")

The result:

Last 4 blocks: 34 minutes.
Average: 8.5 minutes.

That gives us an average of 8.5 minutes (34/4). Compared to a generic 10 minutes which would average out at 10 minutes. 

Under that adjusted estimate using the 10 minute standard you result in over shooting the estimate by 3 minutes. Which ironically is close to about what most estimators appeared to overshoot it by. These numbers are just made up for an example. It can go the other way too, if you have a block that takes 10 minutes then 3 that take 3 minutes each and the last one ends up taking 15 minutes. That would be an average of 4.75 minutes compared the the generic 10 minutes that would have been calculated and closer to the actual 15 minutes it ends up taking thus under-shooting.

There's no perfect math for this. 

Best bet? Increase the frequency of the RPC call on your node for the latest block as the halving grows closer and override any and all calculations if it equals the target (of the next halving block).

Fairly simple as in this direct RPC call:

bitcoin-cli -testnet getblockcount

The result would be (depending on the block number):


Here's a couple examples in Node.js and .Net (C#). The latter version is using the Json.Net implementation. 

Code sample (Node.js):

var bitcoin = require('bitcoin');
var client = new bitcoin.Client({
    host: 'localhost',
    port: 8332,
    user: 'user',
    pass: 'pass'

client.getBlockCount(function(err, BlockCount)
    if (err)
        return console.error(err);

Code sample (C#)

    private double GetCount()
        BitnetClient bc = new BitnetClient("");
        bc.Credentials = new NetworkCredential("user", "pass");
        var p = bc.GetBlockCount();
        Console.WriteLine("Block Count:" + p.ToString());
        return Convert.ToDouble(p.ToString());

These examples are from an upcoming tutorial and how this is calculated.

The After-Half

Despite minor math errors, inaccurate final seconds, or rockets not exploding the halving happened anyway and was pretty much uneventful.

However, what it stands for is very important. It's only the second time this has ever happened. Not only is bitcoin worth substantially more than it was just a few months ago. When the last halving took place (November 12th, 2012) and  bitcoins became, the price was at $12. It was around $650 when the halving happened. 

It means bitcoin and the blockchain have moved past a major milestone. It means we've gotten another notch under the belt and grown stronger. It took allot to get here and there was allot of bad that had to be absorbed to get here so that is saying allot.

Most importantly, it means that contrary to mainstream media hype ... bitcoin actually hasn't died.

Report by dinbits
Image by staff

The opinions expressed by authors of articles linked, referenced, or published on do not necessarily express, nor are endorsed by, the opinions the of or its affiliates.

Post a Comment

  1. Here are more Bitcoin Faucets for Faucetbox:

  2. Here are more Bitcoin Faucets for Faucetbox:


Powered by Blogger.