Blockchain is a decentralized process of sharing and tracking information about transactions and assets in a network. This technology allows us to build complex applications writing few lines of code and create secure, efficient, fast and cheap systems.
The blockchain technology is a link of blocks distributed in a network of computers that communicate with each other and maintain the records of every transaction publicly. Every blockchain transaction can be traced back to an individual sender or receiver of funds. But, despite the public availably of information related to those transactions, it’s hard to trace them without additional investigation and information.
What is a Block
A blockchain is a network of blocks, chained in a continuous line and each one of them containing a number and links to previous operations. If any information is altered, the existing block is not altered, but a new one is created to store this information and display the time and the date of the changes. This happens because, once approved, blockchain transactions are consistent, chronological, permanent and immutable. There should be no conflict between the new information and the data that is already in the database.
The process of creation of a block starts with the attribution of a mathematical function, called hash to the operation. A hash is the conversion of strings into numbers and letters used to protect messages. Every alteration in the characters of the input value, even a comma in a long text, changes the value of the hash.
To add security to the transactions made, every new transaction record (creation of new blocks or change of information) contains the hash code of the previous transaction.
Send money to john
New Hash value
After the creation of a hash, a Nonce is added to it. A nonce is a “number used once” on every transaction. It is added at the end of a hash to meet the difficulty levels required in a blockchain, while also guaranteeing that the transactions are not processed more than one time. If we added a nonce to out previously created hash the outcome would be:
Send money to John 456
Send money to Alice 15
The nonce is added to the description of the operation (456 and 15). Just as creating, there is no specific formula to calculate a nonce. This is a complex mathematical problem that blockchain miners solve to earn cryptocurrency.
You can customize the hashes generated, but it makes the process of generating nonces harder. The nonces used in the example above add seventy-five (75) at the end of each hash generated.
To increase the difficulty level of a blockchain, a timestamp is added to each block. A Timestamp is a way of sorting operations and list which ones came first and last. By adding a timestamp, you declare that you’ve created a certain block before someone else and that you own all rights or priority over it.
The difficulty levels added to blocks (nonces or timestamps) are immutable, meaning that everyone has the same chances of breaking the hash, if interested.
To track and store the changes made on transactions or assets, blockchain uses a Ledger File, which is a record of all the transactions.
Each ledger file is designated a block and linked blocks form a chain – thus the name blockchain.
A ledger file is not stored on a central server but on a distributed network of computers around the world. Each one of these computers is designated Node and they contain a full copy of the ledger file.
Every time a transaction occurs, each node acts as the provider of inputs and outputs or acts as a publisher and subscriber. To make it easy, think about torrents. There is the leeching process (where you download stuff from different servers) and seeding process (where people download stuff from your server), which is pretty much the same principles behind the decentralized network powering blockchain.
The decentralized architecture of blockchain guarantees that the technology continues to operate without depending on a single individual and ensures trust by guaranteeing that only verified computers in the network (those able to solve complex cryptographic puzzles) will store and share the information.
Unfortunately, the biggest disadvantage of using a decentralized system is that when things go wrong there is no one to blame. And there are also issues with maintenance, updates, and scalability.
What does it cost to maintain a blockchain system?
Different from centralized applications, blockchain applications should check, (re)write and share databases multiple times between the servers, demanding huge amounts of time and power to process every alteration.
Am I forced to update my system?
No. You do it if you wish.
Unfortunately, the computers in a blockchain network are not forced to update their hardware or software. All updates are made voluntarily. So, your blockchain application should be developed knowing that the performance will vary depending on the machines running it. This is different from a centralized server where you can make the upgrades whenever you want, depending on the demands of your new system.
How scalable is a blockchain system?
The best performance of a blockchain system is met when it is implemented by many nodes around the world. But this huge number of nodes becomes a problem when you want to implement changes. In a decentralized system, you should “wait” for the approval of thousand, if not millions, users to perform a transaction or upgrade, while in a centralized system you can envision these changes/ transactions and implement them almost instantly.
How blockchain is being used?
Although blockchain is famously related to bitcoin and other cryptocurrencies, it is being tested and already used in many other applications for file storage, protection of IP, Internet of Things, data management, stock trading, governance, social media, and identity verification.
Storing data in multiple servers, instead of a centralized cloud service such as Google Drive or Dropbox, protects you from losing all your information in case you’re hacked. A decentralized cloud storage system is more difficult to be attacked than centralized systems.
In a decentralized file storage system, the file is broken into small pieces and distributed across different computers on a network. Because each file carries a private key, nobody can access the information stored and if someone manages to access it, he is unable to know the full content of the file because it is just a part of it (needing to hack all other computers to have the whole information).
Protection of IP
Keeping your digital content safe from being stolen and redistributed online is hard. Copyright infringement is something difficult to track and the lawsuits are generally hard to follow up unless you’re a famous singer or a big company.
Using the blockchain timestamps and the immutability of the blocks, projects such as po.et and RightsChain are making easier for content creators, publishers and service providers to prove the originality of their ideas, discover and curate content and guarantee that their ideas don’t end up shared by non-reputable sources.
Internet of things
The Internet of Things is a network of connected devices, interacting and sharing data. Each data in the IoT is collected and exchanged using sensors, chips, actuators, and software embedded in physical devices.
The growing amount of data needed to have a functional IoT and its storage issues are problems that blockchain can solve by making use of its distributed ledger and the security offered by the private keys.
The blockchain’s decentralized architecture also guarantees that the devices interconnected in the IoT environment can transfer information in a fast, secure and transparent system.
The big tech companies such as IBM and Microsoft offer IoT platforms that can be integrated with the blockchain technology. Some cool startups using blockchain in their IoT projects include Chronicled, Hypr and Grid++.
The private ecosystem that blockchain offers enables users to share their personal data with those they approve in the network while staying anonymous. Startups these days are paying for personal data generated from multiple sources, from filing scientific research papers, to providing information about pollution in your city or data collected with the sensors of your car.
In this transaction, the data sold once, cannot be resold to other startups and only nodes with the right keys will be able to see the contents.
By using smart contracts1, blockchain technology removes the middleman, such as investors, brokers, lawyers, accountants, and government entities, that would slow down the process of buying and selling shares and derivatives.
Blockchain has the potential to reduce the time needed to complete settlements from 3 days to almost instantly, as well as verify and approve cross-border operations fast.
Blockchain can secure and certify public records such as birth and death certificates, licenses, corporate records and other sorts of public information, and protect them from changes not approved, falsifications or usage for corruption purposes.
The adoption of blockchain by governmental institutions would bring trust and transparency to public processes such as public security, elections, and other polls by making the information available publicly.
The Dubai government is making use of blockchain to build a smart city that delivers “seamless, safe, efficient and impactful city experiences” , while the Singaporean and South African governments are using it to revolutionize the banking and payments system. The UK government is using blockchain to improve its land registration and property buy & sell process.
Blockchain will take control and power from social media companies, as it will allow users to choose the type of data they want to share or sell. Users will be able to distribute their content through several servers, guaranteeing that their content can’t be easily censored and their accounts blocked or removed due to non-compliance with the terms defined by the social media company.
Blockchain-based social media platforms allow content creators to have full control over how and where they distribute their content. This lets them make more money by not having to pay the social media company for ads.
Blockchain can be used in digital identity management to ensure the safety and privacy of your personal data. Blockchain technology is hard to hack and to do so requires advanced hardware and too much power that average hackers won’t spend time assembling.
As mentioned before, blockchain takes the storage of personal data from centralized organizations and distributes it among individuals, making it hard for hackers to attack you.
Distributed immutable ledgers and the ownership of a private key allows you to prove easily who you are.
Another way blockchain can be used to prove your identity is by using Zero-Knowledge Proof (ZKPs) protocols, in which you prove your identity without revealing too much data. During this process, you (the prover) must perform specific tasks given by the verifier that only you can perform. Once you complete the task, you’ll be permitted to do a certain transaction.
The first time you perform the task, you’ll take more time to finish it. But as you get used to it, the faster you’ll become. That’s the same if you use an algorithm to solve the problem. It will go from slow to fast as it is more exposed to the problem.
Blockchain has the power to verify your identity fast and that’s something banks, insurance, and healthcare companies, among others, are taking advantage of.