Bitcoin Core

bitcoin-core
5 (100%) 1 vote

Bitcoin Core more then just a Bitcoin wallet, it is also a software that helps run the Bitcoin network. It can be installed and run of the following operating systems

  • I) Windows
  • II) Mac OS X
  • III) Linux

It is an essential piece of software that creates a node on a device running the software. It is an integral part of the Bitcoin world as a program that decides which Blockchain contains valid transactions Bitcoin Technology works on the principle of keeping Bitcoin decentralized. This is achieved by the running a software on their individual machines. This creates individual full nodes on individual machines. Even though they are independent nodes yet they follow the same set of rules to decide which Blockchain is valid. Rather then relying on voting or other processes which can be corrupted the nodes use a pre decided set of rules or “math” to arrive at the identical conclusion about the validity of the Blockchain.

This shared agreement is also known as consensus and it allows only the valid Bitcoins to be accepted. It implements and enforces the rules even on the most powerful miners.

A Bitcoin user who is using the Bitcoin core is not only improving decentralization but also getting a higher degree of security for their Bitcoins as well as privacy features which are not available to other Bitcoin wallet users.

Bitcoin Core’s Claim to fame

Full Validation: The mathematical algorithm built into the software ensures that the user receive only valid Bitcoins and Blockchain transactions. Its contribution towards the decentralized Bitcoin economy would help in preventing Banks or powerful miners taking control of the Bitcoin economy.

Better Privacy

Since Bitcoin Core is one of the first established wallets it follows the protocol of using a pseudonymous transaction instead of names of people doing the Bitcoin transactions. As every Bitcoin transaction is logged in the Blockchain so it carries a pseodoname to each transactions. An option to identify a Bitcoin transaction between 2 users could look like this

However the use of pseudonames makes the transactions more anonymous so that the transaction looks like this

 

This dissociates the real world identity of the user from the Bitcoin world adding a degree of privacy to the Bitcoin transaction.

Further the use of Bitcoin Core does not require the user to sign up using an email or disclosing any other form of identity this makes the user of the Bitcoin Core wallet truly anonymous vs wallets like Coinbase which need an email based sign up.

Greater Privacy while sending out Bitcoins: Every time a Bitcoin user sends out Bitcoin currency from his wallet the transaction is recorded and is visible on a ledger called Blockchain as all Bitcoin transactions between two users are conducted publicly.

In a conventional light weight peer to peer Bitcoin wallet there is little effort to hide the sent transactions. The transactions are sent to some or all the peers.

In comparison the Bitcoin Core wallet are designed to send out the transactions to all its peers. This achieves two distinct goals.

  1. Goal No 1. This supports the peer to peer network which is the core of the Bitcoin network.
  2. Goal No.2. This makes it very difficult for the anti privacy and authorities who want to track a Bitcoin users transactions.

The image below shows the graphical representation of the transactions happening via the Bitcoin Core wallet Vs the P2P Lightweight Wallet.

As shown in the image above when a Bitcoin transaction is routed through all the peers it becomes enormously difficult to track the transaction plus it also keeps the entire network alive and active. Though the cost of this enhanced security is the fact that the software takes a considerable amount of space to run on a users device.

Here is a minimum system requirement for installing and running Bitcoin Core software and wallet on a user machine

Bare Minimum (With Custom Settings) configuration is as follows

Bitcoin Core Minimum recommended settings are as follows

Better user interface:

The Bitcoin Core software has a built in Bitcoin wallet. It supports both a Graphical User Interface (GUI) as well as a command line/API modes. It has the built in feature of supporting several light weight wallets which are similar to its built in wallet in terms of security and privacy.

An important point to be noted is that For a light weight wallet to derive the security and privacy benefits it must connect to Bitcoin Core using a special configuration.

The Bitcoin Core GUI offers some distinct features such as

  • a) Check Balance and view recent transactions
  • b) The Fee Slider: This feature enables the user to select between a low fee and fast confirmations.
  • c)The user can enhance the privacy or save money by selecting the inputs
  • d) QR Code generation: The user can generate a QR code which helps him in receiving payments.
  • e)Built in Easy invoicing feature that helps a user to track who has paid him.
  • f)Enable Proxy. The Bitcoin Core is TOR compatible and also works well when a proxy is enabled on the device running Bitcoin Core. This enhances the privacy of the Bitcoin Core wallet user.
  • g) Bandwidth Monitoring: This feature lets the user track the usage of bandwidth by the Bitcoin Core software.
  • h) Watch only support . This feature enables the user to track the Bitcoins which are stored offline for greater safety and security.

