Thursday, February 15

How Blockchain could have prevented the 'Great Indian 11000 Crore PNB Bank Fraud' ?

Blockchain is a distributed digital ledger that enables and records the secure transfer of data and documents through a public or private peer-to-peer network. Blockchain allows secure management of a shared ledger & transactions are verified & stored on a network without any governing authority.  Blockchain configuration can be on a public open-source network or a private Blockchain network that required explicit permissions to read/write.

The best example of how #Blockchain can prevent fraud is the 14th Feb 2018 news report about The Great Indian INR 11000 Crore PNB Bank Fraud.

  1. A businessman #NiravModi allegedly bribed couple or more bank officials of PNB (Punjab National Bank) and managed to get a fake letter of Undertaking or LOU from PNB Bank, without providing any collateral to the bank (providing collateral is the standard practice).
  2. Then #NiravModi allegedly used the FAKE  LOU to fool few more banks and businesses ( which basically means that PNB bank is his guarantor as per the fake LOU and if Nirav is not able to pay his creditors then PNB Bank would be responsible for paying his creditors, to an amount of INR 11000 Crore or more. Holy Flying Cow!)
  3. The Fraud was not detected for years because the fraudster issued a fake LOU but did not record it in the bank account so bank was not even aware of the LOU (apart from the people who were involved in the fraud)
  4. Whats also  surprising is that none of the business associates or banks cross checked with Punjab National Bank for 7 years to verify that the LOU was authentic.

Core issue of PNB Fraud is poor implementation of BPM process :

Before we discuss blockchain lets make one thing clear that the main issue in the PNB Scam is poor definition and implementation of business process regarding LOU. If the business process management software does not implement tasks of review and approval for critical process like LOU then this calls for a immediate review of the BPM system of PNB Bank (and other public sector banks) as there could be other issues in implementation of other critical processes. The other issues is banking process defined by RBI does not seem to have a task of crosschecking with issuing bank to verify the authenticity of LOU or similar  documents issued by a bank.  As a matter of fact if on bank official can forge a document and the banking does not have process to validate the authenticity of the document then tomorrow some outsider can also forge the document and bank would not be able to identify the fraud! Some serious software process audit is immediately required by PNB and would be ideal if other banks also audit the software implementation of their business process management and seek expert guidance on how to fix/improve the BPM implementation and have an audit trail which can help trace any anomaly or attempt at fraud .


So how could blockchain prevent a similar fraud? Before we begin discussing blockchain let me remind you to not confuse blockchain with Bitcoin or any other cryptocurrency Bitcoin is one implementation uses cases of blockchain technology. The following image shows typical steps in working of  #blockchain.

                                       
                                                                        
The Great Indian 11000 Crore PNB Bank Fraud is in-reality is a very basic type of fraud!  This kind of fraud is so basic that it needs brain of a 5th grade school kid who hides his mark sheet from his parents when he gets poor grades! The bank officer who gave the forged LOU to #NiravModi did not document in bank record that he had issued a LOU. As there was no record of issues LOU in the bank computers, no one in the  bank was able to detect the fraud for years. The LOU was allegedly used by  #NiravModi to commit more frauds of which details are not available in media as of today. Its a huge scam because if #NiravModi (assuming the fraud is proved) did not honor the creditors then PNB bank would end holding the sack worth INR 11000 Crore! This fraud was successful  because in the banking process there was no process to restrict a corrupt employee to issue a LOU and neither did the bank define a process for other banks to validate the authenticity of LOU issued by the bank.
                                                          At at business process level one would call this a very poor implementation of a business process. Any letter of credit issues by any bank should not be valid unless it is cross verified by the bank with PNB but here the letter was used for many years without any creditor ever bothering to check the authenticity of the LOU with the provider bank! Frankly I can't believe this fraud actually happened but I guess there are many fools in the business world who don't even bother to check a bank guarantee is authentic or not! So how could we have a software system than can prevent such fraud irrespective of how many foolish bankers are involved in the process!

How blockchain could have prevented the PNB Bank 11000Cr Fraud?

  1. In a blockchain world , all the steps in the 'Letter Of Credit' process would have been recorded in a blockchain ledger database
  2. Notification of each step in the process of  'Letter Of Credit' process would have gone to all approving bank officials and it would be impossible for any employee junior or senior to issue a letter of credit without knowledge of the bank officials.
  3. Even after 'Letter Of Credit' is issued when the customer shares the 'Letter Of Credit' with any bank or business entity, they would be able to view the process trail of the blockchain which is fool proof because blockchain ledger database it is like a database which only allows insert and does not allow update or delete
  4. Since 'Letter Of Credit' entry in database cannot be deleted from a transaction ledger in blockchain it is not possible for anyone to HIDE any information or UPDATE any information without knowledge of the approving bank authorities.This means the LOU could not have been issued at all if a system similar to blockchain was implemented.
  5. When the LOU is shared with another bank or business entity the guarantor bank (PNB in this case) would get notified when the blockchain transaction gets updated. This would ensure that same LOU is not shared with multiple banks or business entities to commit fraud.
  6. The following figure shows transactions in a sample business process flow


    1. A bank officer initiated a LOU , thus creating a transaction in the blockchain
    2. How approving authorities are automatically notified by the blockchain system
    3. How the approval transaction is inserted in the same block and becomes an immutable entry in the database
    4. How the issuing bank keeps getting informed when the LOU is submitted to another bank to get credit or to a business associate to ensure there is a immutable chain of life-cycle of the LOU that is only accessible to authorized personals
    5. For the life-cycle of the LOU the entire chain of transaction are attached to the LOU and all concerned people would be able to see the history and authenticate the LOU  
  • In summary, blockchain or a similar software design that creates an immutable log of a bank process flow foe ex. LOU ensures that a ''log' of all activities or transactions is maintained in a secure ledger database  and is through the life of the document and even after the document validity expires. The immutable log helps build a trust relationship between partner entities and and it also helps speed the business process as all entities get copy of entire transaction log' as updates in real time this facilitating transference. 
  • For those who did not understand the above example of business process, imagine a tamper proof paper register (from which pages cannot be removed!) in which all banking transactions have to be recorded in sequential order, using a permanent marker pen (so entries cannot be erased). A copy of the paper register is sent to each supervising  bank official (sounds redundant but this is just an example) Since a copy of register goes to every official within seconds of transaction being done, there is no way a official will not know about a transaction. Now when borrower submits this LOU document to another bank, a copy of register is again sent to the issuing bank officials and also to the receiving bank officials  - so all authorities get a copy of updated register every time a new update happens ( This is only an example in reality an entry is made in a 'Write only database" for every transaction, from which data cannot be deleted nor updated) . 
  • The rule of the game is to build trust of participating parties, each transaction is recorded in a 'write only immutable database' and participating parties get a copy of transaction log every time a new transaction happens. So at any point of time every participant has the latest  transaction ledger. There is some amount of redundancy in the process because the ledger gets sent to all participants every time there is a transaction but it helps to ensure absolute trust since there is no one person managing the central database and there is no change of manipulation of data without knowledge of other concerned parties and as mentioned earlier all participants have their own copy of database which is immutable and tamper proof.



Wednesday, February 14

How could Sensors, Social Media, Call data, Intellegence Data & Big Data help prevent terror attacks on Indian Borders?

As we hear the news of another terror attack in Jammu & Kashmir in India, I wonder what kind of software driven intelligence is used by Indian Army to predict and prevent terror attacks. I was in discussion with an army officer from intelligence department and we discussed how these technologies are being used by telecom, bank & insurance companies to prevent frauds, by power and oil companies to predict and prevent power outages and the army gentleman was amazed at the use of big data, sensor, predictive analytics, artificial intelligence technologies by industry verticals.

Software architects are trained to identify scope for innovation by using existing infrastructure coupled with latest technologies. We can sit with a bottle of beer or a cup of coffee and tell you a incredible story that may seems fantastic and surreal but quite easy to implement. The army men promised me that he would discuss the case studies with his boss and hopefully set a meeting with him! What could be better than being invited to share ideas with the guys from army intelligence and do my bit for the country. I am going to post some usecases that can be used to build a Border Security solution using Sensors, Predictive Intelligence & historical data. I am not familiar with the technologies in use by border security forces so I am going to assume certain facts.


What I think can be achieved in a short time is a Multi Dimensional Intelligence Dashboard (we love buzz words!) that can give various insights into potential security breaches on border and real time alerts.

Intelligence Dashboard can give intelligent insights for example :


1) What are the locations around the border where enemy may try to sneak in on a particular time on a particular day?

