![Contents](../images/contents.gif)
![Preface](../images/preface.gif)
![Too Many Secrets](../images/secrets.gif)
![Infinite in All Directions](../images/infinite.gif)
![The Power of Ideas](../images/ideas.gif)
![Just Connect](../images/connect.gif)
![The Bloody Crystal](../images/crystal.gif)
![The Life You Save](../images/life.gif)
![The Machine Stumbles](../images/stumble.gif)
![](../stumble/sections.gif)
![A Creation Unknown](../images/unknown.gif)
![Search](../images/search.gif)
![Help?](../images/help.gif)
![Order Online!](../images/order.gif)
|
|
Money, Money, Money
Wednesday, November 20, 1985, appeared to be a normal day at the gleaming, skyscraper headquarters of the Bank of New York in Manhattan. Yet deep inside one of the many computer programs running in one of the bank's myriad computers, something was drifting toward disaster. It went unnoticed by all the bank's technicians and unpredicted by all the bank's many programmers.
One part of the bank's computer system handled government securities transactions from the Federal Reserve, and one of its many subparts controlled incoming transactions. If the system was busy when a transaction request arrived, the system was supposed to save it in a special file for later processing, perhaps a few seconds later.
One tiny subpart of the messaging system allowed it to save up to about sixty-five thousand transactions. When too many transactions arrived in too brief a time, the counter would count all the way up to that number, then start over from zero. The system used the number the counter produced to designate the location where the next transaction was stored. So, whenever the counter started over, old information was overwritten---as if a printer had jammed and was overprinting the same line over and over again.
That would have been okay if the rest of the system had kept pace with the number of transactions that day; but it had fallen behind. That too would normally have been okay. Unfortunately, because of an unnoticed interaction with yet another of the thousands of subparts of the program, the rest of the system thought it could count into the thousands of millions, not into the thousands.
As a consequence, the bank lost track of many deposits. Federal Reserve computers kept track of the Bank of New York's debts, but the bank couldn't tell whom it had subsequently lent money to, or how much. Meanwhile, transactions kept pouring in and, figuratively speaking, spilling on the floor. That went on for an hour and a half.
By the close of business that day, the bank owed over 23,000 million dollars. Faced with immediate bankruptcy, it borrowed the money overnight and saved itself from disaster. The interest charges on the overnight loan came to five million dollars.
Although the magnitude of the loss is unusual, such problems aren't uncommon. The Federal Reserve reports that computer errors caused American banks problems in balancing their books more than seventy times in 1985 alone. Up to two million million dollars---more than a quarter of America's yearly output of goods and services---daily changes hands across computers owned by American banks and securities firms. Today almost half the transactions handled by American financial institutions are electronic.
There's always a reason why computer systems fail. Someone fell asleep at the wrong time; someone fed the wrong information into a system; someone missed an essential symbol; someone cut a vital communications link at a crucial time. Yet the important reason---and the reason such errors keep happening---is that our largest systems are too complex for us to completely predict their behavior. We've lost control.
If It Can Go Wrong, It Will
|