diTHINK 2016 – An Analysis of Bitcoin, and Its Impact on Global Finance – What is Bitcoin?



diTHINK 2016 – An Analysis of Bitcoin, and Its Impact on Global Finance – What is Bitcoin?

0 0


dithink2016

Presentation slides for diTHINK 2016 conference on Bitcoin and its impact on global finance

On Github gnu-user / dithink2016

diTHINK 2016

An Analysis of Bitcoin, and Its Impact on Global Finance

Created by Jonathan Gillett / gnu-user

Who am I?

  • MASc Student at the University of Ontario Institute of Technology.
  • Industry experience in backend development, HPC, Machine Learning, mobile, and web development.
  • Bitcoin enthusiast since reading the initial Bitcoin paper!
  • Email: jonathan.gillett@uoit.net
  • GitHub Account: gnu-user

What is Bitcoin?

Is it a physical currency? Who is Satoshi Nakamoto? What are they mining anyways?

Bitcoin: A peer-to-peer electronic cash system

Introduced to the world in 2008 in a paper published under the pseudonym Satoshi Nakamoto, a proof of concept was released to the world a year later.

Layperson explanation: “A digital currency without any centralized authority or government, where the supply and security are controlled by mathematics.”

But What is the Benefit to Me?

  • Allows you to be in control of your own wealth without relying on a third party (e.g. vault in your own house).
  • Ease of use for transferring funds online (benefit over gold or cash which can be difficult to transact with).
  • Increasing mainstream adoption with services such as: Newegg, Expedia, and Dell.

What is it Really?

“Bitcoin is a peer-to-peer, decentralized digital currency with a mathematically defined supply that leverages cryptography in order to provide security as a financial medium through the use of a blockchain, a ledger of all transactions, and made secure through a process called mining, which incentives users to process transactions.”

Peer-to-Peer and Decentralized

Peer-to-Peer (P2P)

  • P2P communications mean that technically any node within the network can communicate or be connected to any other node (e.g. downloading with torrents).
  • In Bitcoin, the actual P2P connections per node (for performance reasons) are approximately 8 - 16.
  • In many P2P networks there is still centralization, which is required to operate the network, (e.g. trackers for torrents).

Decentralized

  • Decentralized networks are P2P, but without relying on centalized nodes to operate.
  • Often nodes are connected to smaller localized networks, similar to how the internet is architected.
  • Bitcoin requires no centalized tracker to relay transactions or catalog data pertaining to the network.
  • How is this possible? The blockchain! It makes it possible for a P2P network of untrusted nodes to create a collective trusted data store.

Mathematically Defined Supply

  • The currency (BTC) can only be minted as a reward to miners for processing transactions.
  • A mathematical function precisely describes the controlled supply made available.
  • At any point in time the supply of BTC can be precisely calculated based on this function.

The current supply of Bitcoin is 15,581,350, with a total supply of 21,000,000 defined by the following function.

$ \frac{\displaystyle\sum_{i=0}^{32} 21000 \big[ \frac{50.10^{8}}{2^i} \big]}{10^{8}} $

The initial reward to miners was 50 BTC, with the reward halving every 210,000 blocks.

Block Reward Supply Increase % of Supply 0 50.0 10,500,000 50.0% 210,000 25.0 15,750,000 75.0% 420,000 12.5 18,375,000 87.5% 630,000 6.25 19,687,500 93.75% 840,000 3.125 19,687,500 96.875% 1,050,000 1.5625 20,343,750 98.4375% ... ... ... ... 6,930,000 0.0 21,000,000 100.0%

Cryptography

  • Public key cryptography (elliptic curves).
  • Elliptic Curve Digital Signature Algorithm (ECDSA).
  • Hash function (SHA256).

Public Key Cryptography

  • Anyone can encrypt and send data to a recipient using the recipient's public key, and can only be decrypted by the recipient using their private key (which is not shared).
  • In Bitcoin, the public key is encoded as your address, which anyone in the network can use to send you Bitcoin.

Digital Signature Algorithm (DSA)

  • DSA makes use of public and private keys to sign data.
  • If the data is altered the signature will be invalidated
  • ECDSA is used for transactions, BTC is sent from one user to another by creating a transaction where the amount and recipient's address are provided, the user sending the Bitcoin then signs the transaction using their private and public keys.