2) What is probability of an intrusion at various locations on border based on human movements on both sides of the border

3) What is probability of intrusion based on weather condition and day/time of the year

4) What kind of intrusion strategy can be expected on next D-day

5) What are the support groups that could be working within the border to support the enemy  intrusion and how to track their movement

6) What is the synergy between social media, telecommunication and messaging application and enemy activity

7) How to auto detect events that indicate potential enemy activity in near future

The following sample illustration shows different data sets being collected, processed in real time and predictive analytics being performed on data at rest. Data sets are collated and analysed to derive insight into potential incidents and displayed on user friendly dashboard






Tuesday, February 6

Aadhar Data - Aadhar Data is worth more than most expensive substance in the world (Part-5)

Did you know the most expensive material in the world is Antimatter and it valued at $62.5 trillion per gram.approximately.

A software engineer mind is devils workshop. Every time we see a new software we start reviewing the software for quality, usability, scalability, availability, security & performance without even getting access to the software code.Over the time as we came to know about different implementation of Aadhar services,for example Aadhar being used to log daily attendance of Mumbai BMC (Bombay Municipal Corporation) employees, my concern was how many hits would the Aadhar server withstand if we use #Aadhar authentication for 'services that don't really need Aadhar validation'  If every Municipal Corporation across #India starts accessing #Aadhar Server every time employees enters and leaves office, I wonder how many servers would be required ?
                                     It also made me wonder if  we ares misusing the Aadhar services for everything sundry just because we have a new gadget in hand! Using Aadhar for services that don't really require identity verification is bad design and we need to be concerned about it. BMC employer attendance is an example of misuse of Aadhar verify the identity of an employee everyday in fact 2 times a day? is the next step tp use Aadhar to take attendance of school children from kg to post-graduation? What purpose is Aadhar identity verification serving? Would it not be simpler to continue with a local automated attendance service (most companies already have had it)  instead of hitting the Aadhar server? I won't repeat the 'Misuse of Aadhar for BMC attendance' example as I have explained the issue in another post on my blog (Whats is wrong with Aadhar Software System ? (Part-1))
            The other point we should worry about is hackers, simply because no internet based service is safe from hackers. The alleged data leaks are concern for most Indians because UIDAI has not been able to arrest the guilty and since they have not arrested the Tribune reporter as of 6th Feb 2018 there is reason to believe that the data leak incident was REAL. From the facts reported by media I have done an Virtual-Technical-Analysis ( no there is no such term as VTA, I just coined it myself and I am laying claim to the IP rights) of what could be wrong with Aadhar System and I would be more than happy if someone can prove my analysis wrong. Assuming a data leak has happened or can happen if a expert hacker group decides to target Aadhar database. After all if hackers could breach the security of Pentagon intranet, what in TODAYS AADHAR IMPLEMENTATION makes us so confident that Aadhar security cannot be breached? We have honest gentleman politicians in India so I will not go into the use-case where a political party decides to access financial data about certain individual or group of individuals because that would be an illegal activity yet its a potential risk we need to consider. What if a future government decides to use the Aadhar data to target a group of people?
        For a commoner like me the worry is that if my data is leaked, the personal data can be sold to marketing companies and I will lose my privacy. Some entity with access to my Aadhar data can easily associate the Aadhar data with my financial data (banks, stock, insurance, credit card purchases etc) and I could be subject of blackmail or kidnapping or even corrupt government officials - Tribune report exposes that it was corrupt officials who breached the data and UIDAI was not even aware till Tribune published the news report. So enough reasons for a civilian/commoner to worry. Right?

Take a use case of a enemy country that buys the leaked data thought multiple intermediaries so the Corrupt Patriot who sells the data to a marketing company would actually be selling it to an enemy like Pakistan. Now why would Pakistan buy Aadhar data? Well soon #Aadhar number will be linked to
1) SIM number
2) Bank Account
3) Credit card
4) Land purchase records
5) Children School and other services

So from Aadhar data and Credit card company data I can write a book on an army officers daily routine.
Where does he live?
What did he study? What is his skill set? Is he a fighter pilot or a grenadier?
What toothpaste does he use? What flavor of corn-flex does he like ( his wife's credit-card is also linked to Aadhar and card is linked to man's bank account - Damit! Everything financial is linked!)
Does the person take a bus or car to office (from credit card used at tolls)?
Where is the address of the person's office? What time does he return home? (time from toll plaza where you used credit-card to pay toll, his mobile tower data)
How many hours does he speak on cellphone? Who are the ppl on his mobile call list?
If he is an army officer is he on leave or at work? What is his current posting? (credit-card usage location)
What brand of clothes does he wear? Which restaurant does he  usually eat at? Can he afford the clothes? Does he have expensive taste and is he in debt and hence easy target for honey-trap?

Imagine if enemy gets the #Aadhar data of a security personal they will have all details about each army personnel  including

