Today everyone is talking about blockchain, smartcontract and cryptocurrencies and saying that it will change the whole world and every industry should use it to make a profit.

However, does it really helps? Or it is only another gimmicks?

To judge whether integrating blockchain is really helping the business, or just making some PR releases, you need to understand blockchain, from a layman point of view.

Blockchain is actually a technology that allows peers to keep a list of records without control by any centralized server. Peers can submit new records and all peers will eventually reach a consensus on the list of record, or blocks, via a process called mining. Once a record is recorded on the blockchain, or successfully mined, it cannot be changed. It is because once you changed it, your blockchain will not agree with blockchain of other peers, you will not able to join the blockchain network and access anything recorded on blockchain. The system is based on cryptography so individual cannot hack it. It is why we often call it an open, distributed ledger.

(We have removed a lot of technical details here to make it easier to understand, and hence may not be 100% accurate, but should be enough for discussions.)

Hard to understand? Let’s think about a community mutual credit. Every member holds a copy of balance sheet for everyone’s credits.

Image from https://www.principlesofaccounting.com/chapter-2/the-general-ledger/

When Alice helps Bob something (cooking a meal maybe), Bob gives Alice 5 credits. Bob signs and broadcasts this transaction to the members nearby. By a consensus protocol, the members in the community agree that this transaction is valid and record it into their own balance sheet. So 5 credits are transferred from Bob to Alice. Bob cannot refuses the payment later as it is validated already by the community.

If Bob had 5 credits and paid to Alice, and he do not update his own balance sheet to pretend that he still has 5 credits and pays Charlie for another service (like getting hair cut), the community members will quickly find that it is wrong and reject the transaction. Charlie also cannot pretend to have earned credits (from Bob or anyone else) because the transaction is not confirmed by the community.

Looks easy to understand? This is what blockchain is conceptually.

The biggest advantage of blockchain is that it allows peers unknown to each others to agree on a list of record. The first usage of blockchain is storing transaction records of a currency, hence people unknown to each other can easily start doing business using that currency.

The currency is Bitcoin.

So what is smartcontract? First of all it is not a contract you understand, it is actually a program.

Part of a smartcontract code on Ballot by remix.ethereum.org

What it really does is that a person writes a program, compile it and store the compiled code on blockchain. The blockchain peers runs it, the result will update records on the blockchain or variables in the contract, and all changes are also stored on blockchain.

Take community mutual credit as an example again. Now Bob writes, signs and broadcasts a promise to everyone in the community. “I will pay 2 credits to everyone who bets 1 credit Alice runs faster than Charlie in tomorrow sport day.” Now people in the community keeps this promise with their balance sheet. Whenever someone would like to bet, they broadcast it to the community for record.

On the sport day, every one looks at the Alice race, if Alice wins Charlie, the community will transfer credits from Bob to the punters. If not, Bob get the credits. Everything is done by the community without Bob and punters helps. People cannot bet afterwards as it is done already. The contract will be kept forever on the balance sheet so when Bob’s wife asks where the credits have gone ten years later, she can still check it in the community.

Now change the promise into a program with functions, change the community into cryptocurrency blockchain, this is smartcontract.

After explaining the blockchain and smartcontract in a layman way, now back back to our original question. When do they benefit business?

First, the business must involves parties which may not know each others. If it is about internal transactions between some staffs in the same department, or it is about selling food in a restaurant, blockchain does not help. It is because there is no need to build up a consensus. The parties are already trustworthy, or a single party has the right to change everything. In this case centralized service is better as it is faster.

Second, the records to keep are not changeable in business, or at least not changeable frequently. For example, if you are running an online retail shop, blockchain cannot help your business by keeping the prices of the products you sell. It is because you have full control to the price and you can change it everyday.

Authpaper Delivery is an example of benefiting by blockchain and smartcontract. In this platform, data sender signs a smartcontract with other peers on the platform to deliver an encrypted content for him/her. The peers deliver the data to the data recipient. Data recipient signs a delivery record to proof delivery is completed and hence the peers get rewards by the delivery. In this setting, there is no one who can control everything, the peers, data sender and recipient may not know each other before (and after delivery), and the smartcontract cannot be changed once the delivery start (to guarantee peers’ reward for their works). Hence it is good and necessary to use blockchain and smartcontract inside this platform.