Hash function

  • Hash functions are used to map input data to a specified set of outputs, for example mapping all words to integers from $0\ldots100$.
  • Cryptographic hash functions SHA256 and RIPEMD160 are used in Bitcoin for many applications, including reducing the characters generated when encoding an addresses.
  • SHA256 maps any input to an output that is a fixed size of 256 bits, with a total of $2^{256} = 1.15792...\times10^{77}$ possible outputs.

Blockchain

  • The public ledger of all Bitcoin transactions, it is made up of blocks, with each new block added to the chain dependent on all of the previous blocks.
  • Any attempt to alter the past events recorded on the blockchain, would invalidate any proceeding blocks.
  • The blocks are the collection of all transactions that occurred on the network that have not yet been added to the blockchain.
  • Blocks are added to the blockchain and made secure through a process called mining.

Mining

  • Mining is the process in which a new block (collection of transactions) are validated and added to the blockchain.
  • The first miner to add a new block is rewarded with Bitcoin, the only way currency is minted.
  • But how can the mining process be made fair and gamified, why would anyone bother mining?
  • SHA256 It adds a computational weight to the mining process and makes it provably fair.
  • For example, if there are only two miners, and one has 10x the computational power of the other, they can expect to earn 10x more Bitcoin.

SHA256 Hashing

  • SHA256 is used to ensure that on average it takes all miners approximately 10 minutes to solve a new block.
  • For a block to be accepted by the network, miners must find a nonce, which is included in the block, in order to generate a hash that has a specified number of leading bits that are 0.
  • The number of leading bits is the difficulty.
  • The block can be validated by checking that the nonce produces a hash that meets the difficulty.

$\text{SHA256}(\text{SHA256}(B)) = (0^{\ell} || {\{0, 1\}}^{256-\ell})$

Impact on Global Finance

Bitcoin is a disruptive financial technology, the concept and technology have unleashed a revolution that shows no signs of slowing down.

How Much Volume?

  • It's just a cryptocurrency... a fad... how much daily volume (USD) could it possibly have?
  • 1 Million? 5 Million? 10 Million?!
  • 325 Million USD! (based on the historical price since 2013).
  • That's based on daily blockchain transactions, what about off the blockchain, such as on exchanges?
  • A conservative estimate of the daily trading volume on all major exchanges (EUR, CNY, USD) since 2013, based on our research, is 55 Million USD!

How do we Measure Bitcoin?

  • Bit-index, a metric that tries to better explain and measure the activity of the Bitcoin network.
  • Takes into account the historical activity of users and accurately represents their current influence in the network while also accounting for the drastic increase in the value of Bitcoin.
  • Metric is inspired by the widely used h-index, a metric for the impact of authors based on their publications.

Bit-index

def bit-index(measures):
    sorted = measures.sort(reverse=True)
    for idx, measure in enumerate(sorted):
        if idx+1 >= measure:
            return measure
						
  • The measurements are sorted in descending order.
  • The bit-index is the last measurement that is greater than or equal to the current position in the list.
  • What should be used as a measurement? What is the best way to measure the activity on the network? Balance? Volume? Number of transactions?
  • Orange line is the partition, intersection is the bit-index.
  • Left figure is calculated based on balance, right using the amount of volume sent.
  • Balance accounts poorly for speculative hoarding, but volume is also susceptible to outliers and noise.
  • In both cases the users became inactive over time, which bit-index is more representative?

Bit-index Calculation

  • There are hundreds of millions of transactions.
  • We store the blockchain in a relational database > 1 TB.
  • Bit-index calculation for each user is embarassingly parallel to calculate.
  • Calculations done by partitioning query results grouped by each user, mapped to processes using MPI.
  • Ideal scenario, use Hadoop with BigData database (Hive), use MapReduce to easily parallelize the calculations.

Future Work

  • More robust bit-index calculation to account for outliers and noise, such as by applying a Kalman filter.
  • Application of features that take into account the graph relationship of transactions between users.
  • Addition of weighting features to measurements to make the metric more accurate.

References

Thank You!

Questions?

diTHINK 2016 An Analysis of Bitcoin, and Its Impact on Global Finance Created by Jonathan Gillett / gnu-user