1) Count of service men in armed forces
2) The current posting of each service men
3) How many men are deployed at a given post?
4) What is age of each service man.
5) What is his credit history
6) What are his vices if any
So practically everything that is linked by Aadhar and everything required to profile and lay a honey-trap, can be pulled out if you get access to a persons Aadhar data. Now that could be a big risk for the armed services. By linking Aadhar to financial transactions we are creating a rich data-bank that is bloody valuable and magnet to hackers and enemy and services should introspect if they need to raise their concern with the government. I am sure armed forces cannot be excused from Aadhar but if the government understands the risk it can revisit its Aadhar Vision and use Aadhar for extending social benefits as was the original plan and not make it a Hop On Hop Off Bus.Other examples of using Aadhar for school admissions and hospital admission are glaring lapses in the Aadhar vision. These are basic services that citizen has right to and you cannot force people to use Aadhar to get heath care, especially when they are not using government sponsored health care. The aim of government in making Aadhar mandatory for getting health seems to be to keep a tab on the expenses which is unfair and invades privacy and recently a woman lost her life when hospital refused admission as she could not produce Aadhar card.
                                    So how do the progressive nations protect this data-bank? They don''t have to protect any bio-metrics data bank. Every nation that has some kind of UID never use it to link financial data of a citizen and they do not capture bio-metrics because of the huge responsibility to protect the identity of a citizen. USA thought of using bio-metrics in early 40s and the parliament ruled against it. There are couple of countries that use blockchain for e-governance but even these countries   (eg Estonia) do not have Aadhar like system. Instead they have a chip ID that holds UID of the person and if you lose the chip-id you can block it within seconds (something like losing a credit card.) Chip is used to verify that you are you and no data is shared with service providers . The Estonia chip-id is not used to validate your personal details like Aadhar uses to verify the address and other details when you buy a cell sim card. Since the chip id is a card that is not linked to internet, it can be used to validate your identity but cannot provide access to other financial transactions of the citizen. India should have thought on these lines before hurrying to extend Aadhar to sundry services.

Some will say you are scaring the common man with you examples of what could happen but do you know whats wrong and do you have a solution? Yes as a software professional I do know whats wrong or at least I think I know what is wrong with Aadhar. I know why we have faced certain issues that were reported and by reasoning I can tell you what are the potential issues of the future that Aadhar 'seems' to have overlooked and how to build a robust UID.

As I posted in my earlier blog post,  'Open Letter to decision makers', the first thing to do is to accept that Aadhar is a revolutionary system that needs to onboard all political parties. We cannot have new
Aadhar vision every 5 years as & when there is political changes at the center and we cannot have political parties fighting on Aadhar Vision. Once you have a documented Aadhar Vision then hand it to the IT guys to finetune the Aadhar Vision (what is doable) and then define a Aadhar Roadmap (What to implement 1st and so on) and then create a solution that takes care of 1.3 billion Indian and growing.  Once the vision is decided there should a a well defined change management process to do any change to the vision, one smart pants should not be able to change the vision without approval of change control board. Change control is how we maintain sanity in the software development world or else we would never stop accepting changes from the business that gets ambitious bright new ideas every week!
                 Final words of advise, like a civil architecture, well designed foundation is the most critical element for the success of a software. If you have laid a foundation to build Taj Mahal and after a year you decide to erect a Burj Khalifa instead of Taj Mahal then you need to start from zero and design and build a new foundation or else the Burj Khalifa will collapse even before the 10th floor is laid down. When we build software for fortune 100 companies they have best domain experts and software architects working for them to advise them and ensure that the IT service provider has designed a good system. Change in governments usually changes the entire setup of governance and I think that's why governments miss the services of IT experts with huge experience of architecting large complex software using proven Software Development Methodology (Whats that!). When you are embarking Digital Journey make sure you hire experienced architects who have developed software for Fortune 100 companies and have burnt their hands few times. Let the architects drive the vision or else when you go in production the lack of vision will drive everybody crazy. Before implementing anything new make sure you know the risks and have a risk mitigation plan. When I read about Aadhar glitches and see  UIDAI get into a huddle, I wonder why it was not documented as a risk and why there was no risk mitigation plan to counter the risk! Purpose of this post was to share some thoughts with personals from services and then let them as questions. My worst fear is Aadhar data of our armed forces in the hands of a enemy country and we should not let that happen just because some ambitious politicians ranting Digital Mantra and with no understanding of Software Development Methodology (process followed to build software) implements some crazy Aadhar services to earn some browny points with the voters.








Saturday, February 3

If Estonia can have a blockchain based e-governance why can't India have it too?

When Estonia started building their information society in 1999, there did not have any citizens digital data. The general population did not have the internet or even devices. It took great vision and foresight to invest in IT solutions and take the information technology route to reach a stage in 2008 where they implemented blockchain to provide solutions like egovernance ,eHealth, eResidency, eTax, eVoting, eID and ePolice.

eGovernance - 99% public services are available on line
eHealth          -  95% medical records are online
eResidency   - transnational digital identity
eDatabase     - all state data is stored on open source distributed database
eTax              - 95% tax filling is done electronically
eVoting         - 1st country to offer internet based voting
eID                - chip based id, 2048 bit public key encryption, unlike Aadhar it stores personal ID
ePolice          - helped reduce crime & accidental deaths by 50%
eSecurity       - blockchain technology to ensure data and systems integrity and combat insider risk
eReporting    - cut-down on business reporting by intelligent automated reports 

Do visit https://e-estonia.com/ to read more about their vision and implementation. What a country can do with right experts on the job! I salute their vision, planning and implementation.

Tuesday, January 30

Does RDBMS tick all the check-boxes of a blockchain database for your system?

We know that Blockchain stores information in one immutable structure. Reliability, availability, and suitability are implicit characteristics of this decentralized database and multiple copies of data remain synchronized.
                         Just as cloud-based application services provide common functionality that allow developers to focus on key features to realize their applications, blockchain database incorporates data distribution, replication, synchronization, and update facilities, eliminating the need for developers to implement these features into each application. Storing all information in one place, allows for deploying a single suite of audit tools for reporting on all financial transactions as they are enriched by numerous applications during their processing.



Enterprises have been using  RDBMS like IBM DB2 and Oracle and would like to avoid another technology called blockchain if they can implement the same functionality & features using a existing database technologies. We know the strengths and weakness of RDBMS and we need to see how RDBMS can fit the blockchain use-case. If we have to use a database to implement say a Bitcoin use case where participating entities will either Read/Write and there is no requirement for updating or deleting rows from database then we can expect as very high improvement in the performance of a RDBMS.  Now add feature of partitioning to the database where you have option to partition a database by various parameters like transaction scope, day/week/month, partner_id and the resulting database will have even better performance for read and writes operations.
                                    So question to ask is why not implement a RDBMS database by designing it for blockchain use-case instead of investing in blockchain technology which requires additional investment and resources in terms of hardware, maintenance, security.