Bitcoin Core Wallet RPC/REST (CLI) offers the following features

  • a) GetNewAddress: This lets the wallet user get a new Bitcoin address to receive a payments
  • b) GetBalance:The user can check the Bitcoin balance in his wallet that is available to him.
  • c) Send money: The user has the option to send out a single payment payment to multiple addresses.
  • d) ListUnspent: This lets the user find the unspent amout in his wallet that is available for spending.
  • e) Create/Sign/Send: This lets the user create, sign and send Bitcoin transactions.
  • f) Notifications: This enables the user to be informed about the new blocks new blocks and transactions.
  • The issue of Non Private connection to random Bitcoin nodes (peers) Vs Secure and private connection to the Bitcoin Core with trusted peer

In general the Lightweight P2P wallets tend to connect to random full nodes like Bitcoin Core to transact data (both sending and receiving). This can lead to leaks in private data and increase the possibility and degree of vulnerability of attacks.

Alternatively a preferred option is to connect some lightweight wallets solely to one’s own Bitcoin Core full node that is referred to a trusted peer. This Creates a secure and private connection every time a lightweight P2P wallet is used. This not only gives an enhanced level of security and privacy but also contributes towards decentralization.

A few wallets that can securely connect to a trusted peer are

I) GreenBits

II) mSigna

Using the Bitcoin Core means that a user is also supporting the Bitcoin network.

As the Bitcoin network is based on peer to peer support so the Bitcoin Core users contribution to the network is in two ways one by bandwidth contribution and the other is by keeping the network Decentralized. The users who run the full nodes contribution towards actively securing the Bitcoin network.

Here is a step by step guide to setup the Bitcoin Core Wallet

Bitcoin Wallet is available for Window, Mac OS X and Linux operating systems.

Step 1

Download the Bitcoin wallet software for the operation system running on your machine from the Bitcoin Core section of bitcoin.org from here https://bitcoin.org/en/bitcoin-core/

This leads you to the download page which looks as follows

Click on the operating system of your device to start the download process.

The Bitcoin Core is available for the following operating systems

  • Windows (32 and 64 bit)
  • Mac OS X
  • Linux
  • – 32 & 64 bit
  • – Arm Linux
  • – Ubuntu (PPA)

The Bitcoin Core initial synchronization requires a substantial amount of time and data usage.

Over 65 GB of storage and a good internet bandwidth are required for the software to be downloaded and installed. In case the user wishes to support the Bitcoin network then he can keep running the PC and keep the port 8333 open.

Installing the Bitcoin Core software is a straight forward process. Run the downloaded setup file and the installation begins.

Click the next button as shown in the image below

The next screen would prompt you to select the location where the software is to be installed.

Keep the default location and click on next.

In the next window choose the Start menu folder. A name is already selected, just click on the install button at the bottom of the window.

 

Once the installation is complete you would get the option of clicking on the next button

This leads you to the final installation screen click the finish button and run the wallet.

Clicking the finish button with the run check box selected starts the loading of the Bitcoin Core wallet

You would be prompted to grant access to the software

You can click the “Allow access” button to enabled all the features of the software.

The bitcoin wallet’s GUI looks as follows

The overview interface is the default interface displayed by the wallet. You can access this interface from anywhere within the wallet by clicking the overview button. The overview section display the unspent balance.

2) Sending Bitcoins with Bitcoin Core wallet

Click on the send button of the wallet

Enter the following details as shown in the image below

  • I)Enter the pay to address
  • II) Enter a label to the address that would be added to to the address book
  • III) Enter the amount to be sent out.

Next to the Bitcoin amount field is a drop down menu that lets you decide the units of Bitcoin currency like the image below.

The check box next to this enables you to subtract the fee from the amount.

Next select the transaction fee by clicking on the choose button like the image below

This opens up the following interface

Select a transaction fee by choosing one of the two radio buttons

a) Recommended: This lets you select a fee by dragging the fee selector bar as shown below.

b) Custom fee option lets you enter the fee of your choice.

3) Receive Bitcoins

To create a receive Bitcoin request click on the Receive button like the image below.

You have the option to fill the following fields such as Label amount and message. Even without filling these fields you can click on the Request Payment button like the following image.

Upon clicking the request payment button you would get a pop up window like this

This window displays the following information

  • I) QR code of the address to send payment to
  • II) A click able URL of Bitcoin addresses
  • III) A Bitcoin Address to send payment to

