In relation to this post: https://www.reddit.com/btc/comments/eupegk/technical_review_of_the_past_10_years_and_how_the/
We put together an introductory overview of the Bitcoin System. As this is intended to help increase public understanding of BTC and thus increase it's adoption. What will you learn from the text:
- Overview of Bitcoin system and how it works
- The features of the system that make Bitcoin possible
- Why is bitcoin innovative
- A overview of challenges of the Bitcoin
If you do decide to go through the text would love some feedback. Was it clear? Did you get any value from it? Anything that needs to be expanded on? - we are really excited about this project and hope to make it to the best of our abilities.
1 Introduction to the Bitcoin System
1.1 Introduction and General Description
There are many definitions and descriptions of Bitcoin. Some describe it as an innovative virtual or crypto currency, some as the system for peer-to–peer electronic cash payment transactions, and some others as decentralized platform and infrastructure for anonymous payment transactions using any type of crypto currency.
In this Report we will adopt the concept that the Bitcoin system is a payment system. It has its own features, its own currency, its own protocols and components, and with all that Bitcoin supports payment transactions. In other words, the core function of the Bitcoin system is to support payments between two parties – the party that makes a payment and the party that receives the payment.
Based on the original concept and the description of the Bitcoin [Bitcoin, 2016], “it is a decentralized digital currency that enables instant payments to anyone, anywhere in the world. Bitcoin uses peer-to-peer technology to operate with no central authority: transaction management and money issuance are carried out collectively by the network
The system is decentralized
since its supporting platform blockchain, comprises an infrastructure of multiple distributed servers, mutually linked by an instantaneous broadcasting protocol. Users perform transactions within the open and distributed community of registered users. Digital currency used in the system is not electronic form of fiat currency, but a special form of the currency generated and used only within the Bitcoin system. This concept is based on the notion that money can be interpreted as any object, or any sort of record, that is accepted as payment for goods and services and repayment of debts in a given country or socio-economic context. Bitcoin system is designed around the idea of using cryptography
to control the creation and transfer of money, rather than relying on central authorities.
There are several important requirements when making any type of payment and with any currency. The best example of a “perfect” payment transaction that meets all these requirements is payment using cash over-the-counter
. When a consumer pays to a merchant using cash over-the-counter, such transaction satisfies all requirements and expectations of both parties. First, the transaction is instantaneous
, as the paper bill is transferred hand-to-hand, from the consumer to the merchant. The transaction is cheap
, in fact there is no overhead charge to perform transaction, so the merchant receives the full amount. The transaction is irreversible
, what is the property beneficial to merchants. The transaction is legal
, as the merchant can verify the legality of the paper bill. And, finally, the transaction is anonymous
for the consumer as he/she does not need to reveal his/her identity.
The only “problem” with cash over-the-counter is the cash
itself, as using and handling cash has many disadvantages.
Bitcoin concept and system solves all issues and problems with the use of cash, but at the same time provides all advantages when performing transactions using digital
technologies. So, paying with Bitcoins is effectively payment transaction that uses “digital cash over-the-counter”. The concept of the Bitcoin system provides all advantages and benefits mentioned above with payments using cash over-the-counter, but eliminates the problems of using cash. That is the reason why Bitcoins are often referred to as “digital cash”.
One of significant features of payments using cash over-the-counter is that there are no third parties
to participate or assist in the execution and validation of a transaction. This feature makes Bitcoin transactions very efficient
and also very cheap
to perform. Other types of todays payment systems, for instance using bank-to-bank account transfers or using bankcards, use many additional intermediate parties and use very complicated background infrastructure to validate and clear payment transactions. These infrastructures are complex
to establish and operate, they are expensive
, and they are vulnerable
to attacks and penetrations by hackers. Bitcoin does not use such complex infrastructures, what is the reason that its transactions are efficient and cheap. An additional problem with third-party transaction players is that transaction parties must put the complete trust
in all these parties without any means to verify their functionality, correctness, or security.
Bitcoin system uses public-key cryptography
to protect the currency and transactions. Logical relationships between transaction parties is direct, peer-to-peer, and the process of validating transactions is based on cryptographic proof-of-work
. When performing a transaction, the net effect is that certain amount of Bitcoins is transferred from one cryptographic address to another. Each user may have and use several addresses simultaneously. Each payment transaction is broadcast to the network of distributed transaction processing servers. These servers collect individual transactions, package them into blocks, and send them for validation.
Each block is cryptographically processed by the large number of so called “miners”. They each attempt to create cryptographic hash value that has special form. This is computationally very difficult and time-consuming task, therefore, it is very difficult to perform and repeat. Individual blocks are validated using cryptographic processing procedures that require substantial amount of work and computing power.
Approximately an hour or two after submitting the transaction for validation, each transaction is locked in time and by cryptographic processing by the massive amount of computing power that was used to complete the block. When the block is validated, it is added to the chain of all previous blocks, thus forming a public archive of all blocks and transactions in the system.
One of the most important problems with uncontrolled digital currency, where there are no third parties to validate and approve transactions, is so called double spending
. Since the currency is digital, stored at user’s local workstations, in mobile phones, or on network servers, it can be easily copied and sent to multiple recipients multiple times.
Bitcoin system solves this problem with a very interesting approach. It is the first effective example of the solution for the double-spending problem without the need for assistance of any third party. Bitcoin solves this problem by keeping and distributing an archive of all transactions among all the users of the system via a peer-to-peer distribution network. Every transaction that occurs in the Bitcoin system is recorded in that public and distributed transactions ledger. Since the components in that ledger are blocks with transactions and the blocks are “chained” in time and in a cryptographic sequence, the ledger in the Bitcoin system is called blockchain
That full blockchain of all transactions that were performed in the Bitcoin system before the specific transaction can be used to verify new transactions. The transactions are verified against the blockchain to ensure that the same Bitcoins have not been previously spent. This approach eliminates the double-spending problem. The essence of the verification procedure for a single transaction in fact is the test of the balance of the sending account. The test is very normal and natural: payment of a certain amount of the currency can be made only of the balance of the outgoing account is equal or larger than the payment amount. Current balance of an account is established by tracing all incoming and outgoing transactions for that account.
The procedure to verify the validity of individual transactions and to prevent double-spending is based on the use of special type of cryptographic protocol called public-key cryptography
. With this type of cryptographic systems each user has two cryptographic keys. They are mutually related in the sense that, what ever the one key encrypts, the other key can decrypt. One of the two keys is a private key
that is kept secret, and the other key is public key
that can be shared with all other users in the system. When a user wants to make a payment to another user, the sender transfers certain amount of Bitcoins from his/her account to the account of the receiver. This action is performed by the sender by creating a payment message, called a “transaction,” which contains recipient’s public key – receiving address and payment amount. The transaction is cryptographically processed by the sender’s private key, the operation called digital signing
, and as the result digital signature is created and appended to the transaction.
By using sender’s private key every user in the system can verify that the transaction was indeed created by the indicated sender, as his/her private key can successfully decrypt the content of the digital signature. The exchange is authentic, since the transaction was also cryptographically processed with the recipient’s public key, the operation which is called digital enveloping. This transformation guarantees that the transaction can be accepted and processed only by the holder of the corresponding private key, which is the intended recipient.
Every transaction, and thus the transfer of ownership of the specified amount of Bitcoins, is inserted, then time-stamped, and finally displayed in one “block” of the blockchain. Public-key cryptography ensures that all computers in the network have a constantly updated and verified record of all transactions within the Bitcoin network, which prevents double-spending and fraud.
1.2 The Concept and Features of the Bitcoin System
There are many concepts and even more operational payment systems today in the world. Some are standard paper–based, some are digital and network based. What makes Bitcoin unique and distinctive, compared with all other payment systems that are in use today, are several of its core features.
The first of them is that the system uses its own currency
. The reason for using its own currency is to make the system independent of financial institutions as trusted third parties. The unit of the currency is called Bitcoin
. The currency is so called crypto currency
, because it is generated and used based on execution of certain cryptographic algorithms and protocols. Performing specific cryptographic protocols is in the heart of operations to create new Bitcoins, to transfer them between transaction parties, and to validate the correctness of transactions.
Since appearance of Bitcoins, several new systems were introduced that use cryptography to manage its own currency, so all such currencies represent the category of crypto currencies
. Later in this Report, some other digital / virtual currencies will be described that are created and managed using some other principles, so they are not called crypto currency. At the time of writing this Report, all such digital virtual currencies were called with general term tokens
, sometimes also digital assets tokens
. The reason is that they were created by the process called collateralization
and therefore they are related to the value of some categories of real world assets which is expressed in digital tokens units.
The second interesting and important feature of the Bitcoin system is that the logical relationship between the two transaction parties is direct, peer-to–peer
, i.e. there are no other parties that participate in the transaction. This is an important feature and benefit / advantage of the system that contributes to its efficiency when compared with the todays complex and expensive financial payment infrastructures and protocols. However, for distribution of transactions to their validators and later to all other members in the Bitcoin system the physical flow of each transaction is very complex and includes many parties.
It should be emphasized that performing transactions as direct, peer-to–peer transfers is one of the key features and the most significant reason for many benefits and advantages of the Bitcoin system. This approach is the key feature of the Bitcoin system as it enables security and anonymity of parties, efficiency in performing transactions, scaling of the system, and instantaneous settlement of payments. Therefore, supporting execution and validation of serious business peer–to–peer transactions is one of the core benefits of the blockchain concept, as it changes the current paradigm of Internet applications and transactions. Currently all Internet applications are organized and performed as client–server transactions. Such transactions are not efficient, do not provide sufficient privacy of participants, have dependencies on third parties and usually are vulnerable due to attacks of functional problems with large centralized application servers.
The next very important characteristic of the Bitcoin system is anonymity of users
, their accounts
, and transactions
. This property means that the identities of the participants in the system are not known even to the partners performing a payment transaction. All other system operations – receiving payments, making payments, validating transactions, etc. are also performed anonymously. Interpreting this property correctly, the anonymity of transaction participants is so called pseudo-anonymity
. Namely, in the process of validating transactions, all previous transactions of the sender are traced back to the original initial transaction. If that initial transaction was the purchase of Bitcoins at some Bitcoin Exchange, then the identity of the original owner of Bitcoins is known. Most if not all service providers in the Bitcoin system today require very strict identification of participants for the purpose of enforcing legal and regulated transactions and include certain restrictions of transaction frequency and amounts. This procedure, although understandable from the legal and regulatory point of view, has in fact in essence changed one of the core principles of the original concept of the Bitcoin system – full anonymity of users.
Better solution for fully anonymous payment transactions is so called zero–knowledge protocol
, where the identity and authorization to perform Bitcoin transactions, is validated by anyone without revealing any identity information of the parties. The only problem with this approach is revealing the identity of transaction participants to law enforcement authorities in case of illegal transactions. But, such authorities have special authorization under the law and they should be enabled to get identifying information about transaction participants in the process of legal law enforcement procedures. But, all other service providers do not have such status, so if Bitcoin principles are strictly followed, they should not be able to have identifying information about system participants.
This approach and potential improvement of the Bitcoin system implies that the system needs one of the classical security services: role–based authorization
. In such arrangement, there would be at least two categories of system participants: those that are authorized to maintain and access identifying information about the participants and those that are only authorized to perform transactions. In the first category are legal authorities, like police, driving license authorities, tax authorities, etc. In the context of the standard Identities Management Systems, such participants are called Identity Providers
. All others are Identity Verifiers
. Therefore, one of the main conclusions about true anonymity in the Bitcoin system is establishment of a sophisticated and multi-role Identities Management System, where some parties will be authorized Identity Providers and all others will be Identity Validators. Finally, referring back to the infrastructure of the Bitcoin system to perform and validate transactions – blockchain, the conclusion is that what is needed, as one of the most important extensions of the current concept of anonymity of Bitcoins participants, is an Identity Management System based itself on the use of blockchain and without Identity Providers as trusted third parties. Creation, distribution, use and validation of identities are transactions in the system, equivalent to payment transactions, so they should also be performed using blockchain protocol. Such system, that can provide reliable identities of all participants may be called Blockchain Identity Management System
Another very important feature of the original concept of the Bitcoin system is that it is not controlled by any financial institution, by any regulatory body or by any legal financial authority when it comes to issuing Bitcoins and determining their value. This means that the currency used in the system and all transactions are exempted from any legal and financial rules and regulations. The rules controlling Bitcoin system are built in its code. This property is usually called “rule by the technical code
”, as the rules of system operations, built in the code of its operational components, control and rule the operations of the system [UK, 2016], Chapter 3. This property is sometimes described as “control by the community
”, i.e. the participating users.
This property implies that the value of Bitcoins is determined solely on the market – based on its supply and demand. This is quite natural approach, as the value of shares of companies are also determined on an open trading market. However, such approach implies that the value of Bitcoin, as crypto currency, is volatile
related to fiat currencies. This property represent serious problem to perform payments using Bitcoin. It is well-known that volatile currencies are not suitable for payments. The practice of all the years while Bitcoins are in use has shown that its volatility represents one of the major obstacles for its main purpose – to be used as the payment system. In fact, it was announced that in 2019 the total value of Bitcoin transactions performed was about $ 11 T. However, unfortunately, only about 1.3% of those transactions were payments, all others were trading manipulations on exchanges. Based on that, it may be clearly stated that Bitcoin today is not used as the payment system, but as currency manipulation system. This is one of the main problems with the concept and current implementation and deployment of Bitcoin system and in near future may represent the main reason for its decline in popularity.
1.3 Innovative Contributions of the Bitcoin System
Besides an effective procedure to transfer an amount of crypto currency from one user (account) to another user (account), the major and indeed an essential contribution of the concept of the Bitcoin is the solution to the general problem how to establish trust between two mutually unknown and otherwise unrelated parties to such an extent and certainty that sensitive and secure transactions can be performed with full confidence over an open environment, such as Internet. In all current large scale and not only financial systems that problem is solved by using the assistance of third parties
. For many (may be even all) current Internet applications and transactions those third parties are integrated and linked into a large, complex, expensive and vulnerable operational infrastructures. Examples of such infrastructures today are bankcard networks supporting global international payments, global international banking networks supporting international financial transfers, Public–Key Infrastructures (PKI), Identity Management Systems, and many others. It is a general consent that such infrastructures are expensive and, more important, vulnerable to external and internal attacks.
In addition to the complexity and vulnerabilities of such current operational supporting infrastructures, another requirement and prerequisite to use their services is that users must put the complete trust
in these third parties. Accepting to trust those third–party service providers is the necessary and mandatory prerequisite to use their services.
Therefore, one of the most important contributions of the concept of Bitcoin is that it solves the issue how two parties, mutually unknown to each other in advance and otherwise completely unrelated, can perform sensitive and secure transactions, such as transfer of money – payments, but without assistance of any third party and without the need to place trust in any component of the system.
The practical benefits of solving this problem and the most important consequence of the solution for this problem – Bitcoin system, is that it provides the possibility for one Internet user to transfer not only Bitcoins, but also any other form of digital asset to or shared with another Internet user, such that the transfer is guaranteed to be safe and secure, that everyone knows that the transfer has been performed, and nobody can challenge the legitimacy of the transfer.
This feature of the Bitcoin system generated many very new, creative and innovative ideas where the concept equivalent to the Bitcoin can be used to perform secure and reliable transactions between users in an open community handling any type of digital asset ([Andreesen, 2014], [Sparkes, 2014], [UniCredit, 2016], [BitID, 2015], [PoE, 2015]). The examples of such applications and transactions range from commercial transitions, real estate transactions, energy trading, electronic voting, medical applications, and many others ([Kounelis, 2015], [Muftic, 2016]). The concept of blockchain as technology supporting validation of all such transactions is therefore called disruptive technology.
As the conclusion in this section, we may give a definition of blockchain:
Blockchain is an innovative concept
, implemented as an infrastructure
comprising multiple and distributed servers, mutually linked by special broadcasting and synchronization protocols, managing immutable objects
with the purpose to enable
secure peer–to–peer transactions
in a global and open environment.
1.4 Summary of Problems and Potential Solutions
In section 1.2 several problems of the Bitcoin system were mentioned and potential solutions for these problems were outlined. Recently, at the time of writing this Technical Report, several sources, mainly personal blogs and articles, appeared with very interesting opinions and statements regarding some other serious Bitcoin problems. Some of them are problems with the concept of the system, some problems of its design, and some problems of operations. In this section some of these problems are briefly summarized including suggestions for their potential solutions. The source of some problems was the article [Ein, 2018]. Problem 1:
Complex Crypto Algorithms Problem
: Bitcoins is crypto currency and cryptographic algorithms used in the current version are very complex, based on the concept of proof–of–work, and require long time, special hardware and a lots of energy to perform Potential Solution
: Potential solution fro this problem is to use cryptographic algorithms that are simpler and therefore more efficient to execute and need less energy Problems with Potential Solution
: Lowering the complexity of crypto algorithms introduces vulnerability to hackers. Therefore, what is needed are strong algorithms and simple to perform for regular users and complex to break by hackers Problem 2:
Indirect Transactions, not Peer–to–Peer Problem
: Contrary to the concept claimed, in todays implementation Bitcoin payment transactions are not performed as direct, peer–to–peer transactions. They are performed indirectly, submitted to the Bitcoin network, and recipients receive them indirectly, by downloading validated transactions from the ledger Potential Solution
: Transactions should be performed directly, by transferring them directly between two users Problems with Potential Solution
: The problem with the potential solution is validation of transaction for proof of possession of Bitcoins by the sender and for prevention of double-spending. Therefore, what is needed is the protocol to validate peer–to–peer transactions. Problem 3:
Anonymity of Users not provided Problem
: Contrary to the concept claimed, in todays deployments of additional system components, mainly exchanges, users are not anonymous Potential Solution
: Blockchain–based Distributed Identity Management System with Role-based Authorizations Problems with Potential Solution
: The problem with potential solution is that it depends on trusted third parties with authorized roles. Therefore, what is needed is blockchain-based Identity Management System using hybrid (permissioned and unpermissioned) blockchain Problem 4:
Volatile Value, not suitable for Payments Problem
: Contrary to the concept claimed that Bitcoin is payment system, volatile value of the currency makes it inconvenient for payments Potential Solution
: Crypto currency with stable value Problems with Potential Solution
: The problem with the potential solution is that the value of Bitcoins is determined on the secondary market, during its trading (cash-in / cash-out). Therefore, what is needed is crypto currency that does not have volatile value
The remaining problems in this section are quoted from [Ein, 2018]: Problem 5:
Negative Environmental Impact Problem
: Mining algorithms and operational facilities (“mining farms”) consume too much electrical energy, based on the “proof-of-work” protocol Potential Solution
: Using mining algorithms that consume less energy, either as simpler / lighter crypto algorithms or using alternative crypto protocols to protect transactions integrity (“proof-of-stake”) Problems with Potential Solution
: The problem with the potential solution is that simpler / lighter algorithms open vulnerabilities to hackers while alternative crypto protocols are not backward compatible with the current system Problem 6:
Slow Performance (Delays) / Low Throughput Problem
: Due to blocking and the designed time for protection of transactions (10 minutes) Bitcoin system has very slow performance – transactions are validated in about an hour and transaction processing throughput is about 7 transactions per second Potential Solution
: Using transaction validation algorithms and protocols that do not need blocking of transactions, but transactions should be validated individually Problems with Potential Solution
: There are no serious problems with the proposed potential solution Problem 7:
Limited Number of Bitcoins Problem
: Due hardware and other types of failures, the number of available Bitcoins in the system is constantly reducing Potential Solution
: Potential solution could be to use smaller portions of Bitcoin (“Satoshi”) or introduce hard-fork by splitting the amount of available Bitcoins Problems with Potential Solution
: The problems with the first solution that it is not user-friendly and the problem with the second solution is backwards compatibility. Problem 8:
Real Value of Bitcoins Problem
: The value of Bitcoins is purely psychological and reflects only pure market speculations Potential Solution
: Potential solution could be to peg the value of Bitcoin to local fiat currencies in countries of deployments Problems with Potential Solution
: The problems with the potential solution is that such Bitcoins would be a new class of Bitcoins, not traded on exchanges and not volatile
At the end of this section, it is very interesting to quote two opinions about the future of Bitcoin and blockchain:
[Ein, 2018]: “It seems that Bitcoin will likely cease to have meaningful value
*, defeating the whole point and philosophy imagined by Satoshi Nakamoto, the alleged inventor of Bitcoin. Its current value appears to be purely psychological, and the hype seems to be driven by irrational exuberance, greed and speculation. Modern human history has seen many* bubbles
*, including the dot-com bubble, the housing bubble and even the tulip bubble. However, when these bubbles exploded, many excellent dot-com companies survived, most houses regained their value and tulips still have meaning and carry value in our lives today. But what will happen when the Bitcoin bubble bursts? What* utility or residual value will Bitcoin have to consumers and businesses? Most likely none
*. And this is the real problem with Bitcoin and crypto currencies.* Bitcoin will likely go down in history as a great technological invention that popularized blockchain yet failed due to its design limitations
*. Just like the industrial revolution was fueled by the combustion engine, Nakamoto’s most valuable contribution is the* blockchain polymorphic engine that will further accelerate innovation in the post-information age and immensely affect our lives”.
This quote makes two very important and far–reaching predictions:
(1) Bitcoin, as the payment system will disappear (“. . . will go down in history
(2) The most valuable contribution of the Bitcoin system is blockchain
This article was written in 2018. It is very interesting to notice that at the time of writing this Technical Report, (1) Bitcoin was still “alive” and (2) the concept and deployments of blockchain were in serious trouble.
Based on the principle of positive and creative approach, in the rest of this Technical Report, besides description of all technical details of the Bitcoin system, some potential solutions for its improvement will also be discussed.
However, contrary to the predicted status of Bitcoin, it seems that the predicted status of blockchain, in 202