A partitioned distributed database system can perform the job of a Blockchain ledger and can be designed to give comparable or better performance than blockchain along with better reliability, availability and scalability. The following table highlights some key considerations that I could think of when I design a RDBMS database to support a Blockchain use-case



Lets take an automobile industry use-case. 

A car has a manufacturing defect that results in a part being replaced. The typical communication chain could follow the following pattern:
  • The car owner brings the car to the dealer to diagnose a problem
  • Car dealer inspects the car and notifies the manufacturer about the faulty part
  • Manufacturer works with the part supplier to determine where the fault lies
  • Part supplier and manufacturer agree that the part is faulty, then notify the dealer
  • Car dealer notifies the customer
  • Car owner brings the car back to the car dealer for part replacement
In this scenario, communication among the participants customer, car dealer, manufacturer, and part supplier can be delayed by incomplete information, so full and accurate responses along the chain are impossible. Second, all communication goes through email, telephone, or postal mail, and the customer has to visit the car dealership multiple times to have the part replaced, possibly being unable to use the vehicle until the car is repaired. This is a very shabby customer experience.

Now let’s look at the customer experience when blockchain style technology platform is implemented. In the same scenario, the communication chain will be as follows:
                                                                     

  • The IoT sensor automatically notifies the manufacturer, car dealer, and car owner about the defective part
  • Car dealer contacts the car owner and sets a service appointment for an inspection
  • Car owner brings car to the dealer for inspection, which confirms the faulty part
  • By now the information about the faulty part is already put on blockchain, which has by now notified all the parties – manufacturer, insurer, part supplier, car dealer, and owner
  • Manufacturer, dealer, and part supplier collaborate to analyze the car’s IoT sensors and dealer inspection report to identify where the fault lies
  • Manufacturer gives an instant approval for part replacement on blockchain, which automatically notifies all parties
  • Car dealer replaces the part and delivers the car back to the owner

When can we use Database with Blockchain design?

When all the participants of the transaction are known entities and registered in the system, Blockchain's universal availability feature is not going to be particularly useful here. What is useful from Blockchain is the concept of the immutable ledger , availability and notification to participants and it can be achieved by a traditional RDBMS.


Monday, January 29

Big Data Reference Architecture For Telco

>

Value from Big Data at Rest & Big Data In Motion


Big Data is of value when we process it for insight but did you know Big Data in motion is as important if not more important than data at rest. Enterprise processing big Data in motion have a edge over competition because they are deriving intelligence and insight from data  in motion even before it hits the database, using technologies like Complex Event Processing . A diagram to explain how value is derived from Big Data At Rest & Big Data In Motion.




How can Indian Army leverage Artificial Intelligence in today's Big Data World?

It is 2025.
Indian Intelligence has petabytes of unclassified social media posts. Machine learning software isolate images of potential Criminal elements agitating protests, cross referencing cell phone pictures are posted on social media with traffic cameras, and more sensitive collection platforms.
Intelligence agency distribute the images of Criminal elements on a cellular alert network that lets concerned citizens turn their cell phones and other personal devices into a civil defense sensor network. This civil defense network acts as a cloud, helping cyber defense apps secure critical infrastructure and conducting predictive models of where possible cross-border insertions might occur based on historical data, weather, terrain, and news reports.
The technology in this future battlefield is already driving a wide range of commercial applications. From Amazon figuring out what book you want to buy next  to Google optimizing the ads you see while searching, we live in a world defined by “big data” and artificial intelligence applications that identify patterns in our consumer habits and daily life. These applications have the potential to change the character of warfare. The countries that adapts accordingly and integrates artificial intelligence across the force will have a generational advantage on the battlefield. 
                                           The NIA & Indian army needs to develop a strategy for integrating narrow artificial intelligence applications into the force. Existing investments in artificial intelligence of most countries tend to emphasize future autonomous systems such as tanks, robot soldiers, and planes that can operate with minimal human input. An alternative approach is to experiment with predictive models and big data to increase the combat power of the current force and that can only be done by building a sensory network by setting sensors at strategic locations as well as using the mobile devices of citizen as virtual sensor network.
What is Artificial Intelligence?
Artificial intelligence is commonly defined as the theory and development of computer systems able to perform tasks that normally require human intelligence, such as visual perception, speech recognition, decision-making & translation between languages. It can range from weak forms, such as narrow artificial intelligence, that processes big data to answer basic questions and generate predictions (e.g., Google maps helping you drive home) to strong forms such as “Artificial General Intelligence” and “Artificial Super Intelligence” that exceed human intelligence, creativity, and adaptability. Short of the promise of driver-less cars and robot servants, narrow forms of artificial intelligence like machine learning are starting to change sectors ranging from healthcare to logistics. With respect to public health, the flowminder.com uses narrow artificial intelligence to predict the spread of diseases. In logistics, machine learning is helping companies make supply chain adjustments, optimize delivery routes, and design warehouse systems. Vehicle manufacturer are applying artificial intelligence to improve predictive maintenance of motors. Volvo collects data with smart sensors on their vehicles and applies machine learning techniques to conduct diagnostics that reduce down time for services and better inform the resupply.
Artificial Intelligence for the defense forces
While many commercial applications of artificial intelligence are based on identifying patterns and trends using big data, most military applications focus on autonomous systems.  Example of an artificial intelligence programs in the US governments unmanned undersea and aerial vehicle programs such as LOCOUST (Low-Cost Unmanned Aerial Vehicle Swarming Technology) & GREMLIN anti-surface-to-air missile drone program.  Another ideas is for the army to leverage existing unmanned vehicle systems and develop a logistic system that can be used in combat scenario where multiple unmanned vehicles can intelligently follow a manned vehicle.Technology is being used for civilian services and it needs to be adapted by Intelligence  agencies and armed forces. Border and Marine border security can be improved with reduction in human patrol by using Big Data & Predictive Data Analysis. Are armed forces & intelligence agencies already using these technologies?

x

Friday, January 19

Could we not have implemented Aadhar System in an inclusive manner? (Part-4)

Dear decision makers,
The first thought that came to my mind when I heard of  new Aadhar Face Recognition feature was that, next time Jio might refuse me a SIM if my face recognition does not get validated! What was originally a scheme to ensure that social benefits reached the deserving has now become a number in Jail Roster or so people fear!

The infamous Government Babu's of India who so far were famous for quite a few wrong reason are now custodian of my personal identity data including bio-metrics and iris scan. A SIM card is a commodity like any other commodity and it is definitely not a government benefit for which we have to validate our bio-metrics. We pay for the SIM service and it is responsibility of telecom company to validate I am who I claim to be. So what is governments interest in offering private Telcos to use the bio-metrics validation which was originally meant for Social Security distribution? Mr Modi is friend with quite a few world leaders. Will he care to ask the heads of USA ,Australia, Israel,Germany, China or Japan if they take the responsibility of validating SIM users identify for the private telco companies? So why is India so keen to do the identify verification job for Jio ? And now the privilege is extended to every telco company! I can understand that government wants to prevent criminals from using SIM using fake identity documents but using bio-metrics and face recognition to buy a SIM card is stretching things too far. Next the grocer may refuse to sell sugar if I do not have Aadhar card , quite like a woman was refused medical treatment in a hospital and died few days back.

