B-Money! What preceded Bitcoin?

There are 2 concepts without which Bitcoin would not have earned the accolades of being a brilliant protocol. These 2 together define the core technical aspects on which bitcoin is designed.

  1. B-money (b-money paper was referenced in the subsequent Bitcoin whitepaper)
  2. Hashcash

Today we will dig deeper into B-money and in another article we will talk about Hashcash.

What is B-money?

B-money protocol and currency was proposed by a computer engineer by the name of Wei Dai in the year 1998 (approximately 10 years before 2009 when Bitcoin network came into existence). Wei Dai was a computer engineer known for contributions to cryptography and cryptocurrencies. Other than the b-money protocol, he developed the Crypto++ cryptographic library, and co-proposed the VMAC message authentication algorithm.

Wei Dai - creator of b-money paper
Image Source: https://steemkr.com/cryptocurrency/@satoshi-nakamoto/b-money-by-wei-dai

In Wei Dai’s b-money paper, he touched on following concepts which were later used in bitcoin design:

The creation of money: Anyone can create money by broadcasting the solution to a previously unsolved computational problem.

Sounds familiar! Yes, this is similar to proof of work in Bitcoin where miners are rewarded for their effort.

The transfer of money: If Alice (owner of pseudonym KA) wishes to transfer X units of money to Bob (owner of pseudonym KB), she broadcasts the message “I give X units of money to KB” signed by KA. Upon the broadcast of this message, everyone debits KA’s account by X units and credits KB’s account by X units, unless this would create a negative balance in KA’s account in which case the message is ignored.

Again this is similar to Bitcoin where a copy of the shared ledger is kept up-to-date by all the miners across the network.

The number of monetary units created is equal to the cost of the computing effort in terms of a standard basket of commodities. For example if a problem takes 100 hours to solve on the computer that solves it most economically, and it takes 3 standard baskets to purchase 100 hours of computing time on that computer on the open market, then upon the broadcast of the solution to that problem everyone credits the broadcaster’s account by 3 units.

This is similar to the Bitcoin reward for the mining effort.

Upon the broadcast of the contract and all signatures, every participant debits the account of each party by the amount of his maximum reparation and credits a special account identified by a secure hash of the contract by the sum the maximum reparations.

This is same as collective bookkeeping in Bitcoin miner network and signing, authenticating the transactions with digital signatures.

Wei Dai actually came up with the idea of proof of stake as well.

Proof of stake is used in other smart contract networks such as Ethereum, Tezos. In Proof of Stake instead of miners there are validators and these validators lock up some of the related currency e.g. ether in case of Ethereum, as a stake in the ecosystem. A validator is penalized for malicious behavior and is rewarded for good behavior in the network.

Here is another excerpt from Wei Dai’s b-money paper where he talks about second protocol (proof of stake):

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. Each participant should verify that his own account balances are correct and that the sum of the account balances is not greater than the total amount of money created. This prevents the servers, even in total collusion, from permanently and costlessly expanding the money supply. New servers can also use the published databases to synchronize with existing servers.

This clearly is similar to the proof of stake protocol.

No wonder there are talks of Wei Dai being Satoshi Nakamoto or part of the group called Satoshi Nakamoto along with Hal Finney, Adam Black and Nick Szabo.

As per Wikipedia:

“Wei Dai and Adam Back were the first two people contacted by Satoshi Nakamoto as he was developing Bitcoin in 2008 and the b-money paper was referenced in the subsequent Bitcoin whitepaper.”

Dai has stated in recent years that “my understanding is that the creator of bitcoin … didn’t even read my article before reinventing the idea himself. He learned about it afterward and credited me in his paper. So my connection with the project is quite limited.”

Unfortunately b-money never got off the ground past the whitepaper and was never implemented for use in real world.

Link to b-money’s paper:

https://nakamotoinstitute.org/b-money/

How to Leverage Blockchain to Simplify Business Process Management

What is BPM?

Business Process Management (from hereon called BPM) is a framework for streamlining processes within an organization. BPM help organizations to address strategic business goals by implementing new and improved business processes.

Some logical components of a BPM implementation are case management, process workflow modelling, event processing, business rules, reporting and integration.

BPM framework can be implemented using a suite of software products called BPM tools.

Here are some of the important features of a good enterprise grade BPM tool:

  • Low Code
  • Visual Workflow Modeling
  • Case Management
  • Integrations
  • Reporting
  • Performance Metrics
  • Automation
  • User Interface