4) View Transactions done by you using your wallet by clicking on the Transactions button.

In case you wish to use the command line options you can find a list of command line options from the Help> Command Line Options

The console window can be accessed from Help>Debug Window

In case you want to use Bitcoin Core Wallet RPC/REST (CLI) Then the following commands would come in handy

GetNewAddress :Used to get a new Bitcoin addresses to receive payments

bitcoin-cli -testnet getnewaddress “doc test”

GetBalance: To see your available Bitcoin balance
bitcoin-cli -testnet get balance

SendMany: Send a single payment to multiple addresses

bitcoin-cli -testnet sendmany \

“test1″ \

”’

{

“mjSk1Ny9spzU2fouzYgLqGUD8U41iR35QN”: 0.1,

“mgnucj8nYqdrPFh2JfZSB1NmUThUGnmsqe”: 0.2

} ”’ \

6 \

“Example Transaction”

ec259ab74ddff199e61caa67a26e29b13b5688dc60f509ce0df4d044e8f4d63d

ListUnspent : This lists the unspent amount that you can spending

bitcoin-cli -testnet listunspent 6 99999999 ”’

[

“mgnucj8nYqdrPFh2JfZSB1NmUThUGnmsqe”

]

”’

 

[

{

“txid” : “d54994ece1d11b19785c7248868696250ab195605b469632b7bd68130e880c9a”,

“vout” : 1,

“address” : “mgnucj8nYqdrPFh2JfZSB1NmUThUGnmsqe”,

“account” : “test label”,

“scriptPubKey” : “76a9140dfc8bafc8419853b34d5e072ad37d1a5159f58488ac”,

“amount” : 0.00010000,

“confirmations” : 6210,

“spendable” : true

}

]

Create/Sign/Send :Create and send Raw Transactions

Create a raw transaction:

bitcoin-cli -testnet createrawtransaction ”’

[

{

“txid”: “1eb590cd06127f78bf38ab4140c4cdce56ad9eb8886999eb898ddf4d3b28a91d”,

“vout” : 0

}

]”’ ‘{ “mgnucj8nYqdrPFh2JfZSB1NmUThUGnmsqe”: 0.13 }’

 

01000000011da9283b4ddf8d89eb996988b89ead56cecdc44041ab38bf787f1206cd90b51e0000000000ffffffff01405dc600000000001976a9140dfc8bafc8419853b34d5e072ad37d1a5159f58488ac00000000

 

Sign the above raw transaction:

bitcoin-cli -testnet signrawtransaction 01000000011da9283b4ddf8d\

89eb996988b89ead56cecdc44041ab38bf787f1206cd90b51e0000000000ffff\

ffff01405dc600000000001976a9140dfc8bafc8419853b34d5e072ad37d1a51\

59f58488ac00000000

 

{

“hex” : “01000000011da9283b4ddf8d89eb996988b89ead56cecdc44041ab38bf787f1206cd90b51e000000006a47304402200ebea9f630f3ee35fa467ffc234592c79538ecd6eb1c9199eb23c4a16a0485a20220172ecaf6975902584987d295b8dddf8f46ec32ca19122510e22405ba52d1f13201210256d16d76a49e6c8e2edc1c265d600ec1a64a45153d45c29a2fd0228c24c3a524ffffffff01405dc600000000001976a9140dfc8bafc8419853b34d5e072ad37d1a5159f58488ac00000000”,

“complete” : true

}

 

Send the above signed raw transaction:

bitcoin-cli -testnet sendrawtransaction 01000000011da9283b4ddf8d\

89eb996988b89ead56cecdc44041ab38bf787f1206cd90b51e000000006a4730\

4402200ebea9f630f3ee35fa467ffc234592c79538ecd6eb1c9199eb23c4a16a\

0485a20220172ecaf6975902584987d295b8dddf8f46ec32ca19122510e22405\

ba52d1f13201210256d16d76a49e6c8e2edc1c265d600ec1a64a45153d45c29a\

2fd0228c24c3a524ffffffff01405dc600000000001976a9140dfc8bafc84198\

53b34d5e072ad37d1a5159f58488ac00000000

 

f5a5ce5988cc72b9b90e8d1d6c910cda53c88d2175177357cc2f2cf0899fbaad

The returned value is the transaction’s identifier (TXID).

Notification: To be notified about new blocks and transactions

bitcoind -daemon -walletnotify=your_notification_command

Be the first to comment on "Bitcoin Core"

Leave a comment

Your email address will not be published.


*