Did government ever wonder why do USA, UK, Singapore did not capture bio-metrics of their citizen for their UID program? Do these countries have more terrorism incidents or higher crime because they do not use  bio-metrics like #Aadhar? How is Indian smarter than these countries who have Avoided Risking their  Citizens Privacy and Identity by not Capturing their iris and bio-metrics scan?

Who is making these decisions about #Aadhar for the country? Is it the Indian PM? or the Home Minister? or Mr Nandan Nilekani? From when did India start implementing national policy decisions made by a select few people without review by all the 750+ Member of Parliaments, who are true representatives of people in the parliament? Are the MPs not capable of conveying people views and concerns? Or are we no longer government of the people, for the people and by the people? Finally why is the Supreme Court not asking the government to include MPs in such a major decision making process that effects the country? Do the oppositions MP becomes unworthy of opinion because their party did not form the government? So may question that no one dares to ask because most people don''t know the impact of data leak of Aadhar data and the future of India is stake if identity of Billion people is risked even once. Guess it is too late already as the data seems to have leaked too often or else The Tribune reporter would have been in Jail  Chakki Peesing & Peesing & Peesing as Dharmendra said in Sholay)

We expect some maturity from the individuals who form the government irrespective of which party they belong to. I assume government has not forgotten that their term is only 5 years unless they win again and if they lose next election then the opposition parties who are objecting to Aadhar policies will come to power and change the policies again.  Is this not waste of national resources? Is it not duty of an elected government to forma  committee to get views of all the elected representatives and implement majority view & wish before implementing a software system that has potential to screw every Indians happiness?  So why did government not form an all party committee to decide the vision for Aadhar? As of today no 2 political parties agree to governments Aadhar vision in totality so every time the government changes can we afford to change Aadhar Software implementation?  I am also shocked that opposition parties not demanding that every elected peoples representative in parliament should be included in this decision making on Aadhar, the 1st of its kind scheme which is literally being forced upon people?  Another surprising fact is that the Supreme Court that has taken suo moto decisions on various cases of less importance does not feel that it should direct the government to form an All Party Aadhar Decision Making Committee ?  Gives me the feeling that for most fo the wise men of India ignorance seems to be the bliss An immature nation, barely exposed to IOT and the risks of internet are living in blissful ignorance.

I have asked enough questions, now let me talk about the right way to implement a software that can change the course of a nation. If I was the Prime Minister of this country, responsible for the actions of his ministers and his government I would be bloody concerned about the Aadhar project. I am not the type of man who will let the team do the work and when they screw-up ,tell that we screwed up because the Ministers did not do their homework or that the IT team was not smart to highlight the risks and mitigation.Let's be clear, Success or failure the onus of this ambitious scheme lies with the head of the government. So to implement a scheme like Aadhar my government would do the following things-

1) Aadhar is a scheme for the benefit of people, its a scheme which takes responsibility of capturing and protecting database of identify of every Indian and that is why it cannot be implemented without having all elected representatives of people on board. Period. If I can't convince 790 member of parliament (MP) of Indian parliament (250 Rajya Sabha & 545  Lok Sabha) that Aadhar is beneficial and safe for Indians, how do you expect me to convince entire country?

2) Form an Aadhar Vision team of MPs, ensuring each state & union is represented by at least 2 MP lead by the Minister of Home and ask them to draft a vision for Aadhar card along with help of IT, security and policy experts.

3) Form a review committee of another set of  2 MP  from each state & union to review the Vision document created by the Aadhar Vision team and finalise the 1st draft for review by Home Ministry.

4) Publish the Vision on the website and take inputs from the public, God knows we have enough smart people in India to give create inputs and this is the age of crowd sourcing so why not use the knowledge bank?

5) Final Aadhar Draft is reviewed and presented in parliament with all the above inputs and gets approved by the parliament for implementation.

6) The Aadhar Vision is given to the Aadhar Information Architect to define the solution architecture and road map for the Aadhar System. The Solution architecture is reviewed by 2 independent IT consulting firms who are bound by a NDA (non disclosure agreement) and the final draft of solution is ready for implementation.

People may say that 790 people can never agree to a common vision but they would be wrong. GST was implemented including each Indian state and union territory and thousands of people were included in the decision making process and here we are talking about only 790 people who represent the entire country. Aadhar cannot be solution to all problems so let's not cook the hen that lays golden egg! My final word for those leaders who think Digital is magic and Digital is future. Let me be burst your bubble about the New Digital India! Indian digital journey started in 1980s when  Rajiv Gandhi & Sam Pritroda revolutionized Indian telecom sector and STD booth started poping up everywhere. People started using the squeaky 56kbps modems with their phone lines to access internet, the state governments started their digital journey way back in 2001 with their e-governance initiatives. I had the privilege to be part of a team that bid for Goa state governments e-governance project in 2001. What has happened in last 2 years is there is lots of marketing and that has brought Digital to focus. Even the IT companies are MAKING HAY as the Digital sun shines. IT companies don't want to tell their customers that they there is nothing new about Digital except the renewed focus. Let me also remind you that many large enterprises have burnt hands when playing with Digital because they jumped into the digital well without a clear vision and road map. Problem is that with Aadhar, government is not jumping in the well alone,  they are taking the plunge into the well with 1 billion people and risking their lives as well. So decision makers please keep your ego in  your hip pocket and spare a thought for India. Do you really require government employees to use Aadhar to validate their daily attendance as it is happening in Mumbai Corporation and will soon be implemented across India? How is this stupid implementation ánd many similar usecases going to be useful for India''s progress and Digital journey? Sorry Mr Government you have made a blunder by now consulting experts and not learning from other countries like USA, Canada, Japan and UK. Correct your mistakes before something worse happens because history never forgives anyone. Jai hind!

Where there a genuine will & concern for people,

then pray, one will always find a way. 

Whre there is ego, over confidence & arrogance,

then failure is only a step away.

Thursday, January 11

Whats needs to be fixed in Aadhar Software System ? (Part-2)

If you would like to read my past post on #Aadhar here is the link  Whats is wrong with Aadhar Software System ? (Part-1)  You may also be interested in reading a previous comparison between SSN & Aadhar at this link Why you should be concerned about #Aadhar being made mandatory for citizen of India?

Continuing from  

Whats needs to be fixed in Aadhar Software System ? (Part-1)

