You can read Part 2 of the History of Bitcoin series here.
In the initial days of the crypto-anarchy and cypherpunk movement, where bitcoin was eventually born, researchers were determined to create a community that would be free of the control from centralized authorities. It was in this community, where the idea for a currency that would be impossible to regulate began to take shape. In 1998, a scientist by the name Wei Dai published a paper with the details of a decentralized currency coined b-money.
What Is B-Money?
In his paper, Dai outlined his version of a crypto-anarchist dream for a community where violence would not be possible due to the fact that the physical locations and real identities of people would be obscured from public knowledge.
Due to the lack of violence, Dai believed there would be no need for governments and the institution would become permanently unnecessary.
However, Dai recognized that for his dream to become a reality, a community which could communicate and transact in a peer-to-peer way would have to be created. Explaining the limitations, Dai said:
“Until now it’s not clear, even theoretically, how such a community could operate. A community is defined by the cooperation of its participants, and efficient cooperation requires a medium of exchange (money) and a way to enforce contracts. Traditionally these services have been provided by the government or government-sponsored institutions and only to legal entities.”
With these considerations, Dai went on to outline two protocols through which it would be possible to provide both a medium of exchange and executable contracts to a community while still preserving the privacy of those within.
The first protocol outlined the aspects of a database that would hold all the information regarding the medium of exchange. These aspects included how the data would be stored, how money could be created as well as how it could be transferred.
How Are B-money and Bitcoin Related?
The protocols in b-money outline aspects on which bitcoin is based. The concept of proof-of-work, the broadcast and signing of transactions as well as the decentralized ledger come from B-money.
Moreover, the incentivization of currency creators through the mining process, as is seen in bitcoin, is based on Dai’s proposal. It is important to note that Dai’s paper on b-money was cited as a reference by bitcoin’s pseudonymous creator(s) Satoshi Nakamoto.
— Jameson Lopp (@lopp) May 18, 2016
Wei Dai is a cryptographer and scientist who besides creating b-money, is credited with creating the C++ library as well as a number of patents. The computer engineer is also one of the first people contacted by Nakamoto when he was creating bitcoin.
Proof of Work and Smart Contracts
Explaining how money could be created, Dai outlined what is now commonly referred to as proof-of-work (PoW). He continued:
“Anyone can create money by broadcasting the solution to a previously unsolved computational problem. The only conditions are that it must be easy to determine how much computing effort it took to solve the problem and the solution must otherwise have no value, either practical or intellectual.”
Dai further added that the units of the currency awarded to a person must be proportional to the effort suspended to compute the problem.
To transfer units of the currency, participants would broadcast the details of their transactions. The features would include how much was being sent and to whom. Once the network received these details, all participants would credit the recipient’s account while debiting that of the sender. This announcement would ensure that all participants would have an equal copy of the database at all times.
The protocol also outlined a method through which contracts would be deployed. Dai explained: “A valid contract must include a maximum reparation in case of default for each participant party to it. It should also include a party who will perform arbitration should there be a dispute. All parties to a contract including the arbitrator must broadcast their signatures of it before it becomes effective.” A special account would hold the sum of all reparations that would be available in the event that the contract failed.
If the contract was finalized without event, the participants would broadcast it to the network. Moreover, the protocol gave guidelines on how to handle disputes within a smart contract:
“If the parties to a contract cannot agree on an appropriate conclusion even with the help of the arbitrator, each party broadcasts a suggested reparation/fine schedule and any arguments or evidence in his favor. Each participant makes a determination as to the actual reparations and/or fines, and modifies his accounts accordingly.”
In the second b-money protocol, Dai proposed the creation of a subset of people who would be tasked with keeping a secure record of the database. He called this subset of participants servers. The servers would be trusted with recording all transactions. However, because of the semi-centralized nature of this protocol Dai included a fail-safe.
“Since the servers must be trusted to a degree, some mechanism is needed to keep them honest. Each server is required to deposit a certain amount of money in a special account to be used as potential fines or rewards for proof of misconduct. Also, each server must periodically publish and commit to its current money creation and money ownership databases.”
Because each participant in a transaction was required to confirm the details of the action, servers would be unable to collude and tamper with the records on the database.
In the appendix of his paper, Dai outlined an alternative method through which units of the currency would be created. The participants would propose an increase by individual units for a specified period. After the process of bidding and computing the predetermined problems, nodes would accept the highest bids and thus create new units of the currency.
You can read the entire History of Bitcoin series here.