Blockchain technology and decentralized apps

/, Python/Blockchain technology and decentralized apps
  • python blockchain

Blockchain is the new “it” in innovation. At least, that’s what some of the major companies and investors in tech view it as. But what exactly is blockchain technology? Let’s explore that for a bit, see what Bitcoin and Ethereum are all about and also have a look at the stack behind it all.

Bitcoin, the first blockchain application, was implemented in 2009. It’s a cryptocurrency that has become very well known for its amazing growth spree and get rich fast possibilities. It’s the heart of stories where people find long lost Bitcoins, worth a fortune, mined years ago. Some are more fact, others more fiction. Still, it’s hard not to be interested.

Right now a bitcoin is valued at around $4200. That’s a 750% increase from last year, when it was valued at around $570. It has seen amazing growth, but that’s not all – it has the ability to change the way transactions are made and create a new system of currency that goes beyond the norm and reach of financial regulations. It’s also heading towards a mainstream status, just take, Falcon Private Bank, a Swiss bank that has recently announced that it will allow its customers to hold and sell Bitcoins.

Similarly, Ether, the currency used on Ethereum, a blockchain platform, is valued at around $300 with a $29 billion market cap. Ethereum was first proposed in 2013 and was officially launched in 2015. It’s a public, blockchain-based, distributed computing platform, similar to Bitcoin. I’ll dive into it a bit more later on.

Bitcoin and beyond

Bitcoin was the first blockchain based project to take off. It was and still is an example of disruptive innovation, one that established a bridgehead. Ethereum, a different kind of blockchain, came with a whole new set of options that constantly show ways in which blockchain represents a new technology revolution. This may be an understatement at this point, considering everything that has happened in the past 8 years.

Overall it’s a volatile market. Tokens, cryptocurrencies, quite a few now, not just Bitcoin and Ether. Forks happening all around, huge growth in value and millions at stake with a lingering fear that the bubble can burst at any time. But the important thing here is that blockchain gives us the opportunity to have decentralized apps and systems, supporting an immutable and verified transaction ledger. It’s interesting and extremely valuable because it provides a new way to build all sorts of applications, from finance to games, from health insurance to food tracking programs. Walmart is exploring the idea of using a blockchain to better track where their products come from and their journey from field to shelf. Blockchain as a whole can be adopted in as many ways as you can imagine and startups are popping out of nowhere with ingenious solutions to problems you might not even know you had.

Ethereum platform

Right now the main focus is not on cryptocurrencies, but on the potential of a decentralized future, one initiated by the Ethereum platform.

For clarification: Ethereum is not a cryptocurrency, it’s a distributed and decentralized blockchain platform that runs a decentralized application. It has its own cryptocurrency, Ether, and it also has an internal unit called Gas that is used to charge actions on the platform. Gas is meant to deter spam and avoid running useless programs.

Going forward, you have to remember that trust and safety are values that boosted blockchain from the very beginning. It brought the concept that we can have them without the interference and control of an authority or single entity. A decentralized future and a new way to build software, to build Dapps – decentralized applications. But more than that, Ethereum goes in a different direction in the blockchain world, bringing something new to the table – smart contracts. This is a defining feature, Ethereum was basically built for smart contracts – a feature that Bitcoin has, in the sense that it can transfer value from one user to another, but in a very restrictive form.

Ethereum smart contracts are digital contracts that are pre-programmed. The contracts happen between anonymous parties, on the platform, without any middlemen. These are all verifiable by anyone on the network, so it can’t be changed in any way, making it completely secure. More than that, they’re accessible because developers can write their own smart contracts and decentralized applications.

The possibilities and opportunities here are incredibly vast. It’s breaking new ground, it’s discovering a new world. And it’s exciting as hell!

Ethereum, in a way, is the biggest Dapp of them all, a central Dapp that can be used to build Ethereum-based Dapps like Augur (written in Serpent), a project that presents itself as the future of forecasting, a decentralized forecasting tool, or Melonport, a digital asset management tool. The list can go on and on. The point is that people have taken the idea of decentralized applications and went with it in every possible direction.

Programming languages for blockchain

A lot of people are exploring blockchain tech and what it has to offer. Among them are big names like the aforementioned Walmart, finance companies like Citigroup, Credit Suise or JPMorgan Chase. As disruptive as it is to the finance industry, it’s also a huge opportunity for improvement and change and losing this window could prove disastrous for finance companies.

According to a study by U.K. research firm Juniper Research, blockchain technology is being considered by more than half of big corporations. The R&D departments are in overload, trying to get in the game. But what are they using for blockchain? What’s under the hood?

The Bitcoin core is build in C++, Ethereum is built in C++, Go and Rust, with other languages being involved in various parts of the projects. Ethereum also has its own programming language, Solidity, used to build smart contracts. Actually, there are a few programming languages not just Solidity, among them there are two Python type languages, one called Serpent and a still experimental one, called Viper.

You can build a blockchain service in any language you like, there’s really nothing stopping you.

IBM for example built Sawtooth Lake in Python. Ethereum also has a Python ecosystem. Just check out the Python core library of the Ethereum project – pyethereum – or Serpent or Viper, the languages mentioned above. For a browser based Dapp, Python may not be a good choice, but outside of the browser they work very well together.

For blockchain you can use any language you want (although not every language is suitable for this type of work). If you look at its basic format, a blockchain is a data structure – once you have it, you can use it in any language, not just the one it was built in. For Ethereum Dapps, the same principle applies. There are different client implementations for different languages.

There is also a distinction to be made here, between blockchain products and Dapps. They are not the same thing. Dapps are applications that run on the Ethereum platform (or on any other blockchain platform), while blockchain products are individual, independent products or applications. If you’re building a Dapp to run on Ethereum, you have to comply with the Ethereum platform rules (using Ethers and gas and so on). But, if you’re building a blockchain product from the ground up, the world is your oyster, it’s all up to you.

The future

Blockchain has the ability to change almost every area of our life. It already has a huge impact on the way software is built and on the way software is used. It’s a time for exploration and “colonization” of new lands. Some say blockchain is the new Internet and that may or may not be true, but think of it through the revolutionary power of the Internet. It changed everything, and blockchain is poised to do the same.

 by Samuel Andras

2018-10-09T10:15:02+00:00 September 28th, 2017|Categories: Blockchain, Python|Tags: , , , |