One pertinent question I want to ask UIDAI is, for a company that in implementing Aadhar should it not be a prerequisite for it's employee & service partners to have an Aadhar number and use Aadhar for registering new user of Aadhar System? In this alleged data leak case how did the system allow new ASA and AUA users (Authentication Service Agencies & Authentication User Agencies ) to be added without their Aadhar numner keyed in? Would the alleged hacker dare to sell data if he knew his activity was being tracked by his Aadhar number and that he would be caught? Software Design flaw eh?

I found the so called Aadhar System's Vision at their website and it is the briefest software vision document that I have seen in 20 years. Even after reading the Vision you won't know what are all Services that Aadhar is designed to provide today & in future. Our understanding was that Aadhar would be used for distribution of social security benefits to the eligible. Now goverment wants to make Aadhar the Single Source of Truth of your identity, something even the USA & UK do not dare to do with their SSN because of their concern for the privacy of their citizen. You have to read my earlier post to know why USA does not use bio-metrics for their SSN which is similar to Aadhar (Link)  Now your Aadhar number will get verified when you open a Bank accounts, do Stock investments, buy insurance and even when you get admitted to a hospital? Why are we using Aadhar for the financial transaction tracking? Was PAN not supposed to be the 'Universal Identification for Financial Transaction' as per the Income Tax website? I can understand that  goverment wants to link PAN and Aadhar to ensure people do not  create multiple PAN  and that makes sense. But when you are linking PAN with Aadhar where is the need to provide Aadhar to Bank & Stock exchange? They already have my PAN which is already linked to Aadhar (Read older post Linking Aadhar )! This is just bad,bad, bad, software design,  Last week it was in the news that a lady who was ill tragically died because she was denied admission to hospital because she could not produce Aadhar card. Who has given this ABSURD instruction to hospital that Aadhar is required to get medical treatment or to get admitted to hospital? Even the Nazi did not have such inhuman laws! Recently someone raised a valid question - How many homeless and nomads people live in India? Without a address how will they get Aadhar card to receive social benefit? I would have liked to know if such problems were already thought by the UIDAI ? Are these problems part of Vision document and is the Vision shared somewhere on their website so citizen can read and be aware of Aadhar Features.

If you want to build a Digital India start educating people and making them aware of what is coming their way. Sadly goverment schemes are very poor at educating citizen and GST is another example. Govt announces GST & the PVSindus 1 minute TV commercial does not tell how GST is going work. Who is going to educate the business men? Why could goverment not conduct 1 hour TV Training on all TV channels to demonstrate and educate business community on GST? When you go shopping talk to your grocer and you will be shocked to know that 50% of the times your grocer does not know how and when GST has to be filed! Sorry Sir, you cannot go Digital without training the last man & woman in the village, in a medium & language they understands. Everybody is not as smart as people sitting in Delhi!

Software engineering works on well defined Software Development Life Cycle Process. Software Managers help client define their Software  Vision. A Software Vision document defines the high-level scope and purpose of a program. It is a clear statement of the problem, proposed solution, and the high-level features of a product helps establish expectations and reduce risks. So a vision document is kind of a Geeta or Bible that has all major functionality and behavior that has to be built into the software to support the enterprise's business goals. If something is not in the vision it will not be part of the software road map & software design. Period. Next we create a Software Road-map which has milestones for different functionality that has to be built into the software and then the software architecture and design work starts. What I want to highlight to non-IT folks is that if you don't have a documented vision or if your Software Vision changes every year/months than it requires frequent changes to design, leading to patchy software and it affects the software quality including quality of software security.
                I believe Changing Requirements are a big challenge is software that we develop for government. The government changes, the Vision changes and software has to be changed - no scope for arguments! Take Obama Care where USA has spent millions on the program and developing software for the online program which might get scrapped now or else take Indian Aadhar Card. Vision of the government that started the UIDAI program was at least 90 degree if not 180 degree apart, from the vision of next government. Now think about different Government Software that have been built by past government, how subsequent governments have changed the Vision to what software should do and how software would have gone through structural changes making it patchy.

To give an example to those who are not from IT, imagine we order custom built Luxury Sedan, then goverment changes and wants the sedan to be modified to work like a Bus. Again the goverment changes and they want the vehicle to be again modified to work as a Bullet Train!  The chassis of the car can only take load of 5 to 6 people and you change the requirement to carry 60 people or worse 1000 people? Don't you think it is Better, Cheaper and Safer to use the car as it is and build a new Bullet Train from scratch? That's what happens to a software that starts as a modest application to perform few services and then client gets ambitions and wants to continue to modify the same software to serve the entire humanity. If the software foundation was not meant to handle all the ritz then it is better to start from scratch and build a new software. I hope that's not what is happening to Aadhar but it could if the people who make the decisions are not advised about the impact by their software architects.
                       I believe it is a duty of an IT engineer (and every professional ) to highlight the risks to the management on paper and provide the best recommendation to implement the software system but never compromise on quality and security of a software. I wonder if Aadhar software architect & engineers have done their duty well because the operations issues like data leaks and publishing data Aadhar data on their website do not give me the confidence that it is a robust system..



In my 1st post I mentioned Aadhar is currently being used for taking attendance of municipal employees and I think that is WRONG use case for Aadhar and if I may say so it amounts to abuse of a software system. Hey, I want to use Aadhar bio-metrics verification for my driver & housemaid to make sure she comes on time. Can I please have it? There was news that children will have to provide Aadhar to get admission in school and I am not sure that is makes sense to implement that because one study says that bio-metrics of children change quite frequently and it will create issues if bio-metrics cannot be verified. So much for basics of software design now lets look at it as a black box system and visualize an 'ideal software architecture' that can support services that we know Aadhar is going to be linked with in future.


Aadhar currently is an identify proof that will confirm that you are you and you don't use a fake identify to fool the government services like Passport or Income Tax department. Aadhar system should provide an web page to allow various departments to verify your identity by entering your Aadhar number & getting a validation response from UIDAI server. It is a basic validation service that guarantees that you are who you claim to be verifying Aadhar number and maybe asking you a random question about your Aadhar data like DOB, COB etc.  USA uses SSN for validation and the below image  is the response message that you get from SSN validation  no chance of anyone viewing your SSN details. So why do some uses have access to download users Aadhar Data ? Why does the Aadhar system design allow a use access to data? What UIDAI has to understand is it is a poor design that you are providing a interface for someone to download  Aadhar data. Period. So don't pass the blame to user if he downloaded and sold the data because your design itself is faulty.


If the Aadhar system allowss sharing your Aadhar details with private concerns like bank or letting them access your profile using your Aadhar number then it is a huge risk to the security and privacy of an individual and that is why people have filed PIL in court. What Aadhar system should do is allow a user to enter his Aadhar number and in response show him a standard success or failure message like the Americans show for their SSN!

