2016-01-11

#entarch view on #blockchain

This blogpost is aimed to outline some basic mechanisms of blockchain and to demonstrate how they can be combined with other enterprise technologies and methodologies.

This blogpost was discussed at BPM,COM forum http://bpm.com/bpm-today/in-the-forum/how-big-of-an-impact-will-blockchain-have-on-bpm


1 Basics concepts around digital assets, cryptography and blockchain


Primarily based on https://www.youtube.com/watch?v=Lx9zgZCMqXE

A digital asset is a valuable digital object whose owner can be cryptographically ascertained. Example: bitcoin.

A transaction describes changes in digital asset ownership.

A block is a collection of transactions.

A blockchain is a well-ordered tamper-proof collection of blocks, on which all stakeholders must (eventually) come to consensus. This determines the history of transactions and provides a computationally unforgeable time ordering for transactions.

Bitcoin is a digital money application built on top of blockchain to enable transactions without trust between stakeholders.

Hashing is a cryptographic procedure to map a digital object of arbitrary size to data of fixed size (called “hash”). Features: easy to compute, irreversible (not feasible to generate original digital object from its hash), commitment (any change in the digital object changes its hash) and collision free (not feasible to find two digital objects with the same hash).

Public and private keys are a pair of keys of asymmetric cryptographic algorithm.

A digital signature is a hash of a digital asset (e.g. a message, document) encrypted with the owner’s private key. A valid digital signature gives a recipient reason to believe that the message was created by a known sender, that the sender cannot deny having sent the message (authentication and non-repudiation), and that the message was not altered in transit (integrity).

2 Basic techniques in bitcoin


Any owner of bitcoins (i.e. digital assets) is an anonymous who is known by its public key. An owner may have many public keys.

Digital signatures safeguard bitcoins (i.e. digital assets money).



A chain of transactions (actually, a direct graph) stores history of ownership. The history of ownership (i.e. all the transactions like a public global ledger) is used to determine amount of digital money own by a stakeholder (to prevent double spending) – a transaction validation procedure (bitcoin-specific).


Blockchain holds transaction order (linear sequence) and blockchain is protected by cryptographic hash (i.e. a blockchain is immutable).


Blocks of transactions to be added to the blockchain must be agreed by decentralised stakeholders through a blockchain integrity procedure (also called “consensus protocol”). Transactions are sent to the whole network of stakeholders and proposals for “potential next block” may be different from different stakeholders. In bitcoin, the blockchain integrity procedure is called “digital race”.

   
 

Certainly, blockchain as technology may be use together with many other technologies and methodologies.

Also, I would not call blockchain as a "global ledger" - it is bitcoin as an application uses blockchain as technology to implement a ledger. Note that bitcoin uses its transaction validation procedure to prevent the double-use of digital money.

3 Synergy between #BPM (as a practice) and #blockchain (as a technology)


As continuation of "Synergy between #BPM, #digital, #IoT, #microservices and #blockchain" http://improving-bpm-systems.blogspot.ch/2015/12/synergy-between-bpm-digital-iot.html 

Usually we use monetary transactions in more complex business transactions, for example, the latter is a sequence of atomic transactions (as a happy path):
  1. Vendor: Propose contract
  2. Buyer: Accept contract
  3. Escrow: Seal contract
  4. Buyer: Transfer money to escrow
  5. Escrow: Announce payment to vendor
  6. Vendor: Deliver goods 
  7. Buyer: Announce acceptance of goods to escrow
  8. Escrow: Transfer money to vendor
Right now, money is digital and goods maybe a personal copy of a digital book or a car ownership certificate.

Now, imagine this process must be carried out without trust between its participants (buyer, escrow and vendor) and with the use of blockchain-technology-based storage to secure the process-instance audit-trail. As everything is digital (process, money, goods, etc.) then the escrow may be digital as well – the process instance itself is a digital escrow which coordinates all the atomic transactions.

0. Digital escrow is requested to be involved

The digital escrow amends the contract by this process template (definition) & this process instance information, signs everything with its private key, and sends everything to a blockchain-based audit-trail storage.

1. Vendor: Propose contract

This contract is signed by the vendor’s private key and is sent to the blockchain-based audit-trail storage.

2. Buyer: Accept contract


This contract is signed by the buyer’s private key and is sent to the blockchain-based audit-trail storage.

3. Escrow: Seal contract

The digital escrow (actually, the process-instance) sings the contract (which is already signed by buyer and vendor) and sends it to the blockchain-based audit-trail storage.

The digital escrow invites the buyer to pay.

4. Buyer: Transfer digital money to escrow

The buyer transfers the agreed amount of digital money to the digital escrow. This transaction is sent it to the blockchain-based audit-trail storage.

5. Escrow: Announce payment to vendor


The digital escrow invites the vendor to “ship” digital goods in accordance with the contract.

6. Vendor: Deliver digital goods

The vendor change the ownership of the digital assets to be sold in accordance with the contract. This transaction is sent it to the blockchain-based audit-trail storage.

7. Buyer: Announce acceptance of digital goods to escrow

The buyer confirms to the digital escrow the reception of the all digital goods. This transaction is sent it to the blockchain-based audit-trail storage.

8. Escrow: Transfer digital money to vendor

The digital escrow transfers to the vendor the digital money. This transaction is sent it to the blockchain-based audit-trail storage.

The whole history of this business transaction is sent it to the blockchain-based audit-trail storage for the buyer and for the vendor.

Again, this is only a happy path without any problematic situations. Important that all the procedural formalities can be implemented exactly in accordance with the legislation of a particular country. Because of the detailed and immutable audit-trail, any disputes about a particular contract may be resolved by a digital judge.

Hmm, maybe also digital buyer and digital vendor?

4 Just an idea – sell #microservices (with one-time password) via blockchain


See "Architecting #cloud-friendly application architecture #apparch (inspired by #microservices)" http://improving-bpm-systems.blogspot.de/2015/04/architecting-cloud-friendly-application.html


5 Another idea - super-reliable audit trail

Keywords: certificate transparence, https://en.wikipedia.org/wiki/Merkle_tree

Thanks,
AS
Post a Comment