Here are some of the most widely used enterprise level BPM tools:

  • Pega
  • Appian
  • Oracle BPM
  • IBM BPM

What is Blockchain?

Blockchain is an immutable distributed ledger technology (DLT) which is maintained by a number of nodes spread throughout the world or group of organizations. These nodes are nothing but a computer or a group of computers running the code at different locations, maintaining and validating the shared ledger i.e. what can and cannot be written to the shared ledger. Each node has a copy of the shared ledger, which in turn has a record of all the immutable transactions.

Blockchain

Permissioned Blockchain

If nodes are maintained by an organization or a set of organizations and you need their permission to join the node network, than that makes it a permissioned blockchain e.g. Hyperledger from IBM can be implemented as a permissioned blockchain.

Permissionless Blockchain

If these nodes are run by multiple users across the world and are not affiliated to a group of organizations and any user can join the network than it is called decentralized or permissionless blockchain e.g. bitcoin is a distributed and permissionless blockchain.

Advantage of using a blockchain:

  • Data/transaction is not owned by a single organization/participant.
  • All the data/transactions that results in current blockchain state can be traced back to its inception and is immutable.
  • Data cannot be manipulated by a single entity at any point (censorship-resistance) and all participants have to be in agreement to write the state of data to the shared ledger.

What is a Smart Contract?

As I mentioned previously, a blockchain can store immutable transactions. Now let’s say instead of storing transactions we can store computer code in a blockchain. And we can execute this computer code on demand and get results based on inputs. Yes, we just described a Smart Contract.

How smart contracts work
Image Source: https://learn.g2.com/smart-contracts

“A Smart Contract is a self-enforcing agreement embedded in computer code managed by a blockchain. The code contains a set of rules under which the parties of that smart contract agree to interact with each other.”

Smart Contract platforms like Ethereum are distributed smart contracts that can be implemented as both permissioned and permissionless. That means multiple participants can read/write/execute code and can trust that the code and resulting output data is not manipulated by a single entity at any point for their own benefit.

Problem

Extending workflows across organizations and consuming data from organizations that don’t trust each other i.e. lack of trust and transparency between participants from different organizations.

For a long time BPM has been used as a framework for streamlining processes within an organization.

What happens when our processes need to work with data that is created and modified in systems that are outside our organization? Currently this is done by moving data between organizations or consuming the available data by some sort of integration e.g. a web service.

But what if we do not trust the external organization that is creating that data? What if the data is manipulated by the given organization for their own benefit?

The same can be said about processes and work flows. What if we do not trust an approval process within another organization? What if proper due diligence is not done and a process error has approved a faulty design for the supplier but later fixed and error was covered up?

Solution

Blockchain to the rescue!

Blockchain has the capability to fix these drawbacks of traditional BPM’s when it comes to cross organizational data and processes. Organizations no longer have to blindly trust what is being provided to them in a black box.

By using auditability feature of blockchain and smart contract execution, blockchain can help simplify processes involving multiple parties.  

Let’s take an example of different organizations that are involved in multiple stages of an automobile rollout:

Automobile Roll-out Process Participants – Parts Supplier – Manufacturer – Dealer – End User

Process participants – supplier, manufacturer, dealer leasing company and end user.

Now each of these participants, maintain their own subset of data and these systems are usually disconnected. If the related vehicle data is updated in the system of manufacturer than it also need to be updated with the dealer.

What if Blockchain is the source of this shared data.

Blockchain can be the answer to these drawbacks of disconnected systems. Interoperability, trust and transparency can be maintained by leveraging blockchain and smart contracts. Not only data but shared business rules within BPM can also be moved to smart contracts on a blockchain. This keeps the code transparent and can be validated by all participants.

Blockchain can work as another Middleware Layer / ESB (Enterprise Service Bus) on top of internet with the help of smart contracts, while providing the enterprise grade security and robustness.

This results in truly distributed and secure BPM applications.

I would like to add here that BPM software provider Pega do provide connectors for Ethereum using Blockchain Innovation Kit.

Pega Blockchain Innovation Kit

It allows organizations to connect blockchain applications built on Ethereum to applications built on Pega’s digital process automation platform as well as specifically, for Pega’s Know Your Customer (KYC) and Client Lifecycle Management (CLM) applications to conduct proof-of-concept testing.

https://community.pega.com/marketplace/components/pega-blockchain-innovation-kit