Moving on lets discuss a model architecture and its key components that would ensure that we have a well designed that will work smoothly. What are the check points of making the system secure, fool proof, intelligent & proactive? How to build  software a system that notify authorities when a miscreant tries to access restricted data using password or even if he manages to hacks into the system bypassing authentication (if hackers can get into Pentagon you should be prepared for the worst)? That's what is coming next, right here on this post, in another couple of days. I will leave you with a diagram of a model architecture for now.

Sample block architecture for an enterprise system

Thanks for visiting my blog.
                                                 



Speaking Technically - My take on Aadhar System

Some time photos express better than 1000 words. So this is my attempt at creative art!









Monday, January 8

Whats is wrong with Aadhar Software System ? (Part-1)

I can't say I was shocked to hear about The Tribune (link) report on how their reporter purchased Aadhar data for 500 INR and for another 300 INR purchased a software that could print Aadhar Card ( India's Social Security Number card) but I was surprised at the poor design and operating model of the system. I expected the system to be much more smarter, secure and foolproof than it seems to be now. UIDAI has denied the data leak but Tribune seems to have material evidence and they have published a response to UIDAI statement today (link).

This kind of data leak does not happen because of  a single point of failure. There has to be issue with the
1) Solution architecture (architectural description of a specific solution)
2) Application architecture (describes the behavior of applications),
3) Security architecture (unified security design that addresses the necessities & potential risks),
4) Operation architecture (defines control of operational procedure & execution of operational tasks)
5) Finally the Software testing plan seems to have failed to detect the flaws in the software.

As long as there is valuable data, hackers will try to attack the system but fortunately this was not a hack or else hackers would have wiped the data and held Indian government for ransom. Politicians who are enforcing Aadhar just don't seem to understand a badly designed software can play havoc and that delayed software system is better than a faulty software system. I don't think we need any more proof to call for an immediate software audit conducted by 2 independent reputed agencies. If we are so sure that system has no flaw then software audit will help regain the confidence of  billion Indians. Every big software is audited periodically so why not audit Aadhar System which is a critical system for the government as well as billion Indians. I don't understand why government has not initiated a software audit after multiple 'reported' incidents of data lapses over last 2 years. If the audit highlights any issue then the Aadhar software architects are to be blamed and not the government. The other issue could be the change in Vision, possibly Aadhar system is made to do what it was not designed to do when it designed.. A software audit will only validate that you have a well designed, robust and secure software system and its operations are being managed well by the team.

When  there are multiple issues in a software system they can only be addressed by conducting a detailed software audit followed by fixing the issues identified in the audit. Do read my earlier post  Why you should be concerned about #Aadhar being made mandatory for citizen of India? )  Having worked as a fire fighter on solving complex issues on many complex software systems for fortune 100 companies I must say I have not encountered such a large software system that seems to have been put in production without due diligence. I have seen projects where  leads & managers have been removed on the spot for much smaller issues than what was reported by The Tribune. Software systems are custom made to solve a particular business challenge and if there is a failure in basic operation of the software then it is because the project leadership was incompetent to handle the project right from the solution design stage to development stage and onto the operations stage.

Here is a simple picture that will give you an idea of what all could have gone wrong with Aadhar System, I am not privy to the Aadhar architecture so the picture highlights the potential issues in the software based on what we know from reports on data leaks. I am concerned that a software system has become a prestige issue and UIDAI is defending reports rather than publishing a whitepaper on health of the Aadhar System so Indians don't worry about the most critical software that is going to affect every Indian. I want to find out , what is wrong with Aadhar system? What needs to be fixed to avoid the known issues in future?

My understanding of Aadhar System


< Click image to zoom >



So what are the key take away from this data leak incident?

1)  Critical software system like Aadhar are used for verification of Aadhar user's identity and when user input is passed to the system, the systems responds as verification success or failure. The system should not allow users to download Aadhar number or details of Aadhar users. This is a grave software design flaw and there is no doubt about it whatever UIDAI might claim.

2) The data access should have been restricted at application service layer, data service layer as well as database level for additional security and I think all 3 layers have design flaws.

2) The system should have different levels of user authorization that limits user access to certain services and this authorization framework seems to be flawed or else missing from the system.

3) Creation of new user is an activity that should be restricted to a limited set of super users & if we go by the news report then it seems that a use who is not administrator has the right to create new users without approval of any superior authority and this is poor design and a big security risk. A new user creation process is typically performed by the administrator and for critical systems like Aadhar, there should be an 'approval workflow for user creation' where clearance is taken from 'access control board'  or at least a super admin before creating new users. A ordinary system user who accesses the system for routine transaction should not be allowed to create new user at his will. This flaw allows the system to be misused as it seems to have happened in this case.

4)  Authorities have responded that system activities are monitored so it is surprising that when users are being created at will without approval no one noticed it, when system was being accessed by unknown new users no one noticed it, when user data was being downloaded no one noticed it and even the network administrator did not notice unusual activity on the network when billion records were being accessed/downloaded.

                                                                         
< Click image to zoom >

5) In an ideal system that has Business Activity Monitoring, rules are defined on what services needs to be monitored, what alert should be sent by email or by SMS in case of some user accessing a set of services and what action should be taken by the team who is responsible for monitoring the software. None of these things seem to be in place or else UIDAI would have nabbed the culprits before the whistle blower initially complained to authorities and long before reporter investigated the story.

As I mentioned earlier this looks like case of multi point failure and if one of the checks had failed still the monitoring system should have automatically notified the authorities about the suspicious activities within minutes if not seconds of the suspicious event. My guess is a good Business Activity Monitoring tool which is must for any critical enterprise system is either not implemented or the implementation is flawed.

Obviously there could be other issues in Aadhar system that we are not aware of. For example scalability and availability issues and performance issues - and I have reason to believe that  the way it is being implemented today Aadhar system is going face major performance issues one day. The 1 lakh plus municipal employee in Mumbai are using Aadhar bio-metrics to sign-in & sign-out at work.  (I have got proof that municipal employees get emails twice a day from Aadhar system when they scan their finger prints). Which means Aadhar system is being accessed for employee attendance 2 lakh times every day by Mumbai municipality alone! There are around 4000 cities in India which makes 4000 x 2 lakh = 800,000,000 hits to Aadhar server everyday by municipal employees alone! I assume if municipality is using Aadhar for attendance then other government employees will also be using Aadhar verification for attendance and a conservative guess would be 1 lakh government employees across 4000+ cities in India ( I am not considering the employees working in smaller town & remote areas). This means there will be 1.6 billion hits to Aadhar server everyday just verification of attendance of government & municipal employees!  At 9 am when all employees reach office  there will be at least 80,000 hits to the server every 3 second (assuming 4000  cities , 10 offices in each city, 2 bio-metrics scanner in each office)  Did UIDAI plan for this? Is Aadhar Architecture built to take this kind of peak load?  Why the heck should we use national  bio-metrics server to verify that employee in each city has reached office! Did we create Aadhar for such stupid mundane tasks?  Which other SMART DIGITAL COUNTRY in the world has implemented this kind of verification system for government employee?  Which software architect gave this idea to goverment to use Aadhar for employee attendance verification and what are other redundant uses that Aadhar is going to be used for?  It is absurdly, insanely, mind boggling crazy to implement Aadhar based attendance! Imagine when Hospitals, Railways, Airlines, Jios  & every other company starts using Aadhar for verification we will need a new Aadhar Hardware City to host the servers required to cater to such large population! (Ok! Ok! I exaggerated it! Wont need a new city but a huge number of computing nodes on a Cloud since it is quite likely that Aadhar system is hosted on a Cloud)

