Start at the Prologue and First Chapter here
Frank stared at his computer screen. On it was a breakdown of all significant thefts of cryptocurrency since bitcoin was first issued. The great majority of the thefts were relatively small and resulted from successful phishing exploits – meaning that the bad guy had sent an email convincing enough to persuade an alt coin owner to click on a link they shouldn’t have, or perhaps to get them to send cryptocurrency to the wrong person.
After that, the next most common attack target was a wallet that held cryptocurrencies. And after that, the exchanges where alt coins changed hands. Only a small number of incidents had successfully exploited a vulnerability in the actual blockchain software itself, and that was usually early in the life of a blockchain, before all of the bugs had been worked out.
Frank tapped his fingers. Was that because the blockchain architecture really was s secure, or because it was so much easier to take advantage of flaws, or downright carelessness, in the ecosystems that had grown up around blockchains? Happily, where really big thefts of an alt coin occurred, the ledger-keepers of the blockchain in question sometimes agreed to back track to a point on the blockchain before the theft occurred, and then reconstruct the record after that, leaving out the fraudulent transaction. Sort of a “do over” (or a fork, in developer-speak). Messy, but nonetheless effective. Each time, everybody got their money back.
So, the security of blockchains seemed to actually be quite strong – maybe stronger than existing security for bank transfers. And with GFBS, there was almost no surrounding ecosystem to hack. Since BankCoin only passed between banks, there were no exchanges at all. And only banks could host wallets.
But what if someone figured out how to hack the GFBS system anyway? The bank blockchain already had a hundred times as many transactions recorded on it as all other blockchains combined. What an unholy mess it would be if someone ever took it down, even for a day.
* * *
Frank stopped by Delhohn’s cubicle, and Dirk turned to see who was there, his bugeyes training themselves on Frank like a pair of headlights.
“Frank,” he said. It was a statement rather than a greeting. “What is up?”
“Would you have some time today to help me understand the GFBS architecture a bit better? I’m trying to put together a threatscape analysis for the Board and I want to be sure I don’t miss anything.”
Delhohn stared at Frank for a second. Then he blinked twice and replied, “Yes. What would you like me to cover?”
“Well, that’s part of the problem. I think I understand GFBS, but I don’t want to take anything for granted. Maybe there are things I think I know but don’t. Or worse yet, that I think I understand that are wrong.”
Delhohn considered that and then blinked again. “How about ten o’clock? Does that work?”
“That would be great.”
“In your office?”
“Perfect.”
“I’ll bring Ruth.”
“Ruth?”
“Yes,” Delhohn said and turned back to his computer.
Delhohn arrived exactly on the hour, letting himself in unannounced and sitting down without speaking. A woman in her forties stood behind him, looking for a second chair that wasn’t there. Delhohn treated her as if she weren’t, either. She wore round, black-framed glasses and a bowl-cut hairdo. If you put her in a Chairman Mao era tunic, Frank thought, she’d be a dead ringer for Honey, Duke’s assistant in the Doonesbury comic strip.
Frank hopped up and held out his hand. “You must be Ruth. Let me find you a chair.”
She followed him out onto the floor where Frank commandeered a chair from an empty cubicle.
“So, do you work with Dirk?” he asked.
“I’m not sure ‘with’ is the right word. I sit in a cubicle next to him, but we only communicate by email.”
“I see,” Frank said. “Are you a coder?”
“Yes, but not for this job. Dirk is tired of being hauled out by the bank to explain GFBS, so he’s preparing me to play that role. I was just hired last week.”
“Ah,” Frank said, picking the chair up and left it at that.
“What specifically do you want to know?” Delhohn asked Frank as they sat down.
“I guess it would be a big help if you started at the top and worked your way down as if you were talking to someone who knew nothing about the GFBS blockchain. I’ll try and listen in the same way, and maybe I’ll pick up something I’ve missed before.”
Delhohn blinked. “Am I allowed to assume you know what a blockchain is?”
Frank laughed. “Sure. Just not anything about the GFBS blockchain. How about this – tell me how it’s different from bitcoin. And especially from the security point of view.”
“Yes,” Delhohn said. “But first, to set the stage. GFBS is a transactional payment platform, like bitcoin. As is typical of a blockchain ledger network, it creates blocks of transactions linked by hashes, one to the other. So far, just like bitcoin. But there are also differences.
“First, the token that will be traded – called BankCoin – is a proxy for the U.S. Dollar, and is exchanged only among participating banks.”
“Let me stop you there a second,” Frank said. “How does that work?”
“Ruth,” Delhohn said, without taking his eyes off Frank.
“It’s actually easy,” Ruth said. “The token in this case is really just a packet of information passing back and forth. So, if you want to send me $100 dollars, no dollars actually go from you to me. Instead, the wallets you and I maintain in our separate banks exchange security keys and information about the transaction, after which the balance of BankCoin in your wallet will simply reduce by $100, and the balance in my wallet will go up by $100. After that, other parts of the blockchain confirm the transaction, include it in the latest block, and we’re done.”
“As a result,” Delhohn added, “There can be no volatility in BankCoin independent of the dollar, and no speculation.”
Frank frowned. “How can you stop speculation in BankCoin? People haven’t been rational about any of the other cryptocurrencies.”
“Ruth,” Delhohn said. The single syllable came across as a verbal snap of the fingers.
“Schwert had a very clever answer for that,” Ruth said. “GFBS is a totally closed system. Although BankCoin will pass back and forth between banks, it can never leave the banking system. If you want to withdraw any money from your bank wallet, you have to take it in a fiat currency – dollars or Euros or whatever – or in a different cryptocurrency. When people look at their banking statements, all they’ll see will be a balance in their local currency.”
“So.” Delhohn intoned. “Back to differences. GFBS isn’t a public blockchain, where anyone who wants to can maintain a ledger. As you know, only banks are eligible to keep GFBS ledgers. Also, instead of receiving BankCoin for confirming transactions, a bank receives a small transaction fee, which it deducts from the money changing hands, the same as it would in a traditional bank transaction – except the fee is far smaller, to be competitive with the non-bank blockchain schemes. This is not totally different from bitcoin, however. Satoshi Nakamoto assumed that his system would eventually migrate to transaction fees by the time all twenty-one million bitcoin he originally authorized in his blockchain were mined.
“Next, GFBS does not require a bank to solve a power-intensive, increasingly difficult problem before a block of transactions can be confirmed.”
And thank goodness, Frank thought. Already, solving bitcoin problems required entire data farms of computers. Together they now consumed more electricity than all of Denmark!
“Got it,” Frank said. “Let’s talk about transparency and anonymity. How are they different with GFBS than they are with bitcoin?”
“Ruth,” Delhohn snapped.
“A customer will need to have a wallet, and to the outside world, the owner identities of those wallets will be unknown. In both respects, just like bitcoin. But unlike bitcoin, each bank will know the identity of every holder of a wallet it hosts. That was one of the requirements the regulators insisted on.”
Frank tapped his fingers and frowned. “So – roll all that up together, and you basically have a system that’s as close as possible to the current banking system, except for the fact that transactions are verified almost instantly, instead of settling through a process that takes days. Just what a bank would want, and exactly the opposite of what the anarchists and drug dealers fell in love with when bitcoin first appeared.”
“Just so.” Delhohn said.
“How about on the security side?” Frank asked.
“Here we are not so very different from bitcoin. The blockchain as originally proposed by Nakamoto includes elegant security controls and protocols. Every aspect of the bitcoin blockchain software is designed to default to a secure state, so GFBS incorporates many of the same basic concepts. One key difference is that we don’t require every bank in the world that joins the GFBS network to validate every block of transactions. The banks already trust each other. Therefore, we only require a subset – currently 10% of GFBS network participants – to validate a block. As the number of banks increases, that percentage will drop. So, this is a big difference from bitcoin.”
“I can see how that makes sense,” Frank said. “With a hundred thousand transactions a second occurring, that would be a mess. How do you select the banks to validate each block? Randomly?”
“Yes and no,” Delhohn replied. “It is random in a controlled fashion. The algorithm that selects the banks to verify a block makes sure no two banks in the verifying group are controlled by the same person or company. Between that and the fact that there are already hundreds of banks in the network, it’s not only highly unlikely that internal collusion could occur, but it would be impossible for an outside hacker to anticipate which banks will confirm a given block, because he will never know in advance which banks will validate a given block, or on what ledgers the validation will take place on.”
“That’s clever,” Frank said. “What else?”
“Ruth.”
“As previously mentioned,” Ruth said, “Only bank-hosted wallets will be allowed to participate in GFBS transactions, and the design of those wallets will be tightly integrated with the GFBS software.”
“That all sounds good,” Frank said, “But what if customers don’t like this new system?”
“They won’t be asked,” Delhohn said. “Everyone’s current account balance has already been transferred to a BankCoin wallet, and all existing credit cards have been linked in as well. In the U.S., the contents of each wallet will be covered by federal insurance up to a certain point, just the way traditional bank account balances are now.”
Frank mused on that for a moment. It all sounded pretty sound. “So, let’s say I wanted to steal some BankCoin, how could I do it?”
“You couldn’t,” Delhohn stated. “There can be no theft, because BankCoin doesn’t exist outside of GFBS.”
“How about the GFBS blockchain itself?” Frank asked. “How secure is that? Could someone steal within the system – say by moving money from one account to another fraudulently?”
Delhohn blinked. “I have never met anyone who could hack the GFBS blockchain code.”
Shades of Jerry Steiner, Frank thought. But instead he said, “Really? That’s a pretty strong statement. Just about anything can be hacked.”
Delhohn shrugged. “Is there anything else I can help you with?”
“No, that’s it. And thanks. I feel a lot better.”
“I am pleased you feel better,” Delhohn said and rose to leave, with Ruth tagging along behind him.
Well, Frank thought. There it was, straight from the horse’s mouth. It was unlikely that anyone understood the GFBS software better than Delhohn, other than Schwert himself. Not only was Delhohn the chair of the TSC, but he’d written more lines of the GFBS code than anyone except Schwert.
Still, no one was going to convince Frank that the GBFS code, or any other code ever written, couldn’t be subverted. He just needed to figure out how.
Then he had a troubling thought. Perhaps the code had already been hacked? Trillions of dollars changed hands every year through the global banking system. Maybe someone was just biding their time, waiting for more banks to sign up before pulling off a massive theft.
He tapped his fingers on his desk. How should he go about figuring out whether that was the case? Well, how about beginning at the beginning? After all, GFBS was open source, and every version of the software was archived at GitHub. Why not see what had changed in the software over time?
He started tapping again, this time on his keyboard. Ten minutes later, he had downloaded the GFBS software, just as it had originally been contributed by Schwert. Then he opened the bank’s copy of the GFBS ledger, and downloaded a copy of the first block ever created by the GFBS software – the so-called “Genesis” block.
That was the easy part. Now he’d have to figure out how to make sense out of the thousands of lines of code that had been changed and added since the original version was revealed. How many lines would that be? He checked the commit register: two hundred forty-eight thousand, seven hundred and ninety-two lines. Ouch! On the other hand, most of those changes were small – minor bug fixes and the like. Only eight hundred and thirty-two contributions added meaningful new functionality.
He stared at the screen. Was this a fool’s errand? Maybe. But giving it a try would help him get to know the GFBS software a lot better.
He frowned and got down to work.
* * *
Crypto hadn’t scanned the Web for some time to see what the developer community, and more recently, the press had been able to find out about Günter Schwert, the reclusive genius behind the blockchain Crypto was preparing to destroy. He wondered whether there was anything new to be learned?
It didn’t take long to update the searches he periodically ran on Schwert. The prevailing belief continued to be that Schwert led a life not unlike that of Howard Hughes, the multi-talented industrialist/film director/aviator who retreated into a gilded, reclusive life later in life as phobias took control of his mind. It was unclear whether Schwert had any such issues; only that he shunned public visibility with the kind of determined success that only vast wealth could achieve.
The consensus was that Schwert owned a series of penthouse apartments in a variety of locations. San Francisco, Dubai and Shanghai were most often mentioned, although no one had ever confirmed an address. The emails he sent to project members and the Internet addresses from which he logged on to the project Wiki were invariably untraceable.
Given that Satoshi Nakamoto, the originator of the bitcoin blockchain, was similarly secretive, there was wide tolerance for Schwert’s behavior. Naturally, many wondered whether Schwert in fact was Nakamoto – or vice versa. Or that each was in fact someone else – or “else’s.”
As usual, a few techies developed the same level of fixation on uncovering Schert’s location as programmers often natively brought to other obscure challenges, such as taking the description of Pi to the thousandth power. Some fans ran syntactical comparisons between large sets of emails from Nakamoto and Schwert – as well as of other tech luminaries, like Linus Torvalds – to see if they could discover any tell-tale similarities. No matches were found, but some were unwilling to let such a tempting conspiracy theory go. They conjectured that whoever Schwert was – assuming, of course, that Schwert wasn’t simply Schwert – had covered his trail simply by using Google translate to change a draft email into another language and then back again before sending it to erase anything characteristic of his own writing style or vocabulary.
Enough, Crypto concluded. There was still nothing to be found but rank conjecture. More searching would simply be a waste of time.
Now as to this Adversego person … that was another matter. Crypto had found sufficient information about him to conclude he was an adversary not to be taken for granted. He would need to follow Adversego’s investigations closely.
Crypto logged on to GitHub and observed that Frank was logged in as well. He began shadowing him.
* * *
Author’s Notes for This Week:
Let’s continue with the name game. Fans of the late, lamented Douglas Adams will right off have spotted Dirk Gently, the alias of the proprietor of the Holistic Detective Agency of BBC and novel fame. Just a bit of titular fun, as Dirk Delhohn shares no other physical or personality traits with the Adams character.
While on the topic of names, I’ve not yet come up with a title for book five, or with an appropriate tagline (a much more challenging task, since it needs to rhyme, or at least scan succesfully). There’s much from a marketing perspective to be said for branding a series, and one way I’ve done that is by standardizing on the “tale of” subtitle, which also carries through into the title of this site (“Tales of Adversego”). The final title will likely be something like The Blockchain Affair, or some similar pair of words bracketing the word blockchain. It may be that there’s a better centerpiece to be had, but in this case the technology itself seems to be catchy enough.
Do you agree? As always, all ideas and suggestions are most welcome, and accepted ones will be highlighted in the Acknowledgements section of the book.
Finally, if you’re never wondered about hero’s somewhat odd name, why Frank Adversego, anyway? The answer is fairly obvious, if you pause and think about his personality characteristics: on the one hand, apt to suspect that he’s the smartest guy in the room, while at the same time perpetually acting as his own harshest critic. Or, to phrase it another way, someone who is frank to be point of being adverse to his own ego. Voila.
Next Week: Fang Foils Frank yet again, and I introduce the dark international plot that will provide some of the tension that drives the rest of the novel.
And here’s some good news that I won’t publicly announce until the details are finalized. I’ve been approached by the Acquisitions Editor of an imprint of the largest publisher of audiobooks in the world, who wants to produce and distribute the Frank Adversego series. Assuming we come to terms, you’ll be able to look forward to listening to unabridged versions of the first three Tales of Adversego in three to five months time.
“The consensus was that Schwert owned a series of penthouse apartments in a variety of locations.”
It would be funny if Schwert was one of those couch surfing coders, like the late Adrian Lamo. The ultimate of such “homeless” geniuses was in my mind Paul Erdős. This man published 1,500 mathematical papers in his lifetime (i.e., one paper per fortnight from age 20). Look up “Erdős number” to see how people looked at him. He had no fixed address and lived a life of being a guest of other mathematicians.
(Andy, if this is a spoiler, please remove this comment)
Rob, regrettably, it’s not a spoiler alert (yet). But it does intrigue me, so I’ll read up on these two guys, and thanks for the suggestion. It may lead to a minor character in this book, or a major one in a future one.
https://www.dasp.co/timeline.html – some background on contracts
tech notes on those eth contracts
https://arvanaghi.com/blog/reversing-ethereum-smart-contracts/
Thanks, Frank
Another tidbit about the outside layers:
https://saleemrashid.com/2018/03/20/breaking-ledger-security-model/
twitter comment:
Citizen of Nowhere@wfaler
“Blockchain” sounds so much cooler than “slowest distributed database known to man”.
What do you think about Lightning as a way to address that problem? A good idea or just a kluge? I lean towards the latter.
“slowest distributed database known to man”
The Hedera Hashgraph looks like indicating a direction to a solution.
http://www.thehindu.com/sci-tech/technology/can-hashgraph-succeed-blockchain-as-the-technology-of-choice-for-cryptocurrencies/article23348176.ece
It is a proprietary technology, that itself disqualifies it as a public solution. And last time I looked, they had not solved the sibyl attack problem (just adding sock puppet accounts to swamp the network). But the idea of using a massive parallel network with light computations per node would handle the bandwidth and speed problem.
But thi is all moot in this situation. Trust makes more efficient. Bitcoin is slow because it goes without any trust between parties. In a private blockchain, you do have trust. Which means that in a non-public block-chain, you do not need a proof of work and you can have a much higher bandwidth.
The proof of work concept has always seemed to me to be interesting in concept but an inefficient and unnecessary approach in practice. Requiring proof of investment makes more sense to me (the idea being that the benefits to protecting the system are greater than the temptation to game it), but that’s basically manufactured trust, expensive in a different way, and still not guaranteed, since the prize from fraud can be greater than the loss, or diminution of the value, of the investment.
At the end of the day, private blockchains make more sense to me, with not just trust but accountability through normal legal means. Of course, that defeats the original anonymity and anarchic goals of Nakamoto & Co. When all the dust settles, it may be that the libertarian and anarchists may succeed mostly by making capitalists more efficient rather than distintermediating the traditional middlemen. We shall see.
another bit of info:
https://www.nccgroup.trust/us/our-research/discovering-smart-contract-vulnerabilities-with-goatcasino/?style=Cyber+Security
Lightning feels like a kludge to keep things moving along as the whole blockchain paradigm starts to be accepted.
https://medium.com/@argongroup/bitcoin-lightning-network-7-things-you-should-know-604ef687af5a
I don’t envy you explaining the whole thing in simple terms for your readers but I think you have a good plan
and direction to get there, Poor Ruth, I get the feeling she is going to come up with some key aspects of
the plot when she talks to Frank directly, alone. That’s just me, as Frank figures things out he might have a
conversation about his concerns.
https://medium.com/@argongroup/an-update-on-bitcoin-cash-88fdcd772bf9
The to explaining blockchain in a novel is not to go to deep. The actual concept takes one sentence. Providing enough to work as part of plot takes more, but I’ve split it up into several discussions, each covering a different aspect.
As to Ruth, at the moment, she’s a seed I have planted that hasn’t yet sprouted. She may blossom or be weeded out, depending on how the over all plot progresses.