Blockchain Basics
Blockchain technology was conceived a little over ten years ago. In that short time, it went from being the foundation for a relatively unknown alternative currency to being the "next big thing" in computing, with industries from banking to insurance to defense to government investing billions of dollars in blockchain research and development. Let's learn about this rapidly emerging technology real quick.
At its most basic, a blockchain is simply a distributed ledger that tracks transactions among parties. What makes it interesting are its fundamental properties, which apply to every single transaction:
- All parties agree that the transaction occurred.
- All parties agree on the identities of the individuals participating in the transaction.
- All parties agree on the time of the transaction.
- The details of the transaction are easy to review and not subject to dispute.
- Evidence of the transaction persists, unchangeable, over time.
This combination of properties results in a system that, by design, timestamps, and records all transactions in a secure and permanent manner, and is easily auditable in the future. In addition to the above, due to its distributed nature, the system is highly resilient to downtime. All these properties combined make an appealing system for a wide variety of applications, and indeed explain much of the interest in the technology.
In mainstream media, talks about cryptocurrencies and how people are becoming millionaires are increasingly buzzing. We often hear that cryptocurrencies will not only render banks useless but also ensure anonymity and security in financial transactions. However, this is only the surface. Cryptocurrencies are an example use case of an underlying technology called the blockchain.
Not so many people can explain what blockchain is, let alone how the technology is applied in cryptocurrencies. Blockchain is not a fad based on the amount of money that investors are putting into its research. In addition to that, new use cases emerge frequently, the most recent being the application of blockchain to create non-fungible tokens (NFTs).
Additional use cases of the blockchain include secure sharing of medical data, anti-money laundering systems, and music royalties tracking. It is quite evident that blockchain technology will affect crucial aspects of our lives thus creating a myriad of opportunities for blockchain developers in the near future.
Blockchain development introduction
A blockchain is a network of computers connected in some way and they collectively run what is called a blockchain client. The Bitcoin blockchain, Binance smart chain, and the Ethereum blockchain are examples of blockchain clients.
There are two main types of developers in this technology:
- Core developers
- Application developers
Core developers
Core developers are involved in what is called core development, a cliche right?. In core development, the developer writes the code for a blockchain client. Low-level programming languages are used in writing blockchain clients.
These include C, C++, Golang and Rust. In core development, you need to know the operating system of a computer, file system, and networking. However, core development is not for the faint of heart.
It takes time, practice, and commitment. Blockchain core developers are rare to find and usually prefer to remain anonymous as is the case of Bitcoin’s founder under the pseudo name Satoshi Nakamoto.
App developers
Blockchain app development is what most blockchain developers do and it is what most people usually refer to when they mention blockchain development. In blockchain app development, we build apps on top of a blockchain client instead of creating a whole blockchain from scratch.
This is analogous to web development whereby web developers usually build web applications on top of web browsers. They do not build web browsers each time they are building an app. A question arises. Which blockchain client should you consider learning to become a blockchain app developer?
A lot of factors are to be considered in choosing a blockchain client such as scalability, transaction fees, and the level of privacy your application requires. The Ethereum blockchain used to be the topmost blockchain providing all the features mentioned above plus more.
As of the time of writing this article, it is being challenged by other blockchains such as the Binance smart chain which is more scalable and has significantly reduced transaction charges. However, this is not to dismiss the Ethereum blockchain as other blockchains such as the Tron blockchain and the Binance smart chain employ the Ethereum blockchain underlying technology.
They run using an EVM (Ethereum Virtual Machine). This means that if you learn the Ethereum blockchain you will be able to develop in these other blockchains more easily. This is the network effect of the Ethereum blockchain.
The Ethereum blockchain has reached a “critical mass” which in layman’s terms means that it is indispensable. A technology’s critical mass is determined by the number of users of that technology, the number of developers involved, and the amount of money put in by investors of which the statistics for the Ethereum blockchain are excellent.
Origins of Blockchain Technology
The first four decades of the Internet brought us e-mail, the World Wide Web, dot-coms, social media, the mobile Web, big data, cloud computing, and the early days of the Internet of Things. It has been great for reducing the costs of searching, collaborating, and exchanging information. It has lowered the barriers to entry for new media and entertainment, new forms of retailing and organizing work, and unprecedented digital ventures. Through sensor technology, it has infused intelligence into our wallets, our clothing, our automobiles, our buildings, our cities, and even our biology. It is saturating our environment so completely that soon we will no longer "log on" but rather go about our business and our lives immersed in pervasive technology.
Overall, the Internet has enabled many positive changes for those with access to it but it has serious limitations for business and economic activity.
The New Yorker could rerun Peter Steiner's 1993 cartoon of one dog talking to another without revision: "On the Internet, nobody knows you're a dog." Online, we still can't reliably establish one another's identities or trust one another to transact and exchange money without validation from a third party like a bank or a government. These same intermediaries collect our data and invade our privacy for commercial gain and national security. Even with the Internet, their cost structure excludes some 2.5 billion people from the global financial system.
Despite the promise of a peer-to-peer empowered world, the economic and political benefits have proven to be asymmetrical with power and prosperity channeled to those who already have it, even if they're no longer aiming it.
Money is making more money than many people do. Technology doesn't create prosperity any more than it destroys privacy. However, in this digital age, technology is at the heart of just about everything good and bad. It enables humans to value and violate one another's rights in profound new ways. The explosion in online communication and commerce is creating more opportunities for cybercrime. Moore's law of the annual doubling of processing power doubles the power of fraudsters and thieves-"Moore's Outlaws" not to mention spammers, identity thieves, phishers, spies, zombie farmers, hackers, cyberbullies, and data appears criminals who unleash ransomware to hold data hostage the list goes on.
IN SEARCH OF THE TRUST PROTOCOL
As early as 1981, inventors were attempting to solve the Internet's problems of privacy, security, and inclusion with cryptography. No matter how they re-engineered the process, there were always leaks because third parties were involved. Paying with credit cards over the Internet was insecure because users had to divulge too much personal data, and the transaction fees were too high for small payments.
Bitcoin Predecessors
The internet's ubiquity has been disruptive and changed many industries. To name just a few examples, over the past few decades Wikipedia has more or less replaced encyclopedias, Craigslist has taken the place of newspaper classified ads, and Google Maps has mostly rendered printed atlases obsolete. Yet the financial industry was able to resist the internet's turbulent changes for quite a while. Prior to 2009, when Bitcoin launched, control of money had not changed much outside of the switch for users from analog (physical currency and checkbooks) to digital (electronic banking). Because of this shift, the idea of digital money was a familiar concept, but control was still centralized.
Many pre-Bitcoin concepts were tried before ultimately failing for various reasons, but the ultimate goal was always the same: increased financial sovereignty or better control for users over their money. Looking at a few of the early failures can bring the reasons for Bitcoin's growing popularity into greater focus.
DigiCash:
In 1993, a brilliant mathematician named David Chaum came up with eCash, a digital payment system that was called DigiCash. DigiCash was a company that facilitated anonymous digital payments online. Chaum is the inventor of blind signature technology, which proposed using cryptography to protect the privacy of payments online. Cryptography uses encryption-based mathematics to obscure sensitive information and has long been used by governments worldwide as a communications tool.
The DigiCash platform had its own currency, known as cyberbucks. Users who signed up for the service would receive $100 in cyberbucks, which were often referred to as tokens or coins. The company pioneered secure microchipped smart cards, similar to the system used in most credit cards today. It was also an early innovator in terms of the concept of a digital wallet for storing value- in this case, cyberbucks.
DigiCash systems were trialed by a few banks, including Deutsche Bank. A handful of merchants also signed up to accept cyberbucks, including the book publisher Encyclopedia Britannica. In the 1990s commerce on the internet was very new, and because of concerns about fraud, most people were hesitant to even use credit cards on the web, much less adopt an entirely new type of payment system. However, many privacy-conscious users did begin using cyberbucks and even developed a mailing-list marketplace that was in operation for some time. It was never able to achieve traction due to lack of merchants, though, and DigiCash ultimately filed for bankruptcy in 1998.
E-Gold:
A digital store of value established in 1996, E-gold was backed by real units of precious metal. Operated by a company called Gold & Silver Reserve, E-gold enabled instant transfers between its users on the internet. Everything on the platform was denominated in units of gold or other precious metals. By 2006 there were over 3.5 million E-gold accounts. At that time, the company was processing $5.9 million in daily volume. With denominations as small as one ten-thousandth of a gram of gold, the platform was the first to introduce the concept of making micropayments, or transferring tiny amounts of value, on the internet. Innovative for the time, E-gold also offered developers an API that allowed others to create additional services on top of the platform.
Merchants accepted E-gold as a form of payment alongside credit cards in online shopping carts. Support for mobile payments was introduced in 1999.
E-gold was technologically ingenious in the context of its features during the 1990s and early 2000s. However, the system was plagued with problems from the outset, which ultimately led to its demise. A centralized system, it had no mechanism to tie accounts to anyone's identity. As such, the platform was used for nefarious purposes, facilitating money laundering, online scams, and other illegal activity. The US government shut down E-gold in 2008, seizing its assets and establishing a system of redemption for account holders.
Hashcash:
Invented by Adam Back in 1997, Hashcash introduced the idea of using proof-of-work to verify the validity of digital funds, including the concept of money that exists solely on the internet. Proof-of-work means that computers need to produce some kind of verifiable, computation-intensive output for electronic money to have any value. Hashcash used cryptography to enable proof-of-work, and Back proposed using an algorithm called SHA1 in order to accomplish this.
In his initial proposal for Hashcash, Back referenced DigiCash and raised the idea that adding a fee or "postage" on emails with digitized currency could reduce spam.
By utilizing a hash, or a function requiring computer processing, Hashcash would impose an economic cost, which would limit spam in email systems. For digital currency, the concept of using hashes would solve what's called the double spend problem, which enables a digital unit to be copied like a file and thus spent more than once.
Computers, after all, make it easy to duplicate files; anyone can copy an image file and reproduce it over and over. The use of hashing is meant to limit that possibility with digital money by imposing a cost through proof-of-work, or computing power.
Although Hashcash was tested in email systems from Microsoft and the open-source software provider Apache, it never took off. Conceptually, Hashcash was a great example of how to introduce the digital scarcity required for internet-based money, but the technology itself wasn't really a good form of digital currency.
B-Money:
Proposed by Wei Dai in 1998, B-Money introduced the concept of using computer science to facilitate monetary creation outside of governmental systems. Like Hash-cash, B-Money suggested that digital money could be, produced through computation, or proof-of-work. Similar to Adam Back, Wei proposed that the cost of creating digital money could be calculated from the computer power used to create it. This digital money would be priced based on a basket of real-world assets such as gold and other commodities and limited in its supply to protect it from inflation, or losing value over time.
B-Money advanced the idea of broadcasting transactions to a network. For example, if one party wanted to pay another, a message would be sent to the network saying, "Person 1 will send $X to Person 2" The system would be enforceable via a system of digital contracts. These contracts would in theory be used to resolve any disputes, similar to how credit card companies deal with problems like a fraud. This system would use cryptography instead of a centralized system for both payments and the enforcement of contractual issues, enabling users of the network to be anonymous; no identity would be required.
The concept of B-Money brought together a number of components of digital cash. It applied the idea of contracts to provide order to an anonymous and distributed system. And it introduced the concept of using proof-of-work to create money. However, B-Money was mostly just a theoretical exercise by Wei. Its purpose was to explore the concept of nongovernmental money that could not be subject to inflation via a controlled money supply.
Bit Gold:
Proposed in 2005 by computer scientist Nick Szabo, the idea behind bit gold was to bring the scarcity of precious metals into the digital realm. Szabo pointed out that materials such as gold while having value, are "unforgeable," or very difficult to counterfeit due to their rarity and fixed costs such as mining and transportation. He wanted to take the value of gold and make it digital.
Szabo's idea came after the advent of E-gold, which used gold to back digital value. However, his design utilized a "client puzzle function" type of proof-of-work. The system proposed using a "challenge string" generated on a user's computer that is then securely timestamped "in a distributed fashion." This would then be submitted to a "distributed property title registry" to digitally provide proof of ownership.
As with most of szabos ideas, bit gold was largely an intellectual exercise. Szabo was clearly conceptualizing a trustless version of E-gold with bit gold.
The Bitcoin Experiment
By 2008, the world was already relying on the internet as a distributed entity for a large number of services. With electronic maps and GPS apps, people looked to the internet to help them get from point A to point B. Email, texting, Skype, WhatsApp. and other communication apps allowed almost instantaneous connections with friends and family near and far.
In addition, people had begun buying more and more goods and services online rather than in-store. Credit and debit cards had become popular payment methods, along with PayPal and other services. However, as mentioned in the previous section, many still desired a tamper-proof, distributed way to transfer value via the internet-and amazingly, that had still not yet been devised.
The 2008 Financial Crisis
At the beginning of 2006, the world economy was humming along. It was a time of economic growth, but cracks were starting to show in the financial system that year, The US housing market for the first time saw a decline in values, as rules in lending had become so loose that many borrowers were unable to pay their obligations.
This led to banks scrambling because they had chopped up mortgages and other types of shaky loans into private securities that were traded and held like stocks or bonds among financial institutions. When many of those assets turned out to be worthless, it brought on a collapse of the financial system that resulted in governments around the world having to inject cash into the system to save the global economy. In the US, modern housing bubbles had been controllable by the Federal Reserve raising interest rates. However, the 2008 crisis could not be controlled, arguably because of lack of transparency in the financial system.
Why is this bit of financial history relevant to a discussion of Bitcoin? Because although many of the concepts and technologies underlying Bitcoin already existed in 2008, no one had ever put together all the pieces of earlier e-money concepts to create a system that enabled digital trust and transparency.
The Whitepaper
On August 18, 2008, > the domain bitcoin.org was registered. Then, written by someone or a group using the pseudonym Satoshi Nakamoto, a whitepaper was published on October 31, 2008, and shared on numerous software developer mailing lists. Titled "Bitcoin: A Peer-to-Peer Electronic Cash System," the paper provided a detailed proposal for creating a value system that existed only on the internet. The aim was to create a digital currency that could operate without any connection to a bank or central government and to build a more transparent financial system that could prevent the catastrophic events of the financial crisis from ever happening again.
The Bitcoin proposal featured a number of ideas pulled from systems that preceded it These included:
- Secure digital transactions, like the smart contracts outlined by Nick Szabo.
- Using cryptography to secure transactions, like in DigiCash.
- The theoretical ability to send small amounts of secured value, as E-gold was able to do.
- The creation of money outside of governmental systems, as B-Money had proposed.
- Using proof-of-work to verify the validity of digital funds, as Hashcash was designed to do.
The whitepaper also introduced several concepts that were new. to many people, including:
Double spending: The risk that a unit of currency is spent more than once via falsified duplication.
Proof-of-work: A mathematical problem that must be solved using computational power.
Hashes: A fixed-length output is produced so that data of different sizes and sequences can be organized.
Nonces: A random number is used to ensure that a particular communication can only be used once.
In case you are wondering why the hell topic suddenly changes from "Blockchain Technology to eCash system/Bitcoin?"
Well, the underlying technology of Bitcoin is Blockchain. The term blockchain may sound mysterious or even scary to the uninitiated. Its literal meaning is a chain of blocks of information–is perhaps the simplest way to explain blockchain. But what is it for? Why does anyone need something called a blockchain? To find the answer we need to look back to an earlier time, closer to the start of the web (we've already discussed). The internet is about the storage and distribution of information to large numbers of people. Blockchain has a similar goal, and it builds on previous experiments looking for ways to improve that distribution.
Like the name indicates, a blockchain is a chain of blocks that contain information. This technique was originally described in 1991 by Stuart Haber and W. Scott Stornetta in "How to Time-stamp a Digital Document " and was originally intended to timestamp digital documents so that it is not possible to backdate them or tamper with them. However, it went by mostly unused until it was adopted by Satoshi Nakamoto to create a digital cryptocurrency Bitcoin.
Cryptocurrency Fundamentals
Like many emerging technologies, cryptocurrencies have ushered in a new way of thinking about finance, in this case. As a result, new ways of storing value are being considered. Cryptocurrency has some similarities to fiat money, stocks, and bonds, as well as to precious assets such as gold. But the methods of acquiring, transferring, and storing cryptocurrency, or crypto for short, are very different from other assets.
Major differences are involved regarding security and sending/ receiving value in cryptocurrencies. It is possible to lose funds in these systems without recourse.
Using cryptocurrency can be confusing as it introduces a large number of new terms that even people in traditional finance are often unfamiliar with. Although today there are a number of services that make a lot of the basic underpinnings of crypto easier for consumers, becoming familiar with at least the basics of how cryptocurrency systems work can be helpful when trying to understand how these new systems are different.
Here's the PDF file of my day-1.