In my next post I will explain the potential missing blocks that could lead to such system failure in a software system (again I am assuming The Tribune report is reliable and they have indeed purchased billion records for 500 INR. Damit!)

My next post will be about Whats needs to be fixed in Aadhar Software System ? (Part-2) & after that 3rd post will be on How blockchain or similar trust framework could have prevented the Aadhar Data leaks in Aadhar System? (part-3)

Saturday, January 6

Is blockchain viable for a Business Process Management solution?

When we talk to people about Blockchain we realize people seem to have various perceptions that is formed in the context of Cryptographic Currency and since the technology is incubation I guess each perception has to be respected. After 19 years in the industry working for fortune 100 clients I have acquired habit of doing postmortem of each new technology and try to predict the acceptance of the technology. I have been proven right on many occasions and not so right on few occasions.

I agree with people who looks at Blockchain an interesting technology advance that may solve some challenges (and create new challenges) but I don't agree that blockchain is he biggest thing since Internet as some people claim, in fact it is far from maturity and at the most it is a good prototype according to me. Taking a step back.

What is blockchain?

A block is the ‘Current’ part of a blockchain which records all of the recent transactions, and once completed goes into the 'Chain of blocks' as permanent data record. Each time a block gets completed, a new block is generated. There is a countless number of such blocks in the blockchain. The blocks are linked to each other like a chain in proper linear, chronological order with every block containing a hash of the previous block.

 And what is blockchain in Bitcoin context?

A blockchain is a public ledger of all Bitcoin transactions that have ever been executed. It is constantly growing as ‘completed’ blocks are added to it with a new set of recordings. The blocks are added to the blockchain in a linear, chronological order. Each node (computer connected to the Bitcoin network using a client that performs the task of validating and relaying transactions) gets a copy of the blockchain, which gets downloaded automatically upon joining the Bitcoin network. The blockchain has complete information about the addresses and their balances right from the genesis block to the most recently completed block.

So whats great about Blockchain in the BPM context? 

Have you implemented workflow solution where a work-item has to pass through different people who work on it in a sequence before the work-item is processed and work is flagged as complete? Or maybe implemented a BPM solution where a business process has multiple tasks and has interface with multiple internal systems for validation and reference data which makes the process slow and consumes resources. What if each work-item in a business process was 'Smart Work Item' and could carry all the data references required to process the work item so that network IO was minimum? The processing would be faster, we would eliminate wait times and dependency on related tasks and business would run with optimum efficiency. I am assuming you are familiar with BPM so I wont give examples to explain the above statements. This can be achieved by a distributed ledger  (as in Bitcoin Blockchain) or a Smart Business Object (as I like to call it) that is accessible only to the authorized parties across the internal or external network.  The Smart Business Objects (SBO) are encrypted data objects with a private and public key and they can be viewed, updated by the authorized parties but they cannot be deleted by anyone and at the end of business process flow/s, when the life of the SBO is over the object would still be available on the internal network in view only mode.

We implemented something called as a BPM Workflow Reference Database for one of our clients ( I concede that we were not smart enough to think of a distributed ledger) . So adding a new database that kept a track of state of the work-item by referencing it with a workitem-key helped reduce the network calls from the business process to a maximum of one call to get the state of the input reference data at each step of the process and this optimized our solution by a huge margin but we had to create some database triggers and batch processes to keep the Reference Data updated.
What do enterprises achieve by implementing business process management?

  • Operational Efficiency – Streamlined business processes lead to streamlined operations, with greater visibility and control. The automation of repetitive, low value tasks can also lead to cost savings.
  • Compliance – All business processes are carried out in-line with a company’s procedures and process documentation can be generated for demonstrating compliance in an audit.
  • Competitive Advantage– A BPM solution ensures that processes drive operational efficiency, business visibility and can quickly adapt to customer requirements, which helps to provide a strong edge over the competition and shorter time to market
  • Scalability – Automated processes scale much better than manual processes – ideal if an organisation is expanding.
  • Agility – A BPM solution will enable a company to quickly update its processes in response to developments in its operational environment.

Great! So we have implemented BPM for years and clients have benefited immensely but there are some challenges that create bottleneck in BPM solutions and blockchain can solve them. But how about using a traditional centralized database to perform like a distributed ledger? I am not suggesting we deploy a database at each node rather we add a independent database that acts as Ledger Database & can be accessed by all trusted systems over the network. The Ledger Database should have add-on features of blockchain namely immutability, no central authority & global availability of asset over network. Unlike crypto-currencies a BPM solution does not have unknown participants so I think it should work well.

Disadvantages of using a Blockchain / Distributed Ledger - 

The blockchain as a database is not so great, measured by traditional database standards: throughput is just a few transactions per second, latency before a single confirmed write is 10 minutes, and capacity is a few dozen GB. Furthermore, adding nodes causes more problems with a doubling of nodes, network traffic quadruples with no improvement in throughput, latency, or capacity.  Worst thing is that Plus, the blockchain essentially has no querying abilities.

Advantages of using a Ledger Database-

  • Globally accessible database to store data & documents
  • High capacity and throughput for millions of records and documents
  • Interchangeability to store large files and media
  • Data immutability that brings trust and audit-ability to the records
  • Query technology that enables quick retrieval records and documents
  • Reduced security and liability in managing data
There is need to prototype and compare the 2 solutions, one with blockchain ledger and another with database ledger. I seriously doubt if the investment in Blockchain is really worth for enterprise computing that usually takes places between known & trusted partners. Ledger Database that I have mentioned here has been implemented successfully in the past by and it is only a design pattern. Database can be designed to act more like a blockchain without the surprises that under construction blockchain technology has to offer. Bitcoin has been successfully running on block with few exceptions-where system was hacked. Databases are not hack proof either but the benefit of creating a new database to work a Ledger Database comes very close to achieving the benefits that Blockchain offers without fully sacrificing the control of your database which is important for enterprise computing. Let's keep discussing , build come prototype for comparison and find a new cost effective design pattern using proven technologies




Understanding Generative AI and Generative AI Platform leaders

We are hearing a lot about power of Generative AI. Generative AI is a vertical of AI that  holds the power to #Create content, artwork, code...