Blockchain


A blockchain is, as the newly concatenated term suggests, a sequence of blocks (digital records that hold data), which are tied together and secured using cryptography. The list of blocks is ever-growing, and new blocks are validated using an agreed protocol on a peer-to-peer network.

The ledger thus keeps a permanent record of all the transactions that have taken place, in a secure, chronological, and immutable way. To better understand this concept, we can imagine that thousands of copies of the same spreadsheet are stored across a network of computers. This network runs a software that is designed to regularly upgrade the spreadsheet with new information.

A blockchain is an incorruptible digital ledger of economic transactions that can be programmed to record not just financial transactions but virtually everything of value. As a medium of value exchange, blockchains run a cryptocurrency – a digital asset designed to secure its transactions using cryptography, as well as to verify transfers and control the creation of additional units.

The computers that make up a decentralized peer-to-peer network are called nodes. They store the entire history of transactions that happened on a blockchain. They run a client that validates and relays transactions as they happen, using an agreed-upon consensus, and get rewarded for providing the public ledger’s security. The amount of compensation is correlated with the amount of computing power contributed to validate transactions on the network, and comes from transactional fees, but also from minting new units of a blockchain’s cryptocurrency.

Types of blockchains

  • Bitcoin and other cryptocurrencies (Litecoin, Dash, etc.)
  • Platforms for smart contracts, such as Ethereum, NEO, Qtum
  • Cross-Chain Bridges, such as Ark and Cosmos
  • Private Blockchains, such as Hyperledger Fabric

Advantages

  • Decentralization. This technology doesn’t rely on a massive data center with a single point of failure, running instead on a peer-to-peer network of computers, with every computer storing a whole copy of the digital ledger of transactions. This means that even If some computers in the network get compromised, the network as a whole remains safe and untouched. It also means that it cannot be controled by a single entity.
  • Transparency and immutability. All the transactions that take place on a blockchain are transparent, while the rules of a transaction are hard-coded in the software. Being open source, the software can be scrutinized by anybody and all the changes made to the source code are visible, and the transactions cannot be altered or deleted.
  • Reduced transaction times & costs. Since there’s no middleman involved in blockchain peer-to-peer transactions, the process is much more straight-forward, while also saving time and money.
  • Improved efficiency. Businesses can greatly benefit from the automation of certain business transactions that can take place automatically following the rules of a smart contract (a piece of software that contains rules for a transaction).

Disadvantages

  • Slower performance. Because of its nature, a blockchain will always be slower than centralized databases, because it carries three additional burdens:
    - signature verification (using a public-private cryptography scheme)
    - consensus mechanisms (sometimes it takes a lot of time and effort for nodes in the network to reach consensus)
    - redundancy (a blockchain processes the same transaction a lot of times, while a centralized database does it only once or twice)
  • Nascent technology. There are still a number of challenges that need to be adressed, such as transaction speed, the verification process, and data limits.
  • Energy consumption. The amount of computer power needed to validate transactions and secure a blockchain is substrantial and it’s growing every day.
  • Integration challenges. Blockchain applications offer solutions that will require significant changes to the way software products and businesses are created and operated. Aditionally, these changes will require a more specialized workforce, hardly available today.

Components

  • A node application
  • A shared ledger
  • A consensus algorithm
  • A virtual machine

Development Tools

  • Blockchain Testnet
  • BaaS: blockchain by Microsoft
  • Mist
  • Coinbase's API
  • Tierion
  • Embark
  • Ether Scripter
  • Solc
  • Geth
  • Parity
  • MetaMask
  • Web3.js
  • Truffle
  • Javascript testrpc
  • Solium
  • Ether.camp
  • BlockApps
  • Zeppelin


Have a project in mind?

Get in touch with us for your blockchain development needs!

 

 



Recent posts on our blog
New alternatives for mainstream server-side programming
Aug 30, 2018, by Cristian
We take a look at the advantages of 5 up and coming programming languages, namely Ruby, Node.js, Go, Scala, and Rust.... read more
Nginx - top contender in the web server game
May 17, 2018, by Dragos
Nginx is a well-known open-source web server that has undergone a rapid growth in popularity. Even at this point it looks like the growth is sustainable, so this software will keep on catching up with both Apache and IIS. Additionally, more and more web applications (websites), especially those with a high traffic, are switching to Nginx.... read more
Top 5 Best Visual Studio Extensions
Mar 28, 2018, by Cristian
One of the strengths of Visual Studio is represented by the powerful customization options (both design and functionality). ... read more
Press  |  Site Map  |  Technologies  |  Terms of Use  |  Privacy Policy
© 2018 SBP Romania. All rights reserved.