This novel is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International Licence (CC BY-NC-SA 4.0).
This licence allows anyone to copy, distribute and adapt this work as long as the following conditions are adhered to:
More details about the licence can be found at http://creativecommons.org/licenses/by-nc-sa/4.0/legalcode
Any of the above conditions can be waived if you get my written permission beforehand.
This book is dedicated to my father.
PART I - THE NEAR FUTURE
“… most of the people in this world accept the fruits of technology in about the same way as a kitten accepts milk”
Through the fog of deep sleep, a noise gradually registers on my subconscious. It’s a ringing tone, urgent. The sound of a telephone.
I sit up and squint at the time displayed on my phone band, lying on the bedside table. It’s 2.40 AM. More importantly though, it’s not the source of the disturbance.
The sound must be coming from the landline in the flat, I realise. I had a phone line put in three years ago when I moved in, mostly at my parents’ insistence. I’ve never used it since. Hardly anyone has the number.
I pull myself up from the bed and move into the living room. Through the room’s floor-to-ceiling windows I can see the night-time lights of central London. I really ought to get round to putting up curtains some time.
I hunt around for the phone amidst the room’s clutter. I know that it’s here somewhere, buried underneath the detritus of several years of bachelor living.
The phone continues to ring. Whoever’s calling seems exceptionally patient in waiting for me to answer. This had better not be some offshore call centre, wanting to sell me insurance …
I finally locate the phone, but only after starting at the wall socket and following the cable all the way to the handset.
I answer the phone. “Hello?” I manage to say.
A pause, then I hear a faint female voice at the other end. “Tom, is that you?”
“Yes,” I answer. “Who is this?” My throat is dry and the words come out as a series of rasps.
“It’s Faiza,” the voice says. “You know, Max’s wife …”
She pauses again.
“It’s about Max,” she says. “I don’t know who else to ask … Please help.” Her voice sounds small, distant.
Our entire conversation lasts no more than two minutes. After we hang up, I return to the bedroom and go over to the table. I pick up the earpiece lying beside my phone band and pop it into my ear.
“Hey Iris,” I say.
Iris responds immediately. “Yes Mr Jenkins,” she replies. I like my digital assistants formal.
“Book me a plane flight to San Francisco for this morning,” I command. “Direct, no connecting flights. Open return date.”
Iris sets to work and within a couple of seconds a seat has been booked for me on the 10 AM flight from Heathrow. I then start packing some gear for the trip and making other preparations. All plans for further sleep are put aside.
So just like that I’ve committed to travelling five and a half thousand miles, return date unknown.
What’s that, dear reader, you think me a bit impulsive? Well, what would you do if you had just been told that your best friend had disappeared without trace?
TUESDAY AFTERNOON - EN-ROUTE TO SAN FRANCISCO
The Boeing jet banks and changes direction, rousing me from slumber. Peering through the cabin window, I can see that we’ve made land and are now crossing the North American continent.
I’m an enthusiastic cloud-spotter and so always try to book window seats on flights. The clouds are looking particularly magnificent today - to the north of the plane I spy a couple of giant Cumulonimbus, towering cathedrals of white and grey, lit up by the rays of the Sun. They’re bad news for the poor sods who happen to be underneath them (at this time of year they’re most likely to be suffering a sustained snowstorm). However for those of us who happen to be cruising at thirty-thousand feet the clouds are a majestic sight.
I’m travelling light - just carry-on luggage, nothing checked into the hold. Years of business travel have taught me that the single best way of avoiding problems during air travel is to never ever check any luggage in. Apart from a change of clothes and a bag of toiletries, all I have in my bag is my laptop computer and a few associated cables and other items.
Wrapped around my left wrist is my band. This is my latest tech gadget and I’ve quickly come to depend on it. It’s the first wrist device that can realistically replace a smartphone, rather than just act as a complement.
Launched earlier this year by a certain company out of Cupertino, the band has black and gold styling (a combination of liquid metal and high grade polymer plastic) that allows it to pass as a stylish, albeit slightly chunky, piece of jewellery. A small monochrome always-on display shows the time, along with any messages that Iris deems worthy of my immediate attention.
Iris is my digital personal assistant. I interact with my band mostly by talking to her. Digital assistants have come a long way in the past decade - for one thing Iris is programmed to only respond to my voice. The era of being able to play pranks by standing close to a friend and commanding their agent software to send an embarrassing message to a loved one is well and truly over.
Every morning Iris wakes me with a personalised daily briefing. This starts with her reading out a summary of my schedule for the coming day, followed by the weather forecast and a summary of any important emails that have arrived in my inbox overnight. She concludes with major news headlines from around the world.
I unwrap the band from my wrist to reveal, on the underside, a touch-enabled high resolution flexi-LED screen measuring approximately twenty centimetres long and six centimetres wide. I lay it flat on my tray table. On this screen I can read emails, watch movies, play games, surf the web or anything else that would normally be done by a smartphone or tablet. A bistable metal spring, embedded in the device and running its full length, ensures that it stays flat when I straighten it. The design is still uncommon enough that I can enjoy the look on the faces of passers-by as I seemingly break the device by slapping it hard against my forearm in order to get it to wrap securely around my wrist.
Lodged comfortably in my right ear is the companion earpiece. This allows Iris to interact with me discretely, without disturbing those around me. The earpiece’s power requirements are so low that it doesn't have a battery. Instead it uses a graphene-based thermoelectric generator, powering itself off the temperature differential between my body and the ambient air. As long as the air temperature stays below 28 degrees Celsius, the generator can provide enough juice to power the earpiece.
The earpiece has several microphones built into it. Iris is pretty good at hearing me even in noisy situations - if she struggles to understand me I can always raise my wrist to my mouth and speak into the band's microphone. This is guaranteed to ensure that she hears what I’m saying but does have the unfortunate side effect of making me look like a Secret Service agent.
And of course if I want to listen to music, I just have to pop a second earpiece into my other ear and Iris automatically switches to stereo mode. It’s good for playing games as well, not that I get much time for that these days.
With the band laid flat in front of me, I launch my email client. Faiza has sent me a lengthy message, detailing everything about Max’s disappearance, and her actions so far. As I go through the notes from her I can see that she’s been exceptionally thorough. I am quickly able to build up a timeline of the events so far.
Max disappeared some three days ago, going out on the Friday evening, saying only that he had some people to see. Some hours later, Faiza called his mobile, wondering where he was, only to hear his phone ringing from their bedroom. Beside his phone was his wallet, with all his bank and credit cards still inside.
With no immediate way of reaching Max, Faiza waited. And waited. And waited. No sign of Max.
By Saturday lunchtime Faiza was getting worried. She reported his disappearance to the police, and they’ve been looking into it, but with no result so far. Faiza’s been out looking for him every day but nobody seems to have seen him. After two days of fruitless searching and feeling increasingly desperate, she decided to turn to me.
I have left my boss a voicemail to say that I need to take time off urgently for personal reasons and that I’ll be back in touch at the start of next week. I have a large surplus of holiday time accrued - the result of having worked the past two Christmases - so I have plenty of banked holiday to use up. I’m sure he’ll manage without me for a couple of days.
The jet makes another course change. The pilot comes on the tannoy, announcing that there’s turbulence ahead. Instinctively my hand goes to the buckle of my seat belt, checking that it’s properly fastened. Satisfied, I return my attention to my band.
Technology has fascinated me ever since my parents bought a computer when I was just six years old. Although I was the youngest child, it was I who was most entranced by what the computer could do and how it worked. While my sister and brother used the computer to play games and write up their homework, I wanted to do, and understand, much more. My parents couldn’t answer any of my questions so I joined a local computer club in Guildford in order to meet people who could. I learnt my first programming language there - Scratch. I was a fast learner, especially once I discovered that the internet was a treasure trove of information on everything to do with computing.
By the age of eleven I had mastered a range of programming languages, far ahead of any of my classmates at school - or the teachers for that matter. I pestered my parents into allowing me to attend a secondary school that specialised in the sciences and maths, despite it being on the far side of Guildford from our home.
It shouldn't come as a surprise that when it was time to go to university, I chose to study Computer Science. I applied to a number of the top universities in London. Getting accepted to my preferred one was tough but I won through in the end.
It was at university that I met Max. We quickly became good friends. As well as studying for the same degree, we shared many of the same outside interests, especially books and movies. We shared a flat from the second year onwards.
Max was brilliant. I mean off-the-scale brilliant. While I and the vast majority of the students in the CS class had to work damn hard to master all of the material, Max sailed through. He was top of the class in every single exam.
Yet one of the most surprising things about Max was his humility. He might have been brilliant, but he didn't boast about it, or make others feel inferior. He was patient and good at explaining even the most abstract of concepts.
Max and I both graduated near the top of our class (well, I was the one near the top of the class - Max was, not surprisingly, at the top). From there our paths diverged.
I joined an investment firm in the City, working in its IT division. Financial trading these days is all about speed. Anything we can do to reduce our response time to market events helps the company make money. My job, as I like to joke, involves battling the speed of light. Any enhancement that shaves microseconds off the time it takes for our systems to get market information, or the time they take to react to it, gives us a competitive advantage.
Once investment firms had floors packed with Type A personality traders, screaming into phones to make deals. They’re all gone now. Rather than have one trader execute tens of trades in a hour, our computer systems can execute orders of magnitude more, and can work round the clock. The individual profit margin on each trade might be small, but it sure adds up when scaled to billions of trades a day.
My job involves working with some of the largest, fastest computer equipment on the planet, running some very clever algorithms. It's fun at times, no question, but the tolerance for mistakes is zero. Management remembers all too well the glitches in the automated trading software a decade or so ago that led to massive stock sales, and near calamitous drops in the stock indexes. Every minute of missed trading costs the company upwards of a million pounds in lost profit opportunity so I’m expected to fix any issue within minutes. I’m on call 24x7. There’s a lot of stress in my job, but the pay is good. Very good.
So all-in-all, life’s going pretty well. I have a nice apartment, with a fantastic view, in the centre of London. I get to travel regularly as part of the job, visiting the company's secure datacentres that are scattered across the world. My boss is due to retire in a year or two and senior management has hinted more than once that I'm first in line to take over.
Max's career followed a different path. He'd always wanted to live in the USA and his high university marks meant that he was easily able to find a Silicon Valley firm willing to sponsor his green card application. He moved out to California within three months of graduating. He worked for a number of companies in the Valley, always refusing to work for any of the tech giants, preferring instead to work at smaller companies whose principles and ethics mirrored his own.
Then he met Faiza. She was a business student, studying for a Masters degree, and living in downtown San Francisco. She was a second-generation immigrant whose family had come over from Pakistan forty years ago. Max mentioned meeting her, in passing, in one of his emails to me, and that they’d been out to see a movie together. The next thing I knew they were engaged and living together. I was the best man at their wedding, twelve months later.
To be perfectly honest I missed Max’s company when he moved to the States. Even though I could still talk to him regularly, I missed not having him about. Not being able to go out for meal. Or go see the latest horror film together.
And I have to admit that those feelings got worse when he announced that he was getting married. I felt that he was moving into the next phase of his life - new country, wife, etc. - and leaving me behind. I noticed how it always seemed to be me making the calls to him, never the reverse.
About six months ago Max changed jobs, accepting a new position at DORG (short for Digital Online Rights Group), the internet rights policy group, based in downtown San Francisco. Max had been following the organisation’s activities for a couple of years, particularly their work championing reform of the copyright and software patent laws, and seemed to be genuinely in awe of them. Every time we talked since, he’d mentioned how much he was enjoying working there.
And then, without any warning, he vanished.
Well, almost without warning.
Deep in my Inbox is an email from Max, sent to me just ten days ago. It’s short, just two sentences: he said that he wanted my advice - he didn’t say about what - and asked me to give him a call when I had a free moment.
I’d seen the email at the time that it had come in but had never quite found the time to reply to him, much less call him. Now I can’t shake the feeling that Max’s disappearance is somehow connected to that email, and, far worse, my failure to respond to it.
TUESDAY EVENING - SAN FRANCISCO INTERNATIONAL
The jet lands right on schedule in San Francisco. As I’m travelling light, I am able to breeze through immigration and customs.
Faiza is there to meet me, outside of Arrivals. I spot her before she sees me. She’s an attractive woman in her mid-twenties, about five foot six. She has shoulder-length straight black hair, which she’s wearing with the currently-fashionable brow-length bangs.
Faiza’s wearing jeans and a stylish wrap-around yellow blouse, which curves around her belly. No, make that her extended belly …
Yes, she’s pregnant. At least six months gone, by my, admittedly layman, estimate. This is a surprise to me - Max hasn’t said anything about impending fatherhood in any of our conversations.
Faiza’s eyes have dark rims around them and are sunk low in their sockets. It doesn’t look as if she’s slept in days.
Faiza catches sight of me and she smiles, then rushes forward. I head towards her. We meet and she hugs me tightly. “Thank you for coming,” she says, still holding me closely. “I’ve been out of my mind worrying about Max.”
We head out of the terminal and take the BART back towards the city. The San Franciscan evening rush hour is still a couple of hours away and the carriages are relatively empty of passengers. Outside it’s a mild November afternoon, the sun bright but low in the cloudless sky.
“I’m so glad you’re here,” Faiza says to me as we speed through the Californian landscape, “I’ve done everything I can think of to find Max … I need someone to help me search. You’ve known Max far longer than I have, perhaps you can come up with some new ideas about where he’s gone? And I thought you could help me get into his email - that might give some clues.”
“Absolutely," I say. “Whatever I can do to help, you’ve got it.”
Faiza smiles again, and reaches out to touch my arm. “Thank you,” she whispers.
“Who else have you been in touch with?” I ask.
“Well, I’ve been to the police of course,” Faiza says. “They took down all Max’s details and I gave them several recent photos of him. But that was all last Saturday - I’ve heard nothing since.
“I also checked with DORG. Apparently Max was at work as usual on Friday. No one there has heard from him since.”
“Have you told other family members?” I inquire.
“No,” Faiza says, hesitating. “I … I’ve told no one else. I don’t get on that well with Max’s parents. If I called them to say that Max was missing, they’d probably say that it was all my fault.”
I nod. I recall that relations at the wedding between Faiza and her in-laws had been formal, even frosty at times. At the time I’d put it down to being due to the stress that surrounds any big event, but clearly things haven’t improved since.
Faiza points at her bump. “Max and I decided not to tell them about the baby until after the birth,” she says. “Getting in touch with them now would lead to lots of difficult questions that I just don’t have time to answer right now. I can’t let anything distract me from finding Max.”
That seems a little puzzling but I decide to let it pass for now. “What about your parents? The rest of your family?” I ask.
“My father passed away last year and my mother’s too ill to travel right now,” Faiza says. “I don’t want to worry her with this right now.”
I’m beginning to understand just how isolated Faiza is feeling. No wonder she reached out to me for help.
We leave the BART at the Montgomery Street stop. Downtown San Francisco isn’t much changed from my last visit, eight months ago. Everything is just dustier - it’s been another long dry summer in California.
We walk the short distance to Max and Faiza’s small apartment, high above Sutter Street. The flat is sparsely but tastefully furnished. Faiza is due all the credit for the stylish furnishings - if it were left to Max he’d probably settle for a mattress on the floor, a fridge and little else.
There’s little space for clutter as the flat is tiny. It’s made up of a bedroom, a combined kitchen/living room and a bathroom.
I drop my bag in the corner. “Right, what would you like me to help with first?” I ask.
Faiza thinks for a moment. “Could you help me access Max’s online stuff? His email? I’d really like to know if he’s still reading his emails … And who he’s been communicating with.”
“You got it,” I say. I look around. There’s a small wooden desk in the living room - I see a power cord for a laptop lying beside it. I point at it. “I presume that’s for Max’s laptop?” I ask Faiza.
Faiza nods. “Yes,” she says. “He had it with him when he disappeared.”
I ponder this for a second. Max took his laptop computer with him, but not his phone or wallet … odd.
“May I see his phone?” I ask. Perhaps I can learn something from his smartphone.
“Of course,” Faiza says. She disappears into the bedroom for a moment. When she emerges she’s carrying Max’s phone. She passes it to me.
Max’s phone is a make and model that’s completely unfamiliar to me - I pride myself on keeping up to date with all the latest smartphones. It has a fairly standard large touchscreen on the front, together with a button in the right bottom corner. So far so normal. What’s unusual about it is that the thing is encased in a thick grey industrial plastic - I get a strong impression that the phone is a prototype. I turn it over and look at the back. There are no markings anywhere on the phone - there’s not even a manufacturer’s logo. Very strange …
“Do you know where Max got this phone?” I ask.
Faiza shakes her head. “I’m not sure,” she says. “I think he got it when he joined DORG, but I’m not sure.”
I tap the button on the front and the screen springs to life. The battery gauge shows a full charge. “I’ve been keeping it plugged into a power adaptor,” says Faiza. “I’m hoping that Max might try to call it and I didn’t want to miss the call.”
The phone prompts me for a four digit passcode. “Any idea what Max’s passcode is?” I ask Faiza.
Again she shakes her head. “No, I don’t,” she says. “We don’t share devices much - I have my own tablet and laptop computer.”
I try entering a couple of simple passcodes - “1234” and “0000” just to see if they work. Neither of them succeed.
Faiza stifles a yawn with her hand. She looks flat out exhausted. “Excuse me,” she says. “If you don’t mind, I’m going to have a lie-down for a while - baby and I need to rest.”
There’s much I want to ask her but she’s clearly tired. My questions can wait. “By all means,” I say. Faiza goes into the bedroom and closes the door.
I return my attention to the smartphone. I turn on the lamp on the desk and hold the phone close to it. I angle the phone carefully so that the light reflects off its screen.
I’m looking to see whether any parts of the screen have more fingerprint grease on them than others. Assuming Max has set up the security on his smartphone to require the passcode to be entered every time he wakes it up, he’s going to be entering the passcode many times a day. I should be able to get some idea of the digits in the passcode by looking for the regions of the screen that are the most greasy.
Sure enough, a couple of areas look worse than the others. Lining them up with the passcode keypad suggests that Max’s passcode contains the numbers three, seven, eight and nine.
But what order do these numbers come in? There are twenty four potential combinations. I start with a few of the possible combinations but all are rejected.
After four failed attempts a message appears on the screen:
SIX FAILED ATTEMPTS - FOUR REMAINING BEFORE LOCKOUT
Damn. Max must have configured his phone to lockout after the entry of ten incorrect passcodes. I have twenty potential combinations left and only four remaining attempts. Trying each of the combinations is no longer an option. I’m going to have to be smart about this.
I get up and wander over to the window. I ponder what to do now. I could use my remaining four attempts but if I fail then I’ll be left with a locked-out device. I would then have to enter Max’s master password in order to regain access and that is likely to be much longer and therefore harder to guess.
The digits - three, seven, eight and nine - keep swirling around in my head. There’s something familiar about them, but I can’t quite recall what. I pace back and forth in the room trying to tease a memory in my mind out into the open.
Then I remember. Max had a bike when he was at university. Bloody dangerous it was too - he nearly got run over by London traffic on multiple occasions - but he insisted on continuing to use it as it was “good for the planet”. Anyway he had a combination lock for it. One time, during a bus strike, I had borrowed the bike and Max had told me the code to the lock. It was … eight three seven nine.
Hardly daring to breathe I tap the code into the phone. The screen glows blue and, for a second, I think I have access. Then a message appears on the screen:
FINGERPRINT RE-AUTHENTICATION REQUIRED
An outline around the power button starts to glow red and I realise that the button doubles as a fingerprint reader. Double damn - the thing is expecting Max’s fingerprint.
Whilst I think about what to do next, I start to look through the drawers of Max’s desk to see if I can find anything that might help me access the phone. I find the usual desk clutter - paperclips and stationary plus a few bank statements. Nothing that gives me any insight.
In the lowest drawer, amongst a stack of papers, I find a photocopy of a photograph. The image quality isn’t good but I can make out seven men, all casually dressed, sitting around a restaurant table. They’re all holding up drinks glasses, as if about to make a toast or celebrate something. I recognise none of the faces. Max isn’t one of the seven men - perhaps he was the one who took the photograph? Someone has drawn rings around the heads of two of the men, in red ink - why?
Whilst I ponder what to do next, I get up and make myself a cup of coffee. I can feel my body beginning to flag. Although I slept a bit on the flight over, I’m still basically on UK time, where it’s now after 2 am.
As I sip my coffee, I do a few stretches of my back and my legs. The caffeine and the exercise helps to perk me up.
My attention is drawn back to Max’s phone. A message is now displayed on the screen:
MJOLNIR FEATURE ACTIVATED
Below the text is a running countdown clock:
30 … 29 … 28 … 27 …
I feel my heart beginning to race. I look round the screen but see no way of cancelling whatever is about to happen.
22 … 21 … 20 … 19 …
I hold down on the power button, hoping that I can shut the thing down in order to buy me some more time. No such joy - the button appears to have been deactivated.
The countdown continues.
9 … 8 … 7 …
In desperation I press each of my fingers in turn against the reader - hoping that somehow it can be fooled into thinking that Max is logging in.
3 … 2 … 1 … 0
The phone’s screen fades to black. It stays blank for a couple of seconds. Then it returns to life again, displaying a “Welcome” message and a prompt for a user ID and password.
The phone has been wiped. Crap.
I put the phone down and rub my eyes. From somewhere in the depths of my memory, I recall that Mjolnir was the hammer of the Norse god Thor. I tap my earpiece. “Iris, tell me about Mjolnir,” I say quietly, trying not to disturb Faiza in the next room. I’m hoping that Iris won’t be thrown by my lousy Nordic pronunciation.
Iris does manage to understand my instruction. Two seconds later she is showing me the Wikipedia page for Mjolnir on the screen of my band.
By reading the entry I learn that Mjolnir, a mighty weapon, could only be wielded by Thor. Furthermore, in the comic books, it was conditioned to transform into a harmless wooden stick if it was out of Thor’s possession for more than a certain length of time. This was the inspiration for a smartphone security application of the same name that wipes the phone if the user hasn’t logged in for a certain length of time. Glancing at the time, I can see that it’s now four days since Max left the apartment. Max must have configured the software to wipe after ninety-six hours.
I rub my forehead. Max has certainly been taking extreme security precautions with his phone. I know lots of people who have their passcodes set up to lock the phone after a series of failed attempts, but this is ridiculous. Why would Max go to such lengths to protect the data on his phone? What was he storing on there?
As I ponder this, the door of the bedroom opens and Faiza appears. Despite the relative shortness of her rest, she looks better for it. “Any luck getting in?” she asks.
I shake my head sheepishly. “I’m afraid not,” I say. “The phone just wiped itself, without warning … I don’t think it’s anything I did.” Even to my ears, my words sound pathetic - here I am, the great tech whizz, just flown in and already technology is wiping itself around me.
Faiza clasps a hand to her mouth. “Oh no!” she gasps. “That might have been my only link to Max!”
She starts pacing the room in frustration. She then turns on me angrily. “I was holding on to the phone, keeping it charged just in case Max should call,” she shouts at me. “Now that’s impossible!”
“I know, and I’m sorry,” I say. “But I don’t think it was my fault. Judging from the screen messages, Max had special software running on his phone that caused it to wipe after a certain time of inactivity. It’s been exactly 96 hours - four days - since he disappeared. He must have configured the software to wipe the phone after this amount of time.”
Faiza takes a deep breath and calms down. “You’re right, I’m sure - sorry for getting mad at you,” she says.
“Thanks,” I say, relieved that she’s willing to absolve me of blame. “Do you have any idea why Max would protect his phone so securely? Why was he so afraid of it being stolen?”
“I have no idea,” says Faiza. “I don’t know what he had on there that would be so secret.”
I turn and stare out of the window, thinking.
Faiza decides to change the subject. “I was planning on going and getting something to eat. Want to join me?” she asks.
I’d eaten well on the flight over but figure that she could do with company right now. “Sure,” I say.
Faiza brightens. “Great,” she says. “I know this excellent place on O’Farrell. It’s only a couple of blocks from here.”
We pull on our jackets and head downstairs. Outside it’s long since dark. The temperature has cooled from the warm autumnal weather that welcomed me when I landed just a few hours earlier.
As we walk, I decide to try a little small talk. “When’s the baby due?” I ask.
“The beginning of February,” replies Faiza.
“And how’s the pregnancy going?” I enquire.
“Fine so far,” Faiza says. “I got tired at first and slept a lot but that passed after a couple of months. My feet hurt at times but Max is such a sweetheart - he’d wash my feet and give me a foot massage and I’d feel much better …”
Her voice drops away and she stops walking. “I … I just can’t imagine what’s happened to him … I just want him back … for me and the baby.”
I put my hand sympathetically on her shoulder. “I know,” I say. “We’re going to find him, that’s a promise.”
We resume our walk and soon reach the restaurant. One of the waiters greets us, bowing low.
“Good evening Madam … Good evening Sir … Table for two?”
“Do you want to sit in the meat or vegetarian section?”
Faiza’s a vegetarian so, as a courtesy to her, I agree to go veggie tonight.
The waiter shows us to a quiet table in the vegetarian section of the restaurant. The place is relatively empty, with only a few other tables occupied.
I dimly recall a time from my early childhood when restaurants and other places were segregated along smoking and non-smoking lines. Hard as it is now to imagine, there was once a time when people could smoke in public, virtually anywhere. Looking back now it all seems rather barbaric but then so much about the 20th Century was.
The restaurant is a modern fusion affair, serving foods from many parts of the Indian subcontinent. When the waiter arrives to take our order, I request a spicy lentil curry, some naan bread as a side dish and a bottle of Kingfisher beer to wash it down.
Faiza orders a vegetable korma and plain rice plus a glass of tap water. The years-long drought in California means that restaurants now only serve tap water on request. And the increasingly-strict water rationing means that they charge for it.
The waiter brings our drinks, along with some papadums and sauces.
Faiza munches on a piece of papadum. “It’s great that you’re here,” she says between mouthfuls. “Looking for Max on my own has been tough.”
“Where did you look?” I ask.
“Where haven’t I looked?” Faiza replies. “I checked all the local hospitals, just in case that Max had been admitted to one of them in a coma. I’ve been to all the restaurants and other places that Max and I liked to hang out at. I’ve put up posters all round the centre of San Francisco.”
“You’ve been most thorough,” I say sympathetically.
“You know what the worst thing is?” Faiza continues. “It’s the urge to be constantly on the look-out. Wherever I am, I keep looking out of the windows, just in case Max walks by. It’s exhausting.”
“And when I’m out walking in the street,” Faiza says, “I keep stopping complete strangers ... just because they happen to look like Max from behind.”
The waiter brings our main dishes. The lentil curry is excellent, especially accompanied by the beer. I find that I’m unexpectedly hungry. We start to eat.
“How long can you stay?” Faiza asks, between mouthfuls of vegetable.
“As long as you need me to,” I reassure her. “I’ve got lots of untaken leave banked up - my boss has been nagging me forever to use them.”
“Thank you,” says Faiza, reaching out to clutch my hand across the table. “I’m so glad you’re here.”
We fall silent as food takes over our attention. As I eat, I mull over the incident with Max’s phone. What on earth was stored on the phone that would merit so much security?
We finish our meals. By now it’s past ten o’clock and my head is beginning to spin from the long day. The beer isn’t helping my alertness either.
Faiza sees me flagging. “Shall we call it a night?” she asks.
“I guess so,” I say. “I’ve been up for nearly twenty four hours.”
“Of course,” Faiza says. “We’ll head back to the flat and I’ll make up the sofa-bed for you.”
We ask the waiter for the bill. When it arrives, Faiza reaches out and touches my arm. “I’ve got this,” she says insistently. She pulls her smartphone out of her bag and says to the waiter, "I’ll pay by Cube.”
She taps her phone against the side of the waiter’s tablet and the meal is instantly paid for. Somewhere in the depths of the internet a ledger has two transactions added to it - one decrementing Faiza’s account for the cost of the meal and another incrementing the restaurant’s account by the same amount.
We head back towards Sutter Street. As we walk Faiza says “Do you know the worst thing about all this? I find myself already using the past tense to describe Max - ‘Max was’ and ‘Max did’ rather than ‘Max is’ and ‘Max does’. It’s like my subconscious is already telling me that he isn’t coming back …”
“You mustn’t think like that,” I say to her. “We have to stay positive.”
I stop and turn to face her.
“I’ll make a pact with you,” I say. “If you catch me referring to Max in the past tense, tell me. I’ll do the same for you. Deal?”
“Deal,” Faiza says, firmly.
We arrive back at the apartment building. Once in the flat, Faiza finds me some sheets, a pillow and a blanket for the sofa-bed. I make the bed quickly. Within seconds of putting my head on the pillow I’m asleep.
ELEVEN YEARS PREVIOUSLY
“No, no, NO!!!” thundered Dr Fry. He threw his whiteboard marker pen to the floor and, for a moment, I thought he was going to bring his foot down on it. Self-control however re-established itself just in time - Fry straightened up, took a deep breath and turned away from the board. The pen would live to write another day.
To say that this first term Computer Science tutorial was not going well would be a severe understatement. Dr Fry, as new to teaching as we first year students were to university life, was making the classic mistake of taking our inability to comprehend as a personal slight against his teaching abilities.
The topic for the tutorial, and the source of Fry’s exasperation, was recursion. As an abstract concept, recursion sounds straight-forward - solving a problem by writing code that calls itself in order to solve smaller instances of the same problem. However the implementation details can befuddle even expert programmers. And understanding recursion is one thing, trying to explain it to a group of uncomprehending beginners quite another, as Dr Fry was learning all too painfully.
Fry was on his third explanation attempt. This time he’d decided to use the example of fractal graphics. This was a sensible-enough decision as fractals, with their patterns within patterns, are well suited for drawing using recursive code.
However Fry had then made life much harder for himself by choosing a fractal graphic shape that relied on two recursive functions. Both of these functions called each other as well as themselves, an approach known as mutual recursion. Each time either of the two functions were run, a further four recursive function calls would be generated. And each function was called many, many times.
Keeping a grip on all of this is tricky, even when using paper and pencil to keep track of the recursive layers. I was someone who felt that they understood recursion pretty well, having used it in a number of school projects, and even I was struggling. Every time I tried to step through the code, I kept getting stuck in infinite loops. The other students in the tutorial were faring even worse, hence Dr Fry’s ire.
There was a knock on the door. “Come in,” barked Dr. Fry, irritated at the interruption.
A tall, gangly youth entered the room. He had dark curly bushy hair which looked as if it hadn’t been washed in quite a while. I vaguely recognised him - I recalled spotting him at one of our lectures at the start of term. That was six weeks ago - I couldn’t remember having seen him since.
The youth sat down in the empty seat beside me.
“Ah, good afternoon Mr Whitting,” said Fry. “He glanced down at his register. “I see that this is the first tutorial you’ve bothered to attend …We’re honoured that you have decided to grace us with your presence.”
The youth mumbled an apology but that didn’t placate Fry. He gestured at the code that he’d written up on the board for the fractal graphic. “Max, perhaps you could draw the graphical output?” Fry asked. He had obviously decided to resort to the centuries-old technique of punishment through humiliation in front of peers.
Max grumbled something under his breath, slowly got to his feet and walked over to the whiteboard. He studied the Python code for all of ten seconds, then started drawing on the board. His pen moved back and forth, following the execution steps of the algorithm. I marvelled at how he was keeping track in his head of all the mutual recursion.
After a few minutes Max stepped back from the board and revealed the results of his labours:
“I think this is what you wanted,” said Max to Fry, completely unfazed at Fry’s attempt to embarrass him. “The code draws a Sierpiński Curve, doesn’t it?”
Fry, surprised that Max had finished already, went over to the whiteboard. He scanned Max’s drawing. “Yes, that’s right,” he conceded, sounding disappointed that Max had solved his problem so effortlessly. “Well done.”
Max gestured at the functions definitions for turning right and left. “I think you got the turns the wrong way round,” he said. He switched the “+90” and “-90” degree operations around in the functions. “Radian calculations go anti-clockwise, not clockwise” he reminded Fry. He spoke matter-of-factly, without malice, looking Fry straight in the eye.
Fry reddened, embarrassed at having made a basic mathematical mistake in his code. “Yes, that’s quite right … good spot,” he said hurriedly. “Thank you for … uh … enhancing the code.”
I had to fight hard to suppress a snigger.
Max sat back down beside me. Fry, still embarrassed by his error, realised he needed to regain control of the situation. “Right everyone,” he said. “Try drawing the pattern out for yourselves. See if you get the same result as Max.”
The class set to work. One of the other students put his hand up to ask a question and Fry moved over to his desk.
“Nice work,” I said to Max. “Fry was sure you were going to fail.”
“Thanks,” said Max. “Recursion is one of my favourite programming techniques.”
“Is it?” I said. “I try to avoid it - it’s so easy to make mistakes … for the computer to get caught in an infinite loop.”
“Yes, but at least the code’s clean enough that the mistakes can be spotted easily,” countered Max. “Simple code is almost always better code - easier to correct, maintain and enhance.”
Fry coughed loudly in our direction, his less-than-subtle hint that we had better things to do than talk.
“Maybe,” I admitted, lowering my voice. “But the performance hit from all that manipulation of the stack can be huge, not to mention the memory it consumes. Give me an iterative approach any day.”
I heard Fry’s voice boom out towards us, “GENTLEMEN! Will you concentrate on the exercise in front of you … in silence!”
“This sounds like a good beer discussion,” Max whispered to me. “How about we continue this down the union after we’re done here?”
“Deal,” I said. “I’ll buy the first round.”
First thing after breakfast Faiza and I trek over to SFPD’s Central Station on Vallejo Street. The station is decidedly rundown - what with spending cuts (the force’s budget was cut by twenty percent last year) and ever rising pension bills, there isn’t much money left over for building maintenance I guess.
We have an appointment with Inspector Lister, from the Juvenile and Family Services Division. Lister, mid-fifties, is a big, powerfully built man. I certainly wouldn’t want to be on the wrong side of the law with him around. He listens to us sympathetically and seems pleased when I mention that I’ve travelled over from the UK to support Faiza.
Despite his sympathy, or perhaps because of it, Faiza wants to see tangible signs of progress in the case. “I logged my husband’s disappearance with you on Saturday afternoon,” she says to him. “You must have found something out since then?”
Lister picks up a tablet from his desk, and flicks through a few pages.
“I’m afraid not,” he says. “Your husband’s name and description have been logged on our missing persons database. The details have been passed to all police forces in the State. No reported sightings yet.”
Faiza is clearly frustrated by the lack of progress. “Is that all?” she says, her voice rising a couple of notches in both pitch and volume. “Shouldn’t you have more to show by now?”
Lister, veteran police officer that he is, doesn’t rise to the bait. “I’m sorry,” he says, his voice taking on an even more soothing tone. “I know you want your husband found. We’ve uploaded his image to our CCTV software and it’s looking for any images of people that would fit his description. We’ve got cameras throughout the city … If any matches do come up, you will be notified immediately - I promise you.”
“That’s it?” Faiza says, incredulously. Lister’s attempt at placation are having little effect on her, indeed she’s beginning to get angry. “I paid the administration fee for reporting Max’s disappearance - what do you have to show for my $250?”
SFPD, like many police forces across the US and beyond, has introduced usage fees over the past year and a half. In order to report a crime (or, in Faiza’s case, a disappearance), the victim has to pay a fee up front. The SFPD claims that the fee was introduced in order to cut down on reports of spurious or trivial incidents - the fee is refunded on successful criminal prosecution. However most people suspect that the fee is an attempt to make up the shortfall on funding.
Lister remains cool. “I know you’d like us to have every member of the force out looking for him, but we can’t do that.” he says. “We’ve got ten thousand plus cameras throughout San Francisco. If your husband moves anywhere within the city’s boundaries, our software will spot him. I guarantee it.”
Faiza still looks unhappy.
Lister continues. “Your husband probably needs just a little time to himself right now. You said in your statement that the argument between you grew heated before he left. Maybe he's gone hiking or flown to Vegas or something. It’ll blow over. Give him to the weekend and he’ll be most likely back, all by himself.”
Lister rises from his seat. He really is a big man - he towers over Faiza by nearly two feet. “I promise I’ll let you know the moment we learn something,” he says, passing me a copy of his business card. He glances at his watch. “Now if you excuse me, I have to go - I was due on the other side of town ten minutes ago.”
Faiza says nothing more. We take our leave of the inspector and head out of the police station. I say nothing, but inside I’m fuming.
As soon as we’re around the corner, out of view of the station, I turn to face Faiza. “What argument?” I demand.
Faiza reddens. “Max and I did have an argument on the Friday before he left,” she says. “We were discussing whether we could afford new or second-hand gear for the baby … it got a bit heated.”
I think back to the couple of bank statements of Max’s that I’d seen in the drawers of the desk the night before. None of them showed large balances, and the latest one had shown a substantial overdraft. I can’t imagine that Max’s job pays that well. It’s easy to see how money could become tight, and be a source of friction.
All that being true, I am still frustrated that Faiza hadn’t seen fit to volunteer this potentially critical piece of information.
“Look,” I say. “I’m with you all the way on this, come what may. But I can’t help you if you’re holding stuff back from me.”
Faiza nods. “I’m sorry,” she says. “I should have told you about our fight. I just didn’t think that it was relevant - Max wouldn’t just walk out on me … or the baby.”
“You need to tell me everything,” I say, still mad at her. “The big stuff and the little. Any of it could make the difference between us finding Max and …”
“… us not,” says Faiza, completing my sentence for me. “I’m sorry,” she says, her eyes cast down in shame and embarrassment. “It won’t happen again. I will tell you everything - I promise.”
“Thank you,” I say, nodding.
We resume our walk and head back towards Sutter Street. Although I’ve accepted Faiza’s apology, I’m still uneasy. Is there anything else that she is withholding from me? While she might feel embarrassed about having to share the details of the life that she and Max shared, the more I know the better I can help.
Back in the apartment we figure out the plan of action for the rest of the day. With Max’s phone wiped, I decide to turn my attention to his email account. Like most of us he uses a popular cloud-based email service. Can I guess his password and gain access?
Faiza decides to go out and put up some more posters. We agree to meet up later on at a local coffee shop to review progress.
As Faiza gets ready to head out, she pauses. “It may be nothing but I’ve just remembered a weird conversation I overheard of Max’s … It was a month or two back” she says.
“Really?” I say. “With whom?”
“I don’t know,” Faiza replies. “Max was talking on his mobile when I came back into the flat. The conversation ended pretty soon after I entered the room … He seemed to be talking about writing … about pens … and how to test them.”
“Pens?” I say, rubbing my chin. “That doesn’t make much sense. Max knows many things about many subjects but I didn’t think he was into calligraphy …”
Hang on a moment …
“Did he by any chance use the phrase ‘pen testing’?” I ask excitedly.
Faiza pauses to think for a second, then she brightens. “Yes!” she exclaims. “That’s just what Max said! How did you know?”
“‘Pen testing’ is short for ‘Penetration Testing’,” I say. “It’s one way of verifying a computer’s security … People try to break into the system and test its defences.”
“It is legal?” Faiza asks.
“It depends,” I answer. “Yes, if it’s done with the owner’s permission. No, if it isn’t.”
Faiza pales. I can see that she’s worried that Max may have gotten caught up in something illegal.
I pat her arm consolingly. “I’m sure that whatever Max was involved in, it was legitimate. Max wouldn’t knowingly break the law.”
Faiza’s expression doesn’t lift much. “I hope you’re right,” she says.
I gesture towards my laptop. I have the login screen to Max’s email provider open in my web browser. “If Max has been doing some security work, I should find some evidence of it in his email. Even perhaps who he was talking with that night you overheard him.”
“Yes, hopefully,” Faiza says. She pulls her bag over her shoulder and heads to the door. “Call me if you guess his password,” she says as she leaves the flat.
I turn my attention to my computer but I’m still mulling over the conversation that Faiza overheard. Security testing doesn’t sound like part of Max’s day job at DORG. Could he be moonlighting as a security analyst? He’s more than smart enough to do that kind of work and the extra money would certainly come in handy with the baby on the way …
But back to more immediate matters. I push the speculation from my mind and concentrate on trying to guess his email password.
I type in a few obvious passwords - “password”, “monkey123” and the like - but without any success. I’d didn’t expect them to work - Max is far too experienced to choose such easy to guess passwords - but I have to start somewhere.
I pull out a pad of paper and start to make a list of possible passwords that Max might have used. I think of all the possible inspirations that Max might have used for his choice of password - names of his family members, places he’s lived or worked, pets and favourite books/films/TV shows.
I know that if Max has secured his email properly, I’m going to have little chance of guessing his password. However I’m hoping that Max, like most of us, has gotten a little bit lazy and sacrificed some security in the interests of convenience. Instead of a password made up of random characters, I’m hoping that he’s chosen a password that is both easy to remember and easy to type.
Soon I have pages of potential passwords written down. I start to enter them one by one into the email login screen:
WEDNESDAY AFTERNOON 4PM
Five hours later, I’m still entering passwords. It’s a mind-numbingly slow, boring activity, especially as I’ve taken to trying each password three times, just in case I happen to mistype it once or twice. I’m still only a quarter of the way through my list.
Somewhat surprisingly, Max’s email provider doesn’t seem to be at all concerned about repeated failed login attempts. Every so often a helpful note pops up on the screen, giving me a URL to click on in case I’ve forgotten my password, but apart from that it allows me to continue making password attempts. I’m starting to realise why tabloid journalists find it so easy to hack the email accounts belonging to celebrities.
Password cracking is nothing like what is shown in the Hollywood movies. The heroes there have it easy - they just have to guess a character or two in the password correctly and the system will “lock” those in, allowing them to focus on the remaining unknown characters. Thus password cracking can be done in minutes…
In real life, password cracking is nothing like that. A proper password system will respond with either a yes or a no answer - nothing more. It certainly won’t tell you how many of the characters you’ve entered are correct. A random sequence of, say twelve alphanumeric characters, with both upper and lower case letters, and a few shifted characters thrown in for good measure is going to have something like two billion trillion combinations. I could enter passwords until the end of the universe and still not find the right one.
To gee my spirits up, I decamped early and headed to a coffee shop further along Sutter Street. It’s a small independent outlet, with only a few tables, but it’s a hangout for true connoisseurs of coffee. Rumour has it that start-up companies from all over the city come here to have the shop grind their beans, using the shop’s state-of-the-art Mahlkonig coffee grinder.
Whatever the truth to the rumour, the shop’s coffee is excellent. I’m still largely on UK time so regular infusions of hot, highly caffeinated beverages are doing much to keep me going.
I’m immersed in my screen when Faiza enters the shop. She drops down into the seat across from me with a loud sigh. She looks tired. “Any luck with the password?” she asks.
I shake my head. “None. But I still have a lot of potential passwords to try,” I say, holding up the list I’ve compiled. “Hopefully one of them will work.”
Faiza frowns. I suspect she’s wondering just how long this password cracking could take. I don’t want to dishearten her by telling her that I could be typing passwords until doomsday. At the moment, it’s the only potential lead we have, so it’s worth focussing on.
“I’m going as quick as I can,” I reassure her. “But it has to be done carefully. I’d hate to have the right password but type it in wrong.”
Faiza nods and decides to change the subject. “I’ve spent the afternoon in The Mission”, she says. “I put up a lot more posters and talked with people but no one has seen Max.”
“How much money might Max have had on him?” I ask. “You said that he left his wallet behind, with all his credit cards.”
Faiza shrugs. “I don’t really know,” she answers. “Maybe a hundred dollars, maybe less. Max isn’t one for carrying large quantities of cash around, he’d usually pay for low-value things with his phone.”
Faiza pulls herself out of her seat. “I’m going to get myself a coffee. Want anything?” she asks.
I shrug and point to my half-full cup. “I’m on my third coffee already,” I say. “Much more and my eye balls will be popping out of my head.”
Faiza heads over to the counter to order from the barista. I return my attention to my laptop and continue entering passwords.
Suddenly there’s a loud crash. I look up and see that Faiza has collapsed by the counter, knocking over a container of cutlery as she fell. I race over to her.
“Are you ok?” I ask.
“I think so,” says Faiza, blinking. “I felt dizzy for a moment and then the room spun …”
The female barista comes around the counter and the two of us help Faiza on to her feet. “I fainted all the time when I was expecting my first child,” she tells Faiza. “Honey, you’ve got to be careful … Take your time when you’re getting up from a chair. Don’t rush.”
We go back to our table. Instantly I know something has changed - my laptop …
“IT’S GONE!” I shout.
I frantically look around the coffee shop but there’s no sign of it. I race outside and scan up and down the pavement for someone running away or acting suspicious in some way. But all I see are regular San Fran citizens going about their normal daily business.
Faiza joins me on the pavement. “Do you see anyone?” she asks.
I shake my head. “Whoever it was, they got away,” I say.
Faiza sinks into one of the coffee shop’s outdoor chairs. “I’m sorry,” she says. “I feel that this is all my fault.”
I sit down beside her. “No it’s not,” I say, trying to console her. “It’s just really bad luck … Thefts happen. Besides, I’ve got everything backed up - I’ve lost nothing important.”
Faiza doesn’t look reassured. I don’t know what else to say. We sit silently, side-by-side. The sun is setting behind the buildings to the west. Before long it will be dark.
Suddenly Faiza sits up. “Max keeps back-ups too!” she exclaims.
EIGHT AND A HALF YEARS AGO
Despite the weight of the laden shopping bags, I bounded up the steps to our apartment. Exams were over and I’d submitted my final year project earlier in the day, a full two days ahead of the deadline. I had a month of holiday booked before I started my new job in the City. Life was suddenly a lot less hectic, and a lot more enjoyable. I planned on cooking a special dinner to celebrate.
I came into the apartment and plonked the food bags down on the kitchen table. Max was sitting there, silent.
“Hey there roomie,” I said jovially. On our first week in the flat Max had told me how much he hated being called that so I’d taken it as a personal point of pride to tease him with it on every opportunity.
Max said nothing.
I began to unpack the bags and put the food away into the cupboards.
Still Max didn’t say anything.
Food now packed away, I turned around to look at Max. He was sitting upright, unmoving, hardly even blinking.
“Max, are you ok?” I said, now concerned. I began to wonder whether he was having a stroke.
“… Gone …” Max finally uttered.
“Gone? What’s gone?” I asked.
“… All gone …” Max repeated.
“What is?” I asked.
“My project!” Max exclaimed.
“Your university project?” I asked.
“My laptop’s hard drive has died,” Max said softly.
“When did you last do a backup?” I asked. I suspected that I already knew the answer.
“Three weeks ago,” Max said sorrowfully.
“Max!” I scolded. “You know better than that!”
We went into his bedroom to look at his laptop. Max turned it on but the thing refused to boot up. I leant down to put my head close to the laptop. I could hear a distinct click-click noise coming from the laptop’s hard drive. That’s never a good sign.
“So how much have you lost?” I asked.
“Everything,” said Max sorrowfully. “My write-up, the test results, the data plots, everything.”
I looked at my watch. It was past six o’clock in the evening. There was little over a day and a half before the deadline for project submissions.
I took a deep breath. “OK, here’s what we’re going to do,” I said. “First, I’m going to my room to get my laptop and you can use it to start writing your report again.”
“Second, I’m going to make us both strong cups of coffee. We’ve got thirty six hours to fix this and we’re not going to get much sleep between now and the deadline.”
“Third, I’m off to the big Tescos at Kennington … I think that they sell computers. I’ll get a replacement machine for you and then we can both work on your report. Got it? Do we have a plan?”
“Definitely,” said Max firmly. “Thank you.”
“Just promise me this one thing,” I said. “From now on, you’ll back up your data properly? And regularly?”
“I promise,” said Max.
“MAX has backups?” I say hopefully. “Where does he keep them?”
“I’m not sure,” Faiza says. “I think he does them most weekends but I don’t know where he keeps them … Perhaps in the desk?”
I shake my head. “I had a good look through it yesterday evening and I didn’t see any hard drives or anything else that could be used for backup. Where else could it be?”
Faiza thinks for a moment or two. “Maybe he took the backups with him to work?”
“That would be sensible,” I say. “Keeping backups away somewhere is a wise precaution, in case of fire or other damage. Or - ahem - theft.”
“Now I think about it,” Faiza says, “I do remember him taking hard disks with him to work quite often.”
“How far is it to his offices?” I ask.
“Not too far,” Faiza replies. “They’re on Eddy Street. Maybe we can pay them a visit?”
“Good idea,” I say. “I’ll grab my stuff.”
I go back into the coffee shop and pick up what remains of my belongings. As I pack up, I notice that the table behind me is unoccupied. There had been someone sitting there, reading a newspaper. I recall hearing the frequent rustle of paper as they turned the pages, an unusual sound these days as most people read using electronic devices.
Unfortunately that’s about all I remember about them. I turn to a guy sitting at one of the other tables, surfing the web on his tablet. “Did you see who was sitting there?” I ask, pointing at the now-empty table.
He shakes his head. “Sorry,” he says. “I think it was a man but I don’t remember anything else.”
Thanking him for his time, I then check with the barista as to whether the cafe has any CCTV. The barista shakes her head.
“Oh no,” she says, “we can’t afford anything like that.”
I head out of the cafe. Faiza is busy talking on her phone.
“… so if I could just come over and take a look around Max’s desk? … Hopefully that wouldn’t be too inconvenient? … Great … We’ll be right there … Thank you!”
She puts her phone away.
“DORG is expecting us,” she says.
It’s after 6 PM by the time we arrive at the DORG offices on Eddy Street. Sunset was over an hour ago and all the street lights are on. The building is a small, unassuming two-storey concrete affair. The only proof that we’ve come to the right address is a small plaque with the organisation’s logo beside the entrance.
Only a few lights are on in the building - it doesn’t look as if there are many employees still around.
Faiza presses the intercom button at the entrance to the building.
“Yes?” comes a muffled voice through the loudspeaker grill.
Faiza speaks into the intercom. “Hello, it’s Faiza Whitting. I’m Max’s wife … we talked on the phone earlier …”
“Come on in,” says the still muffled voice. We hear the door unlock.
We go in. The reception area is dark and unoccupied. The receptionist, assuming that DORG has one, has gone for the night.
We hear footsteps approach from above us. Looking up, I see a man walking down the staircase from the floor above. He’s in his late fifties, with thin-to-balding hair and a carefully styled beard. He has what would be politely described as a “generous” build. He’s dressed in an immaculate grey suit, complete with a colourful handkerchief folded neatly into the breast pocket.
He seems vaguely familiar but I can’t quite place him.
The man reaches us and holds out his hand. “Welcome, welcome,” he says. “I’m Heath, Heath Buckeridge. I run this place … or at least try to.”
Faiza shakes his hand. “I’m Faiza Whitting,” she says. “Max’s wife.”
“A pleasure to meet you,” Buckeridge says.
He speaks with a deep, booming voice. His mid-Atlantic vowels hint at a life spent on many continents but underneath I detect hints of a Canadian origin to his accent.
Ah, that helps me place him. Buckeridge is famous, notorious even, for his flamboyant presentations at conferences. I’d attended a session of his at a conference in New York a few years back when he was talking about the post-Snowden-era NSA. He’d started the presentation dressed as an undertaker and proceeded to hold a mock funeral for the NSA. And that was considered a relatively low-key presentation by his standards - legend has it that he once managed to set a stage alight during a re-telling of Cliff Stoll’s “The Cuckoo’s Egg” (a re-enactment of Stoll’s attempt to dry his wet sneakers by placing them in a microwave did not end well).
Buckeridge turns to face me. “And you are?” he asks.
“I’m Tom,” I say. “I’m a friend of Max’s … I’ve flown in from London to help look for him.”
“Welcome to you too,” Buckeridge says, shaking my hand. “Now, you said on the phone that Max is missing?”
“Yes,” says Faiza. “Since last Friday. Have you seen him recently?”
Buckeridge shakes his head. “No … I’ve been away in Australia for the past week, speaking at a conference. I only flew back this morning. I had no idea that Max had disappeared.”
“I called here on Monday,” says Faiza. “The receptionist put me through to Max’s supervisor. He said that he hadn’t seen or heard from Max since Friday. I reported his disappearance to the police and they’re investigating but they’ve found nothing yet.”
Faiza hesitates for a moment, then continues. “I know it’s a big request, but could we take a look at Max’s desk? We think that he may have left a backup of his personal laptop there.”
Buckeridge nods. “Of course my dear,” he says. “You’re more than welcome to take a look, anything to help find Max.”
Buckeridge leads us through a door and into a corridor, past a row of offices on the ground floor of the building. Only one of the offices is illuminated. Within it, a lone worker sits slumped at his desk, tapping away on his keyboard, music earphones firmly in place. Several windows are open on the display of his monitor, all showing the familiar tale-tell signs of Cube Packing in progress. He must be using his computer (and possibly those of his co-workers) to try to generate Cube crypto-currency.
He glances up as we pass the office. When he spots Buckeridge he sits straight up in his seat, and hides the Cube windows.
Buckeridge says nothing. Either he doesn’t realise what his employee is doing, or he chooses not to react.
We reach the end of the corridor. The last office, next to the toilets, is the smallest of the lot but despite this three desks have been crammed into it. It looks like a typical post-grad office at a university.
Buckeridge points to one of the desks. “That is Max’s,” he says. “Take a look around by all means. Now if you will excuse me, there’s something I want to check … I’ll be right back.”
Buckeridge excuses himself and leaves. We start to look through Max’s desk. The drawers are unlocked, which surprises me initially. Then I look at the lock for the drawers and notice that the key has been broken off inside it. As the new guy in the office, Max probably had to make do with whatever office furniture that could be found, even if some of it was in less-than-perfect working order.
We go through the drawers one by one. In the bottom drawer we find a portable hard disk with a Post-It stuck on it labelled “Home computer” and a date that’s less than a month ago.
Buckeridge returns, carrying a thick binder. “I checked the sign-in sheets,” he says. “It’s true that Max last signed in last Friday. I’ve asked everyone still in the building and no one has heard from him since then.”
Faiza shows Buckeridge the hard disk. “We found this,” she says. “Would you mind us taking it and seeing whether we can learn anything from it … It’s all we have as a lead right now.”
“Of course,” Buckeridge says. “Anything to help.”
Buckeridge escorts us back to the reception area. As we walk, I ask him about the nature of Max’s job.
“I’ve recruited him to work on our identity rights policy,” Buckeridge says. “Defining what privacy rights you have, as an online individual. He’s a smart guy … I remember interviewing him in the summer; he was most impressive.”
We reach the reception. Buckeridge volunteers to check the email logs to see whether Max has been reading his work email account.
As we are about to head out of the door, I suddenly remember another question. I pull out Max’s grey plastic phone and show it to Buckeridge. “Did this phone come from DORG?” I ask.
Buckeridge shakes his head. “We don’t give out work phones to staff - we’re much too poor for that,” he says.
I pass the phone to Buckeridge and he looks it over carefully. “What a strange device - I’ve never seen anything quite like it,” he says as he examines it. “I wonder where Max got this from?”
“We’re wondering that too,” Faiza says.
“Here are my contact details,” I say, passing him my business card. “If Max does contact anyone here, I’d really appreciate it if you would let us know.”
“Of course,” says Buckeridge, taking the card and then shaking my hand.
He turns to Faiza and places his hand on her arm. “I really am sorry about all of this,” he says to her. “I will keep asking around here. Do let me know if there’s anything else that I can do to help you find Max.”
“Thank you,” says Faiza. “I will.”
We start to walk back to the apartment. Despite the loss of my laptop, I’m now feeling more hopeful than I was this morning. We’ve finally found something of Max’s!
ON our way back to the apartment we pop into a late-opening electronics store and purchase a replacement laptop - I want to be able to work on Max’s hard disk without tying up Faiza’s computer.
Once we get back to the apartment, I set up the new computer and then plug Max’s hard drive into it. The disk powers up and whirls for a couple of seconds. Then a message appears on the screen:
WHOLE DISK ENCRYPTION - ENTER PASSWORD TO PROCEED
“Damn,” I say to Faiza, “Max encrypts his backups.”
“What can you do?” asks Faiza.
“The same thing that I was trying to do with his email,” I reply. “Guess his password.”
Faiza leaves me to it and I set to work trying out the list of potential passwords that I had written down for his email account. However after an hour of futile input I’m so tired that I can barely read the screen any more. I stagger over to the couch and lie down.
The next thing I know is that it’s Thursday morning, and Faiza is bustling around in the kitchen area, making breakfast.
After eating quickly we head straight down to the police station to see Lister again and report the loss of my laptop (and yes, I have to pay the $250 administration charge). Lister diligently logs the details of the theft. “Thousands of personal belongings get stolen from SF coffee shops every year,” he tells us. “Take better care of your stuff next time … please,” he begs. He evidently now has me tagged in the category of clueless-visitor-to-the-big-city.
We leave the police station and start the walk back to the apartment. As we walk, my band vibrates - Iris is putting an incoming call through to me. I tap my earpiece to answer it.
“Hello,” I say. “This is Tom.”
“GOOD MORNING DEAR BOY,” booms Buckeridge, nearly deafening me. Iris immediately lowers the volume of my earpiece a couple of notches.
“And good morning to you too Mr Buckeridge,” I say. “What can I do for you?”
“I just wanted you to know that I’ve checked our email logs,” Buckeridge says. “Max last logged into his email account on Friday.”
“So he hasn’t attempted access since his disappearance?” I ask.
“It would seem that way,” says Buckeridge. “I’ve talked with a couple of his immediate work colleagues. No one has had any contact with him since Friday. They said that he seemed his usual self on Friday. That said, he’s quiet at the best of times. He’s not much of a talker.”
“Well, thank you anyway for asking around,” I reply.
“That’s quite all right,” says Buckeridge. “If anything else does come up, I will of course immediately let you know.”
“We appreciate that. We’ll do the same for you, of course,” I say. Buckeridge hangs up.
Faiza looks at me. “Anything?” she asks.
I shake my head. “No one from DORG has heard from Max since last Friday. He hasn’t accessed his work email once since then either.”
We walk on. There is nothing either of us can think of to say.
Back at the apartment I resume trying out passwords for the encrypted hard disk - I still have several sheets to go. Faiza sits down with me and reviews my list. She’s able to suggest another thirty or so possibilities which, once I’ve expanded them to all the likely combinations, means that I have an extra three hundred passwords to try out.
Faiza then leaves me to it - she heads out to do some more searching and putting up of posters, this time around the harbour area.
All through the rest of the morning and afternoon I slog away, typing in passwords without success. As I type away, in the back of my mind I am pondering what to do next, if (or more likely when) I exhaust the list of potential passwords. I figure that my best bet would be to return to attempting to get into Max’s online email account. Although I’ve had no luck in guessing his password, perhaps I can try my luck with the security questions that get asked when a user loses their password. As I know Max so well, I should be able to guess his answers, assuming he’s answered them truthfully.
This, I’m beginning to realise, is a pretty big assumption. Every aspect of Max’s digital life seems to have been locked down. His smartphone was set to auto-wipe after a few days of inactivity, his choices in passwords appear unguessable and his data backups are encrypted. I haven’t found anything that looks like a password written down anywhere. Max is taking his digital security very, very seriously. Chances are his answers to the security questions are as unguessable as his passwords.
Failing everything, I reckon that we should just contact the email provider and explain the dire situation. Maybe they can reset the password from their end in order to give us access …
To give myself a break from the monotony of password attempts, I take another look at Max’s phone. The more I examine it, the more puzzled I get by it. The phone is surprisingly heavy for a modern smartphone, at least twice as heavy as a standard phone of similar dimensions. Could its heft be due to increased battery capacity?
I am also surprised to note that the phone doesn’t seem to have a camera built into it - these have become so ubiquitous on phones that I struggle to remember the last phone that I had which didn’t include one.
Looking at the phone’s side, I see two small holes. I slide the end of an unfurled paper clip into each of them in turn and two trays pop out, both occupied by SIM cards. Dual-SIM phones, which allow a phone to access two phone networks at the same time, are popular in some parts of Asia and Europe as they allow users to avoid the expense of roaming charges. Why would Max want such a phone? As far as I know he hasn’t travelled outside of the US for a year or two …
I return to the chore of password entry. After several more hours of drudgery, I reach the last page of passwords. However I’m feeling tired. Beyond tired in fact. My head feels fuzzy and there’s a high-pitched whine in my ears that just won’t fade. My stomach is growling but I’m feeling too tired to eat.
I get up and check the time - it’s the late afternoon and darkness is falling. I give my back a good stretch, then decide to lie down for a little while, perhaps until Faiza gets back. I’ll finish trying out the passwords when she gets back, and we can then discuss what to do next …
Suddenly I’m being shaken awake. It’s Faiza. She’s shouting something. There’s sunlight streaming into the room from outside, it must be Friday morning already. Still dazed, I struggle to sit up.
“Wake up Tom!” shouts Faiza again, breathless with excitement. She’s holding something in her hand. I squint my eyes to focus on it - she’s jubilantly holding her tablet computer, as if it were a prize trophy.
“I’ve had an email from Max!”
She pushes the tablet into my hands. Still blinking to adjust to the sunlight, I focus my eyes on the screen. There’s an email open on it:
As most of our financial records and other important documents are online, I wanted to make sure that you had a way to access them in the event of something happening to me.
Attached to this email is a spreadsheet that lists all of my user IDs and passwords. All the online services that I use are included, as well as the password for my laptop, for all my online services. I’ve encrypted it using the public key that I created for you - you’ll need to use your private key from your laptop to decrypt it.
All my love,
Looking at the headers of the email, the original creation date is from about a year ago.
“This was sent via the Dead Man’s Control website,” I explain. “It’s a system that periodically checks on you by sending you an email that you have to respond to. If you don’t respond within a fixed interval of time, it will deliver a pre-written message to whoever you wish.”
I’ve come across the site a few times in the past, but have never felt the need to use it myself. It’s principally used by techies wanting to ensure that their online accounts are accessible to their loved ones in the event of their demise. I decide not to mention this scenario to Faiza.
Faiza’s face falls. The excitement and hope that had arisen from receiving an email from her husband vanishes in an instant. I can see that she’s realised for herself that the chances of Max no longer being alive have just risen substantially.
“But,” I say, trying to console her, “at least we should now be able to access Max’s files. All we need is to decrypt the spreadsheet using the private key that’s stored on your computer.”
Faiza goes into the bedroom to fetch it. I get up and pull on a fresh shirt quickly.
Faiza returns with her laptop. We sit down at the desk together. “I remember Max setting both of us up with encryption keys,” says Faiza, “but you’ll have to help me with this. I haven’t used them since he generated them for me.”
“No problem,” I say. I look at the list of applications installed on her computer and spot GNU Privacy Guard among them. GPG is a popular open source encryption tool - Max must have downloaded this and installed it. Or, if he was being particularly paranoid, he downloaded the source code for the software and built it himself. After the last couple of days I’m not going to rule that possibility out.
I open a command line window and run GPG to see whether it’s already associated with any encryption keys. The output it returns tells me that it is - probably Faiza’s private key. I open her email client and download a copy of the encrypted spreadsheet to her desktop. I then run GPG again, using the “—decrypt” command to decode the spreadsheet.
This time round the software challenges us:
You need a passphrase to unlock the secret key.
I turn to Faiza. “You probably set up this passphrase when the keys were first generated,” I tell her. “Do you remember what it was?”
“Let me think for a moment,” says Faiza. She looks away for a minute then looks back at the screen. “Yes, I think I remember,” she says. I turn my back and she types away on the keyboard for a few seconds.
We hold our breaths while GPG runs. Finally GPG finishes and the unencrypted spreadsheet appears on the desktop. Success!
We open the spreadsheet and a large table is displayed, showing a long list of URLs together with user IDs and passwords.
I scan down the spreadsheet until I find an entry for Max’s computer. The password is a random string of alphanumeric and shifted characters, twenty characters long. I wouldn’t have been able to guess that combination in a billion years!
I go over to the desk and type the password carefully into my laptop. A window opens on my screen, displaying the top level of Max’s hard disk. Double success!
Triumphantly I show the screen to Faiza. “Now the hard work really begins!” she says.
WITH a pot of steaming coffee by my side, the first thing I do is make a copy of the hard disk - I want to keep Max’s hard disk as untouched as possible in case I inadvertently change/delete data on it.
I create a virtual machine on my new laptop and copy the contents of the hard disk on to it. Then I start to explore. I begin by making a map of the top level organisation structure of the file system. Max is running a Linux distro - he’s a keen user of open source software - and the overall organisation of files is familiar to me. Straight away I look in the /home directory and there, sure enough, are all of Max’s personal files and folders.
Now that I finally have access to Max’s data, I have to admit that I do feel some misgivings about searching through it. It feels uncomfortably like rifling through his most personal, intimate belongings. The fact that I’m doing this at the specific request of Faiza, to whom Max had provided all of the access details, alleviates the feeling somewhat but doesn’t cause it to disappear altogether.
I generate a directory map of all of the files in Max’s personal filespace - I’ll review it later, after my initial exploration. I then start to browse the top level folders, one by one.
It’s clear that Max has been doing a lot of research recently. He has a directory packed with dense, very academic papers on topics such as encryption, distributed computing and peer-to-peer sharing mechanisms. All of the files were copied into the directory within the past six weeks. The name of the directory is “CHRONOS” which puzzles me a bit as none of the documents seem to have anything to do with time.
I turn my attention to Max’s email. I know that Max is a user of the Thunderbird email client, so I know exactly where to look for his email data. Sure enough, I find tens of gigabytes of email, going back a good decade or so.
Firing up the email client, I start to sort through the email, focussing on those that Max has sent out. I group the emails by recipient so that I can see who Max has been corresponding with the most.
Aside from emails to Faiza, the most frequent recipient of Max’s emails is someone called Nero. The emails start a couple of months back and go on until just before the backup was taken. They contain lots of discussion on security topics - backdoors, encryption, spyware and the like. Nero’s the one doing most of the questioning, reading through it it almost feels like Max is being interviewed for a job. Could Nero be employing Max for on-the-side security work? The last email refers to Max having received a payment so he must have done some task for Nero.
To see if Max has had any more recent communications with Nero, I decide to go online and check his email account there. Using the access details in Max’s spreadsheet I log on. However when I access his Sent folder, I’m surprised to find that all the emails to Nero are gone! Every other email is there as far as I can see - did Max deliberately delete all his correspondence with Nero? If so, why?
I suddenly wonder if Max used other communication tools to talk with Nero. I look again at the emails he received from Nero and there, sure enough, in an early email is an Instant Messaging address for Nero. It’s on a secure peer-to-peer IM platform, designed to securely encrypt all the communication between the two parties and leave no records of the communication on any third party server.
I search /usr/bin for the corresponding IM client and quickly find it. I launch the software and a simple GUI window appears on the screen. Sure enough, Nero is in the contact list. In fact, it’s the only entry in the contact list - Max must have used this software solely for communicating with them, whoever they were.
I look to see if there are transcripts of any of the previous IM sessions between Max and Nero but can’t find any. This puzzles me momentarily but then I notice that the IM client is configured to delete transcripts on shutdown of the application. Max clearly didn’t want any of his dialogue with Nero to stay around after he quit the program.
I am still mulling over the use of the secure IM software when Faiza returns to the flat, having been out shopping for groceries. She sits down next to me at the computer. “Learnt anything?” she asks.
I point to the Nero email threads taken from the backup hard drive. “Max was definitely working on something on the side,” I say. “With someone called ‘Nero’. That conversation you overheard was probably part of it.”
“So he was working for someone else,” Faiza says. She lowers her gaze. “Without telling me …” her voice trails off.
“He probably wanted to supplement his income,” I say, trying to soothe her, “particularly with you two starting a family.” However the fact that Max was keeping the work on the side secret from his wife is troubling.
I still have a browser window open, logged into Max’s online email folder. Faiza catches sight of it. “What’s this email?” she asks, pointing at the email that Max had sent me nearly two weeks ago, titled “Advice wanted”. She reaches over and uses the mouse to click on the email. Instantly a window pops up showing the two sentence email from Max, asking for my help.
Faiza reads the mail silently. Then she turns to me, her face clouding over with confusion. “Did you get this email?” she asks.
I redden. “Yes, I did,” I admit.
“And what did Max want to ask you?” Faiza says.
I redden still further.
“I never quite got round to calling him back to find out what he wanted.”
Faiza’s expression sinks. “I see,” she says quietly. “I just wish you’d told me about the email. No secrets, remember?”
“You’re right,” I say, “and I am sorry. I should have mentioned the email from him. To be honest, I didn’t know quite how to bring it up. I don’t find it easy to admit that I’m behind on my email.”
Our conversation is interrupted by a window popping up in the middle of the screen. It’s Max’s secure IM client.
“What’s that?” asks Faiza.
“Nero must have noticed us coming online,” I say. “‘yt’ is short for ‘you there’”.
I hesitate for a moment, then come to a decision. “Let’s see what we can learn from Nero about Max”, I say to Faiza.
I begin to type:
I am trying to mimic Max’s IM style, based on my own conversations with him.
We wait for a response. Finally it comes.
Nero: at last! wondered where you’d gotten to. did you fall in the bay or something? :-)
Max: Nope, just had a lot of things to do
Nero comes back to me instantly.
Nero: lots happening right now. need your final analysis. when can u be ready to publish the research?
“Uh oh,” says Faiza, clutching my sleeve, her eyes locked on the screen. “Stall for time, say you don’t know yet.”
Max: Not sure, soon I hope
Nero responds quickly again.
Nero: good … want to review what you have right now, in person. can you travel? will be good to meet face to face finally!
I think for a couple of seconds, weighing up several possible responses. I decide to take the plunge.
Max: Yep. Where?
We wait for a response. Time drags on as we keep our eyes locked on the display. Minutes pass. I’m already regretting my last question - perhaps Max and Nero had already discussed a location for meeting up? If so, I’ve just blown our cover.
Finally Nero responds.
Nero: lets meet halfway - iceland. can you be there saturday?
Faiza and I both let out long sighs of relief. Our cover appears to be intact.
Max: Fine. Will IM you when I land.
Nero: k. will agree venue after we land. ttyl
And with that last message, Nero disconnects. The chat window disappears from the screen.
Faiza lets out a long sigh of relief. “I thought we were rumbled there for a moment,” she says. She pauses. “But how long can we get away with pretending to be Max?”
“Hopefully long enough to learn if this work is connected with his disappearance.” I say.
I tap my earpiece. “Hey Iris, I need return tickets to Reykjavik, Iceland. Departure … as soon as possible!”
FRIDAY EVENING, ICELANDAIR FLIGHT 680 SEA -> KEF
Iris quickly booked me flights to Reykjavik. The price was only 300 Cubes, less than I was expecting to pay for such a last-minute trip. I suppose that Iceland isn’t a popular travel destination in November. Or perhaps Iris drives a hard bargain when negotiating with the software agents of airline ticketing systems.
Now, some eight hours later, I am wedged into an economy seat at the back of the plane and desperately trying to come up with an action plan for the meeting with Nero tomorrow. What seemed like a worthwhile gamble from the comfort of San Francisco is now, as my proximity to Reykjavik increases, feeling foolhardy and even dangerous.
Try as I might, I can’t help but mentally list out the ways that I’m at a disadvantage for this encounter:
The more I think about all of this, the more stressed I get. My breathing becomes fast and shallow, and I can feel my pulse beginning to race. I get up and head for one of the plane’s toilets. I wash my face, scrubbing hard and then dry it with a couple of paper towels. The panic attack subsides and I can think clearly again.
Returning to my seat, I resolve that I will insist to Nero that I be the one to choose the meeting venue. I will select somewhere public, with multiple escape routes should things go badly.
I try to relax but that proves difficult. It’s a bumpy flight over the northern wastes of Canada - the pilot has had to twice come on the tannoy and ask the flight attendants to suspend the meal service.
My thoughts keep returning to the events surrounding the theft of my laptop. Lister clearly thinks that it’s nothing more than an opportunistic theft but I’m not so sure. I was distracted for no more than thirty seconds by Faiza’s fall - someone would have had to be watching me pretty closely to be able to take advantage of that narrow time window.
To make matters worse, I keep feeling as if I’m being watched. The sensation began at San Francisco airport - was it my imagination or did a guy sitting at the bar near the departure gate keep looking up to glance at me? - and continued as I waited for my transcontinental flight at Seattle-Tacoma. I’m glad that my seat is right at the back of this plane though everyone coming aft to use the toilets seems to stare at me as they pass. Or have I become paranoid?
To pass the time I try to sleep but give up after a futile twenty minutes of twisting and turning in my seat. There’s just too much adrenalin flowing to permit any shuteye.
I think about that strange “CHRONOS” folder I found on Max’s backup hard drive and decide to do some research. I unwrap my band from my wrist, flatten it and connect to the plane’s wireless internet service. I do a web search using “CHRONOS” as a keyword. That brings up lots of pages as a match, but they’re mostly about time and Greek proto-gods. Nothing that would fit the bill for the secretive work that Max and Nero appear to be collaborating on.
After an hour’s fruitless searching, I quit and decide to unwind by watching a movie. The film is a medieval action adventure about a group of knights who storm a heavily-fortified castle, seeking to plunder its horde of gold. Only when it is much too late do they realise that the treasure is guarded by a bloodthirsty demon. It doesn’t end well for most of the knights. I certainly hope that I’m not about to suffer a similar fate in Iceland.
I watch the steady rain from the shelter and warmth of the coffee shop. The cafe is close to Reykjavik harbour and a cold wintry wind is blowing in from the west, straight off the Atlantic. The weather is quite a shock after the parched dryness of California.
Iceland in November isn’t exactly cheery - the landscape is dominated by the grey of the sea and the grey of the heavens (nothing but dense, moisture heavy Nimbostratus rain clouds). Outside of Reykjavik, vast meadows of grey granite stretch for as far as the eye can see. Here, “Fifty Shades of Grey” would be an appropriate title for the tourist brochure.
Icelanders do at least try to combat the greyness. House-owners have painted their homes bright hues of red, yellow or blue in order to provide some colour to the cityscape (the cafe I’m sitting in is itself painted an attractive shade of aqua). I’ve never seen so many different colours of building in one place.
I landed just before seven in the morning. After catching a bus into the centre of town, I looked around for a suitable venue for the meeting with Nero. I found this coffee shop after a couple of hours of searching. It meets all of my needs - it has two entrances, one on either side of the building, and there are a number of booths where Nero and I can talk without fear of being overhead. A bonus is that the coffee is very good, using freshly ground beans.
After the shabbiness of San Francisco, Reykjavik seems very clean and tidy. There’s no graffiti and the roads are well-maintained. Like every other government, Iceland’s has suffered declining receipts from corporation and income tax (cyber-currencies such as Cube act as turbo-chargers for shadow economies, making it easy to hide transactions from the watchful gaze of revenue collection government agencies).
I’m briefly puzzled as to how Reykjavik has managed to maintain its public services despite the tax shortfall. Then I see the receipt for my coffee - my drink is almost twice the price of a similar cup in San Francisco, mostly due to value added tax being a whopping fifty percent. Evidently the government here has decided to make good on the tax gap by upping sales tax. It seems to be working so far, although I can’t help wondering just how high the tax rate can go. Sooner or later the populace will grow sick and tired of paying so much tax and the smuggling of goods will increase.
I sit at one of the tables close to the front of the cafe. I’m logged into the secure IM client, waiting for Nero to come online. I’m already on my third coffee of the afternoon. Both the caffeine and the imminence of my meeting with Nero are making me jittery.
My IM client beeps. Nero has logged on.
“Howdy” I type.
“welcome to sunny iceland :-)” Nero responds.
“Great tourist location,” I type in response. “Have found a good place for u and me to meet. Down by the harbour. Cafe Haiti, on Geirsgata.”
I wait for a response from Nero. I wait one, maybe two minutes, then …
“got it,” responds Nero. “1/2 hour and ill be there.”
“You can recognise me by the book on my table - Hofstadtler’s ‘Godel, Escher, Bach’,” I write back.
“intriguing choice - hope your research isnt trapped in an endless loop too!” responds Nero. “ill be carrying a blue folder with red lettering on the front”
I close the IM client and wait. I look out of the cafe window and watch the people as they walk past, bundled up tightly against the wind and the rain.
As I sit and wait, I muse again about the wisdom of this gamble. I’m on unfamiliar territory and have no back up. How much information will I be able to glean before my ruse is discovered? What if Nero turns violent when he discovers I’m not Max? I console myself with the thought that any information on Max is an improvement on what we have now. And this is a public location, with plenty of people around. I should be safe from physical violence. Furthermore the police station is just down the road …
My daydreaming is interrupted by the doorbell ringing again - another customer is entering the cafe. It’s a woman, about thirty years old. She’s tall, at least six foot. Her long dark hair is tied back in a pony-tail, complemented with a red streak of dyed hair that starts by her right temple and runs through to the tail’s tip. She glances around the coffee shop and heads over to the coat-rack. As she hangs her coat up, I get to admire her athletic build, elegantly framed in a green top.
She opens the backpack she’s been carrying and pulls something out.
A blue folder. With red lettering on the front.
Instantly the mental image of Nero that I’ve had for the past thirty-six hours shatters. It never crossed my mind that Nero might be female.
Now please don’t misunderstand me - I’m not sexist. I like women, I respect them. I hope, some day, to love one enough to take a vow, with them, of life-long commitment to each other.
I sincerely believe that women have as much right to belong in technology as men do. There are many excellent female programmers. Wendy Hall, Grace Hopper and Adele Goldberg are three of my personal heroes.
It’s just that I’ve encountered so few women in my professional career. During my university studies in London, my computer science class had more men in it named David than there were women. At my company the only female employees work in HR or marketing.
Nero spots the copy of Hofstadter that I’ve prominently placed on my table. She comes over.
“Max?” she says, hesitantly. I nod. Nero holds out her hand and I shake it.
“It’s great to meet you finally,” I say, trying to sound confident. I gesture to a booth at the side of the cafe. “Shall we go sit over there?” I ask.
“Yes … fine,” she says. We go over to the booth, having first ordered two coffees.
We sit down. Nero looks me straight in the eye, somewhat quizzically. “You’re not what I was expecting,” she says.
My heart rate leaps by a good fifty beats per minute. “How so?” I say, trying to act nonchalant.
“You’re taller than I heard on the phone,” she says, smiling. She speaks excellent English, with just a touch of an Eastern European accent. I’m guessing that she’s either Polish or Russian.
“Oh, you should never judge people by how they sound on the phone,” I say.
The waitress comes over with our two coffees. I create a bit of breathing space for myself by taking my time over pouring the milk into my coffee mug and then taking two long drawn-out sips of the drink. All the while I’m kicking myself mentally. Of course - Max and Nero had talked on the phone - she knows what he sounds like! I’d completely forgotten about this. Fortunately Nero doesn’t seem adept at distinguishing between different British accents. Or has she noticed and is just pretending not to? The possibilities spin round and round in my brain. It’s all I can do to sit still and try to act relaxed.
Nero takes her coffee just as it came, black. She takes a sip and then places the mug down again.
“I was worried about you,” she says. “You dropped off the net all of a sudden. I tried to call you but your phone was turned off. I thought we’d agreed that we would stay in touch with each other.”
“Sorry,” I say, “as I said the other day to you, I’ve been busy. Why the big rush to finish all of a sudden?”
“Others are close to uncovering the truth,” says Nero. “Waiting is not an option for our sponsors. We need to be ready to go public by the start of January, at the very latest.”
“That’s one hell of an acceleration,” I reply. “I’m not sure if I can be ready by then.”
“We have no choice,” says Nero flatly. “Others will beat us if we delay any later.”
I take another sip of coffee in order to give me a little time to think. Pretending to be someone else and speaking about a topic you know next to nothing about is challenging, to say the least.
“It’s going to be tough finishing the work quickly,” I say. “There’s so much still to be done … and I want to be absolutely certain …” I let my voice drop away, mainly because I can’t at that moment think of any way to complete the sentence that sounds sensible.
“You must try,” Nero says, looking me again in the eye. “We’re depending on you. If it’s more money you’re after, I am sure that my sponsors are willing to be generous in their funding of your work.”
I decide to decline the bait. “It’s not that,” I say, shaking my head. “I want to be 100% sure … And my wife is expecting our first child - she’s due to give birth in less than three months. There’s a lot going on right now.”
“I understand,” says Nero. “But this is important too. We cannot go public without your analysis.”
She pauses, and then continues. “My sponsors have agreed to give you a fifty percent increase in your renumeration if you can make the new deadline. Finish to our new schedule and you’ll have a very nice sum in hand just in time for your baby’s birth.”
I wonder how much Max is being paid for this work. Nero is certainly making it sound like a substantial amount.
The smartwatch on Nero’s wrist beeps. She glances down at it. Then swears.
“Kurde! They’re coming!”
Before I have a chance to ask her what she means, two men enter the cafe. They’re big and powerful and they look like they don’t spend much of their time smiling. They are definitely more piano movers than piano players.
Nero grabs my arm. “We have to leave - NOW!” she says.
The men spot Nero and me - they start to move in our direction.
We grab as much of our stuff as we can and exit via the cafe’s second entrance. I’m suddenly very glad that I picked a location with two entries. Not that I’d imagined for an instant that I might need it to escape with Nero!
Outside, we spin around for escape options. I want to go to some place where there’s a large crowd. Somewhere we can blend in and be difficult to spot. From my reconnaissance earlier in the day, I know that Reykjavik’s main concert hall is just a bit further along the harbour. With any luck there might be an event going on there at the moment. I point in the direction of the concert hall and shout to Nero, “This way!”
We run to the harbour’s edge and head east along a pedestrian path that runs beside the dock. Fishing boats are moored all along the harbour though I don’t see much activity onboard any of them. Icelandic fisherman like to take the weekends off, I suppose.
I turn and look behind us. The two men have come out of the cafe and are following us at a good clip. They’re jogging somewhat stiffly, each one with one of their arms held close to their bodies. I’m suddenly concerned that they might have guns with them.
We run along the path as quick as we can. Well I say we but it’s really me that’s the limiting factor on our speed. Nero’s jogging alongside me, matching my speed seemingly effortlessly while I’m already beginning to puff and pant. I make a mental note to never again skip a gym class.
We manage to reach the concert hall. It’s an impressive-looking angular building, adorned with a mosaic of stained glass, arranged in a striking geometric pattern, draped across its sides. It’s truly magnificent, the kind of building that I would normally stop and admire in detail.
Not today however. There’s a crowd of people outside the hall, watching some street performers. We dive straight into the crowd and head for the densest part.
“Ditch your coat,” Nero whispers to me. “And put this on.” She pulls a wooly hat out of her backpack. I do as I’m told. Without the protection of the windproof layer I instantly feel the chilling effect of the cold wind off the Atlantic. I start to shiver.
Glancing behind us, I can see that the two men have reached the edge of the crowd. They’re scanning the crowd systematically, trying to spot us.
We keep our heads low and move to the far side of the crowd. The entrance of the concert hall is just in front of us. I wait until I see a group of people move towards the entrance. “Follow them in,” I tell Nero. “I’ll follow behind.”
Nero blends with the group while I remain, covertly watching the men on the other side of the crowd. Nero’s group enters the building and disappears from sight.
I wait until another group heads to the hall and then join the back of them. Entering the concert hall, I am struck by the vastness of the foyer. It’s massive, with huge escalators connecting the three floors above me with the ground floor. The walls are constructed from grey granite panels. There really is no escaping that colour in this country.
I spot Nero - she’s heading up to the second floor on the escalator. I make to follow her as quickly as I can. Then I see that our two pursuers have also entered the building and are standing by the entrance. One of them catches sight of Nero, pointing her out to the other.
I run up the stairs at the back of the foyer, two at a time, as quickly as I can. I really am now regretting that the total sum of my exercise over the past two months has been running down to a Tube platform to catch a train.
On the second floor I catch up with Nero. “Keep moving,” I tell her. “They’ve spotted us again!”
We enter the first auditorium that we come to. It’s currently empty - save for a lone cleaner picking up rubbish. We run down to the front of the auditorium, by the stage and go straight through a door marked “Utgangur”. I’m hoping that this means “Exit” and not “Dead End”!
The door leads us into a corridor, with a long flight of steps going down at the end. At the bottom there’s another door. There are big important looking signs on the door, in Icelandic, no doubt about opening this door only in an emergency. This definitely counts as one! Without hesitation I push down on the door’s lever and shove the door open. Alarm bells ring out all around us.
We run out and find ourselves in the car park behind the concert hall. To our left is a rank of taxis. We sprint to the first one and get in.
“To the airport,” Nero says to the driver. “As quick as you can!”
WE sit in silence during the drive to the airport, the powerful grey Mercedes speeding through the light afternoon traffic. Every so often I glance out of the back window but I don’t see any obvious signs that we’re being followed.
The taxi pulls up smoothly at the airport terminal. I throw a handful of Kronur notes in the direction of the driver - probably a massive overpayment for the journey but I don’t have time to check the amount - and we dash from the car.
“Hope you make your flight,” the taxi driver calls out to us, through the car window, in perfect English.
We head into the departures area of the terminal building. Once we’re in the calm, controlled environment of the airport I start to relax.
We find a couple of empty seats and I collapse into one. Nero sits down, rather more gracefully, in the other.
I let out a long, deep sigh of relief.
“I think we’re clear,” I say. “Now, exactly who were those guys?”
Nero lets out a deep sigh of her own.
“It’s a long story,” she says. “They belong to the Russian mafia - the Bratva. They are bad men … Very bad men … They want our research so that they can make a lot of money.”
During the taxi ride I’ve been pondering when and how to come clean about the fact that I’m not Max. Sooner or later Nero’s going to figure this out and I decide that it would look better for me if I confess first. Now seems as good a time as any …
“There’s something I need to tell you,” I say.
Nero looks at me, puzzled.
“I don’t know quite how to say this,” I continue, “but … I’m not Max.”
Nero gives out a cry and starts to rise from her seat. I catch hold of her arm.
“It’s ok, I’m a friend of Max’s,” I plead. “I’m his best friend … “
Nero tries to free her arm from my desperate clutch.
“Wait, damnit!” I shout. “Max is missing! I’m just trying to find him!”
Instantly Nero stops struggling and sits down again. “Max … Max is gone?” she asks.
“Yes, and we’re all worried sick for him,” I reply. “I came over from London to San Francisco specially to help look for him. I was going through his online stuff, looking for clues to his disappearance, when you IM’ed. I thought that you might be able to shed some light on his vanishing so I agreed to meet with you, pretending to be him.”
Nero leans back in her seat, thinking hard. I can almost see the cogs whirling in her brain as she thinks.
“This is bad news,” she says at last. “Very bad news.”
I decide to introduce myself properly. “My real name is Tom … Tom Jenkins,” I say. I rather lamely offer my hand for a handshake. Nero ignores it. I sheepishly put my hand back down.
“Mr Tom Jenkins,” says Nero, deliberately choosing to be very formal. “Exactly why did you come to Iceland?”
“Because I thought you might have information about what he was investigating before he disappeared,” I say. “I know he was working with you on something - I found emails between him and you about some form of computer security work.”
Nero raises an eyebrow. “And what exactly do you know about our work?” she asks.
I shake my head. “Not much,” I say. “I’m hoping that you can tell me more.”
Nero folds her arms and looks at me skeptically. “Why should I?” she asks.
“Because Max has a wife who’s due to give birth in a couple of months,” I plead. “She’s going out of her mind with worry that her child may never see its father.”
Nero doesn’t seem impressed by my appeal to her compassion. I decide to try self-interest instead.
“Look, you want to find Max just as badly as I do,” I say. “Max was clearly working on something very important to you. You mentioned earlier that you had urgent deadlines - well, if you don’t find him quickly, you’re going to miss them.”
Nero says nothing.
Taking that as encouragement, I continue: “I’m not interested in whatever it is you’re both working on … I just want to find Max. Help me locate him and then he’ll be able to either finish the work for you or hand it off to someone else of your choosing who can.”
Nero ponders for a moment. “OK,” she says. “I will help you. But first you need to tell me everything about Max’s disappearance. Then I can fill in the gaps.”
I start to summarise the whole timeline, right from Max’s disappearance on the Friday evening and Faiza calling me for help in the middle of the night. I explain everything that happened in San Francisco.
When I get to the part about the theft of my laptop from the coffee shop, Nero looks surprised.
“Someone may have been watching you,” she says, “grabbing the laptop when they saw an opportunity.”
“That’s what we thought,” I say. “The police however think that it was just an opportunistic theft.”
“The police …” she says, shaking her head with contempt. “They know nothing - they’re useless. Worse than useless in fact. Best we handle this matter ourselves.”
“Could the men who chased us have anything to do with my laptop being stolen?” I ask.
Nero thinks for a moment, considering.
“It’s possible,” she says at last. “The Bratva operate all round the world now. It’s possible that they had Max under surveillance in San Francisco because of his work - and you too after you arrived there.”
“And what actually is this work?” I ask.
“Max and I are trying to find Mehmet Yılmaz,” she answers.
“Mehmet who?” I ask. Then I recall. “Oh, the inventor of Cube.”
“Yes, the inventor of the e-currency,” Nero replies. “As you probably know, ‘Mehmet Yılmaz’ was a pseudonym. The person behind it never revealed their true identity.”
“He disappeared a long time ago,” I say. “No one’s heard from him -“
“Or her,” interjects Nero.
“Indeed,” I say. “Anyway, no one’s heard from Yılmaz in over a decade.”
“No one,” confirms Nero.
“Lots of people have come forward, claiming to be Yılmaz,” I say. “Or have been accused of being Yılmaz.”
“And none of the claims have stood up to serious scrutiny,” she answers. “Yılmaz's real identity remains a mystery.”
“And why are you so interested in it?” I ask
“I do consultancy,” answers Nero. “Information security consulting - I have clients all over the world. One of my clients is an information transparency policy group, backed by a couple of rich Silicon Valley investors. They believe that Cube’s run of success, great as it has been, will end if Yılmaz isn’t identified.”
“But Cube’s doing great without Yılmaz,” I counter. “The protocol has proven to be rock-solid. All the code implementing it is open source, with volunteers maintaining and improving the software.”
“But doesn’t the world deserve to know?” asks Nero. “Who really was behind it? And what their reasons were for creating it?”
“I just don’t think it really matters anymore,” I answer. “Cube’s been proven to work. It’s used for billions of transactions a day. All of the source code is freely available to anyone to inspect. It’s been analysed by academics in many fields. Leading economists, mathematicians and security researchers have all investigated it and pronounced it safe -”
“No,” interjects Nero again. “Not safe - they said just that they couldn’t find anything wrong with it. That’s not the same thing.”
“But close enough,” I retort. “But with the number of people who’ve examined Cube - both the theory and the actual code - any issues would surely have been found by now.”
“Perhaps,” Nero says, cryptically. “Perhaps.”
“So why is the Bratva so interested in this work?” I ask.
“These days the Bratva runs vast cybercrime activities,” Nero answers. “And not just in Russia - the internet gives them global reach. The proceeds they get from their traditional criminal activities - prostitution, drugs, blackmail, kidnapping - are dwarfed by what they can get online through credit card spoofing, identity theft and ransomware.
“The Bratva wants to take control of Cube - with it, they’ll be able to increase their income ten-fold. As such they are very interested in finding the person behind its creation.”
She glances at her watch and rises to her feet.
“Time to get moving,” she says. “We can talk more about this on the flight to America.”
I’m not sure that I have heard her correctly. “You’re coming back with me? To San Francisco?” I ask.
“Yes,” says Nero. “I will help you search for Max.”
She holds her hand out towards me and I shake it.
“My name is Nadia Mirov,” she says.
“It’s a pleasure to meet you Nadia,” I say.
WE catch the very next flight out of Iceland. This takes us to Copenhagen. From there we get a plane to New York, and then another to San Francisco.
Although we’re sitting in adjacent seats, Nadia and I talk very little during the flights. Nadia sleeps most of the time, and when she isn’t, she works - tapping away steadily on the keyboard of her laptop computer, noise-cancelling headphones firmly in place, eyes locked on to the display. We talk whenever the trolley comes round to serve food but it’s little more than polite chit-chat.
I occupy myself during the flights by reacquainting myself with the details of Cube. Although I’m a frequent user of the currency, it’s been a long while since I’ve taken a look at the implementation details.
Most Cube users are, of course, completely unaware as to how it works. All they really care to know is that it gives them a convenient means to pay for things securely. People on opposite sides of the world can transfer money to each other instantly, without having to go through the time and expense of converting money from one currency to another. Cube has become so seamlessly integrated into their devices and applications that they need know nothing about what goes on behind the scenes.
Cube’s proper name is, by the way, Convergent Crypto-Currency. That’s quite a mouthful so Yılmaz often used the shorthand “C3”. Others simplified this to just “Cube” and that quickly became the universal nickname for the currency, so much so that even the currency’s logo was modified to include a cube motif.
I start my research with the original academic paper that Yılmaz wrote. It’s not a long read - the entire Cube design is succinctly described in a scant ten pages.
Reading the paper for the first time in over a decade, I’m struck afresh by the sheer simplicity and elegance of Cube’s design. There’s no doubt that it is a work of genius.
What is most impressive about it is how little Yılmaz has had to create from scratch. All of the technologies that were used to create Cube were already in existence - it’s just the way that they were integrated together that is so clever. And, cryptographically-speaking, Cube is rock-solid - it uses industry standard public/private key cryptographic algorithms that have been exhaustively tested over decades.
Yılmaz released software implementing Cube less than six months after publishing the paper. The code was made open source so anyone could use it. This also meant, just as importantly, that it could be rigorously reviewed in order to make sure there were no errors. No defects have been found in over a decade of use.
Yılmaz's last software update to the code came exactly one year after the publication of the paper. Soon afterwards Yılmaz stopped posting online. There was no final goodbye message from Yılmaz - the last message was a boringly mundane message about the reissue of the PNG version of the Cube logo. Nothing in that message hinted that it would be Yılmaz's last.
Despite Yılmaz's silence, Cube went from strength to strength. It’s now the cornerstone for all electronic commerce. It’s integrated into virtually every consumer device on the planet now. Behind the scenes, many banks use it to conduct their inter-bank transactions.
There are currently one hundred million units of Cube currency in circulation around the world. That might not sound like a lot but a unit of Cube can be subdivided into arbitrarily small units. A thousandth of a Cube is called, not surprisingly, a milliCube. A millionth of a Cube is a microCube. As the value of Cube has risen inexorably against traditional currencies, this ability to subdivide Cube into ever smaller pieces has proven essential.
The first ever real-world transaction involving Cube was to buy a vegetarian pizza. The pizza restaurant accepted twenty-two thousand Cubes in exchange for one large “VegeFeast” pizza, thin crust. At today’s exchange rates, those twenty-two thousand units of Cube would be worth over twenty-four million US dollars.
I turn my attention to a video recorded in the early days of Cube’s popularity by Dan Roberts. Roberts is one of the guiding lights of the engineering group behind the internet - without his contributions the internet simply wouldn’t work as well as it does - and his glowing endorsement of Cube won it a lot of new followers.
I tap the play icon on the screen of my band and the wizened face of Roberts appears. A man well into his seventies at the time of the recording, Roberts’ famed energy and passion for technology remain undiminished by his advancing years. He appears to be in the basement of a building somewhere - there are packing crates and shelves everywhere. Then I remember that he must have recorded this video during his self-imposed incarceration in the Venezuelan embassy in Washington. He had sought sanctuary there during the clampdown on “hardcore” crypto that saw hundreds of developers and technologists face criminal charges for refusing to add government backdoors to the cryptographic software they maintained. Roberts ended up spending nearly three years in the confines of that embassy.
“Before I dive into the technical details,” begins Roberts, “let me say first that Cube is magnificent … It is a towering achievement of intellect that tames - nay slays - multiple dragons of computer science, cryptography and economics. Do not imagine for one second,” he says sternly, wagging his finger in a headmasterly way at the camera, “that the simplicity of its design means that it was simple to create.
“Cube’s achievements are three-fold:
1) it is truly distributed, meaning that it has no need for a central point of trust - such as a bank or a government - and also means that it is impossible for financial authorities to shut down or control
2) it is genuinely secure, using nothing but well-proven pre-existing cryptographic algorithms
3) all transactions are entirely anonymous - neither the payer nor the payee are traceable
“To have accomplished one of these objectives would have been an achievement, to have accomplished two exceptional. That Yılmaz manages to achieve all three is nothing short of miraculous.”
Roberts pauses for a moment to take a couple of breaths then continues.
“Let’s get one bit of legal pedantry out of the way before we go further: can Cube be called a currency? Officially, no. Only a government can create money, or a currency, so if we want to keep our lawyer friends happy then we should come up with another way of classifying Cube.
“However, I take the approach that if something quacks like a duck and walks like a duck, then it is not unreasonable to say that it has duck-like qualities. As such, I would describe Cube as having many currency-like attributes.”
Roberts pauses again for breath.
“Up to now, every currency - be it physical or electronic - has operated with some form of central point of control … Some kind of sponsoring organisation - a bank, a government or a company typically.
“This central point has to perform several important functions, chief among them validating transactions to make sure that no one spends money that they don’t have, or tries to use the same money twice.
“Cube has no need for such a trusted centre. Trust, instead, derives from the Cube system itself: the software that each of its citizens run, and the protocol that connects their machines together.
“This lack of central authority makes Cube very difficult to regulate or control. Various governments have tried to outlaw it and/or shut it down but all such attempts have failed. Cube is a libertarian dream come true - for the first time ever we have a scalable electronic payment method that lies completely outside government control.
“So the trust lies in the Cube Community, those users - usually referred to as ‘Citizens’ - who run the core software. You don’t have to be a citizen to use Cube but anyone can become one - just download and install the free core software - and leave it running on your computer.
“The Cube Citizens number in the many thousands today and will, I expect, steadily increase with time. These are the people who store and maintain the Global Ledger - the list of all validated Cube transactions. The canonical Global Ledger is whichever version the majority of citizens hold to be correct. The more citizens there are, each checking the Ledger for correctness as new transactions are added, the more secure Cube becomes.
“Now let’s talk about the more casual users of Cube,” says Roberts.“These are the people who use Cube for making payments but do not actually run the central Cube software. The protocol allows this type of user to number in the millions, or even billions. These users need only store their electronic wallet - more about this later - on their device.
“There’s one other kind of Cube Citizen that I have yet to mention, but first we must talk about the common workspace that all Citizens share. It contains the pages of the Global Ledger, as well as the pool of unverified transactions that have yet to be added into the Ledger. Pages in the Ledger contain the details of transactions that have been verified. A new page is added every six minutes to the Ledger, ten every hour. The pages stored in the Ledger go all the way back to the Zero Page, generated by Mr Yılmaz, when the currency was first created.
“The task of generating the new pages falls to a special type of Citizen called a ‘Packer’. These Packers - no, they don’t have to live in Green Bay - take unverified transactions from the pool, validate them and add them to a new page. Verifying a transaction is done by checking the transaction’s embedded history of transactions: the chain of transactions that occurred previously and which resulted in the user taking possession of enough units of Cube to cover the amount of the transaction.”
“Once a page is full, a packer will then attempt to ‘seal’ their page by solving a cryptographic hash problem before anyone else. If they do solve it first, then their page gets added to the Ledger and the Packer receives some newly generated Cube as a reward. The process then starts over again, with everyone grabbing fresh transactions for validation before attempting to seal their version of the next page.
Roberts pauses for a second and then continues.
“Let’s now talk about anonymity,” he says. “The Ledger is completely public - anyone can download it and see all of the transactions that it contains. So how can a user’s privacy be preserved? Yılmaz has gone to considerable length to ensure this.
“First, the transaction history which is stored within each transaction is represented as a set of zero-knowledge proofs. This means that all that needs to be stored about each transaction is that it was verified as being valid. The amount of the transaction, and who were the parties involved in the transaction remain secret. This makes it impossible to build up a graph of linked transactions.
“Second, cube addresses are designed to be used once and once only. But to explain that, we need to understand how Cube wallets work.
“The Cube wallet keeps track of payments to and from the user and from these transactions is able to derive the amount that the user has available to spend. Access to a user’s wallet is protected by a password. If someone guesses your password then you can have all your Cube savings taken from you - so make sure you choose a good quality password!
“Stored within the wallet is a pool of public/private encryption key pairs. Whenever you want to make a transaction - either as the payee or the payer - one of these key pairs is selected. A one-time Cube address will be generated, using the public key. It is this address that will appear in the Ledger against the transaction.
“An address will look something like this,” says Roberts, putting up a card in front of the camera. “It is typically thirty-five characters in length - though only thirty-four of those characters are meaningful. The first character of an address is always a capital ‘C’.”
“The wallet keeps track of which key pairs have been used, and generates new ones regularly in order to ensure that there is always a supply available for use in transactions.
“By using a new address for each transaction the user’s anonymity is preserved. The Cube software enforces this policy and will refuse to re-use an address for another transaction. This means that even if you are linked to one of your transactions via an address, the other addresses you have used - or will use in the future - cannot be linked to you.”
Roberts pauses for a moment.
“So that’s Cube in a nutshell,” he says. “A payment system that is distributed yet secure. Authenticated yet anonymising. A solution with applications that go far beyond electronic currency. It deserves to be classed as the first great invention of the 21st Century.
“But, finally, what of its creator? … This Mehmet Yılmaz? … A mysterious stranger who left us this gift from the gods and then retreated back into the shadows?”
Roberts shakes his head.
“I do not know … All I can tell you is that I am not Yılmaz.”
Roberts theatrically looks to his right, then to his left. He leans in towards the camera.
“Rumour has it,” he whispers conspiratorially, “that Yılmaz owns the first one million Cube units ever created. At today’s prices, that means that he - or she - is sitting on a fortune worth around ten million dollars.”
I pause the video and look out through the window at the clouds outside - light, twisted strands of Cirrus intortus. Assuming that Yılmaz hasn’t sold them, the value of those one million units of Cube will now be worth over three billion dollars. And if the value of Cube continues to rise, Yılmaz will be the richest person on the planet within the next decade.
Yılmaz might have chosen not to receive public recognition for the act of creating Cube, but he or she is likely to have been rewarded very well financially.
It’s late by the time we arrive back in downtown San Francisco. As soon as we’re out of the BART train, Nadia spots a CCTV camera and insists on pulling the hood of her baggy hoodie over her head. It’s not exactly a feminine look but it certainly obscures her facial features.
We walk the short distance from the BART station to the apartment on Sutter Street. Faiza lets us in. “Welcome back,” she says to me, giving me a quick hug. She turns to Nadia, and holds out her hand, “It’s nice to meet you,” she says. (Yes, I had thought to email ahead to let her know that Nadia was travelling with me.)
Nadia shakes Faiza’s hand. “It’s nice to meet you Mrs Whitting,” she says. “I hope that I can be of some help in finding your husband.”
Faiza nods. “You’re very kind, thank you. Call me Faiza, please,” she says.
We sit down and I and Nadia recount everything that happened in Iceland. Faiza listens intently, leaning forward, especially when Nadia describes our escape from the two hoodlums.
We finish our story. Faiza sits back up again. “I’ve news too,” she says, “I’ve found someone who saw Max on the Friday evening.”
“Wow!” I say, “That’s great! Where?”
“At the bus station,” Faiza answers. “I was down there this morning, showing Max’s photo around. One of the drivers remembered Max getting on his bus for the drive up to Santa Rosa - Max’s British accent stuck in the driver’s mind.”
I flatten my band from my wrist and lay it on the table so that Faiza and Nadia can see it too. “Iris,” I say, “Give me the list of scheduled stops for buses going to Santa Rosa from San Francisco.”
“I’m sorry, Mr Jenkins,” replies Iris. “I’m not quite sure what you mean.”
I sigh. The programmers behind Iris claim that she is 99.9% accurate when it comes to speech recognition, but that one word out of a thousand that she does get wrong is more than a little irritating. At least in this case, I know exactly what the problem is, and how to avoid it.
“Iris,” I say again, “Give me the list of skeduled stops for buses going to Santa Rosa from San Francisco.” Iris, for some unknown reason, seems to be completely incapable of understanding my British pronunciation of the word.
This time Iris acknowledges my command and sets to work. A map of the Bay area comes up on the display of my band, together with a set of points where the bus stops.
“Blasted software agents,” I grumble to Nadia and Faiza. “They’re trying to make me speak like an American.”
According to Iris, the bus leaves San Francisco across the Golden Gate Bridge and then heads up Highway 101, stopping at the towns of Petaluma and Rohnert before terminating at Santa Rosa.
“Unfortunately the driver doesn’t remember where Max got off,” Faiza says. “It could have been any of the major stops - he thinks he would have remembered if Max had asked for the bus to stop anywhere else.”
“This is fantastic news,” I say. “How about tomorrow we hire a rental car and take a trip up the 101 and ask around?”
“Good plan,” says Faiza. Nadia nods in agreement too.
I tap my earpiece and ask Iris to make the necessary booking.
“Oh, I’ve just remembered,” says Faiza, “Inspector Lister phoned earlier - the Police have found your laptop!”
“Excellent!” I say, delighted at this unexpected news. “How?”
“It was handed into a police station,” says Faiza, “by someone who found it in a dumpster in a backstreet of the Mission area. Your business card was taped to the underside so they were able to identify it immediately.”
“Great,” I say. “I’ll go pick it up before we head up the 101.” I glance up at the clock on the wall and realise just how late it’s getting - it’s now past one o’clock in the morning. I didn’t sleep much on the plane and I can feel my body screaming out for rest. “I’m sorry,” I say to the women, “but I’m dead on my feet - can we call it a night?”
With now three people in the small flat, sleeping arrangements become complicated. Faiza has the bedroom, of course, and I relinquish the sofa bed to Nadia. I make do with a foam mattress plus sleeping bag on the kitchen floor. It’s not much but after having spent the past two nights struggling to sleep in the confines of economy airline seats, being able to stretch out, fully horizontal, feels luxurious in the extreme.
Despite the late night, I am awake well before 5 AM. Rather than get up and disturb Nadia and Faiza, I prop myself up on the foam mattress, unwind my band and continue the research into the creator of Cube. I download everything publicly written by Mehmet Yılmaz: forum posts, emails and social media messages. In total, it comes to a little over sixty-thousand words. All written over a period of about fifteen months.
Reading through it all, I see that it’s written in the same careful language that Yılmaz used for the original paper. The spelling and grammar is meticulously correct. Yılmaz isn’t one for wasting words - there’s a brevity to the writing style.
I read through the early months of forum posts, where Yılmaz patiently explains the design for Cube to a mostly skeptical audience. Bit by bit, I see how Yılmaz is able to win them over, through careful explanation and - once the source code was available - through reference to the actual implementation of Cube.
As I read through the posts one by one, I get a vague sense of something being different between them. However I struggle to identify what it is exactly. It isn’t until I re-display the text of the posts in a fixed-width typeface that I spot what it is.
The spacing around punctuation marks.
Sometimes Yılmaz has single spaces after a full-stop. Other times it’s a double-space. Sometimes there’s a space before an ellipsis. Mostly there’s not.
It’s the same for em dashes. Occasionally Yılmaz will put a space before and after the dash. Most of the time though there isn’t.
The weird thing is that the variation only occurs between postings, never within. Yılmaz is consistent with the use of spacing in any single posting. Assuming the differences are accidental, why would they vary only from posting to posting?
Maybe they aren’t accidental, I think to myself. Could they be deliberate - some form of hidden messaging? I’ve read a little about steganography, the art of concealing messaging inside something innocuous. The concept dates back all the way to the Middle Ages but gained fresh popularity with the advent of the computer age. Media files - both audio and video - are popular choices for use with hiding secret messages due to their overall size. It’s easy to disguise a textual message in a high definition video file as the video is already a gigabyte or two in size. No one will notice the size of the file going up by just a few thousand bytes.
However the amount of information that could be conveyed by simply varying punctuation spacing would be tiny. It’s just a few bits worth of data per message. What could be usefully communicated?
And who would be the intended recipient? I think to myself. Giving the multitude of ways that exist to send information securely-encrypted, why would anyone choose this approach to communication?
I ponder the significance of all of this for a while but fail to come up with anything conclusive. Then Iris whispers in my ear that it’s 7 am. I decide to go get some fresh bread for breakfast. I pull on my clothes and head outside.
By the time I return to the flat both Faiza and Nadia are up and dressed.
As we’re eating breakfast, there’s a ring of the door bell. I get up and open the door - it’s Inspector Lister.
“Good morning,” says Lister. He holds up my laptop. “I was passing and thought that I would return this to you.”
“Thank you!” I gush. “I didn’t think I’d ever see it again.”
“Whoever stole it,” says Lister, “apparently tried to sell it in a couple of bars around Mission. When they failed they threw it in a dumpster.”
“Oh,” I say, somewhat deflated. Whilst I’m glad to have my computer back, I have to admit to feeling a bit miffed that no one wanted to buy it. That’s a bit like a thief breaking into your house and stealing only some of your jewellery, leaving the rest lying on the floor. Do you feel worse about the stuff that was stolen or that they thought that so much of your collection was not worth stealing?
I recover my composure. “Thank you for returning my machine,” I say. “It’s very kind of you to drop it off.”
“My pleasure - despite what you might think of the SFPD,” he says, glancing towards Faiza, “we do try to go the extra mile for our citizens.”
He hands me a form acknowledging return of the device and I sign it. Lister gives a nod of acknowledgement to Faiza and Nadia at the breakfast table and then leaves.
I close the door and return to the table. “I guess we were all wrong about the theft,” I say. “It must have been an opportunistic thief, looking to make a quick buck by selling the laptop on.”
Nadia picks my laptop up and inspects it carefully. It’s a sleek, all metal design with a curved, extendable screen. “Your thief must have a truly terrible sales pitch if they couldn’t sell this on,” she says, handing it back to me.
I start the laptop up and run some diagnostics to check that it is still functional. Everything passes, even the checksum tests I use to make sure that no files - system or data - have become corrupted. I close its lid, give it a pat and return to my breakfast. It’s good to have my computer back.
After breakfast I excuse myself and go into the bathroom to shave a weekend’s worth of stubble from my face. As I lather my face in preparation for a wet shave, I hear Faiza and Nadia chatting in the other room.
“So what do you do for a living?” asks Faiza.
“I run a small security consultancy,” answers Nadia. “It’s based in Poland but we do freelance online security work for clients all round the world.”
“Tom tells me that you and Max were working together,” says Faiza. “What was the work?”
“Security analysis,” answers Nadia. “I do business with many companies who want security audits of their systems done - how secure they are to hacking threats, resistance to denial-of-service attacks, … that sort of thing.
“Max agreed to do some contract penetration testing. He did an amazing job - I’ve never known anyone to be so thorough or creative in their testing.
“When I got funding for this new project, Max was top of my list of candidates to work on it. He agreed to get involved, to track down Mehmet Yılmaz.”
“Why are you interested in this Yılmaz person?” asks Faiza.
“Do you use Cube yourself?” queries Nadia.
“Yes, I do,” says Faiza. “I have it on my phone … Mainly for making small purchases - it is so much easier than carrying cash or cards around.”
“No one knows who really created it,” continues Nadia. “The purported inventor - Mehmet Yılmaz - is just a pseudonym.”
“No one?” says Faiza, surprised. “I never realised it was a mystery.”
She pauses for a moment, considering.
“Does it really matter?” she asks.
“Absolutely it matters,” responds Nadia, emphatically. “The millions of people who use Cube every day deserve to know the truth about who created it, and their reasons for doing so.”
“Isn’t it enough that it works?” questions Faiza.
“No, it’s not,” says Nadia. “There are too many puzzling questions about Cube that just don’t have answers.”
“Such as?” asks Faiza.
“Well for one thing,” replies Nadia, “it’s too perfect.”
“How can something be too perfect?” asks Faiza.
“The Cube specification was published more than a decade ago,” says Nadia. “With the exception of a couple of minor tweaks - all made within the first couple of months of operation - this specification still describes the implementation of Cube that exists today - nothing has had to be changed, nothing added or taken away.”
“So?” asks Faiza. “Isn’t it good that it was defined correctly first time round?”
“It is good,” says Nadia, “but it’s also hugely unlikely. How could something so groundbreaking be defined to perfection at the first attempt?”
Faiza is silent, so Nadia continues:
“Any work of complexity - and Cube is complex, make no mistake - has issues when it is published. Oversights, gaps in logic, outright flaws, you name it. These issues get corrected later on, based on the feedback and lessons learnt from actually deploying the work into the real world.
“With Cube there was no correction phase. The specification was published and then a few months later the software actually implementing it was released. The software worked. Flawlessly. On tens of thousands of computers across the world. For one person to achieve this feat, for a solution that spanned the fields of economics, distributed computing, cryptography and mathematics makes them very, very exceptional.
“And, after release of the software, why did Yılmaz just disappear? Why step away from something that would be a crowning glory in anyone’s career?”
“Maybe they value their privacy,” says Faiza.
“Maybe they do,” agrees Nadia, “but they should still be accountable for Cube. It’s too important to the world economy for its author to be able to step away entirely.
“Every day billions of dollars of economic transactions are being conducted using Cube. Cube is having an immense effect on the economic processes of the world. Some are good, some are bad.
“Don’t you think that we deserve to know something about the person who created it? And why they decided to create it in the first place?”
Faiza is quiet - she has no more answers to Nadia’s questions. Frankly, I don’t either.
Iris whispers in my ear that our rental car has arrived and has parked itself outside. I hurry to finish my shave and then step back into the living room.
“Right ladies,” I say. “Who’s up for a road trip?”
WE drive across the Bay and into Sonoma County. Soon we leave the urban sprawl behind us. It’s been a long while since I’ve been in this part of Northern California and I’d forgotten how pretty it is. It’s a fine day, with the turning leaves on the few trees that have survived the drought looking spectacular in the autumnal sun.
Nadia doesn’t have her licence with her and, as Faiza prefers not to drive, I volunteer to do the driving. While I could let the car’s auto-drive do most of the work, I prefer to drive manually. I’ve had a few less-than-positive experiences with auto-driving cars. The problem isn’t so much when they are driving themselves (which they do flawlessly) but with my driving once I’ve taken back control - I’m far more prone to making mistakes. Given that I’m driving on the “wrong” side of the road, I don’t want to do anything that further increases my chance of an accident.
We drive along the picturesque Highway 101, towards Santa Rosa. Our first stop, after about an hour’s driving, is in the beautiful small town of Petaluma - at the risk of being condescending, I’d even describe it as quaint. We stop at the bus station and ask around, showing people photos of Max. We visit local shops and cafes and put up a few posters. We visit the local hospital, just in case Max has been admitted.
We even stop off at the TWiT studios - Max, like me, is a big fan of their podcasts, especially “Security Now”. Despite opening a far bigger multi-studio facility on the edge of town a couple of years back, the staff are as welcoming as they were when I visited the TWiT Cottage a decade or so ago when I was a student. Unfortunately, despite the warmth with which we’re greeted, no one recognises Max’s photo.
We continue up the 101. Our next port of call is Rohnert. It’s much smaller than Petaluma and so we don’t spend as much time there. We ask around, we put up posters and then we leave.
We then make our way to the bus’ final destination, Santa Rosa. This is the largest town in the region, the administrative heart of Sonoma County. We go through the same process as before - we visit the bus station, we put up posters, we ask around in shops and cafes and we talk with lots and lots of people. We visit both of Santa Rosa’s two hospitals. No one remembers Max.
Despite the lack of fresh leads, I’m not disheartened - there’s one other place that I want to visit. Sebastopol is just a couple of miles west of Santa Rosa and quite near there is a cybercommune that I remember Max mentioning once. Might he have gone there?
It’s the late afternoon when we pull up outside the isolated New Morningstar Commune, having traversed a long and meandering dirt track road. Named in honour of the famous 1960s commune that was located nearby, the NMC is a converted farmhouse, set high on a hill, overlooking large fields of what was once grazing land. The livestock is long gone now - the decade-long Californian drought has turned the fields into little more than arid scrubland. However the farmhouse still looks much as it must have done in the days when the place was a working farm.
The Commune is famous for its open-door policy, freely accepting anyone who wants to visit, for however long they want to stay. Hackers from all over the world are drawn here in order to collaborate with some of the brightest of their peers, and contribute to whatever ongoing projects take their fancy. Many open source projects owe their origins to work started here. I know of a couple of security researchers who always spend a month or two at the Commune, ahead of the DEF CON event in Las Vegas, polishing up their presentation.
We get out of the car and look around. There seems to be no one around. The back door of the farmhouse is open, so we decide to go in.
Inside we find ourselves in a large kitchen. A heavy wooden table dominates the room. A large six-hob cooker and refrigerator take up most of one wall. It’s a very typical farmhouse kitchen, except for the bank of enterprise-grade routers mounted in a rack beside the entrance.
Sitting at the table, his back turned to us, is a man. He’s eating a bowl of cereal with one hand while continuing to type speedily on a laptop computer with the other. Muted strains of music leak from the chunky music headphones clamped over his ears.
“Excuse me,” I say. The man continues to type on the keyboard, oblivious. I tap him on the shoulder. The man jumps up, startled. The bowl of cereal goes flying. It seems certain to crash on to the floor but Nadia manages to catch it one-handed and returns it safely to the table. Nice reflexes.
“My, you scared me near to death!” the man says. He’s younger than me - perhaps mid-twenties at most - and speaks with a southern accent. He’s dressed in jeans and a flannel shirt.
“I’m so sorry to disturb you but we’re looking for someone,” I say, pulling a couple of photos of Max out of my pocket. “Have you seen this man? He may have visited here a week or so ago.”
I pass the photos over. The man studies them closely.
“He’s my husband,” says Faiza, “His name is Max, Max Whitting. He’s been missing for ten days now.”
The man pauses, looks at the three of us and then shakes his head. “Can’t say I recognise him,” he says. “But wait here and I’ll show the photos to a couple of my colleagues here. They might know your friend.”
He disappears through the other door, into the rest of the farmhouse. We wait in the kitchen. To kill time I go over to the routers and examine them. They’re all high-capacity, state of the art systems, costing at least ten thousand dollars each. The Commune clearly takes its internet connectivity very seriously.
Faiza looks around too. “Someone forgot their turn on the washing up rota,” she says, pointing at the sink, which is piled high with dirty mugs, plates and cutlery.
After a few moments we hear footsteps and the man reappears. This time he has company. The other man is taller and probably slightly older. He’s sporting a scraggy beard.
“Hello,” says the taller man. “I’m Tim. I look after things here. Richard showed me the photo of your friend,” he continues, holding up the picture of Max. “Let’s talk in the office.”
He leads us through the door, into a corridor. There’s a door immediately on the left. Inside, is a small office, with a desk and chair. Well, to be more precise, I infer the presence of some sort of desk - it is buried in papers. Its top is overflowing with books and papers and further stacks of material are piled up against three sides of it. Beside the desk, on the carpet, are several desktop PCs together with a UPS box. Network cables go from the machines into a hole in the floor that someone has made none-too-tidily. Three of the walls are taken up with floor-ceiling bookshelves. The bookshelves are packed to the point of overflow with books and files and magazines. The other wall is dominated by a large multi-paned window that looks out on scrubland that was once one of the fields of the farm.
Tim sits down at the desk and starts typing away furiously on the keyboard of a laptop balanced on one of the piles of papers, seemingly oblivious to the computer’s precarious placement. He gestures to us to sit down in a couple of the seats. Faiza and Nadia take up the offer and sit - as there are only two seats, I elect to remain standing.
Tim pauses typing several times, as if waiting for something on his screen. Finally he stops typing for good and looks up. He holds up the photo of Max. “How long has your friend been missing?” he asks.
“About a week and a half,” says Faiza. “He disappeared a week last Friday in San Francisco.”
Tim sighs. “Well, I’m sorry to say that you’ve had a wasted trip out here. I’ve been IM’ing with the other residents here and no one remembers him visiting.” He passes Max’s photo back to us.
“Are you quite sure?” asks Faiza, desperately.
The man shakes his head. “Absolutely sure. I meet with all our visitors in order to explain the house rules so if he had visited, I would know. I haven’t been away from here in over two weeks.”
Faiza’s shoulders slump in disappointment. I decide that there’s no point in wasting more time here. “Well, thank you for your time anyway,” I say. I pass my business card to him. “If he does turn up, we’d greatly appreciate you letting us know.”
“Of course,” Tim says. “You’ll be the first to know.”
We head back to the car, deflated at having reached another dead end.
“What a day!” says Faiza, slumped in the back seat. The euphoria of the night before has been replaced by frustration at today’s lack of progress.
“Give it time,” I console her. “Santa Rosa’s a pretty big town - we should stay here tonight and see whether tomorrow we can turn up any more sightings.”
We head back to Santa Rosa and find a motel close to the 101. Faiza and Nadia agree to share a room, with me taking an adjacent one. My bedroom will double as the base of operations.
After freshening up at the motel, we decide to head downtown to get something to eat. We take the car and park just off Railroad Square. There we find a small Italian restaurant. Despite the sun having long since set, it’s still a surprisingly warm evening. We elect to sit outside, in the restaurant’s garden. The only source of lights are the flickering candles on each of the tables. The town is quiet at this hour, the only real sound being the chirping of late-season insects.
We give our food orders to the waitress. Nadia and I agree to split a bottle of wine with our food. Faiza prefers to stick with a soft drink.
“I wonder what caused Max to travel all the way out here,” muses Faiza.
“Maybe he wanted to meet with someone,” I say. “Someone who either lives out here, or who didn’t want to meet in SanFran and its wall-to-wall CCTV cameras.”
“Does he have any friends or associates in this part of California?” asks Nadia.
Faiza shakes her head. “None that I’m aware of,” she replies.
I suddenly remember Max’s unusual phone. I reach down to my bag, and pull it out. “Did you give Max this?” I ask Nadia.
“Yes, that’s one of mine,” answers Nadia. “They’re specially made, to my own specifications. They have additional encryption built into them to avoid any chance of calls being listened into.”
Another question pops into my mind. “Does the word ‘CHRONOS’ mean anything to you?” I ask Nadia.
Nadia thinks for a moment. “Not that I can think of,” she answers. “Why?”
“When I was looking through Max’s backup hard disk, I found a recently-created folder named that,” I answer. “It was full of academic papers on a wide variety of topics - encryption, parallel computing and the like.”
Nadia shakes her head. “I don’t recall Max ever mentioning the word to me. Perhaps it is something to do with daytime job at DORG?”
“Maybe,” I say. “I’ll have to ask Buckeridge the next time I see him.”
Our plates of pasta arrive and we eat in near silence. By the time we finish our food it’s getting late so we decide to head back to the hotel. Faiza insists on driving due to my consumption of wine.
By the time we get back to the motel, it’s past eleven. I’m tired but my brain is still buzzing, trying to figure out how Max, Cube, the Bratva and this part of California might all fit together. I tell Nadia and Faiza that I’m going to take a stroll to clear my head before turning in.
“I could do with a walk too,” says Nadia. “Do you mind if I join you?”
I don’t mind and we set off. Faiza heads into her room for the night.
We stroll through the tree-lined suburbs of Santa Rosa. The streets are very quiet - there are only a few people around at this late hour, mostly dog walkers giving their pooches one last walk of the day. A cool breeze has sprung from the west - rustling the leaves of the many trees that still have their foliage in place.
We walk along in silence. I’m going over the events of the day in my mind, again and again. What else could we have done to get a lead on Max? We know that he got on the bus for Northern California - why can’t we find out where he got off?
“Max is very lucky to have a friend like you,” says Nadia suddenly, interrupting my musings. “Someone who’s willing to drop everything and travel half-way round the world to look for him.”
“We’ve been friends for a long time. He’d do the same for me, I’m sure,” I reply, surprised at the compliment. Nadia’s been a pretty skeptical member of our party up to now, not exactly critical but hardly an enthusiastic supporter either.
“How long are you prepared to go on searching for him?” asks Nadia.
I ponder the answer to her question. I haven’t really thought about this much - I’ve just been taking each day as it comes, not trying to think too far ahead.
“As long as I possibly can,” I finally answer. “I have lots of outstanding holiday that I need to take, and my savings are in pretty good shape as well. I won’t be quitting on Faiza anytime soon.”
“How long have you known Max?” Nadia asks.
“Since university,” I reply. “We were in the same year and studied the same Comp Sci degree. We’ve kept in touch after we graduated and Max emigrated over here. I was his best man at the wedding.”
Nadia turns to me. “Faiza told me that the police think that Max’s disappearance is due to an argument between the two of them. Is that plausible?” she asks.
I shake my head. “Absolutely not,” I say. “Max would never walk out on Faiza, even for a couple of days, and most definitely not when they’re expecting a baby.”
Nadia nods her head. She leans in to me, standing close. “Max is very lucky to have a friend like you,” she repeats, softly.
I grunt, suddenly unsure where all of this is going. Nadia leans in still closer, her head towards mine. I feel her breath on my lips. I tilt my head and our lips meet.
The kiss only lasts for a second or two. We move apart again. I look at her to judge her reaction, but her eyes are already semi-closed and she’s moving in for another kiss.
This one lasts far longer. And is swiftly followed by a third, longer still and considerably deeper.
We suddenly feel a strong urge to be somewhere comfortable. And horizontal.
We race back to the motel.
I wake before Nadia and decide to rouse her with some breakfast, courtesy of the motel’s free buffet.
I pull on my jacket and head over to the foyer. It’s a cool, clear morning - despite my coat I find myself shivering.
The breakfast is laid out on a table beside the reception desk. I pour coffee into two stylofoam cups and start to gather a couple of plates’ worth of food.
“Good morning,” she says. “Did we have a good night?” she asks, raising an eyebrow.
It suddenly occurs to me that not only would Faiza have noticed Nadia’s absence from her bedroom last night, but that she probably heard our “exertions” through the thin wall between the two rooms. Awkward.
“Yes, thank you,” I reply. I can’t think of anything else to say.
Faiza leans into me. “Look,” she says, softly, “it’s really none of my business who you choose to spend your nights with but you’ve known this woman for less than forty-eight hours. Aren’t you going a bit quick?”
I blush. “You’re right,” I say. “This really is none of your business. Yes, I’ve known Nadia only a short while but we’ve been through a lot together already.”
I pause as a thought occurs to me. “Are you worried we’ll get distracted from the search for Max?” I ask.
It’s Faiza’s turn to blush. “That thought had occurred to me,” she admits.
“Well, you don’t have to worry on that account,” I reassure her. “We’re all on the same side here. We all want to find Max.”
“Not quite,” corrects Faiza. “Nadia wants to find Max’s work.”
After breakfast we set off and head back into the centre of Santa Rosa. We hand out flyers and we talk to people, lots of people. No one we encounter recalls seeing Max. The only things we have to show for our labours are sore feet and strained vocal cords.
By the end of the day we’ve looked everywhere that we can think of and we’re dead on our feet. Max’s trail has gone cold and so we decide to head back to San Francisco. We drive back in utter silence - Faiza and Nadia have barely spoken to each other all day, a few exchanges of token pleasantries at most.
I can tell that Faiza has been unsettled by the events of last night. But what Nadia and I chose to do in private, as consenting adults, is really none of her damn business. I’m certain that it won’t distract me from the search for Max.
The problem is that I’ve run out of new ideas for looking for him. We all have. All we can do is more of the same.
We drive back to San Francisco along the 101 in the early evening darkness. I’m again doing the driving. Faiza’s asleep in the back seat of the car and Nadia is dozing in the passenger seat beside me.
I glance across at Nadia. Even in sleep there’s a gracefulness to her - the way she holds her arms to her chest and how she bends her knees, keeping the legs neatly together.
Now I’d be lying if I said that I hadn’t immediately found Nadia attractive. Right from the first sight of her in the Reykjavik coffee shop, I was drawn to her. What heterosexual male wouldn’t be? (Apart, of course, from her father and any brothers she might have.) However I wasn’t going to act on those feelings. First, I never thought for a moment that the attraction might be mutual. Second, long ago I learnt the importance of keeping business and pleasure separate - a bad ending to a three-month romance with a rather cute member of the HR department gave me enough mental scars to last a lifetime.
So yes, I was drawn to Nadia right from the start. However I expected us to have a purely professional relationship during our search for Max.
Last night changed all of that. Things happened suddenly, unexpectedly.
As I take another glance across at Nadia I realise just how little I know about her. I know she’s from Poland, and has lived there all of her life. But that’s about it. Does she have a family there? A mother? Father? Siblings? Is there a boyfriend hanging around somewhere? With her striking looks, she’d have no shortage of offers, I’m sure. And if she is involved with someone, is he a homicidal axe-wielding maniac? I could really do without more people being mad at me right now.
So many questions, no answers. I mull on this for a while, then realise, guiltily, that I should be thinking about the next steps in the hunt for Max. Maybe Faiza is right to be concerned that Nadia’s going to distract me from the task in hand. I shake my head to clear it and return my attentions to the road in front of me.
An hour later we arrive back in San Francisco and drop off the car. Faiza heads upstairs to rest while Nadia goes out to do some food shopping at the supermarket. I consider accompanying her but decide that I should give Buckeridge a call instead.
I head up to the roof of the apartment building. It’s quiet up here, with the night-time cityscape is all around me. I feel distant, unconnected, from the noise and bustle of the streets below me.
I tap my earpiece. “Iris, put me through to Heath Buckeridge,” I command.
Buckeridge answers within two rings. “MISTER JENKINS! I’m so glad to hear from you again. How goes the search?” he thunders. I start to seriously wonder whether Buckeridge has some hearing impairment that causes him to raise his voice so much.
“Not good, I’m afraid,” I respond. “We thought we had a lead - a bus driver remembered giving Max a lift up to Sonoma County. We’ve spent the past two days up there looking around but we’ve found nothing.”
“Too bad, too bad,” says Buckeridge consolingly.
“Thanks again for letting us in the other day,” I say. “On the backup hard disk we found a folder named ‘CHRONOS’. It was full of university papers - could this be anything to do with Max’s work at DORG?”
“CHRONOS?” repeats Buckeridge, thinking to himself. “Can’t say that it sounds familiar. But I’ll check with his immediate colleagues and see if they know anything.”
“That would be wonderful,” I say. “Thank you.”
“My pleasure,” says Buckeridge. He pauses for a moment and then continues. “I’m glad you called me as I had an idea today that might help us track down Max.”
“Really?” I ask, a fresh spark of hope suddenly alight in my heart.
“Do you still have Max’s backup?” asks Buckeridge.
“Of course,” I say. “I’ve got a complete copy of it running within a VM and the original hard disk is stored safely.”
“Excellent,” says Buckeridge. “Come and see me first thing tomorrow. Bring the disk.”
Nadia and I set off for the DORG offices bright and early. As we walk, I wonder how to bring up the subject of Monday night. We haven’t really talked since then, and I’m unsure as to how Nadia feels about it. Does she regret that we got together? Or is she counting the hours until we can be together again? I simply cannot tell from her demeanour.
However now doesn’t seem like the right time to talk about all of this. Even at this relatively early hour there are plenty of people about on the pavements. I resolve to park the conversation until we are properly alone, preferably somewhere with candlelight and soothing background music.
Instead, I turn my attention again to the identity of Mehmet Yılmaz. I had stayed up late last night, again going through the collected writings of Yılmaz. This time through I focussed on the responses Yılmaz made to questions posted in the security forum used to first announce Cube.
As with all the other writing, Yılmaz's answers are well-written, with perfect grammar and spelling. It’s hard to see how they could have been written by someone for whom English was not their first language.
A couple of times people would ask questions in the forum about Yılmaz's real identity. Yılmaz ignored every one of these questions. Other questions in the same messages would however be answered, so it seems clear that Yılmaz deliberately chose not to answer anything related to his or her identity.
Another thing that struck me, while looking at the responses from Yılmaz, were the message timestamps - the times at which Yılmaz sent the messages. Yılmaz’s postings were pretty much evenly distributed across the full twenty-four hours of the day. There seem to be no clues there as to which timezone he or she might be living in.
A thought suddenly occurs to me: Or maybe there’s a Yılmaz in every timezone.
I turn to Nadia. “Could Yılmaz be more than one person?” I ask.
Nadia stops and looks at me.
“That’s an interesting idea,” she says. “What made you think of that?”
“It would answer a lot of the puzzling aspects about Cube,” I answer. “Such as how Yılmaz managed to be an expert in such a diverse range of subjects. How the working code could be ready for release so soon after the paper was published. How postings from Yılmaz came at all times of the day and night.”
Nadia tucks a few strands of hair behind an ear as she thinks.
“The challenge of keeping a secret amongst a group is much higher than if it is one individual,” she answers after some thought. “It’s not impossible that Yılmaz is more than one person, but it doesn’t seem to me to be the most likely explanation.”
We continue on our way to the DORG offices and arrive five minutes later. Buckeridge is there at the entrance to greet us. He’s dressed as immaculately as ever, in a grey suit with purple waistcoat. I struggle to remember the last time that I saw someone wear a waistcoat, weddings aside.
“Welcome, welcome,” he booms as he shows us in. I introduce Nadia to him as a friend of Faiza’s. Somehow I can’t imagine that Buckeridge, as Max’s employer of less than six months, would be too happy to learn that Max is doing work on the side.
“Enchanté mademoiselle,” says Buckeridge, taking Nadia’s hand and kissing it gently. Nadia smiles politely at this but then turns to me and, out of Buckeridge’s line of sight, rolls her eyes. I suppress a snigger.
Buckeridge leads us into the main conference room. A man’s already waiting for us in there. He’s dressed casually in polo shirt and jeans. His thinning hair places him, I’d estimate, somewhere in his late thirties or early forties.
“I’d like to introduce you to Joe Wilson,” Buckeridge says. “Joe’s been with us since the start.”
We shake hands. “Nice to meet you,” I say.
“Joe specialises in online privacy,” Buckeridge continues. “For the past couple of years he’s been looking at the methods that companies can track users online without their knowledge … without the use of browser cookies.”
I’m well aware of cookies. These are small files that a website can store on the user’s computer, and which can uniquely identify the user. Back in the 1990s individual sites would create their own cookies but concerns started to be raised a decade later when ad agencies created so-called third party cookies that could be used to track a user across multiple, completely different websites.
Rising concerns about cookies meant that most web browsers have added the ability to block cookies. Some of the browsers even have this functionality turned on by default. The result is that online ad companies have had to find other ways of tracking users.
“I’ve been researching SCPL - Side-Channel Privacy Leakage,” says Joe. I look back at him blankly - I’ve never heard this term before. I glance at Nadia and she looks equally baffled.
Reacting to our blank expressions, Joe gets up and starts to draw on the conference room’s whiteboard.
“Whenever a user looks up something on the web, their browser is exposing thousands of little pieces of information about their system,” says Joe. “Things like what browser is being used, its version, what operating system is being used, the size of the browser’s window, the screen resolution of the computer, the amount of memory it has and even the speed of the computer’s processor.”
“None of these pieces of information by themselves uniquely identifies a computer,” continues Joe, “but when taken in aggregate they can uniquely identify a computer nine times out of ten.”
Anyway, these are concerns for another day. “So how will this help us find Max?” asks Nadia.
“We are going to generate Max’s web fingerprint,” says Joe. “We’ll boot this spare laptop up using Max’s hard disk.” He pulls out of a bag an old battered laptop. It’s the exact same model as the one that Max owns.
“Once we’re up and running,” continues Joe, “we’ll go to a custom web site that I’ve set up - this will generate the fingerprint.”
Joe passes a piece of paper over to us. Printed on it is the URL for a web page hosted on one of the internet’s big cloud computing providers. “When this site is accessed,” Joe goes on, “I can generate the unique fingerprint of Max’s computer.”
I take Max’s hard disk out of my jacket pocket and plug it into the laptop. I then start the laptop up, booting from Max’s hard disk. We wait what feels like an age but in the end a familiar Linux GUI appears on the laptop’s screen. I then launch Max’s favourite web browser and then type in the URL provided by Joe. An innocuously simple web page appears, dominated by a large DORG logo.
Joe starts to tap away on his laptop. “No user action is required to generate the fingerprint,” he says, as he types. “And there’s no way a user can block it being generated either … Done!”
Joe theatrically swivels his laptop round so that its screen is now facing us. “Voila - one fingerprint created,” says Joe. On his screen is a long string of hexadecimal digits, several lines long.
I’m impressed but still feel that I’m missing the bigger picture. Nadia’s puzzled as well. “We’ve generated the fingerprint - I get that,” Nadia says, “but what are we going to compare this fingerprint against?”
“I was wondering when you’d ask that question,” pipes up Buckeridge, who has been uncharacteristically silent throughout the demonstration. “Fancy a drive down to Mountain View? It’s time to call in a very, very big favour …”
Buckeridge, Nadia and I head down the 101 in a rental car towards Mountain View, the home of the biggest internet search company on the planet. We’re going to meet an old friend of Buckeridge’s and ask him to do something that, if discovered by his employers, will likely have him fired on the spot. And never work anywhere in Silicon Valley again. Despite all of this Buckeridge seems confident that he will agree to the request - I’m beginning to think that his powers of persuasion must truly be magical.
Rather than meet with Buckeridge’s friend at his place of work, we’ve arranged to talk down the road at the Computer History Museum. It’s a public venue and big enough that we can talk inside it without fear of being overheard.
Like any geek worthy of the name, I’ve been to the Museum a couple of times during visits to the Valley. It’s been around since the turn of the century and has become one of the biggest technology museums in the world, benefitting from substantial donations from many Valley-based computer pioneers, both financially and in kind.
Buckeridge, Nadia and I arrive at the museum in good time for our rendezvous. The museum is a modern, two story building largely constructed from large slabs of white cement. Its curved front is dominated by a large lattice design made of concrete and glass.
I stop to admire the design for a moment. “It’s quite a building, isn’t it?” says Buckeridge.
“Definitely,” I say.
“Do you know anything about the building’s origins?” asks Buckeridge.
I shake my head. “Can’t say that I do,” I admit.
“It was built back in the 1980s,” answers Buckeridge, “for a company called Silicon Graphics. Have you heard of them?”
“Yes, vaguely …” I say. “They were in computer visual effects, weren’t they?”
“Sort of,” says Buckeridge. “They made high-end graphical workstations back in the 1980s and 90s. When commodity PCs became powerful enough to do professional visual effects, their market collapsed. Few people remember them now - this building is one of the few remaining tangible pieces of evidence that they ever existed.”
“Very sad,” I say.
“I like taking CEOs here, particularly those of start-ups that have been successful” continues Buckeridge. “They think they’re invincible … that they cannot fail … I tell them the story of this building as a way of reminding them about the transient nature of most Silicon Valley companies.”
As we’re early, we kill time by browsing around the main exhibits. Nadia professes to having never visited the museum before and seems particularly impressed by the mechanical recreation of Babbage’s Analytical Engine, the design for which is regarded by many as the very first computer design.
As the hour for the rendezvous approaches, Buckeridge and I move over into the Visible Storage Display room. Nadia remains in the main part of the museum, keeping a discrete look out.
The VSD room is a cavernous space containing hundreds of antique computers and associated peripherals. The smaller computers are stacked neatly on wire shelves, together with labels that list the computer’s year of release and a few other salient details.
The larger computers are laid out on the floor. Their bulk lends the room a maze-like quality - there are a plethora of pathways through the room. This makes it perfect for a clandestine meeting.
We browse around the room, pretending to look at various machines. There are only a couple of other people in the room with us, far away on the other side (another advantage of the VSD room is that it’s much less popular than other parts of the museum).
Maybe it is just me, but there’s something morbid about the room. None of the computers are powered up (most of them likely wouldn’t work if they were) so the whole place has the feel of a graveyard. It’s full of the carcasses of dead computers, no hint as to the important work they once performed.
As we walk down an aisle bordered by two tall sets of shelves, a man approaches us. He is stoutly-built, of similar age to Buckeridge, with a greying beard and an equally greying ponytail. He’s wearing a pair of well-worn jeans together with equally worn cowboy boots and a faded check shirt. A pair of spectacles at least ten years out of style completes his attire.
The man stops and holds out his hand to Buckeridge. “It’s good to see you HB,” he says quietly. His accent sounds mid-western.
Buckeridge shakes his hand. “And you,” he says. He gestures in my direction. “This is Tom,” he says.
The man nods to acknowledge me.
“Um,” continues Buckeridge, “it’s probably best if Tom doesn’t know your name … you know, just in case.”
“Agreed” the man says, nodding again.
Buckeridge goes on. “One of my employees has disappeared and we’re desperately worried for his safety. I’ve had his web fingerprint generated. We need it compared against as much web traffic as possible, in all geographic regions.”
The man scratches his beard, deep in thought for a moment. He lets out a long sigh. “Hell, Buckeridge, when you call in favours you really call them in,” he says. “I can get this on the main search page for a week, perhaps two at the absolute max.” He takes the memory stick from Buckeridge’s hand and pockets it in his jeans.
Buckeridge lets out a sigh of relief. “Thank you,” he says. “This means the world to me.”
“But who visits search pages anymore?” I ask. “Doesn’t everyone these days just put search queries into their browser’s address box?”
The man flashes me a smile. “Why do you think we put so much effort into creating the doodles?” he says. He winks at me, and then turns and moves off. He spends a further token five minutes looking at the exhibits and then saunters out of the room. He has much work to do back at the office.
“Wow!” I say, turning to Buckeridge. “Do you think he’ll be able to do what he promised?”
“Absolutely,” says Buckeridge confidently. “The less you know about him the better but know this: he will do exactly what we asked him to do and he will get it done without being detected. Within twenty four hours Max’s fingerprint will be being compared with the hundreds of millions of internet users who visit the search page every day.”
“Now, let’s find our lady friend and head back to San Francisco.”
The three of us drive back to San Francisco. After dropping Buckeridge off at DORG, Nadia and I return to Sutter Street.
Back at the flat, Faiza listens intently to our description of the events of the morning. Then she asks “So this will allow us to track Max if he comes online?”
“Hopefully yes,” I say. “If Max does a web search from his laptop, we should get a match. It’s not guaranteed but Buckeridge and co seem to think that it’s a better than fifty-fifty chance.”
Faiza nods, processing all of the news. She herself has been out all morning looking for Max the old fashioned way - handing out lots of flyers, doing lots of talking and even more walking.
I’m about to go into more detail when Iris starts whispering in my ear. “I’m sorry to interrupt, Mr Jenkins,” she says, “You have an incoming video call via the Ironstar application. Do you want to answer?”
Ironstar? I’d forgotten that I had installed that on my Band. It’s a secure videoconferencing program, encrypting all video and audio feeds. I’d loaded it a few months ago, back when I was evaluating encrypted communication technologies on behalf of the bank. I must have never gotten round to uninstalling it.
I wonder about who might be calling me - I can’t recall having told anyone my Ironstar ID. A sudden surge of hope hits me - could it be Max?
“Yes Iris, answer please,” I respond hurriedly.
I excuse myself and step into the bathroom to take the call. I unwrap my band from my wrist and prop it up on the side of the sink.
Two faces, both male, appear on the screen. I recognise one of them - he was the first of the two men that we spoke to at the Commune the other day.
The other man I don’t know. He’s at least fifteen years older than me, judging by the greying hairs and wrinkles around the eyes. Although having said all that, there is something that is familiar about him - I get the strong feeling that I’ve seen him somewhere before …
The younger man speaks up. “Hello Tom … You remember me, I hope?”
“I do indeed,” I reply. “It’s Richard, isn’t it?”
“That’s right,” he replies. “I was hoping that you might have had some luck in locating your friend Max … Have you found him?”
“No, I’m afraid not,” I say. “Though it’s not been for lack of effort, I can tell you. Why do you ask?”
Richard hesitates, as if embarrassed by what he’s about to say. He then starts to speak: “When you visited you asked me whether I had seen your friend … Well, I’m sorry to say that I wasn’t quite honest with you. I did recognise Max in the photo - he visited the Commune a week or so ago. When he left again he told us all to let no-one know about his visit. When you turned up we felt duty-bound to honour that request.”
I fight the urge to get angry. Anger is not going to get me any new information on Max’s whereabouts. “So what caused the change of heart?” I ask. “Why call me now with this information?”
“That was my doing,” says the other man. “I need to speak with Max as soon as possible.”
“This is David Sams,” says Richard, gesturing at the other man. “Dave’s been working out of the Commune regularly ever since it opened. He turned up this afternoon, asking us if we knew Max’s whereabouts. As Max didn’t leave any contact details when he departed us, we thought you might have had some luck in locating him.”
“As I said, unfortunately not,” I respond. Sams’ shoulders slump in disappointment.
“Max works for DORG, right?” asks Sams.
I nod my head. “Yes, he’s an employee of theirs. The executive director, Heath Buckeridge, has been helping us try to find him.”
I pause for a moment. “So why do you need to talk with Max so urgently?” I ask.
“I know that Max was investigating Cube,” answers Sams. “I’ve been investigating,” and here I struggle to understand what he’s saying, “the Typhoo database, and came across some recent extensions that worried me. I don’t have all the answers yet though … I thought that Max could help me piece things together.”
“What’s Typhoo?” I ask. “And what’s it got to do with Cube?”
The man shakes his head firmly.
“Not Typhoo - I said the TYPHOON database,” he says firmly. “T … Y … P … H … O … O … N.” He virtually spits the individual letters of the acronym out at me.
Richard gives a polite little cough.
“Anyway I can’t say more over this line - we may already be being monitored,” Sams says. “Let me get my notes together and we can meet face-to-face tomorrow. Come up to Sebastopol in the morning - we’ll meet downtown somewhere … I know - the Roasted Bean coffee shop. 11 am. Don’t be late.”
Without waiting for me to acknowledge the details of the rendezvous, Sams reaches to turn the webcam off. The call ends.
I come out of the bathroom. Both Faiza and Nadia look at me with puzzled expressions, wondering why I’m beaming from ear to ear.
“Looks like our trip up to Sonoma was more successful than we thought,” I say triumphantly. “Max did visit that commune! And someone else has arrived there asking for Max!”
Straight after breakfast Faiza and I head off up the 101 on the fifty-odd mile drive to Sebastopol.
Nadia has volunteered to stay behind and put up more posters. She seems to be making a concerted effort to get back into Faiza’s good books. I wonder whether she’s doing it because she wants to re-earn Faiza’s trust or to get Faiza to ease up on me. Whatever her reason, it does seem to have improved Faiza’s mood somewhat.
Nadia and I have talked little over the past two days, and nothing about what happened on Monday night. I’m wondering how she feels about it now - is she regretting our getting together? While she certainly seemed to enjoy it at the time, does she view it as a one-off or does she see us as a couple in the future? I really can’t tell from the way that she acts towards me - she’s a hard woman to read.
Faiza’s bladder needs regular emptying so after half an hour of driving we stop off at a gas station that has a toilet. As we get ready to head off again afterwards, Faiza turns to me in the car. “I’m sorry about how I acted the other day,” she says. “About you and Nadia.”
“That’s ok,” I tell her. “I was almost as surprised as you were when it happened.”
“It’s just …” Faiza hesitates and then continues, “… just that you getting together with Nadia brought back some painful memories for me.”
I turn round in the car seat to look at her. “Painful? What do you mean?” I ask.
Faiza sighs and pauses before answering. “It was a while back. Max and I had been arguing earlier that day and that evening I went out for drinks with a group of male friends from the university. I was annoyed at Max, the university course workload was immense and I needed to let off some steam. I drank more than I should have. One thing led to another and I ended up spending the night with one of them.”
I’m stunned. “You mean you had an affair?” I ask, incredulously.
“No, nothing as formal as that,” says Faiza. “It was only one night … I regretted it immediately …”
“Does Max know about this?” I ask.
“Yes, he knows …” Faiza says, lowering her gaze. “He … I had to let him know …”
“Why?” I say.
“It was six months ago,” Faiza answers.
I stare back at her blankly, none the wiser. “I don’t get it,” I say.
“To be precise, it was thirty-one weeks ago,” Faiza says.
The penny drops. “You mean that your baby,” I say, “might not be Max’s?”
“Yes,” says Faiza. “We don’t know for sure … we’ll find out when the baby’s born, I guess.”
I now understand just why Faiza and Max were so reluctant to tell their families about the impending birth.
“How does Max feel?” I ask.
“He was hurt by what I did, of course” Faiza answers, “and that he may not be the biological father of my baby. But he said that it would make no difference to how much he would love the child - he said that he loved me and that he would love our baby.”
I nod my head. That matches how I figure Max would react to this situation.
“And does the other guy know?” I say.
Faiza shakes her head. “No, he doesn’t,” she says. “I haven’t seen him since the … since that night. As soon as I knew that I was pregnant I pulled out of university. Max and I have agreed to do a paternity test after the birth. Based on the result of that we’ll decide who else needs to know, and what.”
She reaches out and touches my hand. “I’d appreciate it if you told no-one else,” she says. “Not even Nadia.”
“Of course,” I tell her. “You have my word.”
Faiza pulls her arm back. “Thank you,” she whispers.
I press the car’s ignition, get into gear and reverse out of the parking bay. We continue up the 101.
We pull into the municipal car park in Sebastopol just after 10.30 AM. We’re in good time for our meeting with Richard and David.
We leave the car and stroll over to the coffee shop. I order a tall coffee, black. Faiza chooses a herbal tea. The coffee shop is relatively quiet at this hour and we’re able to get a table to ourselves, over on the side.
“So,” says Faiza, “where do you want to start with the questions when our guests arrive?”
“First, we need to establish the timing of Max’s visit to the Commune,” I reply. “When he arrived, when he left. Then we can get into what he did while he was there, and who he talked with.”
“And whether he said anything about where he was going next,” Faiza adds. I nod in agreement.
“Nadia tells me that no one knows who created Cube,” Faiza says, changing the subject. “Is that correct?”
“Yes, it’s true,” I answer. “The original paper describing it and the software that followed shortly afterwards were released by someone using the pseudonym ‘Mehmet Yılmaz’.”
Why was this never big news?” asks Faiza.
“It’s a good question,” I answer. “I’ve been thinking a lot about that myself. When the Cube white paper was first published by Yılmaz, I don’t think that people realised that it was a pseudonym. Most probably they assumed that the name was real.
“Once people did realise that it was a pseudonym, well, Yılmaz was still active at that time in the forums and so it didn’t seem to matter very much. People might not know the person’s real identity but they could still interact with him or her. Ask them questions. Get responses. It wouldn’t have seemed that unusual - lots of people use only login screen names for their online activities. Like Nadia going by ’Nero’ online, for example.
“Then Yılmaz stopped posting to the forums. But it was done with no fanfare. The postings just stopped. There was no I’m-stepping-down-now valedictory message. It took folk a couple of months to realise that Yılmaz had stopped posting.
“By then Cube’s popularity had really taken off. It was getting lots of attention but it was all focused on Cube itself - the design of the protocol and the software implementing it. As all of the code had been made open source, people could inspect it for themselves and decide whether or not they wanted to use it as an online currency.
“Lots of journalists have tried to find Yılmaz, and some have claimed to have found him. But none of the people put forward have stood up to serious scrutiny. None of them display even close to the degree of genius required to have created Cube by themselves.”
“I keep hearing you and Nadia and others say that Cube is brilliant,” she says. “What exactly is it about Cube’s design that is so special?”
Iris whispers in my ear that the time is 10.45 AM. Not long to wait now …
“Cube is the first currency in history whose architecture is completely distributed,” I reply. “Every other electronic payment system previous to Cube has required some form of central body to process payments and make sure that no one tries to spend money that isn’t actually theirs.
“Instead, Cube has a common workspace that is shared by all the computers running the central Cube software. Within this workspace is the Global Ledger that records every single verified Cube transaction. This Ledger is open to everyone to view, and in principle, to contribute pages to.
“In order to implement the Global Ledger successfully, Yılmaz had to find a way to ensure that all of this distributed processing could be done reliably. Some of the systems running the Cube software may be defective, they might make mistakes that could corrupt the Ledger. Worse, rogue systems could deliberately attempt to insert false transactions, or amend existing ones. Yılmaz had to find a way to solve a challenge that in Computer Science is known as the ‘Byzantine Generals’ Problem’.
Faiza looks at me blankly.
I scribble a quick diagram on a napkin and slide it across the table:
“The Byzantine armies are planning to attack a heavily fortified city,” I say, gesturing at the castle in the middle of the diagram. The armies, each led by a general, are camped out around the city and are geographically separated from each other.
“The generals have the problem of agreeing a common time to attack the city. The city is defended well enough that if the attack is not co-ordinated, it will fail. The generals can send messengers to each other but messengers may be captured en-route.
“To make matters worse, some of the generals may be traitors to the Byzantine cause. They will attempt to disrupt the communication between the other divisions and perhaps feed wrong information.
“So the challenge facing the generals is how to come up with a communication process that allows them to agree on a common time of attack but which is robust enough to cope with messages not being received and traitorous generals sending wrong information.
“The scenario was first defined back in the 1980s as an analogy for the problem of getting distributed computers to communicate successfully even in situations where some of the systems were faulty and feeding wrong/corrupt information to the others.
“Yılmaz had to come up with a solution to this problem in order to make Cube work. His approach can best be described as ‘emergent consensus’ - where consensus arises as a result of the interactions of thousands of independent Citizen systems, all running the Cube software and maintaining the Global Ledger.
“Each of these systems independently verifies each transaction as well as every new page that is added to the Ledger. Each system effectively votes on which is the true version of the Ledger.
“Consensus comes through what the majority of the systems decide, each of them deciding independently of the rest. You can think of Cube as a perfect implementation of the ‘Wisdom of Crowds’. As long as the majority of the Cube systems are honest, any attempt to subvert the currency will fail.”
I glance up at the clock on the wall. It’s now five past eleven - they really should be here by now …
“Mehmet Yılmaz is an interesting choice of pseudonym …” muses Faiza.
“I know,” I say. “It’s effectively a Turkish non-name … their equivalent of the British ‘John Smith’ or the US ‘John Doe’. The choice of it suggests that the identity of the Cube’s creator isn’t important.”
“Oh I wasn’t meaning that,” replies Faiza. “I was thinking of how the world’s first ever coinage came from Turkey.”
“Really?” I say, surprised.
“The first metal coins were made in the Kingdom of Lydia,” answers Faiza, “which today forms part of the western provinces of Turkey. Trust me, as a business student I’ve learnt more than a thing or two about money.”
She pauses, thinking for a moment, then continues. “Maybe ‘Mehmet Yılmaz’ was chosen by the creator as they felt that Cube is as big a step forward for money as metal coinage was three thousand years ago?”
I rub my chin. “Could be,” I answer. “That can be one of our questions for David when he gets here.”
Iris whispers in my ear that it’s 11.15 AM. Where are they? I get Iris to call Richard, via Ironstar, but there’s no answer.
We continue to wait. By 11.30 I’m definitely feeling stood up. I try calling Richard again, and still get no response.
“Let’s drive over to the Commune,” suggests Faiza. “Maybe we’ll catch them there.”
HALF an hour later we pull up outside the commune. There’s no one about outside so we decide to go in.
The kitchen is unoccupied but, at first glance, looks much as it did when we last visited. The sink is still full of unwashed plates and bowls.
Then I notice the rack of routers beside the door. Last time we were here they were a mass of flickering green light, now they are lightless, their fans silent. I flick the light switch beside the door. No lights come on. “Electricity’s off,” I remark.
I walk over to the kitchen’s other door and open it. “HELLO!” I shout down the corridor. “ANYONE AT HOME?”
I turn to Faiza. “I’m going to take a look around,” I say. “You can st-“
“We stick together,” says Faiza firmly. “I’m coming with you.”
I nod. “OK, if that’s what you want,” I say.
Not knowing what to expect, I step into the corridor, Faiza following just behind me.
We open the first door we come to, the one that leads into the office. Unlike the kitchen, this room looks very different to when we last visited. The place appears as if a tornado has blown through it, pulling down everything that had been stacked on the bookshelves or the desk, and hurling it unceremoniously on to the carpet. The entire floorspace is several inches deep in books, binders and other papers, making it difficult to walk.
Faiza looks around in puzzlement. “What on earth happened here?” she asks.
“Not sure,” I say, equally puzzled. “Looks like someone ransacked the place.”
Faiza clambers over the mounds of books and looks around the other side of the desk. She picks up a ring-bound notebook that is lying on top of one of the piles. Half of the pages in the notebook have been torn out, leaving only blank pages remaining. “Maybe they were looking for something,” she says. “I wonder what?”
It’s then that I realise another change to the room. The desktop PCs that had been placed under the desk are gone. Their power cables are still there but the machines themselves have vanished.
I point the disappearance out to Faiza. She bends down and examines the carpet closely where the machines were placed. “They’ve only been very recently removed,” she says. “The carpet’s still indented where their cases pushed down into it.”
“Let’s keep looking around,” I suggest. Faiza nods and we leave.
The next door we try opens on to a large L-shaped lounge area, furnished with a couple of sofas and low-tables. There are windows along one whole wall of the sitting room, looking out on to a small garden. A pair of multi-paned French doors permit access to the outside.
There’s a strange smell to the air. It’s a sweet smell, not exactly unpleasant, but one that I’m certain I’ve never encountered before.
Faiza notices it too. “What on earth is that?” she says, wrinkling her nose.
“No idea,” I say, shaking my head.
Faiza walks over to the French doors. She examines one of the doors. “A pane’s been smashed,” she says. “And what’s this?” she says, her attention now drawn to something by her feet.
I walk over to her and take a look. On the carpet, amidst broken glass, is a small grey cylinder, about thirty centimetres in length. One end has a valve.
I crouch down and gingerly pick it up. The canister has only a few markings on it, none of them I recognise. I give it a cautious sniff and confirm that it is the source of the strange smell.
“What do you think it is?” whispers Faiza.
I shrug my shoulders. “Some kind of gas, but I don’t know what exactly,” I whisper back.
“Is it dangerous?” says Faiza, her hands instinctively moving to, and clutching, her belly.
I shake my head. “I hope not, “ I say, trying to reassure her, “but let’s keep a close eye on each other - if either of us starts acting strangely, let’s get out of here.”
“You got it,” says Faiza. She bends down again and looks at the broken glass. “Judging by where the glass fell, the canister must have been fired by somewhere over there,” she says, gesturing towards a tree on one side of the garden.
Taking the canister with us, we head out of the sitting room. We’ve now explored all of the ground floor, leaving us only the stairs leading to the upper floor and steps down to the basement.
I’m just about to ask Faiza whether she wants to go up or down when suddenly, from somewhere above us, there comes a sound.
We both stop and listen intently. The noise repeats - it’s quiet but it is unmistakably the sound of tapping.
“Something’s knocking,” says Faiza, staring at the ceiling.
“Or someone,” I say. “Let’s go find out.”
We head up the stairs. At the top is another corridor, with doors on both sides. At the end, is an open door, leading into a bathroom.
We open the first door and look inside. It’s a small bedroom with a window that looks out on the garden. Apart from the bed, there’s a small wardrobe and a desk. The pillows and duvet of the bed are scattered on the floor.
Lying on the floor beside the window is another grey canister. I go over and pick it up. It’s identical to the one we found downstairs. Judging by where the glass is lying, the canister was fired from the same location too.
Faiza puts her hand down on the side of the desk, and then pulls it back sharply. She looks at her hand and then the desk. “Blood,” she says, holding her hand out to me to see. “Someone hit the side of this desk hard. Very hard.” She wipes her hand clean with a tissue.
“Whoever broke into the house must have encountered resistance,” I answer. “Maybe this gas was intended to subdue, but not everyone was affected.”
We hear the tapping noise again. This time, it’s much closer, just across the corridor from us.
I walk across and open the door. It’s another bedroom, much like the one we were just in. Equally empty of people too. I check the wardrobe to make sure that no one is hiding there but find nothing.
As I am puzzling over the source of the tapping, the sound occurs again and I realise its cause - the window of the bedroom is slightly ajar and is periodically being made to bump against its frame by the wind from outside.
“So it was just a window we heard,” sighs Faiza. “I guess someone likes fresh air while they sleep.”
“Maybe,” I say, examining the window. It’s a large window, maybe large enough to climb out of … I open the window fully and lean out. Below me is a small roof that is on top of a side porch. And beside me …
I reach outside and pull something that is stuck to a nail embedded in the frame of the window. It comes free in my hand. I examine it closely. It’s a scrap of fabric, possibly from a shirt or a jacket.
I show it to Faiza. “I think someone tried to use the window to escape,” I say.
“I wonder if they succeeded?” Faiza replies.
We look around the rest of the top floor. We find some more bedrooms, a few more canisters but no more clues as to what happened. Faiza has to pee again so she checks out the bathroom, but finds nothing.
That leaves only the basement to search. It’s dark down there but I’m able to find a couple of working flashlights in a cupboard in the kitchen.
Going down the stairs, Faiza is a step or two in front of me. She gets to the bottom of the stairs and then starts to look around with her flashlight. Suddenly she stops. Her hands go to her mouth and she screams.
At the far end of the basement, lie multiple dead bodies. They are bound hand and feet.
I rush to Faiza and she turns and buries her head in my chest, sobbing. I try to be manly and cool but it’s all I can do to not throw up.
After a few moments, Faiza’s sobs subside. She pulls away from me. “I’m going outside,” she says. “Can you check for me whether Max is here … I mean, is one of the bodies?”
I nod as reassuringly as I can. “Of course,” I say. “I’ll be out in a few moments.”
Faiza leaves the cellar and I am alone with the corpses. I start the grim task of examining them. There are five men and one woman. They’re lightly dressed, in nightwear - t-shirts and shorts mostly. Whatever happened must have occurred during the night.
One by one I look at the bodies. Two of the corpses are Richard and Tim. The other bodies I don’t recognise. There’s no sign of Sams. Nor of Max.
Strangely there are no immediate signs of the cause of death - I cannot find any bullet marks, or any other kind of mark for that matter, anywhere.
There is something strange though about the bodies and it takes me a while to realise what it is - it’s their eyes. All of the corpses’ pupils are massively over-dilated. I can barely see their irises at all.
I’m pondering the significance of this when Iris alerts me to an incoming call. Via IronStar. I tell her to answer it and unwind my band from my wrist.
Sams’ face appears on the screen of my band. He is a mess. He’s got a deep cut down one side of his face and his jaw is puffy and discoloured.
“He’s going to get you,” he says, before I have the chance to say anything.
“I’m sorry, I don’t understand,” I respond, confused.
“I said, he’s going to get you,” Sams repeats.
“Who’s going to get me?” I say. “I don’t know what you’re talking about.”
“Kristof, of course” he says. He pauses, looking at me and waiting for a reaction.
“Who?” I ask.
“Alexi Kristof,” Sams repeats. “He and his Bratva cronies stormed the commune last night, looking for me. I only just managed to escape.”
He touches his swollen jaw delicately, wincing as he does so.
“All things considered, I got off pretty lightly,” he continues.
“I don’t know who you’re talking about,” I tell him, puzzled. “I’ve never met anyone by that name.”
Sams stares at me for ten long seconds. Finally he responds.
“Well, either you’re lying - in which case you’re the bastard who tipped him off about my location, or you’re telling the truth and you’re an innocent bystander in all of this. Doesn’t really matter which - either way, he’ll hunt you down.”
“Why?” I ask.
“Well, if you are working with him, then he’ll have you killed as he doesn’t like to leave loose ends lying around.
“And even if you are innocent, then he’ll still come after you as he’ll want to find out what you know about the whereabouts of your friend, and everything you’ve found out about Cube. Once he knows what you know, he’ll kill you.
“As I said, whatever your situation, he’s going to come after you and kill you. He never leaves loose ends.”
I put my hands up in mock surrender. “I’m sorry, I promise you that I don’t know who this Kristof is. I certainly haven’t been talking to him about your whereabouts or anything else,” I tell him.
Sams narrows his eyes while continuing to stare at me. Finally he continues. “It’s possible, just possible, that you’re telling the truth. In which case my advice is to get as away from California as possible. Hide. And hope that he’ll lose interest in you before he finds you. He probably won’t but at least you’ll live out whatever days are left to you in the naive belief that things will turn out OK.”
“I understand,” I tell him, “but until I find Max, I’m not leaving.”
“Commendable,” replies Sams. “Courageous even. But stupid. Very stupid.
“The longer you remain in California, the more likely that Kristof will find you. Meeting him will not be pleasant, I can promise you.”
“Why is he after you?” I ask.
“Because I’m one of the people who invented Cube,” replies Sams calmly. “I quit a long time ago, but he thinks that I can still lead him to the rest of the guys.”
Yes! I think to myself. My hunch was right!
Suddenly everything falls into place. The accidental variations in spacing, the responses to forum messages at all times of the day and night, the need for Yılmaz to be a virtuoso polymath of unrivalled breadth and depth - these pieces all fit together now. If Cube was the work of more than one individual then these questions all have easy answers.
Sams glances down at his watch.
“I have to go now,” he says. “I’m getting on a plane in twenty minutes. I’ve got tickets booked under a fake name, with new passport, credit cards, the lot. I’m leaving the US for somewhere a long way away. Somewhere Kristof won’t be able to find me easily.
“I’ve been running from him for almost ten years now. I’ve learnt how to disappear - I’m very good at it. You won’t hear from me again unless you find your friend. I won’t talk to anyone other than him.”
And, just like that, he hangs up.
I’m about to resume searching the bodies when Faiza appears at the top of the stairs.
“SOMEONE’S COMING!” she yells.
Fear clutches my heart. Sams’ words echo through my head: He never leaves loose ends.
I sprint up the steps and dash outside. Faiza points at a cloud of dust on the dirt track to the house. “A car’s coming this way!” she shouts.
“We need to hide. NOW!” I tell her. “It may be the Bratva.”
We race over to our car and I reverse it into the largest of the outbuildings. I shut the doors of the shed and we peer through a couple of holes in the wood panelling. We wait, hardly daring to breathe, as the sound of the car gets closer and closer.
Faiza hides beside me. “Did you,” she whispers, “… Did you find Max?”
“No,” I whisper back. “No sign of him. I did recognise a couple of the bodies - Tim was one of them - but the rest I don’t know.”
Faiza is about to ask another question but is interrupted by the sound of the car pulling up outside the farmhouse. I peer through a hole in the wood panelling of the building. It’s a black Highway Patrol police car. Its doors open and two officers climb out. I start to let out a sigh of relief but the breath dies in my throat as I realise that the policemen are the two thugs Nadia and I encountered in Iceland.
I nudge Faiza. “They’re not real cops … Those are the men who chased Nadia and me in Iceland”, I say.
We watch as one of them walks round to the rear of the car, looks around quickly and then opens the backdoor. He reaches in and pulls out a large jerrycan. The container appears to be full, judging by the way that he has to lift it out with both hands. As he pulls it from the car, the can slips from his hands and it falls on to the ground with a loud thump.
The other man swears at him and pushes him in the shoulder as a reproach for his carelessness. The first man pushes him right back and unleashes a lengthy (and sweary) tirade at him.
“Tweedledum and Tweedledee …” whispers Faiza to me.
Both men kneel down and inspect the state of the jerrycan. Satisfied that it’s intact, they pick it up between them and carry it into the kitchen.
“Let’s get out of here while they’re busy inside,” I whisper to Faiza. She nods.
As quietly as I can, I open the doors of the shed again and creep over to the men’s car. Being careful to stay on the side of the police car furthest away from the house, I pull out a quarter coin from my pocket and let down both the front and back tyres as quietly as I can.
Then I hustle back to the shed and get in our car, alongside Faiza. I press the ignition and floor the accelerator. The car bursts from the outhouse and on to the dirt track. We don’t stop until we reach the main road. There we pause and look back to see if we’re being chased.
“Look! Smoke!” shouts Faiza, pointing. I turn around and see a plume of black smoke rising into the sky. The Commune, high on the hill, is ablaze. Flames lap around the edge of the roof.
There’s nothing we can do. I floor the accelerator again and we head off towards the 101.
SOON we’re back on the highway, heading towards San Francisco. We sit in shocked silence, both of us trying to come to terms with what we’ve just seen. My hands are shaking so I decide to let the car do the driving just this once.
As we speed south, we pass a couple of CHP cars parked on the side of the road, the police officers standing together beside them, chatting. All of them are wearing sunglasses. Their heads turn to watch us as we pass, their expressions inscrutable. I feel my stomach churn with fear but the policemen return to talking between themselves.
For the next few minutes I keep glancing behind to see if they are following us, but see nothing.
I try to focus on what we should do next but my mind keeps returning to the events at the Commune. Images of the dead bodies, particularly their sightless eyes, flash repeatedly into my head. I shake my head to clear these thoughts and focus on what we now know: the Bratva is active here in California, is well-equipped and is willing to use lethal force to achieve its aims.
I think about the way that the Commune had been ransacked, most notably the missing computers. And not just the ones in the office - Faiza and I didn’t find a single computer - be it smartphone, tablet, band or laptop - anywhere in the house. The presumption has to be that the Bratva took them all, looking for information on them about Cube.
I think back to the video calls with Sams. Why did he seem familiar to me? I’m sure that I’ve never met him before in my life - I’m quite good with faces - so how come I feel that I’ve seen him before? I think about conferences and trade shows that I’ve attended, webcasts that I’ve watched but can’t think where I might have encountered him before.
I’m still musing on this as the car arrives in San Francisco and pulls up outside the apartment building. We get out and the car races off for its next booking.
We climb up the stairs to the apartment. Just as Faiza is unlocking the front door, an image flashes into my head. I know where I’ve seen Sams before!
I dash over to Max’s desk in the sitting room, pull open the lower drawer and grab the photocopied restaurant photo lying inside.
I inspect the group photograph closely. Sure enough, sitting at the front of the booth, closest to the camera is Sams. He’s much younger in the photo - at least fifteen years I’d guess - but it’s definitely him. He is one of the two faces circled in red.
I brandish the photo and show it to Faiza. “I knew I’d seen Sams somewhere before,” I tell her proudly. “He’s in this picture that Max had!”
Faiza takes the photo from me and looks at it. “I believe you,” she says. “What about the other people - do you recognise any of them?”
I retrieve the photo from her and take another long look at the other faces. Finally I shake my head. “No, I don’t,” I say. “None of the bodies in the Commune were any of these men.”
I take another look at Sams in the photo. As I do so, a nagging feeling grows within me that I’ve encountered his name before somewhere, not connected with this photo. I rack my brains trying to figure out where.
Then I remember. I quickly pull my laptop out of my bag and wake it from sleep. I open the VM that I’ve created with Max’s data and go to the CHRONOS directory. I open each one of the half-dozen academic papers that Max has stored there. There amongst them is one authored by a David P. Sams. It’s a brief but dense paper on peer-to-peer communication, written nearly twenty years ago when Sams was a Ph.D candidate at Stanford University.
Faiza leans over my shoulder and looks at the paper. “It’s got to be the same person, right?” she says.
“It would be a mighty coincidence if it weren’t,” I tell her.
Another idea suddenly strikes me. I look through the rest of the papers and write down the names of the authors - Suresh Natar, Ben Orson, James Oswald and Peter Collins. One by one I do internet searches for images of them. Nothing significant comes up until I do the search for Collins - the first page of pictures contains an image that matches the other man circled in the photo.
“So is this a photo of the creators of Cube?” Faiza muses.
“Could be,” I say, nodding absentmindedly.
I stare at the restaurant photo. It’s telling us something else, but I can’t quite put my finger on it …
Then it comes to me. “There are seven people in this photo!” I shout.
“Yes, well done. I can count up to seven too,” says Faiza.
“No, you don’t understand,” I say. “So has ‘CHRONOS’!”
“And?” asks Faiza, still not getting my meaning.
I grab a pen and some paper and write down the names:
“CHRONOS is the name of the group who created Cube,” I say excitedly. “It’s an acronym made from their surnames!”
Nadia arrives back at the flat mid-afternoon. She slumps down wearily on the sofa and takes her boots off. For the first time since I’ve met her, she actually appears tired. “I’ve been all over the Marina District,” she says, rubbing her feet. “There’s not a street there I haven’t walked today, asking people about Max.”
Her tiredness though evaporates as soon as Faiza and I start to recount our experiences of the day. She looks shocked when I explain the state of the Commune that we found, particularly the dead bodies.
I pass to her one of the canisters that we found and she examines it closely. “Definitely Bratva,” she says, pointing at the lettering on the side, “this is Russian.”
“What do you think the gas was?” asks Faiza.
Nadia takes a sniff around the canister’s valve. “Knock-out gas,” she says confidently. “Military grade, designed to incapacitate within seconds. The people in the Commune wouldn’t have stood a chance against it.”
When I get to the bit about the two from Iceland turning up in a CHP police car, Nadia winces. “See? I told you - we cannot trust the police. Best handle this ourselves.”
She brightens up when we get to our discovery of the additional members of CHRONOS. “That’s brilliant,” she says, reaching out and patting my thigh. “I should have known that you’d identify more of the team.”
“Unfortunately the trail goes cold from there,” I explain. “Before you got back, Faiza and I investigated these other members of CHRONOS. It’s very strange - all of them left the companies or universities that they worked for within a few years of Cube being launched. And just disappeared. Without a trace. We can’t find any recent details on any of them. Employment, home addresses, contact phone numbers, emails, etc.”
“So the mystery deepens …” muses Nadia, thinking hard. “We now have five missing men, not just one.”
“Look,” Faiza says suddenly, holding out her tablet that she’s been reading. On the screen is an article from a local Sebastopol newspaper - “TRAGEDY AS MORNINGSTAR COMMUNE BURNS TO GROUND”. Reading through the article, it seems as if the local authorities are treating the fire as accidental - the journalist mentions that the fire is thought to have been caused by an electrical fault that led to fuel tanks in the basement, used to power the Commune’s backup generator, catching alight. The article mentions that the final death toll is, as yet, unknown but estimates that at least five or six people were in the building at the time of the fire.
Nadia reads the article then shakes her head. “The Bratva is very good at covering its tracks,” she says. “Once they had what they needed, they will have made sure to destroy everything, and make it seem accidental.”
As I’m thinking this over, my band vibrates with an incoming call. I excuse myself and answer it.
“GOOD AFTERNOON DEAR BOY!” he says, at his usual jet-engine-taking-off volume.
“Well hello to you too sir,” I reply.
“I just wanted to give you an update on the situation down at Mountain View,” says Buckeridge. “Our friend has installed the package and is monitoring the output. He will alert us to any matches found.”
I notice that Buckeridge is talking very obliquely, cryptically even. Is he worried that our phone calls are being monitored?
“Thank you,” I say. “That’s great news.”
“Must dash,” says Buckeridge. “Give my regards to your lady frie-,” he starts to say.
I remember something from the conversation with Sams and interrupt him. “Do you know what TYPHOON is?” I ask.
Buckeridge pauses, thinking. “TYPHOON? … Can’t say that I do,” he says.
“I think it’s some kind of database,” I say.
“A database called TYPHOON,” muses Buckeridge, more to himself, than to me. “No, doesn’t ring any bells. I’ll ask around though and see if anyone else here has heard of it.”
He pauses for a moment then continues. “Now, you must excuse me, I’m late for my next meeting .. I’ll let you know if I find out anything.” He hangs up.
I re-enter the flat.
“That was Buckeridge,” I say. “The web fingerprint monitoring has been activated.”
“Great,” says Faiza. “What now?”
“Now we wait,” I say. I’m feeling much more optimistic due to Buckeridge’s call. Every hour hundreds of millions of visitors to the search web site are having their web fingerprints generated and compared to the one we produced for Max’s laptop. Somewhere among those millions there has to be our Max.
He’s got to be out there somewhere, right?
WE spend all day on Friday waiting to hear from Buckeridge. Of course we go out and put up flyers and talk with people in San Francisco but it’s really just to occupy ourselves. Not one of us believes that Max is anywhere near San Francisco now.
Buckeridge calls late on Friday evening, but only to say that there have been no matches to date. On Thursday DORG had given over the front page of their website to a photo of Max, together with a plea for anyone who’s seen him to contact them immediately. Faiza thanks Buckeridge most sincerely for doing this.
We go through the same routine on Saturday and Sunday. Each day we go out to search and ask around. Every evening Buckeridge calls, saying that there’s been no progress.
A couple of SF-based tech journalists, spotting Max’s photo on the DORG website, call Faiza up for more details and we’re able to get a couple of articles about Max posted on some of the tech websites. I see a few Sonoma County news articles about the commune burning down too - everyone is treating it as simply a tragic accident. Outside of the local press, no one else seems to pick up on it. Not even the SF press, who I would have thought would be interested in stories like this, give it no more than a passing mention. No one really seems to care.
On Monday I receive a call from my boss in London, asking me if I’m ever planning on returning to work. Or should he just post the job advertisement he’s prepared for my replacement straight away?
I have to admit that I panic at this less-than-subtle threat - I promise that I’ll be wrapping things up before the end of the week, and will fly back to London over the weekend.
My boss sounds satisfied with this but he makes it clear that he’s expecting to see me at my desk, first thing, the following Monday. Or else …
Unfortunately things don’t wrap up. We continue to search every day of course but we find nothing. All our leads on Max have gone cold. I start to understand what it must feel like to be caught in an infinite loop.
Buckeridge checks in regularly with his associate but there’s never any news. Concerned that the browser fingerprinting isn’t working correctly, Buckeridge has his team generate the fingerprint for a computer in their possession and passes the details on to his associate. They then go and make some web searches. Immediately the fingerprint is matched, showing that the implementation of the fingerprinting is sound.
The SFPD aren’t much help either. All that they can suggest we do now is to contact the British Consulate. The Consulate is little help either - all they can propose is adding Max’s details to their list of missing persons that they maintain on their website.
The end of a tiring and fruitless week comes round all too quickly. I’m faced with little option but to head back to the UK. Nadia says that she can stay a couple of days more but will then have to travel back to Poland. I did float the possibility of her coming back to London with me but this offer is graciously, but firmly, declined.
I fly back on the Saturday night, arriving into London early on Sunday morning. The city seems much greyer than when I left it just two weeks previously. The leaves are all off the trees now and, with a cold wind blowing off the North Sea, winter doesn’t feel that far off. The days are noticeably shorter and the nights longer. Christmas decorations and lights have appeared in the streets, but I’m not feeling in the least bit Christmassy.
I go back to my flat, lie on my bed and stare at the ceiling. I think about Max. I go through all the steps we’d taken and what we could have done differently. I replay in my head all the conversations I’ve had with people about Max. I torment myself thinking about what I could have said or done that might have made a difference. Was Max at the commune when we pulled up in the car? If so, could we have said something then that would have made him reveal himself?
I’m not used to failing. School was easy. University was tougher but I was able to succeed by trying harder. Work was tough at first - there was a lot to learn, particularly the soft skills of being part of a team - but I mastered it pretty quickly.
This is different. Of course I’ve failed at inconsequential things in the past (mainly sport related) but this is the first time that I’ve failed at something that I’ve really cared about. Then I realise that, however bad this is for me, it must be a million times worse for Faiza. She’s lost her husband and the father of a soon-to-be born child.
We haven’t failed yet I tell myself, trying to buck up my spirits. Deep down I refuse to believe that Max is dead. I imagine him to be lying low somewhere, waiting for the attention of the Bratva to move on before he can resurface and make contact with Faiza. Max will return I tell myself - but the timing will be of his choosing. In a straight battle of brainpower Max will beat me ninety-nine times out of a hundred. If he doesn’t want to be found, there’s probably little I can do to thwart that ambition.
I think of Nadia too. We parted on good terms - we’d shared my last night in San Francisco together, renting a room in an upmarket hotel, but she was decidedly non-committal on when (or if?) we’d see each other again. I’m getting the distinct impression that our worlds, having overlapped in Iceland and San Francisco, are once again drifting apart. I’m not sure that they will ever come together again. I guess a nascent beer-belly, prominent side-burns and an uncanny ability to recite from memory the entire script of ‘Shaun of the Dead’ aren’t enough to retain the affections of such a glamorous woman…
I don’t get a lot of sleep on Sunday night but, true to my promise, I’m back at my desk bright and early on Monday morning. My manager greets me with a strange combination of sarcasm and relief - I think that he really was worried that he would have to search for a replacement for me. And we both know that I’d be damned difficult to replace.
I spend most of the day catching up on the mountain of email that’s accumulated in my absence and fire-fighting a couple of issues that have reached crisis point in my absence, despite my boss’ best efforts (or, perhaps, because of?)
Before I know it the day is done and I’m heading back home in the midst of the evening commuter rush. It feels like an age since I had last done this - the Underground is full of unfamiliar posters for books and films. It feels very strange to be back in the ritual of the daily commute. I feel like I’m walking around in a daze. Everything seems different. Or perhaps it’s me who has changed?
I call Faiza on Monday evening to find out the latest. She tells me that Nadia flew back to Europe that afternoon. As Faiza is now all by herself again, she’s decided to call her younger sister and let her know the situation. I tell her that I think that’s an excellent idea. I’ve done all that I can but Faiza needs the support that can only come from close family members.
I promise that if anything should turn up on Max I will be on the first plane back to the United States. Faiza says that Nadia made the same promise as she departed.
“I’m always there for you … if you need me, just ask,” I say.
“I know - I appreciate that, thank you,” replies Faiza.
We end the call and I go back to my regular life in London. I’m already dreading the arrival of my next credit card bill …
THE working week progresses all too slowly. I drag myself into the office each morning and listlessly perform the work set for me by my boss. In the evening I drag myself home again. Faiza and I talk on the phone every other day but there’s little to report.
Faiza has contacted her sister about the situation and her sister insisted on immediately flying over to be with her. I’m glad that Faiza’s got company again - I hate the thought of her being all alone in that flat.
I try calling Nadia on her mobile a couple of times. The phone rings but no one answers and I eventually get put through to her voice mail. I leave a couple of messages, asking her to call me back, but I haven’t had any response.
Due to my jet-lag I struggle to get to sleep at night. And when I do finally manage to sleep, I often suffer vivid nightmares. I dream that I’m back in the cyber commune, looking at the pile of dead bodies. The eyes of the corpses stare up at me, as if to say, “Why couldn’t you have done more?” Then I wake, drenched in sweat.
To help me sleep, I decide to get back into the habit of regular exercising. I start to visit the gym daily. The first few sessions are painful but I soon begin to feel better for them.
The following week follows the same pattern: I trudge into work each day, Faiza and I talk every other evening and my calls to Nadia get put straight to voice mail oblivion. I try sending her an email but again nothing comes back in response.
At least things are getting easier at work. The immediate crises are resolved and my boss is less caustic around me. Another month or two and I might even be back in his good books again.
I think a lot about Max, especially in the wee hours of the night when everything is quiet. Even though we would talk together only about once a month, it was always good to know that he was there at the other end of the phone, for a chat or a laugh. It’s only now that he’s gone that I realise how much I valued his friendship and advice.
The week after that is much the same. Faiza and I talk a couple of times on the phone. My boss’ attitude towards me improves still further.
The following Saturday I go to bed early. The next thing I know is that my band is ringing. Groggily, I reach for it and look at the time - it’s 3.55 AM.
I tap to answer the call. The unmistakeable voice of Buckeridge yells out from the built-in speaker: “WE HAVE A MATCH! WE HAVE A MATCH!”
I sit bolt upright in bed. “A match?” I say, barely daring to hope that I’ve understood him correctly. “A match for Max?”
“YES!” thunders Buckeridge. “WE’VE FOUND HIM!”
“Where is he?” I ask.
Buckeridge hesitates for a second. “Well, there’s the rub,” he admits, now speaking slightly more quietly. “The queries are coming from locations all round the world, according to geolocation. There were two searches from the same machine that matched within a couple of minutes of each other. One was from Colombia and the other from Australia.”
“Maybe Max has been busy inventing teleportation,” I joke. “Or … hang on a moment, could he be using a Tor client?”
“Of course!” exclaims Buckeridge. “That would explain the random nature of the locations.”
Tor is an anonymising network, with servers located all around the world. A user can send their internet data via this network. Each packet of data gets sent via a different path through the Tor network, exiting at a different Tor server. Thus a casual inspection of the IP addresses used in the data packets would show widely varying locations.
Max is clearly taking great effort to protect his identity. How are we going to overcome this? I’ve read a few white papers on the Tor technology and know that it is difficult to pinpoint a user who is using it.
What else can we do?
I have a sudden flash of inspiration. “Tell me,” I say to Buckeridge. “Do we have the actual text of the search queries that Max was making?”
“I don’t know,” says Buckeridge. “Let me check.”
The line goes quiet. I hear rapid typing going on in the background. I guess that Buckeridge is IM’ing his associate. Once again I speculate as to who he might be, and how he could have such unfettered access to the company’s search technologies.
Buckeridge returns to the line. “Yes, we do,” he announces excitedly. “He’s doing searches for public wifi, bus timetables and subway maps - all for Toronto.”
“Max is in Canada!” shouts Buckeridge.
Without trust there is no love
Without trust there is no honesty
Without trust there is no truth
Without trust there is no loyalty
If we don’t give trust
how can we receive the trust given?
“Heartaches Not For Love But Trust”
Garry W Gosney
Another weekend, another cross-Atlantic plane flight. This is the third that I’ve made in four weeks - many more of these and I’m expecting the airline to present me with a commemorative plaque. I’m sure that I’m single-handedly dragging it into profitability through all of these last-minute bookings.
After Buckeridge and I had hung up, I called Faiza to give her the good news. We agreed to head out to Toronto and continue the search from there. While I can head over immediately, Faiza, due to the late stage of her pregnancy, must wait until Monday to fly, as she has first to get a permission note from her doctor. Her sister will accompany her.
I also attempted to call Nadia. As before, all I got was her voicemail. I left a short message about our breakthrough and asked her to call me back.
Thirty minutes later my phone rang. It was Nadia. Despite it being 5 AM on a Sunday she was apparently keeping current with her voicemail. The nocturnal habits of hackers, I guess.
Nadia was equally excited about the news. She said that she would immediately book a flight over to Toronto, and meet up with us there.
“It’s good to hear your voice,” she said as we ended the call. “I can’t wait to see you again Tom.”
I resist the impulse to retort that I wished she had felt the same about returning a few of my earlier calls. I told myself that there would be plenty of time in Toronto to have a proper talk with her.
For the first time in weeks, I felt moderately optimistic, good even, for a couple of hours. That positive feeling lasts until an hour into the flight when I pull up on my band a map of the Toronto metropolitan area. It’s huge! Never having visited the city, or anywhere else in Canada for that matter, I never knew that it was so big. Wikipedia tells me that it’s the fourth largest metropolitan area in North America, with the city spread over two hundred and forty square miles, and a population approaching ten million.
Still, I console myself, that’s an improvement over having a search space the size of the entire North American continent. Toronto’s a big multi-cultural city so Max, with his British accent, won’t seem out of place. Hopefully he feels safe in the city, hidden. The longer he stays in one place, the better our chances of locating him.
I switch off my band and sit back in my seat, staring out at the clouds. I start to think about how we are going to track him down. There’s going to be five of us - Buckeridge has also volunteered to fly in and help us - but Toronto is such a big city. We’re still going to need a huge slice of luck if we’re going to find Max.
I sit alone in a coffee shop on Yonge Street, waiting. It’s still dark outside and the morning commuter rush is only just beginning. I’ve been up for several hours as I’m still running on UK time. I am already on my third coffee of the day.
It’s a grey morning in Toronto, with thick, heavy Stratus clouds filling the sky. It’s cold too, not much above freezing. The first snowfall of the season doesn’t feel far away. I’m already regretting not bringing a warmer coat.
Buckeridge took the red eye from the west coast and is now heading to meet with me, straight from the airport. Faiza is seeing her doctor this morning and, assuming that he has no concerns, will take the afternoon flight to Toronto, arriving this evening.
Nadia’s flight got in yesterday evening. I had IM’ed her with the details of our rendezvous point but didn’t get an acknowledgement back. She sure is selective as to when she communicates …
Toronto is even bigger and more sprawling than I had imagined. After arriving at Pearson International, I’d taken a bus into the centre of the city. The huge express highways - I counted six lanes in each direction - from the airport to the downtown core were both impressive and intimidating. Navigating towards downtown isn’t exactly a challenge here - just head towards the massive CN Tower, visible from just about anywhere in the city (and probably much of Canada).
Toronto looks a lot like many American cities, just a lot cleaner. I see very little graffiti and even less litter. And the people seem politer too. Though why Canadians feel that it’s always obligatory to acknowledge a “Thank you” with a “You’re welcome” is quite beyond me.
On the table in the booth I spread out a large paper map of the Toronto metropolitan area. Finding Max in such a large area is going to be challenging. But not impossible. I might not be able to outsmart Max but I can be methodical.
Based on the content of Max’s searches, he seems to be using public wifi hotspots to connect to the internet. Assuming that he is being careful, he will be moving regularly from venue to venue. None of his internet searches seem to occur during evening or night time hours, so it’s likely that he isn’t doing any research from wherever he is sleeping.
I start to compile a list of potential venues that Max might be visiting: coffee shops, shopping malls, fast food restaurants, libraries, train stations, hotels and the like.
As I write down my list, I enter the search terms into the map app of my band to see how many locations there are for each. By the time I’ve finished the list the number of potential spots is over a thousand. Even once I narrow the search to exclude non-Wifi enabled locations, there are still seven hundred. If Max really is hopping from one place to another, he’d be able to do this for several years without having to revisit one.
Then again, he probably isn’t moving that far afield, I think to myself. Judging from his searches for bus and train time tables, it doesn’t seem likely that he has access to a car. Using public transport would allow him to move around the city easily and undetected, particularly if he is using cash or Cube to pay his fares.
On my band’s image of the map I superimpose the subway lines and main bus routes. The Toronto subway is a pretty straightforward shape - a north/south line in the form of a somewhat misshapen U and an east/west crossing it midpoint. Estimating the number of potential venues that are within easy walking distance of a station filters my list down to about fifty locations. Adding in bus routes increases that number to about one hundred and twenty.
The doorbell on the shop rings and I look up. Nadia is standing in the doorway. I suddenly have a flashback to another coffee shop in another country far, far away, and the first time that I saw her. It seems such a long time ago.
Nadia is dressed casually but stylishly, in a black leather jacket, grey turtle neck jumper and a pair of blue jeans. The red streak in her hair has been replaced by a blue one.
I rise to my feet. She comes over and gives me a big hug, followed by a kiss on the lips.
“Tom, it’s great to see you again,” she says. She sounds like she might actually mean it.
I had spent a good chunk of the flight from London thinking about what to say first when we met. I’d wanted a snappy one liner to reproach her for ignoring all my phone calls and emails. Now that she’s standing in front of me, and seems actually pleased to see me, all of them vanish from my mind.
“And you,” I say.
Nadia goes and orders herself a cup of coffee. Then she comes and sits beside me in the booth. Right beside me, close enough that her thigh is against mine.
I clear my throat to focus my mind and then show her the map I’ve generated on my band. “This is the size of the area that Max could potentially be in,” I say, gesturing in a semi-circle around Toronto (Lake Ontario taking up the other half of the circle). “However, based on his web searches, I suspect that he is keeping to the vicinity of public transport - bus or subway.”
Nadia nods. She leans over and takes a long look at the map, together with the list of potential venue types that I’d compiled.
“Max won’t want to work just anywhere,” Nadia says, after some thought. “He’ll be looking for a fast, reliable WiFi connection. It’ll need somewhere comfortable to sit. Easy access to food and drink plus toilets would be bonuses. And he’ll want a venue where he isn’t being challenged every half hour to move on. That will narrow his choice considerably.”
I nod in agreement. Although all the venues on my list claim to have WiFi, everyone knows that there’s a big difference between marketing claims and reality. If we can get round and survey the venues, we should be able to eliminate a lot of sites.
The doorbell rings again, and Buckeridge enters. He’s dressed in - I swear I’m not making this up - a tweed jacket/trouser combination, complete with a cape. He looks as if he’s about to go on a hunt with Sherlock Holmes in search of the hound of the Baskervilles.
Buckeridge comes over and greets us. “Hello, hello,” he booms. “Welcome to my home country.” He looks at Nadia and a puzzled expression moves over his face. “You flew out ahead of Faiza?” he asks.
I suddenly realise that Buckeridge still has Nadia mentally tagged as a friend of Faiza’s. That was how I’d introduced her to him originally and I’d never gotten round to correcting that. I’m still not comfortable with having to confess that Max was doing freelance work on the side of being an employee of DORG.
I quickly step in before Nadia can say anything. “Faiza’s flying over late today, hopefully,” I say. “She’s coming over with her sister. Nadia agreed to get here as quickly as possible to help us in the meantime.”
Buckeridge nods, although the puzzled look doesn’t completely disappear from his face.
I show Buckeridge the map and give him an overview of our plan for narrowing the list of potential locations that Max might be using.
Buckeridge nods approvingly. “Sounds like a plan,” he says. “With three of us we should be able to check each of these out in less than a couple of days.”
“Let’s get started then,” says Nadia.
We spend the rest of Monday checking out some of the possible places where Max might be working from. We split up so that we can cover as many venues as possible.
We use Nadia’s list of criteria to rate each of the locations - WiFi speed/reliability, ease of working without interruption and ease of access to amenities such as food/drink and a (clean!) toilet.
After a couple of visits I establish an approach to doing the rating: on entry to the place I do an initial test of the WiFi performance via my band. I then talk to whoever is on duty manning the till or whatever and say that I have a term paper for university to write and would they mind if I spend a couple of hours here doing it? Their reaction tells me whether or not they’re prepared to tolerate digital nomads. Finally I do a second test of the WiFi network to see if there’s much variation with the first reading that I took.
We meet up again at the end of the day, back in the coffee shop on Yonge Street. Between the three of us we have managed to cover more than half of the locations on the list. A third of them have, despite their claims to the contrary, no working WiFi so we are able to immediately rule them out. Another third score low on working comfort, due to either noise, lack of comfortable seats or unwelcoming staff. These too we strike off our list.
That leaves us with about twenty venues. Assuming the same proportion of viable venues among the sites that remain to be surveyed, I expect us to end up with forty locations to stake out. That’s still a lot of ground to cover but a lot better than the thousand-plus that we started out with. I feel pleased with the day’s progress.
In the evening I take the bus out to Pearson International and meet Faiza and her sister off their flight from San Francisco. Faiza’s pregnancy has visibly progressed in the two and a half weeks since I last saw her. Her bump is more pronounced and her walking gait is now decidedly waddle-like.
Faiza comes up to me and gives me a hug. “Thank you for getting here so quickly,” she says. “As I was delayed, it was comforting to know that you were able to get into Toronto so soon.”
She turns to introduce her sister. “This is Meena,” she says. “You remember her from the wedding?” Meena comes over and hugs me too. The last time I saw her she was a teenager. She’s grown since then and is now taller than her older sister. Her dark hair is longer too, although it is currently done up in a pony-tail.
“It’s good to see you again … Cousin Tom,” says Meena. I suddenly recall that, during the wedding reception, I had in jest suggested that I was now also part of Faiza’s family. Meena had taken great delight in teasing me about this, gleefully calling me “Cousin Tom” for the rest of my visit. She clearly hasn’t forgotten.
Meena is now a student at a university in the mid-West, studying third year medicine. Unbeknownst to her mother, she has taken a leave of absence from her studies to help Faiza.
On the bus back into the centre of Toronto I tell Faiza and Meena about our progress. Both are keen to help with checking out the remaining venues in the morning.
Once we reach the downtown core, the sisters check into the same budget hotel that Nadia and I am staying at - Buckeridge has opted to go upmarket and is staying at the Sheraton.
We all gather for dinner that evening - it feels good to have all five of us around the same table. Faiza still seems frosty towards Nadia but Nadia appears either not to notice or choses not to react.
We have big days ahead of us, but I feel that, step by step, we’re getting closer to Max.
First thing on Tuesday we set out to survey the remaining locations. Buckeridge, Nadia and I head out by ourselves, with Meena and Faiza partnering up. Faiza can’t move as fast as the rest of us but she’s still determined to do her share.
Nadia and I spent Monday night together. I had a long list of things that I wanted to talk to her about - her ignoring of my repeated phone calls being Item One - but in the end we didn’t spend a lot of time talking, if you get my meaning. Let’s just say that we were very pleased to see each other, and leave it at that.
I have fifteen locations to check out, all situated in the North York region of the city. The first two fail to pass the assessment but the third looks much more promising. It’s the North York Central Library. It’s located near to the metro station, which itself is across from Toronto’s Centre for the Arts.
As I exit the metro station, the sun emerges from behind a bank of grey Stratus clouds and, for the first time since landing, I get to enjoy sunlight.
The library is a large multi-storey building, with an open atrium area at the front. Stairs located on the right and left sides of the area lead to the upper floors. Rows of study desks are laid out on each of the floors. It’s still relatively early and the majority of the desks are unoccupied.
Personally I’ve always enjoyed being in libraries - I think it’s the sense of organised calm that libraries exude (or at least the bits of them that are situated away from the children’s section!) Even though I live in an era where I can instantly search for, and download, any book on to a device, there’s still something special about being able to walk into a library and physically browse the collection of paper books.
As I am just about to start my WiFi check, I freeze. Ahead of me, hunched at one of the desks in the atrium, I see a familiar set of shoulders. I quietly edge round the desks so that I can get a look from the side. It’s Max! He’s shaved his hair and has grown a scraggy beard but it’s most definitely him!
Max is sitting (or more accurately, slumping) at the desk, his eyes locked on the screen of his laptop. A notebook lies open on the desk beside him.
I hesitate, thinking about what to do next. Given the pains that Max has taken to hide his movements, I’m not sure how he is going to react to my turning up. Calling in reinforcements would seem to be a judicious idea. I decide to message Nadia and Buckeridge - I don’t want to bother Faiza and her sister until we have a better idea as to Max’s reasons for disappearing.
I text Nadia and Buckeridge: MAX SPOTTED IN NORTH YORK CENTRAL LIBRARY, COME HELP
Nadia replies immediately: on my way, 10 min
Buckeridge also responds: There in about 30 minutes
I glance at the clock on the wall. Damn, half an hour is a long time to wait. I consider what to do in the meantime. I don’t want to lose sight of him but equally I want to maintain a low profile so that he doesn’t spot me before we’re ready.
Looking around, I spot a suitable vantage spot on the second floor. It’s out of the way but has a good view of the entire library floor. Should Max move, I’ll be able to keep track of him.
I casually saunter over to the stairs, taking care to keep my back turned to Max and then run up the steps as quick as I dare.
Just as I’m settling down at my vantage spot, I see two policemen enter the library. With a start, I realise that it’s Tweedledum and Tweedledee. They’re dressed as Canadian policemen rather than in CHP uniforms, but it’s definitely them.
‘Dee is looking at something on a large tablet device - what is it? His tablet angles towards me for a moment and despite the distance I can see a face on the screen, a picture.
A picture of Max.
I have to act. I spring to my feet and run to the stairs on the far side of the library, out of view from the men. I have to get to Max before the men find him. I’m not sure what they plan to do to Max when they find him - this is a public space after all and there are plenty of people about - but I am sure that they don’t have his best interests at heart.
I race down the stairs, three steps at a time. A librarian, coming up the stairs, gives me the kind of dirty look that only librarians can give, but says nothing.
Once at the bottom of the stairs I run between the tall shelves of books. I stop just before the end of the shelves, where the open area is filled with desks.
I look out. The men are casually but systematically walking by each of the rows of desk, surreptitiously checking out everyone working. They are still five rows away from Max.
I pull up the collar of my jacket and pull on the wool hat I have in my pocket. Then, moving as casually yet rapidly as I can, I walk down the aisle of desks until I’m standing behind Max.
Max is still buried in his laptop’s screen, oblivious to everything going on around him.
I sit down at the empty desk beside Max. I lean over and catch a brief glimpse of Max’s laptop screen. His email client is open.
“Max,” I whisper into his ear. “It’s me, Tom. We have to go, right now. Trust me.”
Max turns to face me. His face registers first surprise, then shock. “Tom?” he says.
“We have to go … NOW,” I say firmly. “There are men looking for you.”
Max looks past me to where the two policemen are standing - they are now only two rows away. He gulps nervously. “Sure,” he says. He quickly closes his laptop and picks it up, together with his notebook.
We start to move from the desk. “Walk normally,” I whisper. “Don’t look back, whatever you do.”
We reach the end of the row and turn towards the main entrance. Out of the corner of my eye, I see the men stop. They point towards us.
“RUN!” I shout to Max. “Fast as you can!”
We sprint for the doors. I hear chairs being knocked over behind us and some shouts. I daren’t slow down to look behind us but I presume that the men are after us.
We race out of the building. “Head to the metro!” I shout to Max.
I lead the way and rush towards the steps of the subway. We gallop down the stairs and race through the ticket barriers. We rush down the further flight of steps and find ourselves at platform level. A train is just pulling into the station.
As soon as the doors open, we get in. The carriage is crowded. We find a couple of seats and sit down. We wait for what seems like an age for the rest of the passengers to board. Finally the doors slide closed and the train departs.
I let out a long sigh of relief.
Max turns to me. “Tom, what on earth are you doing here?” he asks.
“Looking for you,” I reply. “We’ve been out of our minds with worry, Faiza especially.”
Max visibly flinches at the mention of his wife’s name. “Faiza is here?” he says.
“Yes,” I say. “She’s here with Meena. She’s been through hell these past few weeks.”
“Yes, I can imagine,” Max says quietly, lowering his eyes. “But you have to believe me when I say that I’m doing all of this to protect her and the baby!”
“Max,” I say. “I don’t know what you’ve gotten yourself into but let me help you.”
Max nods. “Yes, ok,” he says. “There’s so much to tell you …”
His voice tails off and his eyes widen. He is looking past me down the train carriage. His hand grabs the sleeve of my jacket in fear.
I turn, and follow his gaze. The two policemen have just entered the far end of the carriage and are moving towards us. Fortunately they haven’t yet spotted us.
At that moment, the driver comes on the tannoy, announcing that the train is arriving at Finch, the end of the line. Everyone gets up to leave the carriage, blocking the path of the policemen. We rise too, and try to get into the thickest part of the crowd to obscure ourselves from the men.
The train pulls into the station and stops. The doors open. We get out, still within the throng of passengers. The opposite platform is empty so we have little choice but head for the surface.
We emerge on to Yonge Street. The pavements are wide here, with relatively few pedestrians around.
I take a moment to look behind me. The men are running up the stairs towards us.
I give Max a push and we start to run again. We run along the street until we get to the interchange with Hendon. Not waiting for the lights to change, we run on to the road, through the on-rushing cars. I hear horns blare and tyres squeal as we dash through the traffic. Somehow we make it to the other side.
We run along Hendon, towards a group of high-storey flats. Behind us I heard more tyre-squealing and horn-blaring - the men must be crossing the road as well.
“Iris,” I shout at my band. “Call Buckeridge NOW!”
Iris says nothing. I repeat the instruction, this time shouting it.
Iris finally responds. “I’m sorry Mr Jenkins,” she says into my ear. “No voice or data connectivity available right now.”
What the hell? I think to myself. Are the men jamming the nearby cell towers somehow? Or do they have accomplices elsewhere doing this?
Despite my recent gym visits, I’m already puffing and panting from running flat-out. So is Max. Although he’s carrying less weight than I am, it’s clear that he’s not in great physical shape either. There’s little chance that we will be able to outrun our pursuers.
I look around, desperately trying to figure out what to do next. Down an alleyway, I spot a bicycle, leaning against a well. Transport! I gesture to Max at the bike and we run down the alleyway towards it.
The mountain bike appears to be unlocked when we reach it. That’s the good news. The bad news is that it’s on the other side of a tall metal chain-link fence, about two metres tall. There doesn’t appear to be any gate or other way through it.
Without hesitation I bend down and clasp my hands together to form a step. “Climb on me,” I order Max. “You get over first.”
Max does as he is told. He clambers on to me and then, with no little amount of scrambling, he’s able to pull himself over the fence. He lands on the other side.
Now it’s my turn. I take a couple of steps backward and launch myself at the fence, jumping as high as I can. I grab some of the chain links and start to haul myself towards the top.
But as I do this, I feel my feet being grabbed from below. Two sets of powerful hands drag me from the fence and I fall to the ground, awkwardly.
Instantly someone jumps on my chest, pinning me to the ground. I feel a small prick on the side of my neck and the world goes dark …
SOMETIME later - I don’t know how long - I become aware of something bright moving slowly from side to side.
I try to focus my eyes, but fail. I try again. And fail again. I’m pretty sure though that it’s a light. Either it’s the blurriest light in existence or there is something wrong with my eyes. Or my brain. Or both.
After a bit my vision improves. The light takes on a form. It’s a bare lightbulb, of the type that I thought had been banned from manufacture a decade ago. It swings gently from side to side.
I realise that I’m sitting down in a chair. No, make that bound to a chair. I have a rope tightly wrapped around my chest and both of my hands are tied to the arms of the chair. Although I can’t see them, my ankles feel similarly restrained. Someone doesn’t want me to be leaving anytime soon.
Still groggy, I look around me. I’m in a large room, illuminated only by the single light bulb hung from the ceiling. The walls are featureless, made of concrete. I don’t see any windows. The floor and ceiling are also concrete. I get a strong sense that I’m deep underground.
To my right is a closed door. It’s made of iron and looks sturdy. I don’t see a bolt or lock on it - I presume they are on the other side.
I shake my head and make an effort to clear my mental haze. The last thing I remember was helping Max get over the fence, hopefully to safety. Then came the hands that hauled me down from the fence and the prick to the neck. Then here …
I hear a rumbling sound. It begins in the distance and comes closer. It grows louder and louder until it seems to be vibrating the very concrete of the walls. Then it moves away again, growing fainter and fainter until fading completely.
Aside from me, the chair and the lightbulb, the room is empty. I notice a few graffiti marks on one of the walls but nothing that would give me a clue as to where I’m imprisoned.
Then I spot my band and earpiece, lying in the corner of the room. They’re smashed beyond repair, looking as if someone’s taken a sledgehammer to them. There’s no way I’m going to be able to use them to call for help, even if I could figure a way to get out of this chair.
I try to jog the chair but it refuses to budge. I try pushing it backwards, lifting myself up on to the tips of my toes. The front legs lift slightly off the ground. I keep pushing back further and further until I realise that if I did manage to tip it over there’s a good chance that I’d smash my skull down on to the concrete floor. I lower the chair legs back to the floor again.
It suddenly dawns on me that I’m not gagged. Although I’m securely bound by chest, hand and foot, my captors haven’t seen fit to put anything in my mouth to prevent me from shouting/screaming. This seems surprising. They must be confident that no one will hear me - maybe I’m in the basement of Toronto school for the deaf. And perhaps they need me to be capable of talking …
I try to wriggle my hands but fail. My wrists feel like they’re cased in steel. Whoever tied these knots certainly knew their craft.
Another rumbling comes from above, this time from the opposite wall. It too passes overhead and then moves off into the distance again before disappearing.
I start to think about what I should say to my captors when I get a chance. It would be tempting to start with the “This has all been a horrible misunderstanding” line but I’m certain they won’t believe it. They’ve seen me with Max, and before that with Nadia, so I’ve no chance of being able to pretend to be just an innocent bystander.
I ponder trying to bluff them, telling them that they are all in terrible trouble and that the place is surrounded by armed police. Given that I didn’t even know where this place is, I doubt that I could sell them on this. Plus the two men who grabbed me were wearing police uniforms - I can’t be sure how deep their links with the police go.
Perhaps I should just ask them why they were holding me?
Deep down I already know the answer to that. They want Max. They want me to tell them where they can find Max.
After a while I lose track of all time. My only companion, the lightbulb, continues to swing back and forth. There are eight more rumble sounds from above me - three from one side and five from the other.
Eventually I hear footsteps outside the door. There’s a scraping sound, as if someone is drawing something back (the bolt?), and the door opens.
Two men come in. They’re both dressed casually in dark-hued colours. One of them is well over six foot tall, with short-cropped, military style hair. The hair is beginning to show flecks of grey at the temples so I guess that he is in his late-thirties or early forties.
The other man, much shorter, is perhaps in his early fifties. He has thinning hair, with the bald path covered with a comb-over. Ugly.
Both men look serious.
“Hello,” says the tall individual. He speaks with a strong Slavic accent. “Please forgive us for the poor quality of your accommodation but this is the best we could do at short notice.” His words are pronounced very precisely, every syllable spoken with care.
The man moves toward me and puts his hand under my chin. He pulls my head up so that I’m looking straight into his face.
“How are you feeling?” he asks. “Sore? Thirsty no doubt … Hemeel, get our guest some water please.”
The other man nods and leaves the room. He returns quickly with a battered tin cup, filled with water. He holds it in front of my mouth and I glug it down in one go. The man takes the cup out of the room and returns again, this time with a wooden chair. He places it carefully, about a metre in front of me.
The tall man sits down in the chair. He pulls a pair of reading spectacles out of his jacket pocket. He puts them on and then pulls a small notebook out of another pocket. He opens it at a particular page and looks at it for a while. Then he removes the spectacles again and looks me straight in the eyes.
“That’s better, I’m sure,” he says. “Nothing like a drink of cool, clean water to clear the head, yes?”
I nod. My mouth is feeling a lot better but it’s still difficult to speak.
Another rumble appears overhead. The man looks up at the ceiling and waits for the sound to fade before continuing.
“Now to business,” says the man. “First: introductions. My name is Kristof, and my associate is Hemeel.”
Hemeel, now leaning casually against one of the walls, gives me a wave of acknowledgement.
“Second: We have some questions for you,” Kristof continues. “Answer them to our satisfaction and you can go.”
I finally find my voice. “What kind of questions?” I ask, raspily.
“Just three, simple questions - nothing too difficult to answer,” says Kristof, soothingly. “We could be done in ten minutes and it would be all over … We’d release you, safe and sound.”
He clears his throat.
“Right, let us begin,” he says. “Question Number One: Who are you here with?”
“No one. I’m here on my own,” I lie. I don’t want to drag Nadia, Buckeridge or, most especially, Faiza into this mess.
Kristof says nothing. He looks at me with a long, unflinching stare.
“Question Number Two,” says Kristof. “What is CHRONOS?”
“CHRONOS?” I say, “I think it’s the code name for Cube but that’s all I know.”
Another long pause.
Finally Kristof speaks again: “Question Number Three - Where is Max Whitting now?”
“I don’t know,” I say. “I had only just found Max myself when your guys started to chase me. I don’t know where he is now, or what he’s doing.”
Again Kristof says nothing in response. He just sits in his seat and stares at me, impassively.
Then Kristof rises from his seat. “I regret to inform you that your answers have been wholly unsatisfactory,” he says. “I therefore cannot release you.”
He gestures towards Hemeel. “I’m going to leave you in the very capable hands of my associate. When I return I will ask you the questions again. I hope your answers then will be more satisfactory.”
He strides from the room, the door closing soundly behind him.
Hemeel comes towards me. “It’s time we got better acquainted,” he says, with a grin.
HEMEEL leaves the room briefly, returning with a collapsible table and a large old-looking leather bag. He sets the table up, and places the bag carefully on it.
“I’d like to introduce you to a family heirloom,” he says. “It’s been in my family for nearly a century and a half.”
He pats the bag reverently.
“This is one of the original Gladstone bags,” Hemeel says proudly. “Named after one of your country’s longest-serving prime ministers. Very tough, very durable. Made from finest ox leather. Excellent craftsmanship. Leather is nearly one hundred and fifty years old, yet not one sign of splitting!”
He sweeps his hand over the length of the bag. “See how strong the stitching is, still?” he says. “This bag was in daily use for almost forty years and not one stitch has broken.”
He then points at the monogrammed initials on the bag’s side - JSK. They are embossed in gold on the leather in elegant, hand-crafted, letters. “Will anything of ours today live on, like this, into the middle of the Twenty-Second Century?” asks Hemeel. “I think not,” he says, answering his own question, and then sighing.
He pauses, seemingly lost in thought. Then he seems to shake himself and continues.
“But enough of the bag,” Hemeel says. “You’re wondering, no doubt, what is inside?”
He opens the clasp on the top and reaches in.
“Gladstone bags very versatile,” he says, still feeling around inside. “Can be used for holding lots of things … Documents, clothes, scientific instruments … But this one was used for …”
He pulls out two hand saws, a couple of scalpels and a much larger saw.
“19th Century surgical kit,” says Hemeel. “Everything a doctor needed for surgery in the 1880s.”
He picks up one of the saws. “Still sharp, even now, see?” Hemeel says, running his finger across the blade.
“Back then, you see,” he continues, “There weren’t any anaesthetics, well nothing you or I would consider an anaesthetic. Back then the first rule of surgery was: Get it done quickly.”
He reaches into the bag again, searching.
“All they could give patients back then was a whiskey to numb the pain,” Hemeel says, still fumbling around in the bag. “And this!” He pulls something out from the bag and holds it in his open hand, right in front of me.
I look. It’s a bullet, a large calibre round. There are marks all over it.
“Patients were given this to bite on,” Hemeel continues. “It may have helped with the pain, but only a little I think …”
I now realise that what I thought were marks are actually teeth imprints.
“As you know,” says Hemeel, continuing, “in the 19th century, there was no penicillin, no antibiotics of any kind. Doctors had no drugs to fight infection with. Often the only thing they could do was to amputate the part of the body infected - foot, leg, arm, hand, whatever …”
He pauses for a moment then continues. “But we’re getting ahead of ourselves. I have something else that I want to show you.”
He reaches into the bag again and pulls something else out: a small leather case, tied up with a strap. Hemeel undoes the strap and unrolls the case. Inside is a large glass syringe.
“Excuse me for a moment,” he says. He leaves the room and I hear his footprints disappear into the distance.
No more than thirty seconds later, I hear the footsteps return. Hemeel re-enters, this time carrying a thermos. Accompanying him are ‘Dum and ‘Dee, still dressed up in their police uniforms.
Hemeel places the thermos on the table and unscrews the cup. He then twists the cap of the thermos and pours something from the thermos into the cup. He then fills the syringe very carefully from the cup. From my vantage point it’s hard to see what it is - all I can tell is that it’s some form of colourless liquid.
“And so we get started,” says Hemeel. He nodes to ‘Dum and ‘Dee. They walk over and stand either side of me. Then they grab hold of my head. I try to struggle but my head feels like it’s caught in a vice.
Hemeel walks towards me, holding the syringe. I begin to panic, pulling at the restraints on my wrists. It’s useless however, I simply can’t move. My breathing becomes ragged. I can feel my heart hammering against my ribcage.
“Are …. Are you going to drug me?” I stammer.
Hemeel says nothing. He walks over and stands to the left of me. He leans in close and I can feel his breath on my cheek. I feel the cold metal of the syringe as he presses it against the entrance to the ear canal. Then I sense wetness as he injects the contents into the canal itself. Cold wetness.
Within a couple of seconds I feel dizzy. The room starts to spin and I feel nauseous. I struggle to focus my eyes but I’ve lost control - I try to close them in order to stop the spinning sensation, and find that I can’t. The room continues to spin, and I have to fight hard to repress the urge to throw up.
Finally the spinning stops and I regain control. Hemeel stands over me, shining a light into first one eye and then the other. “One down, one to go,” he says, patting me on the leg.
He returns to the table and refills the syringe. Then he repeats the procedure, this time into my other ear. This second time is much, much worse. The dizziness is far more intense and the vertigo overwhelming. I vomit all over the front of my sweater and trousers. I cry out in distress but the men only laugh at me.
Finally, the world rights itself. ‘Dum and ‘Dee release my head and I slump forward in the seat.
Hemeel looks at his watch. “Time for another talk with the boss,” he says. He and the other two leave the room, closing the door behind them.
I sit alone in the room, slumped in the chair, feeling utterly powerless. Puke stains are all over my top and trousers. I must be quite a sight.
Finally there are footsteps outside again. Kristof re-enters. He sits down in the chair. I struggle to sit up straight in my seat, and regain at least a little self-dignity.
Kristof stares at me, his gaze unflinching.
“I shall ask the questions again,” he says. “I hope that you will give more satisfactory answers this time.”
“Question Number One,” Kristof begins. “Who are you here with?”
“Five of us are here looking for Max,” I say. “There’s me, Faiza - Max’s wife, Meena, Buckeridge and Nadia.”
Kristof says nothing. He just stares at me, silent.
“Question Number Two,” says Kristof, finally. “What is CHRONOS?”
“I don’t know for sure,” I answer. “I think that it’s an acronym, made up of the surnames of the people behind Cube. I don’t know more than that.”
Again silence. Kristof’s face shows no reaction to my answers.
“Question Number Three - Where is Max Whitting now?”
“I don’t know …” I sob. “I don’t know. You have to believe me, I just DON’T KNOW!” I end up half-shouting/half-sobbing my response.
Kristof gets up. “Your answers are still unsatisfactory,” he says, without emotion. He goes over to the bag, and looks into it. He pulls out what appears to be a bolt cutter and places it on the table alongside the other instruments.
“When Hemeel returns, he will remove two of your fingers with this,” he says, pointing at the bolt cutters. “Then I will ask you the questions again.”
“I TELL YOU I DON’T KNOW ANYMORE!” I bellow, in a combination of fury and panic.
Kristof ignores my outburst and leaves the room.
I start sobbing afresh. My situation seems absolutely hopeless. I’m completely at the mercy of these two psychopaths who seem convinced that I know more than I’m letting on. How can I convince them of the truth?
I wait for my torturers to return and continue their work. I still feel dizzy and sick.
There are soft footsteps outside and the door opens slowly.
She creeps into the room, a gun in hand. She gasps as she sees the state of me but she quickly composes herself again.
“Tom,” she whispers. “Are you ok?”
“No,” I say, beginning to sob again. “They poured something into my ears … Something cold - I don’t know what … I threw up … Still dizzy.”
Nadia reaches into a pocket in her trousers and pulls out a small syringe. She removes the cover from the needle with her teeth and spits it out.
“This is morphine,” she says. “It’ll make you feel better …” She plunges the syringe into my left bicep and presses the plunger. She then pulls the syringe back out and tosses it out.
Nadia looks through the amputation instruments on the table and selects a knife. She uses it to cut the ropes restraining me. She pulls my puke-laden sweater over my head, turns it inside-out and then uses it to wipe my face and trousers clean.
Satisfied with her work, she bends down and looks up at me. “We have to go but first, do you know where Max is?” she asks.
I shake my head. “I think Max escaped from the men,” I say. “I don’t know where he is. They got me before I could find out much from him.”
Nadia tsks softly under her breath. “Are you able to walk?” she asks.
“Let’s see,” I say. I stand up from the chair. The room spins briefly but then settles down. My feet hold me.
Nadia looks me over. “You look steady enough,” she says. “Unfortunately getting out of here will not be easy. There are some very determined men between us and safety, and there is only one of me.”
She reaches down to her belt and pulls out another handgun. “Do you know how to use one of these?” she asks.
“I think so,” I say. “I once went to a shooting range in Las Vegas. We took along a network server that had been giving us grief all year and we blasted it with every weapon we could rent … hand guns, assault rifle, chain gun …"
Nadia cuts me off. "Ok, ok," she says. She places the gun firmly in my right hand, arming it first. "Just point and shoot," she instructs me. "But check first that I'm not in the way."
“Promise," I say.
Nadia motions me to the door. She opens it part-way and looks out, checking both ways. Satisfied, she gestures me forward.
We find ourselves in a long concrete corridor. It’s deserted. There are metal steps leading upwards at one end. Along the rest of the corridor, at regular intervals, are metal doors. Each is identical to the one that we have just come through. Lights are mounted on the walls every couple of metres for illumination, though many are broken.
We hold our breath and listen carefully. Everything is very quiet.
Nadia goes first, creeping towards the steps. I follow behind her. I feel much better now. I feel calm, even a little giddy, light-hearted. Morphine must really be incredible stuff.
We reach the foot of the stairs. Nadia inches up the first couple of steps, then pauses and listens. Then she continues to move up. I follow.
I have so many questions that I want to ask her, it’s hard to know where to start. Then I realise that it might be useful if I had at least a vague idea of where we are - if only so that I know where to run in the event that things get dangerous.
Nadia holds her finger to her mouth. “Shhh” she says, listening again. I do as she says. I hear footsteps coming towards us. We crouch down on the steps.
The footsteps come closer and closer, then stop. We hold our breaths for what seems a lifetime. Finally, the footsteps resume, this time receding into the distance.
We continue climbing the steps. At the top is another passageway, looking much like the one on the lower floor. We slowly creep along. The occasional rumbles from the ceiling seem to be much louder now, indeed they feel as if they are right on top of us.
The corridor ends by opening out into a wide enclosed space. On the far side of it I can see another passage, shorter this time, and the bottom of another staircase.
Nadia kneels down and then slowly peers out into the space, first one way and then the other. Then she turns to me.
“This is where things get difficult,” she whispers. “We must cross this room to get to the stairs to the surface. Unfortunately there are three men in the room who will try to stop us.”
I nod. My heartbeat, already high, increases further. I feel it hammering away within my ribcage.
“You will cross the room first,” orders Nadia. “I will provide you with cover. When you get to the other side, you will cover for me. OK?”
“OK,” I say. I can’t think of any alternative plan to suggest.
“Good,” Nadia says. She stands up, takes a few deep breaths and then swings around the corner, facing into the room and gun raised. She starts to fire. “GO!” she shouts.
I spring up and run as fast as I can across the space. All I have eyes for is the passage on the other side. Behind me I hear Nadia’s gun fire repeatedly. I think I hear other shots as well.
I reach the other side, diving into the passageway. I quickly pick myself up and look back to where I came from. Nadia has ducked back into the passage, and is kneeling down.
I gesture that I’m ok. Nadia holds up her left hand, showing five fingers. She starts a countdown with her hand: 5 … 4 … 3 … 2 … 1 …
I spring out of the passage with my gun pointed, both hands on the handle. There are two large overturned tables in the centre of the room. How many men hide behind them I cannot tell. I start to fire, hoping that my shots will keep whoever is hiding behind the tables pinned down while Nadia crosses the room. As I fire, the recoil from the weapon stings my hands. I think my eyes are shut for most of the shots.
Nadia sprints across the room and reaches the passage. “Run up the stairs,” she orders. “Wait for me at the top. I’ll keep them busy down here.”
I run up the circular staircase as quick as I can. Below me, I hear shots ring out again.
The staircase is long - at least a hundred steps - and I’m panting by the time I reach the top. There’s another short passage, leading to a door. A big padlock secures it.
The firing below me stops and I hear swift footsteps running up the stairs. Nadia appears, barely out of breath despite having sprinted up the full length of the staircase. “Nearly there,” she says, encouragingly.
I point silently to the padlock securing the door.
“Not a problem,” says Nadia. She reaches into her jacket and pulls out a pair of bolt cutters - the same pair that Kristof was threatening me with earlier. The tool cuts through the U-bar of the padlock in seconds. I shudder to think what it would have done to my fingers.
We open the door and race out to find ourselves … in a Toronto subway station. Commuters walk all around us, caught up in their everyday existence, oblivious to our presence.
Nadia quickly takes my gun and conceals both it and hers under her jacket to avoid undue attention.
“Where are we?” I ask.
“Queen Station,” replies Nadia. “There was another station underneath it - Lower Queen - built back in the middle of last century but it was never brought into service.”
I now realise that all the rumbling noises that I had heard must have been underground trains trundling back and forth.
“Let’s go find the others,” says Nadia decisively. “We must get to Max before Kristof does.”
LATE TUESDAY EVENING
Nadia and I quickly make our way back to the hotel. Faiza, Meena and Buckeridge are there, waiting anxiously.
“What on earth happened to you?” asks Faiza.
“The Bratva found Max and me and chased us from the library,” I reply. “Max escaped, I didn’t. They tried to torture me to find out where Max was but, as I didn’t know anything, I couldn’t tell them much.”
At the mention of torture, Meena insists on checking me over thoroughly. She frowns as I tell her about the cold liquid that was poured into my ear canals. She examines both ears carefully, then leans in and takes several deep sniffs of each ear canal.
“I need to look inside your ear canals,” she says. “Oh for a proper otoscope right now but I’ll just have to improvise.”
She pulls out her smartphone, turns the flashlight on, starts video recording and then uses it to inspect the inside of both of my ear canals.
As Meena checks me over, I glance across at Nadia. She’s sitting calmly, staring out of the window, seemingly deep in thought. She appears completely unfazed by the events of the day; she barely has a hair out of place. Seeing her, a casual observer might imagine that she had spent the day shopping in the fashion malls or pampering herself at a spa. It’s hard to believe that little more than an hour ago she was in the middle of a gun battle. I realise just how little I know about this woman - although I’m very glad that she was around to rescue me.
Finally, Meena turns her phone off and stands up. “I think you’re ok,” she says. “Based on what you’ve described, it sounds like they did something called ‘caloric stimulation’ on you. It’s a neurological test, designed to assess damage to the nervous system, especially the brainstem. It’s very uncomfortable for the patient while it’s being done, particularly if you don’t know what’s happening, but it doesn’t cause any long-term harm.”
“So what exactly did they put in my ears?” I ask.
“Probably nothing more than chilled water,” answers Meena. “The temperature differential between your body and the cold water disturbs a liquid called endolymph, deep inside the inner part of your ear. That caused the feelings of vertigo and nausea. It’s unpleasant but the effects are only temporary.”
“So basically nothing to worry about then,” I say, immensely relieved.
“Well it’s either that,” replies Meena, “or they poured into your skull some kind of nano-enzyme. Which is now slowly digesting your brain, turning it into goo.”
She’s joking of course. At least, I think she is.
Faiza interjects. “The important thing is that you escaped, and that Max is still free. Now, how do we make contact with him? He’s hardly likely to stay around Toronto, waiting for the Bratva to find him.”
I get to my feet and start to pace the room. I always think better when I’m moving.
“Max will probably be lying low right now,” I muse aloud. “He won’t want to do anything or go anywhere that might draw attention. But he won’t want to stay hiding for long. He’ll want to move on to another town or city or even another country. We have to get in touch with him quickly.”
Nadia looks skeptical. “Fine, but easier said than done,” she says. “How do we do that?”
I shrug my shoulders and am about to say that I haven’t a clue, when a flash of memory suddenly hits me. I remember the library … the desk that Max sat at … his laptop … the screen of his laptop … the open email client …
“I think I’ve just remembered his new email address,” I reply.
I pull out my laptop and sit down at the hotel room’s desk. I fire up my email client and then pause, considering what to write. I realise that the email needs to be very carefully worded - for all Max knows, I’m still being held captive by the Bratva and am writing the email under duress by my captors.
After a moment’s consideration, I start to type:
I have managed to escape our pursuers but both of us are still in danger. Need to meet with you urgently. You pick the time and venue for our meeting. I will come alone but suggest you think carefully about how and when to meet, just in case you think that I’m being forced to write this note by my captors. I’m not but there’s no way that I can prove this to you.
When I finish typing, I lean back to review my message. Nadia leans over to read it too. “Looks good,” she says. “Now all we need is Max’s new email address.”
I smile and click on the To: field of the email. I then start to type: email@example.com
“Philip is Max’s middle name and ‘Lawrence of Arabia’ is his favourite movie,” I explain. “We saw it together at university when it was screened by the film society. Max hadn’t seen it before and he was transfixed by it. Straight after seeing the film with me he went home and downloaded a digital copy. I think he watched it three times straight through the first night.”
Faiza nods her head. “Yes, he still watches it,” she says. “I’ve lost count of the number of times that I’ve woken up in the middle of the night to find him watching it on his laptop.”
“Let’s hope that he hasn’t changed his email address since this morning,” says Nadia.
“Only one way to find out,” I say. I click on the SEND button and the email disappears from the screen.
“Now all we can do is wait,” says Faiza. “I’ll make some more coffee.”
While we wait, I decide to go to my room and get some rest. Or, more accurately, try to rest. My mind’s still buzzing, trying to anticipate Max’s next move. We have to find him before the Bratva does. They won’t stop until they’ve found Max and extracted the information they need. Somehow I doubt that Max will survive the experience.
Nadia enters the room and sits beside me on the bed.
“How are you?” she asks.
“All things considered, not too bad,” I answer. “Considering what Kristof was threatening to do to me, I got off pretty lightly.”
At the mention of Kristof’s name, Nadia shudders. “You know Kristof?” I ask.
“I know of him,” she answers. “I’ve never met him. He was a high ranking officer in the Russian military’s, cyber-unit. He quit suddenly about five years ago. He joined the Bratva and led its online activities. Very few people have met him, even fewer have survived. As I said before, the Bratva doesn’t leave loose ends hanging around.”
I sit silent for a moment, thinking about my encounter with Kristof. I have little doubt that he would have killed me had the interrogation continued.
“I haven’t said ‘thank you’,” I say. “You know, for rescuing me.”
Nadia nods. “I did what I had to do,” she answers.
As we’re alone I figure that now is as good a time as any to get answers to the questions I’ve been dying to ask her since the rescue.
“How did you manage to find me?” I ask.
"I reached the library just as you and Max were running out,” Nadia answers. “I spotted the two guys chasing you and didn't want to shout out to you in case they came after me. I followed along at a distance, getting on to the same subway train as all of you. I followed when you left the train and ran up to the surface. I saw Max get over the fence and you captured.
“Max got on a bike and moved off so quickly I couldn’t catch up with him. I waited around, hidden, waiting and watching to see what they did with you. I saw them put you into a van and drive off but I was able to hail a taxi and follow you downtown. When the van stopped in a side street, I got out and I watched as they carried you out and into a basement entrance. That led to a maze of corridors, eventually ending in the lower level of Queen Station. There I found you.”
"And where did you get the guns?" I ask.
“They belonged to the Bratva,” Nadia says. "They seemed to have plenty so I was able to grab a couple without them noticing.”
"You stole them?" I ask, surprised. “From the Bratva?”
"Yes," she says, matter of factly. "We needed weapons and they had more than enough.”
I am flabbergasted.
"What you did," I say, my voice cracking with emotion, "was incredibly dangerous. But thank you, THANK YOU."
“You’re welcome,” Nadia says. She seems remarkably blasé about the events of today. Had the situations been reversed, I'm sure that I would have been a nervous wreck by now, thinking about everything that could have gone wrong.
"Where are the guns now?” I ask.
“They’re gone - I disposed of them," Nadia says. Before I can say anything she adds, "Don't worry, I cleaned our fingerprints off them first."
“Look, I don’t want to come across as sexist, but how on earth did you learn to fire a gun like that?” I ask. “It’s not the kind of thing that most girls learn to do as they grow up.”
Nadia pauses for a moment, considering how to respond. “I served in the military,” she answers.
“You were in the army?” I say.
“No,” says Nadia. “I served at sea with the Marynarka Wojenna, the Polish Navy.”
“I didn’t realise Poland had one,” I say.
“We have almost as much coastline as the Netherlands,” Nadia replies, slightly testily. “So yes, of course we have a Navy.”
“How long were you in the Navy for?” I ask.
“Almost ten years,” Nadia replies. “I was in the naval infantry division.”
Naval infantry? The term is unfamiliar to me. Then I realise what she’s referring to.
“Oh, you mean the marines!” I exclaim.
“Yes, the marines,” Nadia confirms. “My naval academy class was the first to accept women.”
“Did you see combat?” I ask.
“Two tours of duty in Syria, one of Somalia,” she answers.
I remember the extended NATO missions in both countries. The Somalia engagement did not go well, with significant casualties on both sides. It’s hard to imagine Nadia being part of all that.
“Those must have been tough assignments,” I say.
“Yes,” says Nadia. “Very tough.” She looks away from me and says nothing more. Clearly this isn’t a topic that she wants to share much about.
She gets to her feet and then pats me on the shoulder.
“You really should get some rest,” she says sternly. “I’ll go and check on the others.”
“I’ll give it a go,” I say, “but I’m not finding it easy to sleep.”
“Well try anyway,” Nadia answers. She bends down and gives me a quick kiss on the lips and then heads out of the room, shutting the door behind her.
I lie down again and try to relax by staring at the ceiling.
There’s a knock at the door and Buckeridge enters. He sits down in the chair across from my bed. He’s holding two glasses and a bottle of Irish whiskey. He pours out two generous measures.
“Nadia said you were having difficulty relaxing,” Buckeridge says, offering one of the glasses to me. “I thought that a drink might help a bit.”
Despite not being much of a spirits drinker, I accept the glass. I take a sip. It burns the back of my throat but is smoother than I expected.
“How are you feeling?” Buckeridge asks.
“OK, I guess,” I say, taking another sip.
“Good,” says Buckeridge. He hesitates for a moment then leans forward in his seat and looks me straight in the face. “I think that it’s high time you told me what’s really going on. Why is the Bratva after Max?”
“I’m sorry,” I say, blushing. “I really meant to tell you everything, but there never seemed to be time.”
Buckeridge looks at his watch. “I’m not going anywhere right now: start at the beginning and tell me everything.”
And I do. Right from Faiza calling me in the middle of the night to meeting Nadia in Iceland and the events at the cybercommune. I tell him about Max and Nadia’s investigations into Cube, and the uncovering of the background to the CHRONOS group.
Buckeridge listens without interruption, barely moving as I speak. When I finish, finally, he gives out a long sigh.
“I wish I’d been told all of this when we first met,” he says.
“I wasn’t sure how you’d react,” I say. “And when you met Nadia, it just seemed easier to introduce her as a friend of the family. You were being so helpful and I didn’t want to lose your support due to your being angry that Max was doing work on the side.”
“I’m not going to pretend that I’m overjoyed to hear about employees of mine moonlighting for other organisations,” Buckeridge says, “but I’m hardly going to give up on them just because of that.”
“I’m sorry, I should have realised that,” I say, blushing again.
Buckeridge reaches over and pats my leg. “Apology accepted, dear boy,” he says. “In my experience, the short-term benefits of shielding people from the truth are always outweighed in the long-term by the loss of trust. The truth always comes out, sooner or later. You should remember that in future.”
“I promise I will,” I say, and I mean it sincerely.
“Which reminds me,” says Buckeridge, reaching into an inside pocket in his jacket. “Before flying over here, I did manage to find something out about the TYPHOON database.
“It’s a highly classified government database, a mapping of machine/ethernet/internet IDs to individual users,” he says. “It allows the three-letter-acronym security organisations to identify individuals from their usage of particular computers.”
He pulls out a memory stick and hands it to me.
“Don’t ask me how I did it, but I was able to obtain a partial dump of the database,” he says, gesturing at the memory stick. “There’s about half a billion records on that. My sources tell me that the overall database is many times this size.”
“Are there any Cube addresses in the database?” I ask.
“Not that I’ve seen,” replies Buckeridge. “Which, when you think about it, is puzzling in itself.”
“How so?” I ask.
“Well,” he answers, “I’d expect the law enforcement agencies to come across some addresses as part of their search of digital equipment confiscated during criminal investigations. The fact that none of these have been put into the database is strange. A wide range of machine IDs are present - ethernet, IP address, MAC address, etc. - but not ones related to Cube. I don’t see any technical reason they couldn’t be put in the database, so there must be another explanation.”
We finish our drinks in silence. I’m keen to take a look at the contents of the memory stick but I can feel myself succumbing to the effect of the alcohol. I feel my head beginning to nod and I slipping into drowsiness.
Buckeridge takes his leave of me and I drift in and out of consciousness for a while.
Next thing I know I’m being roused, none too gently, from sleep by Nadia. She’s excited about something.
“Max has replied!” she shouts.
THURSDAY 1 AM
I’m standing on the south bank of the River Thames, in the small park beside City Hall. Looming over me is Tower Bridge. It’s a cold, clear night and I have to stamp my feet repeatedly to keep the cold from seeping into them. A low fog obscures much of the river beside me. There are only a few other people about - London feels like a city asleep.
I am hoping, desperately hoping, that I am right with my guess. We have one chance to get this right and there is less than one hour before I find out.
Early on Wednesday morning Max had responded to my email. His reply was short and decidedly cryptic.
Good to hear that you are safe. Have left Toronto in search of some Peace and Quiet. Hope you’ll be able to find me. Thursday 2 AM.
“What on earth does that mean?” asked Faiza.
I paced the room, thinking. Then the answer came to me.
“It’s a phrase Max used at university whenever he really needed to get some work done,” I said. “He would go out of the flat and go sit on the South Bank by the Thames, in the fresh air, with his laptop and work from there. Goodness knows why but it worked for him.”
“So he’s heading to London?” said Buckeridge.
“Yes, it would seem so,” I said.
So of course we made plans to fly there ourselves. We caught the first plane to London in the morning, arriving in the mid-evening.
I took everyone back to my flat. We agreed that I would head out to meet Max by myself, with the ladies and Buckeridge staying back at the flat and awaiting my word.
I walk up and down the South Bank, more to give my feet something to do than anything else. After spending the whole day in the cramped confines of a plane seat, it feels good to be able to walk freely and stretch the legs.
All of the trees have Christmas lights on them, illuminated at this hour despite the lack of an audience. The Thames chugs past, unseen in the dark. Some distance off, up-river, I hear the rattle of a late night train crossing Alexandra Bridge, heading into Cannon Street Station.
I wonder whether or not Max will turn up. Have I inferred the correct location for our meeting? What if he had been thinking of a venue somewhere else in London? Am I even in the right country?
I am roused from my thoughts by the sight of a familiar figure walking towards me through the gloom - it’s Max! I guessed right!
Max walks up to me and we hug.
“It’s good to see you,” he says. “I’m glad you were able to escape from the Bratva.”
“Me too,” I reply. “Kristof isn’t the kind of guy you want to hang out with, trust me.”
We find a nearby bench and sit down.
“I’m so sorry,” Max says. “I really didn’t mean to drag you into this … or anyone else for that matter.”
“Don’t worry,” I tell him. “I just want to help you … whatever trouble you’re in. Just tell me what I can do.”
Max sighs. “I’m not sure where to begin,” he says.
“Tell me how it all began,” I urge him, “and go on from there.”
Max leans back and gazes into the distance for a moment. Then he begins to speak:
“It all began not long after I joined DORG. It’s a great organisation to work for - Buckeridge is a living legend after all - but the pay isn’t exactly great.
“I’ve always been interested in computer security, as you know. I’d spend my evenings reading every info-sec online forum that I could find. One day I saw an advertisement on one of them for some contract work doing penetration testing. It was all perfectly legal, done with the full knowledge and permission of the client. Good white-hat stuff, all totally above board.
“With the baby on the way, I was looking for some extra money and so I answered the ad. I got accepted and I tested out the new e-commerce website, identifying three major security holes for the client.”
“I built up a reputation as a solid security tester after that. People would email me, offering me security work, usually more pen-testing. The pay was good and I could fit the work into my spare time, working in my evenings or at the weekends.
“About three months ago, one of the people I had done work for, a hacker by the name of Nero, asked me to help with an analysis of Cube. I agreed, not least because they were willing to pay me more than double what I had been getting for any other job!
“After I’d accepted the gig, I was then told that what they were really interested in was finding out who Mehmet Yılmaz really was. That seemed like an interesting challenge. I went through the original version of the Cube source code and compared it to the billions of lines of other source code written to see if I could find any stylistic similarities.
“Nothing came back as a meaningful match so I immersed myself in Cube, reading as much as I could about its theory and implementation. The more I read, the more certain I became that no one person could have devised and implemented Cube on their own. The range of skills and knowledge is just too wide - and too deep - for any one person.
“I spent time in various underworld chat groups, listening to the chatter about Cube, particularly anything to do with its origins. I heard mention of a group called CHRONOS. Very shadowy, very secretive. That they were the real creators of Cube.
“When I started to dig deeper into the group, things turned strange. It started with my receiving emails telling me to stop my investigations. These emails escalated in tone quickly and soon I received threatening phone calls.
“These threats scared me but I was determined to continue. Considering how popular Cube had become, it just didn’t seem right that the creators of it could hide behind a fairy tale about its origins.
“I soon learnt that others were seeking the real identity of Mehmet Yılmaz. The Bratva were chief among them, and they weren’t going to let anything stop them in their quest for control of Cube.
“One Friday evening, as I was leaving work, I was stopped by two men. Right outside the DORG offices! They knew my name, they knew where I worked. I was able to trick them and get away but I knew then that I’d have to go into hiding. I didn’t want Faiza to get pulled into this so I decided to disappear without telling her anything. I figured the less she knew the safer she’d be.
“I went home, grabbed a few things without saying anything to Faiza and then headed to the bus station. All I wanted to do was to get as far away from San Francisco as possible. I caught a bus to northern California and spent time at a cyber commune near Sebastopol. From there I continued north and eventually crossed the border into Canada. Getting across was almost trivially easy, it’s a border that’s nearly six thousand miles long. Even the US can’t build walls across that distance.
“I headed to Toronto as I figured that, as the biggest and most cosmopolitan of Canada’s cities, it would be easy for me to blend in there. I’d been betrayed and all I could hope to do was lie low until things blew over. I didn’t expect anyone to find me so quickly!”
“It wasn’t easy to find you,” I say. “We had lots of help. Many people were very worried about you.”
Max nods and looks embarrassed. “I’m so sorry about all of this - I didn’t mean to cause you any concern,” he says, lowering his eyes. “And I certainly didn’t want to hurt Faiza. I was doing all of this to protect her, and the baby.”
“Well, you’ve got us to help you now,” I say. “You’re not alone anymore.”
Max pats my shoulder.
“Thank you,” he says. “This is too big for me to handle by myself.”
“Faiza’s here in London,” I tell him. “Do you feel ready to see her?”
“Definitely,” he says. “I’ve so much I need to explain to her.”
I pull Faiza’s phone out of my pocket - I haven’t had time to get myself a replacement band yet - and call Buckeridge.
Faiza’s phone barely has time to complete a ringtone cycle before Buckeridge answers.
“I’ve got Max with me,” I tell him. “He’s ready to meet up. We’re down by the Thames, just beside Tower Bridge.”
“Great,” says Buckeridge. “We’ll head over immediately and meet you at Tower Hill underground station.”
As I hang up the call, I remember my initial conversation with Sams, particularly his desire to speak with Max.
“After you left the Commune,” I say, “a former member of CHRONOS - David Sams - turned up, asking for you.”
Max is startled. “Really?” he says. “What did he want?”
“I didn’t get long to talk with him,” I say. “He said something about links between Cube and the TYPHOON database. I didn’t know what that was at the time, so I couldn’t ask him more. However since then I’ve found out that it’s a US government database. It maps machine IDs to particular users. Highly classified.”
Max rubs the stubble on his chin as he thinks. “Really? That’s puzzling - Cube addresses are completely anonymised. And a fresh address is generated for each new transaction …”
His voice trails off as he sinks into deeper thought. Then he suddenly grabs my arm.
“This could be really serious,” he says. “This kinda fits all together. I had heard rumours that CHRONOS was just a front for one of the three-letter-acronym security agencies, but I never paid them much attention. However, what if it were just one or two members of group who were in the employ of one of the agencies? What if they managed to sneak something into the Cube code that permits tracking?”
“It would be tricky,” I say, thinking hard. “As Cube is open-sourced, the malicious code changes would have to look innocuous in order to avoid detection … We definitely should look into this. If Cube transactions are traceable, the world has to know.”
Max notices my deliberate use of the first person plural.
“You’ll help me find out the truth?” he asks.
“Absolutely,” I say, sincerely. “You have my help as long as you need it. Until we get to the bottom of this.”
“Thank you,” Max whispers. “I really could do with some help.”
It’s time for us to go meet the others. However there’s one other thing I need to bring up.
“Look, there’s one thing I need to get off my chest, “ I say. “I’m sorry I didn’t respond to your email. I kept meaning to but never quite got round to it.”
“What email?” he asks, looking puzzled.
“You know, the one you sent me, asking for advice,” I reply. “I’ve felt so guilty that I didn’t respond when you wanted help with CHRONOS.”
“Oh, that email,” he laughs. “That was nothing to do with CHRONOS! I’d been thinking of building a new gaming rig and I wanted some advice about the latest graphics cards!”
It’s my turn to laugh.
“Really?” I say, feeling a great weight instantly lift from my conscience. “Nothing to do with CHRONOS?”
“NOTHING!” roars Max.
We sit side-by-side on the bench, roaring our heads off. I haven’t had such a belly laugh in years.
Finally we regain our composure. I glance at a nearby clock - it’s time to go meet the others.
We rise from the bench and walk along the side of the Thames, still chuckling about the misunderstanding. We then climb the steps on to Tower Bridge itself and start to walk across the bridge towards the Tower of London. At this late hour there is little road traffic across the bridge, and no pedestrians apart from ourselves.
In the distance I see Buckeridge, Faiza, Nadia and Meena, coming on to the bridge from the north. I wave. They spot us and hurry towards us.
“You’ve brought quite a party,” says Max. “Even my boss!” He pauses for a moment, considering. “Does that mean he knows about my side-job as a security tester?”
“ ‘Fraid so,” I tell him. “You’re going to have to handle the fallout from that one by yourself.”
Max looks beyond Buckeridge, squinting his eyes. “Who’s the woman behind Faiza?” he asks.
“Oh, that’s Nadia,” I say.
“Who?” asks Max.
“You know, Nadia Mirov …” I say. Max still looks blank. I pause, then remember that Max only knows Nadia by her hacker handle. “You know her as Nero.” I say.
Max’s expression instantly switches to one of horror and he grabs my sleeve. “But Nero’s one of the Bratva!” he hisses to me, in utter panic.
Turning around, I look frantically along the bridge. Faiza and co are now only ten metres from us. Buckeridge is closest to the side of the bridge. Meena and Faiza are walking side by side, with Nadia slightly behind all of them.
Nadia catches sight of our panicked expressions. From who-knows-where she pulls a hand gun. She swivels and, from point blank range, shoots Buckeridge straight in the back of the head. Buckeridge instantly goes down in a crumpled heap, most of the contents of his cranium splattered on the pavement.
Nadia turns the gun on Faiza and Meena.
“Stop right there!” she commands. The women do as they’re told.
Nadia gestures toward Max.
“Come over here,” she shouts, “unless you want your wife to be next.”
I look at Nadia, and then at the lifeless body of Buckeridge. I can’t believe what I’ve just seen. I take a deep breath and try to compose myself.
“Nadia, don’t be a fool,” I say. “You can’t expect to get away with this … You can’t go about shooting people in plain sight in London.”
“Can’t I?” Nadia snorts. “Not one CCTV camera within a mile of here is currently recording,” she says. “Until I give the order to turn them back on, I can do what I like.”
While keeping her gun trained on Meena and Faiza, she pulls out a cellphone and dials a number.
“It’s me,” she says, speaking into the phone. “We’re ready for pickup.” She ends the call and puts the phone away.
Police sirens start up in the distance.
“Max,” Nadia says. “I told you to come over here.” She moves the gun so that it is pointed directly at Faiza’s head.
“What about Tom?” Max says, still holding his ground.
“Well, I need someone to take the blame for the death of poor old Buckeridge …” says Nadia, coldly.
The police sirens draw nearer. Two police patrol cars, their roof-mounted blue lights flashing, appear at either end of the bridge. They pull across the road and block traffic from entering the bridge in either direction.
Two policemen get out of the cars and walk towards us. I recognise them immediately - it’s ‘Dum and ‘Dee.
“By the time the real police get here,” continues Nadia, “we’ll be gone. And there will be two eye witnesses will swear under oath that they saw Tom shoot Buckeridge, just before he turned the gun on himself.”
The fake policemen are getting closer. We are surrounded.
“Max,” Nadia says again, “I won’t ask you again. Come over here now.”
“Alright, alright,” says Max. As he walks past me, he suddenly turns. Without warning he pushes me towards the side of the bridge.
“Find the vulnerability! And go tell CHRONOS … You can trust Collins!” he whispers.
Then he hoists me in the air and throws me over the side.
I fall through the air, towards the blackness of the Thames. I look up towards the bridge, and see Nadia grab his arm and pull him back from the side of the bridge.
Then I hit the water. Or is it that the water hits me? The water is icy cold and it knocks all of the breath from me. I go deep down in to watery darkness, so deep that the lights of London seem faint and distant.
My descent slows and I am able to take a few strokes to pull myself back towards to air. Spluttering and coughing, I finally surface. Nadia is leaning over the side of the bridge, looking down towards me.
“I was going to shoot you but I’ve had a much better idea,” she shouts. “Give me control of Cube and I’ll give you your friends back!”
She disappears from view. I swim as best as I can to the side and haul myself out. Somewhere along the way I manage to lose one of my shoes.
By the time I’ve made it back up on to the bridge, it’s deserted. Even the body of Buckeridge has gone. The pavement is gleaming wet where his corpse lay - all traces of blood removed. The Bratva is, as ever, thorough in cleaning-up.
With no sign of anyone, I’m forced to consider my own welfare. I’m soaking wet and freezing cold. All sense of feeling is rapidly disappearing from my hands and feet. I have to get dry and warm quickly or I will succumb to hypothermia.
Somehow I manage to limp back home. I quickly change out of my wet clothes and pull fresh ones on. I grab my laptop plus a few essentials and head out the door. I’m in my apartment for no more than five minutes.
Half an hour later I’m checking into a hotel. The price is exorbitant, even during this, the tourist offseason, but I need somewhere to hide out. Somewhere Nadia, Kristof and the rest of the Bratva can’t find me.
I get into my hotel room and immediately take a long, hot shower to warm up.
Then I collapse on to the bed. I can’t believe everything that has happened in the past two hours - Nadia a traitor, Buckeridge dead and Max, Meena and Faiza now captured. And it’s all my fault - I curse my stupidity for not being able to notice the signs that Nadia was, all this time, a double agent. The way she entered my life, with us immediately seeming to be in peril, blinded me to the possibility that she might have nefarious intentions. And of course her looks and sex appeal distracted my warning senses.
My lack of judgement has led to the death of one person already, and three - no, make that four - more are in peril.
I rouse myself from my self-pity by reminding myself that I can still save everyone. All I have to do is to find the vulnerability in Cube, track down the CHRONOS group and somehow convince them to hand over control of Cube to the Bratva.
I have a lot of work ahead of me.
Twelve hours later, I’m sitting in the hotel room, staring at my laptop’s screen. I’ve downloaded the Cube source code from its Github repository and have spent the last couple of hours going through it line by line. Since the code was first published a decade ago, I know that thousands, probably tens of thousands of coders have looked at this code, analysing it closely. Max thinks that there might be a weakness in it - how could all of these eyeballs have missed something?
I rub my eyes in an attempt to get them to focus. I’ve been up for nearly thirty six hours and it’s beginning to catch up with me. I get up and make myself another cup of coffee. I drink it standing up, staring out of the window, at the Thames. I finding it hard to believe that I was actually swimming in it just over twelve hours ago.
It’s hard to believe so many things right now. Buckeridge having been killed right in front of us being top of that particular list. I wonder what Max, Meena and Faiza are going through right now. Kristof showed little in the way of mercy with me, and I doubt he’ll show much with them. I shudder as I imagine Max being tortured, or having to watch on as his wife and sister-in-law are. And just where to start about Nadia …
I shake my head to clear these negative thoughts. I need to find the vulnerability in Cube. It’s the only way that I can possibly help Max and the others. Nothing else will give me bargaining power with the Bratva.
The problem is that I’m stuck. All of the code implementing Cube that I’ve read up to now is cleanly written. It’s been thoroughly commented (albeit, in places, rather idiosyncratically - there’s a recipe for chicken soup embedded in the comments for one module and a couple of knock-knock jokes in another). The code layout is very tidy and consistent (Yılmaz even specified precise coding guidelines for any open source developers working on the code). Error messages are clear and descriptive. There’s even a solid logging infrastructure implemented, making it easy to keep track of what the software is doing.
To give myself a break, I plug the memory stick that Buckeridge gave me into my laptop and browse the dump of the TYPHOON database. Just as Buckeridge said, it consists of a list of various machine-type IDs - ethernet, IP v4/v6 and other types of address - cross referenced against particular user IDs, usually email addresses.
It’s a big file - with just over five hundred million rows - and it’s sobering to think that this might only represent a small fraction of the total database. Many of the email addresses are listed against multiple machine IDs - probably because the users own multiple devices (laptop computer, tablet and smartphone typically) or because they’re logged against multiple IP addresses (maybe they’ve been logging in from a variety of public internet access points?)
I look through the whole database dump and find no reference to Cube addresses. This, as Buckeridge remarked, is strange. The security agencies undoubtedly do know some of the addresses belonging to people they’re monitoring, so why would they not be included?
Maybe they don’t need them to be in the database, I think to myself. Perhaps they have some other way of tracking the addresses. Maybe there’s something in the code responsible for the ID generation?
I take another look at the address generation source code. Once more nothing stands out as being out of place.
There’s nothing like having to explain a problem to someone else in order to gain some fresh insight. I fire up my IM client and scan my list of contacts. Sure enough, I see him online - Carl Turner, a member of my team at the bank and one of the smartest people I know, Max excepted.
I fire him a message: “RU available for a quick chat?” I ask.
He comes back immediately. “now? sure!”
I push the video call button and within seconds Carl’s face appears on my screen. Judging from his background, Carl is working from home today.
“Tom!” says Carl. “I thought you were off work sick?”
“Getting better all the time,” I say. Although having swallowed more than a few mouthfuls of the Thames, I’m not taking my future health for granted.
“I want to ask you about a hypothetical scenario,” I say.
“Oh, go ahead,” grins Carl. “I love hypotheticals.”
“Suppose you wanted to add a super-secret malevolent piece of code to an open source software package,” I say. “How would you go about this?”
“Interesting question,” says Carl, scratching the back of his head. “Open source software?”
“Definitely,” I say. “Open source code licensed under the most open, permissive licence you can think of. Anyone can do whatever they like with the source code.”
“So I’m having to hide my code in plain sight,” ponders Carl.
“Yes,” I confirm. “Any changes you make to the code are visible to everyone.”
Carl leans back in his seat, thinking hard. I can almost see the wheels in his brain whirring.
“How long does my secret function have to remain in the code?” he asks.
“In perpetuity,” I say. “You want this backdoor to remain permanently in-place.”
“Is this open source project being properly maintained?” asks Carl. “Does it have a project lead looking at all code submissions? Do they run regression tests regularly? Are there comprehensive unit tests?”
“‘Yes’ to all of those,” I say. “Imagine that this is the best organised and maintained open source project in the world. The best in the history of software development.”
“Challenging,” muses Carl, “very challenging. Remember that quote about ‘with enough eyeballs, all bugs are shallow’?”
“I do,” I say. “So how would you go about fooling all those eyeballs?”
Carl sits still for a second, then leans forward.
“Let’s start by saying what I wouldn’t do,” he says. “I wouldn’t go in and add a mass of code all at once - anyone looking at the code deltas would reject it out of hand. I’m going to have to be much more subtle than that - possibly introduce the malicious code in stages over the course of several weeks, if not months or years.”
“OK,” I say. “But what do you do to protect your changes from someone just looking through the entire source code?”
Carl ponders for a second or two. “I’d look for somewhere in the code that’s already complex,” he says. “Perhaps a complicated, multi-stage calculation or code where the execution jumps from place to place. Existing complexity gives me scope for adding my malicious changes, or at least jumps to them, unnoticed. If I can’t find such a place, then I first have to create one, perhaps under the guise of working on other, planned for features.”
Carl pauses to think some more, then continues. “I’d want to make my changes look like an honest mistake. So if anyone did spot any part of my malevolent code, they’d think that it was a genuine programmer error. Perhaps forgetting to check a boundary condition, misuse of a pointer or set the zero element of an array - something like that. That way they might fix that part of the code, but not realise that there were other bits to fix as well. That would allow me to later go back in and find another part of the code to modify instead.”
He pauses to scratch his head. “That’s all I got,” he admits. “Does any of this help you?”
“Yes it does,” I say. “You’ve been very helpful to me. Thank you.”
“No worries,” says Carl. “See you when you’re back in the office.”
We hang up and I’m left to ponder his words.
EARLY FRIDAY MORNING
It’s now 3 AM and I’m still staring at my laptop’s display. I’ve had my fair share of late nights, hunting down software bugs, but this feels very different due to all that is at stake. Max is relying on me to find any “peculiarities” in the code in order to give us bargaining power with both CHRONOS and the Bratva.
In addition to the latest version of the source code, I’ve now downloaded the very first version that Mehmet Yılmaz published a decade or so ago. By comparing the two versions against each other, I want to identify code that has gone unchanged through all these years. This, I feel, is the code most likely to contain the covert malicious functionality.
When I first do the comparison I find no shared code. Doing a visual comparison of the two codebases, side-by-side on the screen of my laptop, I realise that the code has had at least one refactoring. However a lot of refactoring - changing variables names so that they are more descriptive for example - is largely cosmetic; it doesn’t change the underlying logic of the code.
So I run the code comparison again, this time ignoring aspects like variable names and the layout of the code. This time I do find code in common. It’s still a relatively small amount - less than ten percent of the overall codebase - but a significant amount of it concerns the generation of Cube addresses.
A Cube address is a long string of seemingly-random characters that represent one of the two parties in a transaction. An address is derived from one of the encryption keys contained within a Cube user’s digital wallet. A fresh encryption key is selected for each transaction in order to prevent users being traced from one transaction to another.
Cube addresses are expressed in Base58, a notation that uses all the alphanumeric characters except for the four which can be ambiguous when printed out in some typefaces - zero and capital o, capital i and lower-case l. Using Base58 thus helps to minimise the chances that a user will type in an address incorrectly.
The essential aspect of an address is that it is unique. No two users of Cube should ever generate the same address. That’s one of the reasons why the character format is so long. With thirty-four significant characters in a Cube address, the range of potential addresses is huge - roughly nine multiplied by ten to the power of fifty-nine. That’s more than enough IDs to assign a unique one to every single atom of the Sun.
The code to generate an address is somewhat complex, so I draw a flowchart to keep track of what is going on:
The algorithm starts by taking one of the public keys from the user’s digital wallet and putting it through a hash function. This reduces the length of the key to a more manageable size. This hash value is then written on to the stack (which is essentially the computer’s scratchpad for in-progress calculations). Using it, a checksum is generated, allowing the Cube software to easily validate whether a user has typed in an address correctly. The final step is to feed the hash value and the checksum together through a Base58 converter function and a “C” character appended to the front. This generates the alphanumeric version of the address.
This code has changed very little since the software was first released. The code is clean and tidy, and apparently bug-free. I guess that none of the programmer volunteers who took over maintenance of the code once Mehmet Yılmaz became a recluse have seen any need to change it. “If it ain’t broke, don’t mess with it” appears to have been the overriding philosophy.
I analyse the address generation code as it executes, stepping though it line by line using a debugger. I can see the contents of each of the variables in the code as well as all of the status values. As each function gets called, I inspect the contents of the variables being passed into it.
Everything goes as expected until the preparation for the Base58 conversion. I notice that the stack pointer for taking the hashed value off the stack is off by six bytes. That means that it’s reading from six bytes lower on the stack. It will still read in twenty bytes but only fourteen of those will be the hashed value.
So what else will it read in? What was placed on the stack before the address? I glance at the stack visualiser to see the answer displayed in hexadecimal:
5C F9 38 99 D7 86
The values seem familiar, but I can’t think where I have seen them before. I get up and go to the bathroom. I scrub my face thoroughly with soap and water to revive me. As I’m doing this, I suddenly remember where I’ve seen those numbers before. I return to my laptop and open up the network configuration control panel. Sure enough, nestled amongst the configuration details are the exact same digits. The MAC address of my laptop’s WiFi card.
MAC stands for Media Access Control. Every device - every desktop/laptop computer, every smartphone, every tablet, anything in fact that has a network interface for connecting to the internet - has at least one. With almost three hundred trillion possible permutations, MAC addresses can pretty much uniquely identify a device.
I scan through the source code to find out why the MAC address was on the stack. It doesn’t take me long to find it - among the software’s many, and decidedly verbose, log messages is one that indicates successful activation of a network connection to the wider Cube Community. The last part of the message is the MAC address of the interface used to make the connection.
The MAC address has been sandwiched between the remaining fourteen bytes of the hashed public key and the four bytes of the checksum and fed into the Base58 function. This function converts the data into a sequence of alphanumeric characters but it also serves to hide the fact that six bytes are always the same.
I quickly write a Python program to decode Cube addresses. I run the code and input a couple of the Cube addresses that I’ve used in recent transactions. My software reverses theBase 58 operation and then displays the key six bytes in the middle. Sure enough, it prints out the MAC address of my laptop. I try it out on an address that I used for a transaction on my band and sure enough it displays the address of my late, smashed device.
The supposedly-anonymous Cube address is traceable!
Despite the elation of finding the tracking code, I soon thereafter succumb to exhaustion. I manage to drag myself over to the bed and collapse on to it. I’m awoken a few hours later by sunlight shining through the window into my face. It’s just past 9 am.
I realise that I’m famished - I haven’t eaten in over twenty-four hours. I head downstairs and commandeer a large breakfast in the hotel’s restaurant before it closes.
Afterwards I return to my room and review my discovery from the night before. I try typing a few more Cube addresses into my new software and each time a plausible-looking machine ID is produced. I then download a couple of pages of the Cube Ledger - containing in total about ten thousand transactions - and pipe the IDs into my program. Every one of the IDs produces a realistic machine ID.
OK, I have enough evidence to support my claim. I ponder what to do next. I pace around my room but give up after a while. I decide to go for a run in nearby Battersea Park. I haven’t worked out in over a week so I figure that the jog will do me good. And I always think better during, and especially after, some physical exertion.
Before I leave, I scan the major news websites for any mention of the events yesterday. But there’s nothing. The Bratva’s cleanup does indeed appear to have been most thorough, and Nadia’s claim to have knocked out all the CCTV cameras within a mile of Tower Bridge seems to have been genuine.
I leave the hotel, wearing a set of shorts and t-shirt borrowed from the front desk of the hotel, and head over to Battersea Park. It’s a cold, clear day and the sun shines thinly through the leafless trees.
I arrive at the park and opt to plod round the Carriage Drive Circuit. It’s a wide, tarmacked path with lots of room for runners and walkers. I keep to the inside, jogging along slowly but steadily, as a succession of faster and fitter runners overtake me.
As I run, I ponder my next move. That there’s a malicious code in the Cube source is now beyond question - I have the debug logs, the source code itself and the test results to prove this - but what’s my next step? How do I get the attention of the CHRONOS group with this? And how can I use it to save Max, Faiza and Meena?
As my feet pound the path, I realise that a half-formed thought has been nagging at the back of my mind for a while. It takes me a few moments to figure out what it is.
The theft of my laptop.
Although Inspector Lister thinks that it was an opportunistic theft, I’m not entirely convinced. I think through the alternative explanations.
If it was a deliberate theft, who could have taken it?
The Bratva? This seems unlikely now, in the light of Nadia being a double agent all along. When I first encountered her in Iceland, she didn’t know what Max looked like. She seemed genuinely surprised when I told her that Max had gone missing. To snatch the laptop would have required far more knowledge about Max than Nadia and the Bratva had at that moment.
So if not them, who?
I continue to jog along the path. Despite the cold of the day, my t-shirt is now covered in sweat and my breath comes in short, ragged pants.
Step, step, step
Could Max have taken my laptop?
Unlikely - he’d left San Francisco several days earlier in order to stay at the cyber-commune. He was taking great efforts to remain undetected - just look at the lengths we had had to go to in order to track him down in Toronto. So it would seem unlikely that he would risk everything to steal my laptop from a public place, right in front of us.
So if not Max, who?
Step, step, step, step, step.
A thought forms in my mind: CHRONOS.
Max had said that someone from CHRONOS was aware that he was investigating them. They tried to get him to stop. Could they have had someone following me and Faiza? Someone who, when they saw the chance, grabbed my laptop?
But even if CHRONOS did take my laptop, why? Were they looking for information about Max’s investigations? If so, they’d have been able to determine that I knew little at that stage. Unlike Max, I don’t encrypt my whole disk - it would have been easy for them to look at the entire contents, including my files, email, photos, etc.
So why return it? If they’d looked through the contents and found nothing, why not destroy it? Why take the risk of having left forensic clues that the police could find?
Step, step, step.
Or perhaps they weren’t looking for information …
Step, step, STOP!
I skid to a halt as a new idea forms in my brain: What if they didn’t want to take something from the laptop but instead wanted to put something in?
I turn around and sprint back to the hotel.
I dash back to my room as quick as I can. There, I wake up my laptop and fire up a terminal window. I’m going deep into the bowels of the software of my machine, places where a GUI cannot help me.
I look through the multitude of system directories, looking for signs of modification. I look at the sizes of the system files and the dates on which they were last updated.
After an hour I give up on this. Everything checks out - to all intents and purposes the operating system running on my laptop today is the same as when I first arrived in San Francisco, all those weeks ago. Deep down I know that this was always likely to be a fruitless exercise. Anyone skilled in the art of spyware is going to be capable of making whatever modifications they want without leaving traces behind. I’m suspecting that I may be up against a rootkit - stealth software intended to hide the nature of its true function from all normal forms of detection.
But I’m not out of ideas. I grab my jacket and head out.
One hour later I return, with three purchases. The first of these is a brand new PC laptop, which I quickly set up. However the operating system pre-installed on it is of little use to me - it’s far too locked down. I download a popular variant of the Linux operating system on to the second of my purchases, a memory stick, and then use it to re-image the laptop. Finally, I download, and install, a few favourite software tools.
With the PC now configured exactly as I want it, I use it to host a new WiFi network. I then have my old laptop join it. This means that all of its traffic going to/from the internet is being directed through the new PC.
I fire up some network packet sniffer software on the new PC and look at the data packets that my laptop is sending out to the internet. I then proceed to carefully, one by one, close all the applications running on the laptop - web browser, email client, etc. In theory this should reduce the amount of traffic flowing to/from the network substantially.
Except it doesn’t. Despite all the applications having been closed, I still see lots of outbound packets being sent. What are they and what software is creating them?
I look at the payloads of a few of the packets. It’s all gibberish. Might the packets be encrypted? It’s unlikely that I’ll be able to decode them. However the headers of the packets must be unencrypted as otherwise the routers would be unable to process them. Might the headers tell me something?
I look for the destination IP address within the packets - then realise that they’re all different. I try doing a reverse lookup on a couple of them but they tell me nothing. The packets are probably being sent to proxy servers, who then forward them on to some final destination.
But what kind of data is being sent? Whatever it is, it’s a steady stream, with many packets being sent every second. What sort of data transmission would be so consistent?
How about …
On a whim I reach over to the laptop and put a piece of masking tape over the webcam. As soon as I do this, the rate of transmission of the packets more than halves. Interesting …
I go over to the clock radio in the room, and turn it on. I find a music station. As with all clock radios, the sound’s a bit tinny but it’s adequate for my purposes. I turn the volume up to near maximum.
The rate of packet transmission increases, not by a huge amount but enough to be noticeable. I turn off the radio and the rate drops again. I pull the masking tape from the webcam and the transmission rate goes back up to the original level. I turn the radio back on and the rate increases again.
I close the lid of the laptop, putting it to sleep. This causes the packet rate to drop but not stop altogether. The sleep function on the laptop must have been suppressed/modified so that the machine can continue to relay audio. Clever, very clever.
I open the lid of the computer again and this time select the option to power it down. After a few seconds of whirring, the laptop goes silent. Finally the packet rate drops to zero. Well at least the hackers weren’t able to subvert the shutdown functionality.
I turn the radio off once more and go into the bathroom of the hotel room to think. It’s clear that very high quality spyware has been loaded on to the machine - spyware that transmits audio and video. The webcam has an activity light that is meant to glow when the camera is active but somehow the software has circumvented this.
All of this means that ever since the laptop was returned to us someone has been able to listen into every conversation we’ve had in the vicinity of the machine. I think back over all the discussions that Nadia, Faiza and I have had with my machine near us. Any or all of those conversations may have been overhead.
A burst of anger grows within me - I’m annoyed at the intrusion into our privacy. Then I remember that I’d taken the laptop with me on a couple of nights that Nadia and I spent together and my anger turns to embarrassment. Someone, somewhere, has a couple of extremely explicit videos involving me …
I take a deep breath and fight hard to push the emotions back. There’s a way that I can use this discovery to my immediate advantage.
I go back into the room and find a large piece of paper and a pen. I write a message in big letters on the paper and then get a piece of sticky tape and fix it to the chair in front of the desk. I then power my laptop back up and angle it so that the webcam is looking straight at the piece of paper.
I look at the clock. It’s 5 PM and I’m famished. Time to get something to eat. I grab my coat and head out.
On the paper two things are written.
“THERE ARE TRACKING IDS IN ALL CUBE ADDRESSES” is the first.
The other is the phone number of my new pay-as-you-go mobile - my third purchase of the trip.
I carefully navigate my rental car along the roads leading out of Atlanta International airport and then head southwest on Highway 85 into rural Georgia. Within an hour I’m off the highway and driving along a small road, dense forest on either side of me.
My new phone had rung within half an hour of my pinning the message up. A synthesised male voice gave me an address outside of Atlanta and informed me that I should be there no later than 9PM on Saturday. “Bring your evidence,” the voice commanded just before the line went dead. There was no CLI so I couldn’t call back.
I saw little option but to comply. I booked myself another transatlantic flight and spent most of Saturday crossing the Atlantic. Again.
I arrive at the address, five miles outside the small town of Newnan, a little after seven in the evening. It’s a modern three story office building, set rather incongruously amongst the trees. A large sign on the side of the building says “RS Inc”. I smile at the sight of the company’s name - no British company would dream of calling itself that.
Night has long since fallen and the everything is very quiet. The building is dark, save for a few lights coming from the top floor. There is only one other vehicle in the parking lot.
As I walk from the car to the building, I remind myself not to get angry with whoever I’m about to meet. While it’s tempting to shout and swear at them for having hacked my computer and invading my privacy, such actions are not going to help rescue Max, Faiza and Meena. I need to keep calm, and focus on getting the message across that there are major problems within Cube.
I try the door but it’s locked. I press the intercom button and wait.
Eventually, a male voice answers in a strong Southern accent. “Ah’ll be with you right quick.”
I wait some more.
An elevator door opens, spilling light into the dark foyer. From inside emerges a man, small and balding, dressed in jeans and checked shirt. He walks over to the door and unlocks it. Then he opens it.
“Welcome!” he says. “Thank you for coming all the way out here. My name’s Chuck … Chuck Regan.” He speaks with a strong Southern accent.
Ah, the R in CHRONOS! He too was in the restaurant photo. He had a full head of hair back then but there’s no mistaking him.
We shake hands and he leads me into the building. “Welcome to my company,” Regan says, gesturing all around.
“Very nice,” I say. “What does your company do exactly?”
Regan doesn’t answer. I decide not to repeat my question.
We pass the reception desk, unoccupied. The visitor book is open on the desk. Regan coughs slightly. “Uh, given the delicate nature of your visit,” he says, “it’s probably better if you don’t sign in.”
I nod in agreement.
We take the elevator up to the top floor of the building. The executive offices are located here - large, glass walled affairs with minimalist furniture in them. All are dark except for the one labelled “CEO”.
He leads me down a short corridor and into a conference room. The room is dominated by a large round wooden table. The usual accessories of a desktop projector and a flip chart easel are also present.
Regan sits down in a seat by the table and motions to me to take another. He sits still for a moment, considering, and then speaks:
“So tell me about the vulnerability you found.”
“It’s in the address generation code,” I explain. “Do you know this part of the software?”
Regan shakes his head. “Only indirectly - I worked on some of the other modules,” he says. “You’ll have to show me.”
I pull out my laptop (my new one - I transferred my full programming environment across to it on the flight over from England) and fire up the debugger. I walk Regan through the code step by step. Regan watches intently, leaning forward in his seat to see the screen of my laptop better, asking questions as I go. Judging from the questions he asks, there’s no doubt that he’s an extremely experienced programmer. Nothing I say to him has to be explained twice.
Finally, I’m done. Regan leans back in his seat. “Well done,” he says. “You’ve definitely found malicious code. I’m very impressed. How long did it take you?”
“Not that long,” I answer. “My friend, Max Whitting, did most of the groundwork. It was he who pointed me in the right direction - all I had to do then was look carefully.”
Regan strokes his chin, pondering. “I see,” he says, “and does anyone else know about this?”
I shake my head.
“And where is your friend now?” asks Regan.
“That’s a big part of why I’m here,” I explain. “Max, his wife and her sister have been kidnapped by members of the Russian mafia. They’ve killed already and I’m sure that they’ll murder them too if we don’t find a way to release them. I need your help!”
Regan stands up. “Gee, that’s quite a situation you have there. Let me see what I can do - I’m fixin’ to go talk with the others. Wait here.”
He leaves the conference room, closing the door behind him.
I sit there, puzzled. Fixin’? That expression, strange as it is to my British ears, rings a bell somewhere.
I type “fixin’” into the search utility on my laptop. The machine chugs away for a second and then comes back with just one match. It’s in the Cube source code.
I swing over to my development environment and look for the text. Sure enough, “fixin’” is there in the actual source code, part of a multiline comment.
A multiline comment within the module dealing with ID generation.
A chill sweeps through my body. Does this mean Regan worked on this source file? Despite him claiming that he hadn’t?
I rise from my seat and walk over to the door. Very quietly and carefully I open it a fraction and listen. I can hear Regan’s voice someway down the corridor.
I edge out of the door and creep along the corridor, towards the sound. When I get to the corner, I peer round. Through the glass wall, I see that Regan is in his office, talking on his mobile phone, with his back to me.
The door to the office is open so I edge closer, trying to get within earshot.
“… he’s found the code we planted,” I hear Regan say. “Walked me through all of it, step by step in the debugger.” He pauses, listening to whoever is on the other end of the call, nodding periodically. Then: “Don’t worry, I’ll take care of everything.” He turns and looks down at something.
I edge further round so that I can get sight of whatever he’s looking at. There’s a handgun lying on the desk, with an open box of ammunition beside it.
Regan starts to turn around, and I duck back around the corner again before he catches sight of me.
I head back to the meeting room and close the door again. I take a couple of deep breaths and size up my escape options. Nothing springs to mind. To get to the lift I’d have to go right past Regan’s office. The other end of the corridor is a dead end. The windows to the conference room are all sealed, triple glazed affairs. I doubt I could break one of them, even if I threw a chair at it. Besides as I’m two stories up, I’d break both my legs (and probably more) jumping.
With no practical way of escape, I decide that I’m going to have to fight my way out. I grab the heavy fire extinguisher in the corner of the meeting room and stand behind the door. I wait.
I hear footsteps coming down the corridor. The door opens and Regan walks in. The gun is in his right hand.
As I’m standing out of sight, behind him, Regan is momentarily puzzled as to why the room appears to be empty. I take this opportunity to jump at him and strike at his head with the extinguisher. Regan spots me coming at the very last second and manages to duck. The extinguisher misses and he knocks it out of my hands with his free arm.
I jump on to him and try to wrest the gun out of his hand. We stagger around the room, me on his back, Regan attempting to throw me off so that he can get a clear shot at me.
We barge into the table. I slam his gun arm hard down on to the table’s surface, the weapon leaving a clear dent in the polished wood. Regan cries out in pain but doesn’t let go of the gun. He tries to elbow me in the face but I manage to duck out of the way.
Both of us now grapple for the gun. Regan grabs my jaw with his other hand and tries to stick his thumb into an eye socket. I scream in agony and let go of the gun. He pushes me back and I fall against the table.
Now that he has control of the gun, Regan raises it and points it at my head. Before he can shoot however, I drive forward and grab hold of his gun arm, twisting his hand round. The gun goes off. Regan’s body jerks uncontrollably and he collapses to the floor. The unmistakeable smell of gunpowder fills the air.
I look down at Regan. The gun is still in his hand but there’s a big red stain in the centre of his checked shirt. Regan’s eye’s are looking up at me but I don’t see any life in them.
I drop the gun, kneel down and feel for a pulse. There isn’t one. I’ve just killed another person. OK, it was in self-defence but it was still a killing.
I feel my heart rate rise and my breathing become ragged. I realise just how close I came to being killed instead of him.
I stagger over to the corner of the room, close my eyes and take a couple of deep breaths. Finally my pulse rate returns to normal and I can think straight again. I sit down on the floor and plan what to do next.
Max’s final words come back to me: “Trust Collins!”
I know what I have to do.
I go over to Regan’s body and feel in his pockets for his phone. I find it. I push the home button to wake it from sleep and it immediately challenges me to enter a six-digit passcode to unlock it.
I don’t have time to play guess-the-lockcode but I’m not put off. It’s an older model smartphone. This means that its voice recognition software is probably not trained to respond to Regan’s voice only.
I press and hold the home button. The phone chimes, indicating that it’s ready for a voice command.
“Call Collins” I instruct.
The digital assistant ponders for a moment. Then it asks “Do you want to call him on his home, work or mobile numbers?”.
“Mobile,” I answer. The line goes silent for a while and then I hear ringtone.
After what seems a lifetime, the phone is answered. I hear a sleepy voice saying “Chuck? Do you know what time it is? Why the devil are you calling me at this hour? ” The voice has a most definite British accent.
“This isn’t Chuck,” I say quickly. “He’s dead … He tried to kill me. With a gun! All because I know about the malicious code in Cube …”
“Malicious code?” the voice responds, suddenly sounding much more awake. “What do you mean?”
“Every Cube address contains the machine ID of the device that generated it,” I respond. “It’s hidden in the address generation code module … It’s been there right from the start.”
The voice is silent.
I’ve been told that I can trust you,” I continue, “so I’m calling you now to warn you about this code.”
“Who is this calling?” asks the voice.
“My name is Tom Jenkins,” I reply. “I’m from the UK.”
“And where are you now?”
“I’m in Georgia,” I reply. “At Chuck’s offices.”
There’s a long pause on the line. Then: “I need to meet with you, as soon as possible,” says the voice. “You need to show me proof of all this. Return to the UK as quickly as you can. I will make arrangements for our meet-up in the meantime. What number can I contact you on?”
I give him the number of my new UK mobile.
“You’ll be texted further instructions when you land back in Britain. Get back as soon as you can.”
The line goes dead.
I quickly pack up my computer and head for the door. I don’t have a moment to lose if I’m to arrive at the airport before the last of the evening’s flights depart for Britain.
However as I leave the room, I turn around and take one last look back. Regan’s lifeless body lies in the middle of the conference room floor, the blood from his chest staining the carpet all around him.
On the wall behind him is a sign. It reads “Please leave this room as you would expect to find it.”
LATE SATURDAY EVENING
It’s not until the plane reaches cruising altitude that I begin to relax. After leaving the offices I’d raced back to Atlanta International airport, dropped my rental car off, and caught the last evening flight back to the UK. I’d stopped en-route to the airport only once, pausing at an isolated bridge to drop Regan’s phone and gun into a river. I changed into a spare set of clothes as well and buried my blood-splattered ones under a rock.
As the adrenalin wears off from my mad dash to catch the flight, I find myself shaking uncontrollably, especially my hands. It takes all my concentration to avoid going into hyperventilation. The guy in the seat beside me gives me an unsympathetic glare as if to say Don’t you dare give me trouble tonight, puts his eye mask on and turns up the volume of the music that he’s listening to.
I can’t stop thinking about Regan. And the fact that I’m now, technically, a killer. I keep replaying the incident in my mind, trying to figure out how I could have subdued him without actually killing him. Try as I might, I can’t imagine how I would have achieved this. I have to keep reminding myself that Regan was intent on killing me so my still being living and breathing is not a bad outcome.
As soon as the drinks trolley comes round, I order a whiskey to calm my nerves. The whiskey has the soothing effect I had hoped for and I can feel my pulse rate steadily dropping.
I stare out of the window. The plane’s already out over the Atlantic and there’s nothing but blackness. Somehow I find that comforting. As a kid during night-time flights I’d pretend that I was travelling in a spacecraft instead of a plane, journeying to Mars or a space station orbiting Jupiter. How I wish that I could get into a rocket now and escape all my troubles.
I realise that, in my haste to leave, I likely left behind many traces of my visiting Regan’s offices. The police will probably find my fingerprints on the table of the conference room. I’m sure I saw CCTV cameras around the entrance to the building so there’s likely video evidence of my visit as well. Was there a camera in the meeting room too? I trawl my memory but can’t recall having seen one. If not, the key piece of evidence that I could call on to support my claim of justifiable self-defence will be missing.
The best I can probably hope is that Regan’s death isn’t discovered until Monday morning. That gives me a little over twenty four hours to get back to the UK, meet with Collins and work out some sort of deal to save Max and the others.
EARLY SUNDAY EVENING
It’s just past 6 PM and I’m sitting in the bar of the Westmorland hotel, nestled amongst the Cumbria moorlands of northern England, just off the M6 motorway. I’m nursing a beer, waiting. It’s already pitch-black outside and the temperature is rapidly dropping towards zero. Fortunately there’s a roaring log fire to provide some warmth and comfort.
Within an hour of landing at Heathrow, I had received an anonymous text message. It provided directions to the hotel then told me to check-in and wait in the bar. “Further instructions will then follow,” was the final sentence of the text.
Although there’s been no announcement from Atlanta regarding Regan yet, I’m treating it as just a matter of time. I made as large a cash withdrawal as I could from my bank account this morning and then threw away all my credit and debit cards, having cut them up first. Sooner or later the authorities are going to be looking for me and I want to make it as hard as possible for them to follow my trail.
Ultimately I will have to come forward and clear my name. However I need to rescue Max, Faiza and Meena first. Their safety comes before everything else.
The bar is quiet at this hour - aside from the barman, all I have for company is the Christmas tree. To keep myself entertained I look up the corridor towards the reception desk and watch the steady stream of guests checking in for the night. I see a couple of families, heading off towards their Christmas holidays. I see business men and women, all smart suits and elegantly coiffed hairstyles, en-route to last minute sales meetings before the Christmas shutdown.
One couple stands out as they can barely keep their hands off each other, despite their business attire. He’s in his late fifties, his hair entirely silver. She’s quite a bit younger, perhaps in her early forties. He’s wearing a wedding ring. She’s not.
As they check in, I watch as the clerk asks for a form of payment for the booking. I see the man reach to his back pocket, no doubt for his wallet and his credit card. Mid-reach though he pauses and his hand moves over to his smartphone instead. He waves his phone over the payment sensor. I have little doubt that he’s just chosen to use Cube, trusting that its promised anonymity will avoid any awkward conversations back at home about items appearing on his credit card bill.
If only he knew, I think to myself. If I had the inclination, I would be able to find his transaction on the Global Ledger and, with a little work, identify his name, company and home address. If I took a few photos right now, I’d have a nice little blackmail opportunity to threaten him with …
A man enters the hotel and looks around. He’s wearing a wooly hat, a thick winter jacket, climbing trousers and walking boots. He looks like he’s been out hiking on the moors.
He spots me and strides over.
“Mr Jenkins?” he asks. I nod, slightly nervously. I’m suddenly fearful that he might be a policeman, come to arrest and deport me back to America.
“Can I see some ID to confirm that?” he asks. I scrabble for my wallet and pull out my driver’s photo licence. He takes it, examines it and returns it to me.
“Right, if you come this way,” he gestures, pointing to the exit to the car park.
“Do I need to bring anything?” I ask.
The man points at my laptop bag. “Just that,” he answers.
I get up and we head out of the hotel. The night is cold and still. A near-full moon hangs over the moor, casting silver shadows on to the hills all around us.
“Which one is your car?” the man asks. I point at the small Ford that I had rented just six hours earlier.
“We’ll take yours, if you don’t mind,” the man says.
As we get to the car, he stops. “I’m sorry but I’m going to have to search you,” he says. “Check you’re not carrying anything … unnecessary.”
I spread my arms wide and stand with my legs apart. The man gives me a thorough pat-down. He searches through my laptop bag as well. He finds my cell phone in one of my pockets.
“I’m going to borrow this for a couple of hours,” the man says. “Don’t worry - you’ll get it back.”
He takes the cell phone from me and puts it into his coat pocket.
“Now, let’s go,” he says. “Get back on the M6 and head north.”
We set off and join the northbound carriageway of the M6. The road is quiet at this time of evening. There are only a few other vehicles on the road, mostly trucks.
We drive for about an hour, in silence. We cross over the border into Scotland and the M6 becomes the rather more clumsily-named A74(M).
We pass the exit for Moffat, then the man suddenly speaks. “Get ready to turn off,” he says.
“Turn off?” I ask, confused, “but the next junction isn’t for miles!”
“Get ready to turn off the motorway,” the man repeats. “In five, four, three, two, one, NOW.”
I slow the car and pull on to the hard shoulder. We coast along for about a hundred metres.
“Stop now,” the man orders. I pull up beside a large double metal gate. A substantial padlock and thick chain make sure that the gate remains shut. There’s another road on the other side of the gate - a minor road leading to who-knows-where.
There are red circular “No entry” signs on either side of the gate. Underneath each sign is another - a text sign with the text “UNAUTHORISED ENTRY WILL RESULT IN PROSECUTION” written in bold red letters - just in case anyone misunderstands the “No entry” sign.
“Get out,” orders the man. “Climb over the gate - my associates will take you the rest of the way. I will take your car back to the hotel.”
I get out. As I do so, a pair of headlights turn on. There’s a Range Rover waiting on the other side of the gate.
I clamber over the gate. One of the back doors of the Range Rover opens and another man gets out. “Good evening Mr Jenkins,” he says. He’s dressed smartly in a suit and tie and knee-length coat.
He points towards the back of the car. “Please get into the Rover,” he says. There is a slight hint of a Scottish burr to his accent.
I get in. Another person is in the car, in the driver’s seat. A woman. She is dressed all in black and has long red hair, tied up in a ponytail. She appears to be quite short, although it’s hard to tell exactly as she’s sitting down. I’d estimate she’s no more than five foot.
The woman nods to me but says nothing.
The man goes round to the far side of the car and gets into the other rear seat.
“Let’s go,” he says to the woman. She starts the engine and the car moves smoothly away from the gate. I’m guessing that this is all being done to ensure that no one is tailing us. Anyone following me in another car would have to drive for miles to get to the next junction of the motorway in order to turn off.
We drive along twisty, narrow roads for about twenty minutes. We reach the edge of a woody area and drive up a muddy track, stopping in a clearing.
The man switches the light on in the back of the Range Rover and turns to me. “Right,” he says. “Show me what you have found.”
I pull out my laptop and walk him through the code. It’s not easy to demonstrate in the cramped confines of the car but I do my best. The man watches intently, but says nothing.
Once I finish, he gets out of the car without saying anything. I peer through the side window and see him standing about five metres from the car. He’s pulled out a phone and is talking to someone. He talks for about a minute and then returns to the car.
“Well done, Mr Jenkins,” he says. “There’s just a short way further to drive.”
He pulls something out of his coat pocket. He passes it to me. It’s a hood.
“I’m afraid though that you’re going to have to put this on for the rest of the journey,” he says.
I see no point in arguing. I put the hood over my head. It completely blanks my vision - I can see nothing.
I hear the Range Rover’s engine start up again and we begin to move. How long we drive for I am not sure, but it’s at least another half hour. There are plenty of turns and twists - we seem to driving on nothing but minor roads. A couple of times we seem to go up sharp inclines, steep enough that the Range Rover has to change down several gears.
Eventually the car makes a sharp right turn and I hear a change in the road surface - we’re no longer on tarmac. It sounds like gravel. The car drives on for a minute or so and then comes to a halt. From outside I hear the whirr of an electric motor. It stops and the car moves forward a couple of metres. Then it stops and the engine falls silent. I hear the whirr of the electric motor again, this time from behind the car.
I feel a tap on my shoulder. “You can take the hood off now,” the man commands.
I pull the hood off my head. A rush of light hits my eyeballs.
The car door beside me is opened. I am helped out of the car, still blinking to adjust my eyes. I’m in some kind of garage. It’s large - there’s easily enough space to fit three cars - though the Range Rover is the only car in it. A couple of doors lead from the garage but both are closed.
An expensive-looking mountain bike hangs from one of the walls. A set of workbenches line one of the others. A child’s tricycle is parked in a corner. I get the distinct feeling that I’m in a family home somewhere.
There’s a clock on the wall showing the time - it’s just before nine. We must have been driving for well over an hour.
One of the doors opens and a man walks through. He’s dressed in a casual shirt and tweed jacket plus a pair of blue jeans. He’s wearing, somewhat incongruously, a pair of blue fuzzy slippers on his feet. He’s in his mid-forties, I’d estimate, judging by the receding hairline.
He too was in the restaurant photo.
“Good evening, Mr Jenkins,” the man says. “I’m sorry for any inconveniences you suffered coming here. Rest assured they were absolutely necessary. My privacy is something that I have to take very, very seriously.”
“ARE you Collins?” I ask. “I’ve so much that I’d -“
The man holds up his hand to cut me off. “No questions,” he says, curtly. “Right now, I will be the one doing the asking. Afterwards, perhaps, there’ll be time for your questions.”
From his manner and tone, I get a strong sense of academia - is he a university professor? Or perhaps was? Though I find it hard to imagine that a university salary would pay for such a large house, if the scale of the garage is anything to go by.
“Tell me about your discovery,” the man says.
“It’s the Cube address generation function,” I say. “It’s been compromised so that machine IDs are embedded into every address created.”
The man turns to the woman who drove me here.
“Ruth, bring me my laptop please,” he says.
She leaves the garage through one of the doors and returns a few minutes later with a large notebook computer. She places it on a table at the side of the garage.
The man goes over to the table, opens the computer up and launches a couple of applications. He then swivels the laptop round to face me.
“Show me, please,” he asks.
I take a look at the screen of the laptop. He’s opened the Cube source code within the Eclipse software development tool. I run the Cube address creation code from within the debugger and step through it, line by line. I take care to show the contents of all the variables being used as well as what’s on the stack.
“This code is virtually unchanged since the source code was first made public,” I tell him. “Most of the code has been rewritten at some time or another, but this has been left untouched since Day One.”
The man watches the screen intently. As we get to the part where the stack pointer gets reset to be six bytes lower and feeds partially the wrong data into the Base58 function, he whistles softly under his breath.
“Corruptio optimi pessima,” he says, very quietly to himself.
“It gets worse,” I tell him.
I pull out my own laptop and open a file.
“I’ve written some software to decode the machine ID from each Cube address,” I tell him. “I can then cross-reference the machine IDs against those in a US Government database codenamed TYPHOON. Using this I was able to generate this list of Cube addresses and their owners.”
He leans in to read the contents of the file and breathes in sharply at what he sees.
“And there’s more,” I continue.
I load the Global Ledger into one massive spreadsheet, and then highlight the Cube addresses embedded within it.
“As this defect has been in Cube since Day One, I can go through the entire Ledger, looking for matching machine IDs, and link together all of the Cube addresses that belong to the same user. So even in cases where I don’t know the identify of the person, I can at least gather together all of their transactions.”
I click a macro button on the screen and the spreadsheet reorders itself, the Cube addresses grouped by particular machine ID.
“With all of this information, I should be able to find something that identifies the user,” I say. “In summary, Cube’s much lauded anonymity is nothing more than an illusion.”
The man wipes his forehead wearily.
“Thank you Tom - I’ve seen enough,” he says to me. “I guess it’s time that I introduced myself. I’m Peter Collins. I was one of the creators of Cube.”
He offers me his hand and I shake it.
“Let’s go talk somewhere more comfortable,” Collins says. He opens one of the doors and leads me up a short flight of steps. I find myself on the ground floor of a large family home. He leads me along a corridor and into a large open-plan living room area. Through a door I spot a spacious, modern kitchen.
Three of the four walls in the living room are floor-to-ceiling glass. A sliding glass door leads out on to a balcony. Beside the door is an expensive-looking telescope mounted on a tripod. In one corner is a large Scots Pine Christmas tree, the lights on it twinkling brightly. A stack of neatly-wrapped presents are piled underneath.
Outside I see nothing but blackness. I am certain that we’re a long way from any other habitation.
Collins gestures to me to sit down on a sofa. He heads over to a side cabinet.
“Can I get you a drink?” he enquires. “Beer? Whiskey? Brandy?”
“Just a glass of tap water please,” I say. “I really need to keep a clear head right now.”
“Probably wise,” says Collins.
He disappears into the kitchen and returns a moment or two later with two glasses of water. He hands one of them to me. He then slumps down on to the other sofa.
“I have to say that I’m shocked by what you’ve just shown me,” he says, shaking his head in disbelief. “I never imagined that something as serious as this could have been deliberately inserted into the Cube codebase … Or have gone undetected for so long.”
“Great care was taken to hide it,” I tell him. “So even if it was detected, it would have been thought to have just been an innocent mistake. At some point later the code could have been reintroduced via some other manipulation of the data structures.”
“And you’re certain that it was Chuck Regan who wrote the code?” he asks.
“Well, he claimed to me that he’d never touched that module, but there were comments in it that appeared to have been written by him.”
“That is a strange thing for him to say,” says Collins, puzzled, rubbing his jaw. “He most certainly did work on that code. He did much of the programming of the client software. He and Sams wrote most of the software.”
“And then there’s the small fact that after I gave him a demo he tried to kill me,” I tell him.
Collins visibly flinches as I say the word ‘kill’.
“He came at me, armed with a gun,” I say. “We fought for it, and it went off accidentally … Killed him instantly. Shot through the heart.”
Collins shakes his head. “What a business. I’ve known Chuck a long time. A very long time. I can’t believe that he would betray us. Never like this …”
His voices trails off and he appears to be deep in thought.
“It would explain some things though,” he says after much contemplation. “Chuck was the one who pushed hard to ensure that we published the Cube source code under the MIT open source software licence - originally we’d planned to use the GNU licence instead. He said that it would help ensure that the Cube software was distributed as widely as possible.”
I nod my head. Cube’s use of the ‘permissive’ MIT software licence means that the code can be incorporated anywhere, even into commercial, non-open source software. If the CHRONOS group had gone with the GNU licence then the code could only have been used by other open source software. By championing the MIT option, Regan ensured that his malicious code could spread far and wide.
Collins voice trails off once more as he descends into thought once more. Then, with a shake of his head, he rouses himself.
“Well, I can’t tell you how pleased I am that you came forward with this,” he continues. “Frankly, after what you’ve told me, I’m amazed that you’re prepared to trust another of us.”
“Someone I trust totally told me that I can trust you,” I answer. “But, just in case, I’ve taken precautions.”
“Precautions?” asks Collins.
“I spent the flight back from Atlanta compiling a summary of my findings,” I answer. “Source code, instrumented program output, the code that I wrote to decode machine IDs from the Cube addresses, the lot.
“All of this information has been placed into emails on the Dead Man’s Control website, ready to send to ten of the biggest news organisations in Europe and North America. If I don’t log back into the system before tomorrow night, the emails will be sent autonomously. The ten editors who receive them will think that Christmas has come a day early.”
Collins smiles and nods.
“So if you were to suffer some form of accident tonight,” he says, “the emails would go to the news organisations automatically.”
Collins pauses for a moment, thinking, before continuing.
“Well, you did come forward and for that I, and the rest of CHRONOS, are most grateful. You will be, of course, well compensated for the time and effort you’ve invested into all of this. And it should be an easy change to make in the codebase. We should be able to credibly pass it off as a minor bug fix. I will -“
Now it’s my turn to cut him off.
“That’s it?” I say, in disbelief. “You think that you can make the code change, pay me off and continue as if nothing has happened?”
Collins shifts uncomfortably in his seat. “Well, we do have to fix the codebase …” he says.
“That should be the least of your concerns right now,” I say, my voice rising in volume. “Seven people are dead because of this so far - not including Regan - and my friend -“
Collins interrupts me, shocked. “Seven people? Dead?”
“Yes,” I tell him. “The Russian Bratva, the ones chasing after Cube, killed six people at the New Morningstar Cyber Commune a couple of weeks back. I think that they were trying to capture David Sams but he escaped. They killed everyone else in the building.”
“Yes, I heard about the commune,” says Collins. “I thought that it had burnt down accidentally?”
“That was the Bratva covering their tracks,” I tell him. “I saw the bodies of the people they killed. Before they returned to start the fire.”
“And who was the seventh casualty?” he asks.
“That’s Heath Buckeridge,” I answer. “Killed four days ago in London by the same people.”
At the mention of Buckeridge’s name, Collins groans. “Heath’s dead?” he says.
“Shot from point-blank range in the back of the head,” I say.
Collins puts his hand to his mouth and rises from his seat. He goes and stands by one of the glass walls, looking out into the dark.
“Heath and I go way back,” he says, still staring out into the blackness. “I didn’t realise that he was mixed up in all of this.”
“There will be more deaths if you don’t act,” I continue. “My friend, his pregnant wife and her sister are being held captive. They will be next to die unless I give them control of Cube. I need your help to save them.”
Collins continues to look out into the night. He appears to be barely listening to me, lost in his own thoughts. “It wasn’t meant to be like this,” he says. “We knew that if Cube was successful we’d have to be coy about who we were. We thought that if we were open about everything else - the design, the software - what would it matter if we ourselves were hidden? We had our own families to think about, and our friends …”
I get up from my seat and walk over to him.
“The Bratva is getting closer and closer to you,” I say. “They almost got Sams at the commune. Sooner or later they’ll find the rest of you. They won’t show any mercy.”
“Yes, you’re right,” he says. “We need to do more. Much more.”
He pauses to think for a moment. “I must talk with the others,” he says decisively. “We all need to agree on this.”
He turns and heads towards one of the doors out of the lounge.
“Please wait here,” he tells me as he disappears through it.
Now it’s my turn to stand by the windows and look out at the night. I wonder just what Collins has in mind.
After nearly half an hour, Collins returns. “Come with me please,” he says.
I follow him along a corridor and then up a flight of stairs. He leads me along another long corridor to a door at the end. He opens it and leads me through.
Inside I find myself in a massive room, two stories tall. It’s a study-cum-library, the largest I’ve ever seen. Three of the walls are taken up with elegant floor-to-ceiling custom-designed shelving, stuffed with books and papers. A couple of ladders on rollers provide access to the books in the upper reaches of the room. Outside of a public library, I don’t think that I’ve ever seen so many books together in one place before.
The centre of the room is dominated by a semi-circular desk, also likely custom-made, constructed from some variety of tropical hardwood. The desk is oriented towards the fourth wall, the only one without any shelving. On this wall is mounted the largest monitor screen that I’ve encountered outside of a sporting arena. It’s at least four metres wide and a good two and a half metres tall. It’s ultra high resolution too - I can’t make out the individual pixels on the screen, even when I stand up close to it.
On the screen are video feeds of four men. I realise that I must be looking at the four other remaining members of CHRONOS.
Collins pulls out a stool for me to sit on and then sits down in the chair by the desk.
“Let me introduce you to the rest of group,” he says. He gestures to the rightmost screen with a video feed of a bald-headed, bespectacled man. “This is Justin Horowitz; like myself, he’s a mathematician by training,” he says.
He points at the second screen. “This is Ben Orson, our resident cryptographer,” he says of the bearded man who is also sporting a tied-up ponytail. I can see daylight shining on to the wall behind Orson - I presume that he must be somewhere on the west coast of North America, or perhaps somewhere in Australia?
Collins moves on.
“And this is Suresh Natar, who designed the distributed protocol,” he says, pointing to the man in the third screen. Natar, clearly from somewhere on the Indian subcontinent, waves his arm in greeting.
“And this is James Oswald,” says Collins, now gesturing at the left-most screen. “He’s the real economics guru amongst us.” Oswald, dressed very casually in a torn t-shirt, nods his head to acknowledge me.
“Gentlemen, this is Tom Jenkins,” says Collins. “Little over an hour ago he demo’ed to me the flaw in the Cube code. I’ve sent all of you full details so that you can see it for yourselves.
“I have little doubt that the flaw was deliberately inserted, and that it was done to ensure that IDs are traceable. Checking the change logs for that module, I see that the code was submitted prior to Alpha Day, and that it was written by Charles.”
“What does Chuck have to say about this?” demands Oswald. “Can he offer us any kind of explanation? And why isn’t he on this call?”
“Charles is dead,” replies Collins, matter-of-factly. “Tom met with him yesterday and demo’ed the flaw. Afterwards Charles tried to kill him to protect the secret.”
Orson lets out an involuntarily gasp. The others look shocked as well.
Horrowitz is first to speak.
“Regardless of what happened to Chuck, we need to decide what to do,” he says. “I move that we vote to fix the defect as quietly as possible and continue as we are, our anonymity preserved. I’ve looked at the code in question, and it’s an easy fix to make. We should be able to submit the change under one of our standard developer pseudonyms and no one will be the wiser.”
“Seconded,” agrees Orson.
I see Collins clench his jaw but he says nothing.
“Peter,” interjects Natar, “you mentioned that some Russian criminals appear to have had some success with investigating Cube’s origins?”
“Yes,” answers Collins. “According to Tom, they were responsible for the burning down of the New Morningstar Commune last month, killing everyone inside. They were after David, though he managed to escape, and is now in hiding somewhere outside of the US.”
“How close is the Bratva to knowing the rest of our identities?” asks Natar. “What do they know about us already?”
“Whatever they know, the risk is manageable,” says Horowitz. “Even if Sams had been captured by the Bratva, he hasn’t been part of our group for over a decade. He couldn’t give them access to our systems, nor does he know where any of us are currently located. And we all have excellent personal security. Let’s hold the vote now and get this over and done with.”
“But you don’t know the Bratva!” I shout, leaping to my feet. “Sams is deathly afraid of them, and so should you!”
Collins looks at me sharply.
“No outbursts, please,” he says. “We’re here to make a calm, considered decision. Any more shouting and I will have to ask you to go back downstairs.”
I blush at his admonishment, suddenly feeling like a petulant child being scolded by a grown-up. I sit down again.
“I’m sorry,” I tell him. “It’s just that I’ve met Kristof and the others who are after Cube. They are incredibly dangerous … And ruthless. I don’t think that they’ll ever give up. Not until they have full control of Cube.”
Collins turns to face the giant screen again.
“Before we vote,” he says, “does anyone have any more questions?”
The men all shake their heads.
“Very well,” says Collins. “I will now ask you to vote by a show of hands. As chair of this meeting, I will only vote in the event of there being a tie. Whatever we decide, we must all agree to respect the decision. With only five of us left, we cannot afford anyone to quit now.
“All those in favour of us fixing the defect and continuing as we are - raise your hands now.”
Horowitz and Orson immediately put up their hands. After a moment’s hesitation so does Oswald.
“And all those against?” asks Collins. Natar raises his hand.
“Well, that’s decided then,” says Collins, though I think that I detect more than a little disappointment in the tone of his voice. “We fix the problem in the code and stay as we are.”
“You can’t just pretend that this is all going to go away!” I protest, springing again to my feet. Suddenly all prospect of saving Max and Faiza feels very remote. “More people will die!”
“Tom, I told you before: no more outbursts,” says Collins. “I’m going to have to ask you to leave the room while we conclude our discussions.”
“My friends will die!” I shout, ignoring his request. “You all are their only hope of rescue!”
“That’s quite enough!” bellows Collins, suddenly himself angry. “Go downstairs! Now!” He pushes a button on the side of his desk.
“The users of Cube deserve to know what’s happening!” I shout back at him. “That they’re being tracked! I won’t let you hush this up!”
Collins looks stressed. He runs a hand through his hair.
“I’m so sorry but you leave me no alternative,” he says to me before turning to face the screen. “Ben, isn’t DMC one of the start-ups you invested in?”
“You mean Dead Man’s Control?” asks Orson. “Why, yes it is.”
“Good,” he says. “Tom has some rather incendiary emails regarding Cube loaded into it, due to go out tomorrow evening. Could you arrange for his account to be frozen, effective immediately?”
“Of course,” says Orson. “I’ll see to it right away.”
“No!” I shout at him. “You can’t do that!”
“Yes, I can,” says Orson. “You should have read the EULA.”
There’s a knock at the door, and another man enters. I don’t recognise him. He’s tall and powerfully built. If he were entering a competition in a Highland games, his event of choice would undoubtedly be the caber tossing.
“Angus will escort you to the cottage,” says Collins. “You’re going to be my guest while we figure out what to do.”
“Guest?” I say incredulously. “Don’t you mean prisoner?”
Collins winces at my choice of word.
“Guest,” he repeats. “It shouldn’t be for long, only a couple of days hopefully. Think of it as a Christmas vacation.”
Angus takes my arm and leads me from the room.
ANGUS leads me down the stairs, through the lounge and into the kitchen. Like the rest of the house, the kitchen is spacious, modern and immaculately clean. He picks up a large battery-powered lamp that is sitting on one of the counters, turns it on, and leads me outside through a side-door.
Outside, I’m immediately struck by how fresh the air smells. I’ve lived all my life in the south-east of England and so I’m pretty much inured to the air pollution in London and its surrounds. It’s only when I go somewhere where the air is much cleaner that I notice it.
The second thing I notice is the night sky. It’s a clear night, cold, with a thin moon nearly waned. It’s very dark and the sky is alive with stars - it’s like a photographic negative of a Jackson Pollock painting. I’ve never seen so many stars before in my life.
“This way, sir,” says Angus, gesturing with his lamp for me to follow. He walks ahead of me along a path and on to the main driveway. I feel the crunch of the gravel underneath my feet.
We walk for no more than five minutes along the driveway before arriving at a small bungalow. Angus unlocks the front door and leads me inside. I find myself in a short hallway, with a kitchen on one side and a lounge on the other. At the back of the house is a small bedroom and a toilet/shower room.
“You’ll be sleeping here tonight,” says Angus, gesturing towards the bedroom, in a tone of voice that indicates that the matter is not up for debate. “I’ll be in the sitting room so if you need anything, just knock.”
He leaves me in the bedroom, and closes the door. I hear a key turn in the lock.
I survey the room. There’s not much to see. There’s a single bed, made-up, along one wall. A wardrobe dominates another. There’s a small window on the third wall but when I examine it I see that outside of the window are bars. I’m not going to be able to use that to escape.
And escape to where? I think to myself. I don’t even know where here is.
I slump on to the bed. I’ve failed. There’s no other way of describing it. I haven’t been able to convince CHRONOS to help me and, without them, I have no way of rescuing Max and co. All my hard work - all the discoveries I’m made - will count for little if I cannot save them.
Despite my situation, I find myself yawning. I’ve had barely any sleep in the past five days and my body is crying out for rest. I tell myself that things may seem better in the morning, when I’ve had some sleep. Perhaps I’ll be able to think of a plan then that will save Max and Faiza.
I take my shoes off and rest my head again on the pillow. Oblivion soon follows.
The next thing I know is that there is daylight.
I raise my head from the pillow. Daylight is streaming through the window from outside - I was so tired last night that I forgot to pull the curtains before lying down.
There’s a knock at the door.
“Come in,” I say.
There’s the sound of a key turning and then the door opens. Collins appears.
“Good morning,” he says, with somewhat forced cheeriness.
“Is it?” I ask.
Collins coughs nervously.
“Well, last night wasn’t us at our finest,” he admits. “Give me some time and we’ll figure something out.”
“How much time do you need?” I ask.
“Let’s have some breakfast,” he says, appearing to ignore my question. “Come through to the kitchen when you’re ready.”
He leaves and heads to the kitchen.
I get up and stretch. I wonder what the time is, and how long I’ve been asleep for. Judging by the height of the sun in the sky, it’s at least ten in the morning.
I go to the bathroom for a shower and a shave (the bathroom cabinet contains hygiene supplies for both male and female guests I note). Then I put my clothes back on and go through to the kitchen.
Collins is there, hovering over the cooker, frying pan in hand.
“I hope a fry-up is ok for you?” he asks. “I quit meat a few years back, as a promise to my wife, but every so often I fall back into bad habits. I come here to cook it so that she can’t smell it.”
“No, that’s fine,” I reply. During the shower I decided that I would try to be civil to my incarcerator-in-chief. As with the encounter with Regan, I’ve a feeling that keeping calm and seemingly co-operative will help my cause far more than shouting and swearing.
Five minutes later Collins is done. He hands me a large plate full of bacon, black pudding, scrambled egg, tomatoes and other fried goodness. Having not eaten since my drive up the M6 yesterday afternoon, I’m feeling decidedly hungry.
I sit down at the small table in the kitchen and Collins joins me, with a plate of his own.
“I lived in the States, in North Carolina, for nearly a decade,” says Collins. “Loved it over there - the people, the sun, the lifestyle, everything. The only thing I missed about back here was the bacon. I couldn’t stand the way that Americans practically cremate theirs. First thing I’d do after getting off the plane, coming back here, would be to go and have a proper fry-up.”
I try a forkful. The bacon does indeed taste good. As does everything else.
“So how did you find us?” enquires Collins. “What made you suspect that Mehmet Yılmaz was just a front?”
“It was the postings to the forums that made me first suspicious,” I answer. “There were variations in them that felt as if they couldn’t all have been written by the same person.”
“Variations?” says Collins, sounding defensive. “But we went to great lengths to standardise our language. We reviewed all messages for consistency before posting. I even wrote a twenty-page style guide for the group …”
“Oh it wasn’t the wording that was suspect,” I say, cutting him off. “It was the spacing. Especially around the punctuation, particularly hyphens, ellipses and full-stops.”
Collins clicks his fingers.
“Of course!” he says. “I never thought to specify that.” He shakes his head slowly. “There’s always some little detail that gets overlooked … That gives the game away.”
“Well, if you will take the easy way out,” I say, “and stay in the shadows …”
This time it’s Collins turn to interrupt me.
“Easy,” he says, testily. “You think that what we did was easy?”
“I think you took the easy way out over accountability,” I say, holding my ground. “Choosing to hide beyond the cardboard silhouette that was Mehmet Yılmaz was easy … Much easier than any of the other options you had.”
“You have no idea …” says Collins, his voice trailing off. He stares out of the kitchen window, silent.
Finally he speaks again.
“As a group we long discussed how we should announce Cube,” he says, “and exactly who would claim to be behind it. We argued as much about that as we did over any of the design details.”
“You wanted to avoid accountability?” I ask.
“Well, some of us had reputations to preserve,” answers Collins. “We weren’t at all sure that someone wouldn’t discover some fatal flaw in Cube. Something unfixable. We didn’t want to be the laughing stock of our academic circles, the next Fleischmann and Pons.”
“So you hid in the shadows,” I say, “while your little puppet, your Mehmet Yılmaz, danced in the spotlight.”
“It wasn’t an easy decision to make,” he repeats. “The group for a long time was more or less evenly split as to what we should do. Finally most of us were talked round to going with the Yılmaz approach. But not everyone …”
“Was that why Sams left?” I ask. “He said that he left the group not long after Cube had been published.”
“Yes, it was,” he answers. “Sams argued louder and more passionately than anyone else for the alternative. But the others won the day. He stuck it out for a while, as a personal favour to me, but in the end he just had to quit. He hasn’t spoken to me since.”
He pauses again and looks out of the window.
“You were close?” I ask.
“We’ve known each other since school,” he replies. “We went through university together, as well as our first jobs. He was my best friend, my oldest friend. It was he who noticed that our initials spelt CHRONOS. He said it at first more as a joke than anything, but the name stuck … even after he quit and there were no longer seven of us.”
“I’m sorry to hear that,” I say. “And I’m sorry that I said this was easy for you.”
Collins grunts but says nothing in reply. He gazes out of the window, lost in his thoughts.
We finish our breakfasts without saying another word.
Collins looks at his watch and curses.
“Damn - I promised to be back at the house twenty minutes ago,” he says. “I better get moving.”
“Do you mind if I go for a walk?” I ask. “Or am I under house arrest?”
Collins shakes his head.
“No, by all means.”
We put on our jackets and head outside.
It’s a beautiful day, with the sun shining in a near cloudless sky. The air is crisp, not far off freezing. Despite the sun there’s still evidence of a heavy frost last night, whitening the ground all around.
With the daylight I can finally appreciate the surroundings. The cottage is located close to a small loch. A pine forest stretches around all sides of the water, with just a gap on this side. Beyond the forest loom a couple of hills, their high peaks speckled with early winter snow. It’s postcard-picturesque, if anyone sends postcards anymore.
“This is quite a view,” I say. “Where are we exactly?”
“Galloway Forest Park,” he answers. “We came here for the peace and quiet about five years ago. And the ‘Dark Skies’ classification - I can use my telescope here without any of that dratted city light pollution getting in the way.”
Through a scattering of trees, I can see Collins’ main residence, about five hundred metres further around the lake. It’s partially built into the side of the hill, with great big windows on the second floor looking out on to the waters. Beside the house is a playground, complete with a large wooden play frame and slide. A woman and small child are playing together there. They spot us, and wave. Collins waves back.
“My family,” replies Collins. “I had better get moving.”
“Aren’t you worried that I’m going to try to escape?” I ask, still surprised at how readily he’s agreed to my request to go for a walk.
“Not really,” replies Collins. “We’re surrounded by a ten-foot perimeter wall, topped by razor wire. There are CCTV cameras covering every foot of that wall. You’ll find that the driveway entrance gate is also ten-foot high. And there are two guards on duty there at all times.”
He starts to head off in the direction of the playground, but then turns around.
“Your best bet to escape would probably be to try swimming across the loch,” he says. “Though it can’t be more than a few degrees above freezing at this time of year, and the undercurrents are nasty. Then it’s a thirty mile hike to the nearest house.”
He turns again and heads off.
“So that would be a no then,” I say quietly to myself. Collins seems very confident in his security - can he really be as protected here as he claims to be? Then again, with his share of the billions of dollars in Cube that the group own he could buy a small army if he wanted to.
I decide to test out his claims and set off through the woods, away from the houses. Sure enough, I soon come to a tall wall, soundly built from stone and mortar. CCTV cameras mounted on poles have been placed every ten yards or so. Along the top of the wall razor wire has been wound, an unpleasant surprise for anyone bold enough to attempt to scale the wall.
I walk along the side of the wall for a while, more to give myself some exercise than in the serious expectation of finding some gap that I could get through. Besides, where would I go if I did escape? What would I do? My only chance of saving Max and Faiza and Meena is to strike some bargain with CHRONOS. But how?
The wall seems to go on forever so in the end I take my leave of it and head back towards the cottage. Despite it being nearly noon, the wintry sun remains low in the sky and the shadows long.
As I walk back through the trees, I ponder my next steps. Getting access to my laptop would be a good first step, as would having my mobile returned to me …
In an instant I recall, and with it, a plan. I know what I have to do.
I hasten my pace back towards the houses, breaking into a run as I get closer. Collins and his family are still outside in the play area. I wave to them and he comes over.
“Videoconference,” I say, panting. “I want to talk again with the rest of CHRONOS.”
Collins looks at me, askew, but he refrains from asking me what I have in mind.
Instead, he simply says, “I’ll get the others together.”
Five hours later, I’m pacing the lounge in Collins’ house nervously. Collins has been upstairs for the past hour, arranging the videoconference and talking one-on-one with the other CHRONOS members.
Finally, Collins leans his head round the door.
“We’re ready,” he announces.
I follow him upstairs and into the study/library.
Collins turns to the large screen on the wall.
“Thank you, gentlemen, for getting together again, at short notice,” he says to the four men on the screen. “Tom asked to address us all one more time and I think that we owe him that, after all that he has been through.”
He turns to me.
“The floor is yours,” he says.
I turn to the face the screen and take a deep breath. It’s now or never …
“First of all, I must apologise for my outburst at yesterday’s meeting,” I say. “The past week has been … well, let’s just describe it as eventful and leave it at that. I was tired, beyond tired to be perfectly honest, but that’s no excuse for how I acted towards you all. I am sorry.
“I truly believe that Cube will come to be seen by historians as one of the great inventions of the 21st Century. It has radically changed our world, both in ways expected and ways that couldn’t possibly have been predicted. A decentralised, electronic currency that could be trusted and yet still protected anonymity was thought by many to be impossible. All of us who use it owe you a huge debt of gratitude for your ingenuity in creating it.
“The technologies of the digital age have made it possible for inventions to be developed and released without the creator or creators being identified. I can’t imagine how Henry Ford could have released the Model T anonymously, or Wozniak and Jobs the Apple computer.
“But just because something is possible, does not mean that it is the right thing to do. By hiding behind the pseudonym of Mehmet Yılmaz, you helped create the conditions that enabled Charles Regan to introduce his rogue code into the Cube codebase, and ensure that it remained undetected for more than a decade.
“Your continued anonymity has come at a high cost, and not just to the sanctity of the codebase. I know of at least seven people whose deaths have been caused by those who wish to learn your identities, and to take control of Cube. Even as we speak tonight, my best friend, his pregnant wife and her sister are all being held captive by these ruthless people. They will only be released if Cube is handed over to them.
“Just before Regan tried to kill me,” I say, “he made a phone call. I overheard him refer to the rogue code as the ‘code we planted’. Whoever he was talking to was in on the secret.
“I don’t know who it was he was talking to, but you should consider the possibility that it was someone else within CHRONOS.
“When you were designing Cube, you had to find a solution to the Byzantine Generals’ Problem. Regan betrayed both you and the ideals of Cube. From this point onwards you have to accept that you may have other traitors in your midst. Every discussion you have with each other from now on will need to keep that in mind.
“When it was launched, it was said that Cube was an electronic currency without need for trust in people or organisations. All you needed was trust in the algorithms, and the software that implemented them.
“But your trust in each other gave Regan the opportunity he needed to make the malicious changes. You can no longer afford to put your trust in each other, not if there are more rogue parties amongst you. Your ‘status quo’ action, that you voted for last night, is simply not feasible.
“Last week someone I greatly respect told me that although shielding the truth from people might bring short-term benefits, they always were outweighed in the longer term by the loss of trust when the truth emerges. And it always does, sooner or later.
“The ‘someone’ who said this to me was Heath Buckeridge. He died last Thursday, on London’s Tower Bridge. He was shot in the head, his brains blown out, by one of those trying to take control of Cube away from you.
“I pledge to do everything I can to help you fix Cube so that it can never be subverted again. But I need your help first - save my friend and his family so that no one else dies as a consequence of your decisions.”
I’m all out of words. I sit down.
Horowitz opens his mouth, as if about to speak but then thinks better of it and closes his mouth again. He remains silent.
“Thank you Tom,” says Collins. He seems genuinely pleased, not to say relieved, with my speech. “Would you mind going downstairs? We’re going to talk over things some more and then vote on what to do.”
I leave the room and return to the lounge. I sit down but find myself unable to relax. I end up pacing back and forth, wondering what else I could have said to the CHRONOS group to influence their decision. Then I count the lights on the Christmas tree to distract me. There are forty-four.
I return to pacing up and down.
Finally Collins returns.
“We’ve agreed to help you,” he tells me. “I know how all of this can work,” he says. “But you need to follow my instructions exactly … is that clear?”
“Absolutely,” I say.
“And you promise to work with us afterwards, for as long as necessary?” asks Collins.
“Yes, for as long as you need,” I answer.
“Right,” says Collins, sitting down again. He leans forward and stares me straight in the eyes. “This is what we’re going to do …”
We talk for nearly an hour, going through Collins’ plan. Just as we’re wrapping up, we’re interrupted by Ruth, my driver from the previous night, entering the room.
“I’m sorry to disturb you,” she says in a soft Scottish lilting accent, “but you really should see this.”
The tablet that she’s holding is displaying the front page of one of the major news websites. “INTERNATIONAL MANHUNT LAUNCHED” is the top headline. Underneath it are two photos - one of Regan and one of me.
Collins turns to me.
“Looks like you’re a fugitive now!” he says.
EARLY TUESDAY MORNING (CHRISTMAS EVE)
I’m back in the Range Rover, slumbering in the backseat, as Ruth skilfully navigates the small country roads. Collins had insisted I wear a hood for the first part of the drive but I’m so tired that I probably wouldn’t have seen anything in any case. I was asleep practically before we were out of the garage.
We’re heading back to the South East of England, using only minor roads. Now that the police are looking for me, Collins is fearful of using motorways and major roads. “Too many road cameras,” he said, and I couldn’t exactly argue with him. He also insisted on having someone drive me so that I could remain hidden in the back. I’m so tired in any case that I’m in no fit state to drive anyway.
I’m carrying with me a memory stick - a very important memory stick. On it are the access credentials required for getting access to the CHRONOS systems - email server, code repositories, forums, everything. And when I say everything, I really do mean everything. Including the private wallet that links to the several billion dollars worth of Cube.
I sleep deeply and don’t rouse until just north of Potters Bar, close to the M25, the perimeter motorway around London. I beg for a comfort break and Ruth complies, pulling into a twenty-four hour petrol station that has a toilet. I pull a hat tight down over my head and zip my jacket up to my chin in order to disguise myself from the CCTV cameras that undoubtedly monitor all parts of the station. I jump down from the Rover and head for the toilets while Ruth refuels the car.
After I’ve done my business I return to the car. Ruth is inside the shop, paying for the diesel. I look at the clock in the Rover’s dashboard - it’s showing 6.20 am. There’s a payphone just to the side of the station … I know that I’m a fugitive but there’s someone I really need to call.
I dash over to the phone box, drop in a couple of coins and dial a number from memory. I hear the ringing tone. One ring, two ring, three, four … After six rings, the phone is picked up. A woman’s voice answers, sounding dazed, “Hello?”
“Hi Mum,” I say. “It’s me, Tom.”
“Thomas? Are you ok?” my mother responds, instantly awake.
“I’m fine,” I reassure her.
“The police came round here last night-” she begins to say.
“I know,” I say, interrupting her. “I don’t have a lot of time right now, but I need you to know that it was self-defence … He attacked me, we struggled, I think he shot himself with his own gun.”
“Thomas - you need to go to the police,” says my mother.
“And I will!” I reassure her. “But there’s something I must do first. I promise that as soon as it’s done, I’m going to hand myself in and get this all straightened out.”
“This thing you have to do,” my mothers says. “Is it dangerous?”
I pause for a moment, pondering whether to reassure her by lying, or tell her the truth.
“Yes, it is,” I tell her. “But I can handle this, I promise … I can fix all of this. I just need a little time.”
Suddenly Ruth is beside me. She rips the phone out of my hand and hangs it up. “People on the run from the police do not make phone calls,” she says sternly.
“I … I was just calling my mother to say I’m ok,” I stammer, embarrassed to be caught at the phone.
“Your mother?” says Ruth. “You’re even more of a fool! The police will be tracing every call to her, just in case you were stupid enough to call. Well, I guess that bet paid off.”
She pulls me away from the booth. “Time to go,” she commands.
Chastised, I walk back to the car and get in. Ruth sits down at the wheel and we head off.
Ruth drives for about half an hour. Then she pulls into a lay-by and opens her door. “Stay here,” she commands me, her Scottish accent far more pronounced when she’s angry. She gets out and moves behind the car. I see her pull out a mobile phone and call someone.
As an experiment I try opening my side door but find that it refuses to do so. I suspect that Ruth has turned on the child-proof locking in order to prevent me from wandering.
Ruth talks on the phone for about five minutes, quite animatedly at times. Then she puts her phone away and gets back into the car. Without speaking, she starts the engine and we head off again.
We drive another half hour into the suburbs proper of north London. Ruth then pulls into the car park of a closed down supermarket. The supermarket - a victim of the recession - is boarded up with graffiti scrawled all over it. Weeds and wild flowers have begun to grow through cracks in the tarmac of the car park.
The car park is deserted, save for a lone motorcycle, parked neatly in the far corner, out of sight from the entrance. It gleams in the early morning sunshine, and is obviously new. A pair of helmets and riding leathers have been placed neatly on top of the bike.
Ruth pulls up beside the motorbike. “We’re switching forms of transport,” she says, turning to me. “And all because of your stupid stunt back there at the petrol station.”
I gather my stuff and she lets me out of the Range Rover. She passes me one of the riding leathers. “Put these on,” she orders. “QUICKLY.”
I do as I’m told. I take off my trousers and jacket and put the leathers on. Ruth does the same. We stuff our clothes into one of the side panniers on the bike.
From the other pannier, Ruth produces a cell phone. She tosses it to me. “Use this to keep in touch with me,” she says. “It’s programmed to call only my mobile. Don’t even think about trying to change that - you can’t.”
She then picks up one of the helmets and turns it upside down. A key falls out into her hand. She gets on the motorcycle and pulls on the helmet. She puts the key in the ignition and starts the bike. Its engine roars into life.
She passes the other helmet to me.
“Put this on and get behind me,” she commands. I put the helmet on my head and do up the chip strap. I then awkwardly climb on to the bike - this is my first time riding one.
I start to put my arms around Ruth’s torso but she says, “Use the hand bar to hold on please.” I feel down behind me and grip on to the bar with both hands.
“Off we go,” Ruth says, accelerating the bike.
“Don’t you need to lock the Range Rover?” I ask, as we pull out of the car park.
Ruth shakes her head.
“Someone will be along soon to take care of it,” she says.
TUESDAY EVENING (CHRISTMAS EVE)
The car is old and decidedly beat-up. Its suspension is taking a pounding from the pot holes in the dirt track I’m driving on that meanders through the forest. The car’s headlights flicker every so often and I worry that I’m about to be plunged into darkness. Given that there’s absolutely no light outside and will not be any for at least another ten hours, that would be a problem.
I stop at a fork in the road and peer at the instructions I’ve been given. I then get out of the car and do a quick pee behind one of the trees. Then I get back into the car, start it up and take the track to the right.
Earlier, from the comforting normality of a public park, I had called Nadia. I told her that I was ready to do the exchange - Cube for Max, Meena and Faiza. We’d haggled over the venue for the handover, but eventually agreed to a remote location in Norfolk.
Nadia specified the time of the hand-over and was insistent that I come alone, and in the transport provided by the Bratva. This transportation I found in a side-street in south London - a beat-up old Vauxhall, with the keys in the ignition. A printed sheet of driving instructions lay on the backseat.
While I was bargaining with Nadia, Ruth was busy too. She swapped the motorcycle for - who knows how - a large Mercedes SUV. If anything, it’s more luxurious than the Range Rover she drove previously.
Ruth and I agreed a rendezvous location for afterwards, situated far enough away from the site of the handover to give me time to check that the Bratva isn’t following us. All I have to do is get Max, Faiza and Meena to the rendezvous point safely. We then all jump into the Mercedes and get the hell out of Dodge City, all the way back to Chez Collins.
After another thirty minutes drive, I arrive at the handover location: an old gravel quarry. Judging by the state of the signage outside, the place has been closed for years. Through the dark I can see the hulking shadows of old quarry equipment, slowly being eroded by nature.
Inside the quarry, another car is waiting for me. It flashes its headlights and I flash mine back, using the precise sequence that I was given.
The front doors of the car open and two people get out. One of them is Nadia. The other I recognise as ‘Dee. Both are dressed casually.
I get out of my car and walk towards them. We meet halfway between the two cars.
“Hello,” I say, to Nadia. I nod to her accomplice. “Nice to see you out of uniform for once.”
‘Dee just stares impassively back at me, saying nothing.
“To business,” Nadia says, clearly not in the mood for chitchat. “Have you brought the goods?”
“Of course,” I say.
“First, we search you and your car,” says Nadia. “Just to check that you haven’t brought anything else.”
‘Dee searches me, thoroughly. Finally when he’s satisfied, he pulls out a torch from his pocket and goes over and checks out the car. This takes even longer - he’s not one for skimping details. Eventually though he finishes his search and gives the thumbs up to Nadia.
“Ok, show me what you’ve brought,” orders Nadia.
I pull from my shirt pocket the memory stick. “Everything you need to take control of Cube is on this,” I say. “Passwords, security certificates, access to the source code, you name it. It’s on here.”
‘Dee takes the memory stick from me. He pulls a tablet computer from his jacket pocket and plugs the stick into it. He waits for the stick to mount and then scans it for malware. He then opens a file browser and inspects the file directories on the memory stick. Apparently satisfied, he then passes it to Nadia. She takes a long look at the files, opening a couple and studying them for several minutes.
Finally she speaks: “Everything seems in order. I’m impressed that you managed to convince the group to hand over this.”
“Some of them knew Buckeridge,” I say. “They didn’t want anyone else to die.”
Nadia nods. “A wise choice,” she says.
She leans over and says something to ‘Dee. He walks back to the car and opens one of the passenger doors. He leans in and pulls Faiza, Meena and, finally, Max out of the back. Their hands are bound and their mouths are covered with masking tape. Their clothes are covered with dust and grime - as far as I can recall they’re wearing exactly the same clothes they had on when they were abducted on Thursday morning.
Nadia and ‘Dee get back into their car and drive off, without saying another word.
I rush over to the trio. “Are you all ok?” I ask Max as I remove the gag from his mouth.
“I’m ok, but Faiza isn’t great,” Max says. “The baby … things haven’t been going well.”
I look at Faiza. She’s very pale. I remove her gag and the rope from around her hands. I feel her forehead - she’s very warm. Her breathing is very shallow.
“Let’s get into the car,” I say. “We’ve got to get as far away from here as possible.”
Everyone piles in the car and I turn the ignition, praying that the engine will start. It stutters for a moment and then roars into life. I put the car in gear and we head for the other exit out of the quarry, back the way that I came.
The car bounces as we move on to the dirt track that leads into the forest. I drive as fast as I dare without risking breaking an axle.
Max sits in the back with Faiza, holding and comforting her. Meena sits in the front, beside me.
“How did they treat you?” I ask Meena.
“OK, I guess,” she answers. “They gave us food and water. We were locked up somewhere underground. It was warm and dry, but very basic. We had two buckets - one for washing in and the other for use as a toilet.” She shudders at the memory. “I am so looking forward to having a proper bath.”
“How is she?” I say to Meena, gesturing at Faiza.
“Not good, not at all good,” Meena replies. “The stress of being held hostage so late in pregnancy … We need to get her checked out in a hospital as soon as possible.”
“OK,” I say. “But not anywhere round here. Nadia and co are going to be looking for us shortly. We have to get far enough way from them before that happens.”
“Why will they be looking for us?” asks Max, from the backseat.
“Because Kristof is just about to lose control of Cube,” I answer.
“What do you mean?” asks Max.
“There’s a tripwire feature built into the CHRONOS servers”, I say, keeping my eyes focused on navigating the bumpy road in front of me. “If anyone attempts to access the folder containing the Cube wallet of ‘Mehmet Yılmaz’, the servers reset their user passwords, invalidate access certificates and reboot themselves. Anyone on the system at the time gets thrown off.”
“And why do you think they’ll access that folder quickly?” asks Meena.
“That’s been their objective all along,” I tell her. “This was never about control of Cube - the code is open source and is run on hundreds of thousands of computers around the world. The Bratva knows this - they know they can’t control Cube. What they’re after are the billions of dollars worth of Cube in the ‘Mehmet Yılmaz’ wallet.”
As I drive, I imagine the change in Nadia’s expression as she locates the wallet on the CHRONOS system and then is thrown out as the server reboots. And then the ever more frantic efforts to log back in as attempt after attempt with the supplied credentials.
I permit myself a small smile of satisfaction. But only a very small one. We are, quite literally, not out of the woods yet. This forest road is windy but it has no turn-offs or junctions. Anyone following us just needs to have a better car and they’d catch up to us in no time. I keep my foot as hard on the accelerator as I dare. The car’s headlights are dipped in order to reduce the amount of light we’re giving out and so limit the distance from which we can be spotted.
We come to the T-junction where I stopped. I stop the car and walk over to the tree where I took a pee earlier. I pull back one of the stones from beside the tree and retrieve my cell phone. I return to the car. I turn the phone on and glance at the signal bar. Or rather where there should be a signal bar. The thing’s not picking up any service at all. Crap. Was that one of the reasons that the Bratva picked this remote location for the handover?
I start the car up again and we continue. After another five minutes I’m beginning to relax but then I hear a rattle start up from the car’s engine. It gets louder. Then the engine coughs, splutters and then cuts out. Am I out of fuel? I glance at the gauge - it still says that I’ve got half a tankful. But now that I think about it, it’s been saying that ever since I picked the car up in south London …
I get out of the car and flip open the fuel cap. I tap the inside of the tank, and get nothing but a hollow ring in response. Yep, we’re out of fuel.
I get back into the car.
“We’re out of petrol,” I tell my passengers. Max lets out an audible groan. “They rigged the gauge and gave us just enough fuel to get to the handover point plus a bit extra,” I tell him. “They don’t want us to escape.”
“Which means we better get off the road and away from this car,” says Meena as she opens her door to get out. She helps her sister out of the car. Faiza is very quiet, her breathing shallow. From the way that Meena is fussing over her, I can tell she’s very concerned for her condition.
I get out of the car myself and look about. It’s total blackness in all directions. There are trees on both sides of the road and I see no sign of lights or habitation. I pull out my cell phone and glance at the signal bar. It’s still showing zero. Damn.
“How long before they come after us?” asks Max.
I shake my head. “I don’t know,” I reply. “Not long probably. I can’t imagine that it will take them long to have triggered the tripwire feature.”
“I SEE A LIGHT!” shouts Meena, interrupting. She’s pointing at something through the trees.
We turn to look at what she’s seen. Sure enough, there’s a distant, faint light shining from the other side of the wood. Then it disappears. Fifteen seconds later it reappears briefly before vanishing again. Then we hear the low rumble of a foghorn.
“That’s gotta be a lighthouse,” says Max.
“We are close to the sea here,” I say, thinking. I vaguely recall from my Physics lessons that radio waves travel better over water than over land. Perhaps that means we’ll get a signal for my mobile on the shore?
“Head towards the light!” I shout to the others.
We set off through the woods towards the light, Max more or less carrying his wife. The forest undergrowth is dense and we make slow progress through it. I lead the way, trying to beat the vegetation down as much as possible to make it easier for the others to walk through it.
After much scrambling we make it to the other side of the forest. We find ourselves looking out on to farmland, and beyond that the North Sea. Lying at the far end of a causeway, some way out into the sea is the source of the light Meena spotted - a lighthouse. Seeing no other habitation, we decide to head for it. We clamber over the fence and hike over the field towards the lighthouse.
On the causeway our route is blocked by a tall barbed-wire fence and a metal gate. “DANGER HIGH TIDES ABSOLUTELY NO ADMITTANCE TO NON-AUTHORISED PERSONS” sternly warns a sign. We decide to ignore it. Combining our efforts, Max and I are able to force the gate open. We walk along the causeway, the sea lapping on both sides.
The sky has cleared and the feeble moon provides a small degree of illumination. It seems as if the air is getting colder by the minute. I feel a hard frost coming down. We’re all beginning to shiver - we need to find shelter and warmth soon.
We reach the lighthouse. It’s built on a small rocky outcrop connected to the mainland via the causeway. There’s a small cottage adjacent to the main tower. The home in times past to the lighthouse keeper I presume, although with all lighthouses being fully automated, the house has long been empty.
The doors to both the lighthouse and the cottage are padlocked but we’re able to break the one of the cottage open with a large stone. Inside, we find that the cottage has been gutted. It’s now used as a series of store rooms.
I find the connecting door to the lighthouse proper - it’s not locked - and climb up the stairs. The inside of the lighthouse is in an even greater state of disrepair than the outside. The metal stairs are rickety and corroded in multiple places. The flooring on each level of the lighthouse isn’t much better. At one point I even have to cross a two-metre hole in the metallic walkway by gingerly traversing a long wooden plank. The plank creaks as I inch across it, but holds firm. Where are the Health and Safety people when you need them?
Once at the top, I pause briefly to regain my breath and take in the vista. It’s a cold, clear night and I’m treated to a majestic night-time view of the whole bay area.
However what really interests me is the reception state of my cell phone. I pull it out and rejoice - it’s now showing a couple of bars of signal. I quickly call Ruth’s number. She answers immediately.
“Change of plan,” I tell her. “Car’s out of fuel. We’re holed up in a lighthouse a couple of miles from the exchange point.”
“A lighthouse?” says Ruth. I hear the clicking of keys in the background - she must be looking our location up online. “OK, I got it,” she says, after a few moments. “I’ll be there in twenty minutes.”
“Great, we’ll hold tight in the meantime,” I tell her. I end the call and head back down the stairs. I skip down the steps, relieved to have made contact with Ruth. As soon as she gets here, things will be ok, I think to myself.
My good mood dissipates the instant I rejoin the others in the cottage. Max and Meena are close to panic as Faiza doesn’t look at all well - she’s sweating profusely, grimacing and groaning.
Meena turns to me and shouts, “Where the hell have you been? Faiza’s going into labour - FIND ME SOME SUPPLIES!”
I race through the cottage, looking for anything medical. I do manage to find a first aid kit, though it is five years past its best-before date. Meena snatches it out of my hands and rips it open. Inside she finds a couple of bandages, some plasters, a bottle of antiseptic and a pair of long armed bandage scissors.
“Better than nothing,” she says, frisking through the contents. “Now I need some water and blankets … or towels, whatever you can find.”
There’s a basin in one of the rooms. I turn the tap but nothing comes out. I root around and find the stopcock. I turn the tap again and this time cold water comes gushing out. There’s a pail under the basin so I fill it and take it back to Meena.
Then I begin my hunt for blankets. I look everywhere in the cottage but find nothing. I go into the lighthouse proper and search each of the small rooms on the three levels of the tower. One seems to have been used as a file store - it’s full of bound handwritten journals, written back in the days when the keepers were obligated to keep a log of the shipping that passed them.
Another room is full of safety equipment - lifebelts, jackets, flags and the like.
The final one, on the highest level, is padlocked and I have to go outside to fetch a rock in order to smash it open. Inside, I find a camp-bed, and a cooking stove plus gas canister. Someone has obviously been staying here recently. As it’s Christmas Eve, they perhaps have somewhere better to stay at the moment.
I try turning the gas on but hear nothing - the canister is empty. There are a couple of blankets by the camp-bed and I grab them and bring them downstairs into the cottage.
Meena takes the blankets from me gratefully but things are not going well. Faiza is lying down on the floor, Max’s jacket under her, moaning. Max is kneeling beside her, holding her hand. Meena is trying to keep both of them, and herself, calm.
“Don’t worry,” I say. “Help will be here shortly.”
I feel the phone in my pocket vibrate - it’s Ruth calling. The signal is very weak within the cottage so I go into the lighthouse and climb to the top to answer the call.
“I’m by the gate to the causeway,” Ruth says when I answer. “But we’ve got a problem.”
“What is it?” I ask.
“Look at the causeway,” she says.
I look down at the causeway. Or where the causeway was. Now, there’s nothing but sea.
“The water’s at least a metre and a half deep,” says Ruth. “I can’t risk driving through it - the car would be swept into the sea in seconds.”
“I’m going to look around for something else,” Ruth continues. “See if I can find a boat or something to come fetch you.”
“OK,” I say. “But you should know that Faiza’s going into labour so when you do reach us we’re going to have to transfer her very carefully.”
I hear a faint Gaelic curse from the other end of the line as Ruth swears under her breath.
“It keeps getting better and better,” says Ruth. “OK, we’ll head straight to a hospital as soon as I pick you up.”
She hangs up.
I see the headlights of the Mercedes come on as Ruth starts the vehicle up. I watch as they move into the distance. I slam the railing in frustration - damn the tide, we were so close to being rescued!
I consider alternatives to sitting and waiting for Ruth but fail to come up with any. Even though the causeway is no more than a hundred or so metres long, there’s no way that we can cross it when it’s submerged. Swimming the distance is not an option - Faiza’s in no condition to move right now and the freezing water would likely paralyse us within seconds.
Like it or not, we’re marooned until Ruth can find a way of rescuing us.
I plod back down the stairs to rejoin the others. Max stands up and comes over to me.
“How are things?” I ask.
“The contractions seem to have stopped,” he answers. “We’ve got a bit of breathing room … for now at least.”
“There’s been a delay,” I tell him. “The tide’s come in, completely flooding the causeway, so Ruth can’t get across. She’s looking for a boat or something to come fetch us.”
Max nods. He runs a hand wearily through his hair. “I guess we’re going to be here a while yet,” he says.
“Just as well the Bratva don’t know where we are,” I say.
Or do they? I think to myself. They planned for the car to run out of fuel, so surely they must have been intending to recapture us after the exchange. But to do that they would need some way of tracking us …
I catch sight of Faiza’s jacket. It’s not the one that she had on the night she was taken from London Bridge.
“Where did this coat come from?” I ask, gesturing at the Faiza’s jacket.
“Kristof had a spare one,” Max says. “The coat she had with her wasn’t very warm, this one was better.”
“Let me see it for a moment,” I say, fear beginning to stab at my chest again.
I pick it up and examine it all over. Half-way down one of the sleeves, I feel a small bump. I tear the cloth with my teeth and extract something small. It’s covered in plastic and not much larger than a two-piece drug capsule. One end has a blinking red light.
Max and I stare at it in horror. We both know what it is.
“Tracking device!” Max says grimly.
I drop it on the floor and grind it to pieces with my boot. The tracker is destroyed but has the damage already been done?
“Wait here,” I tell Max and I race out of the room and head up the stairs. Once at the top, I frantically scan the bay.
Everything seems quiet.
Then I notice two shapes on the water, out to the west. I narrow my gaze. I realise that they are boats. Boats that are moving slowly but steadily towards us.
In a beat, I realise what this means.
We’ve been found. By the Bratva.
I race down the stairs of the lighthouse and through into the cottage. “We’ve got trouble!” I shout. “The Bratva is coming!”
Max looks at me in shock. “We’ve got to get out of here,” he says. “They mustn’t get Faiza.”
“There’s no way out,” I say. “The causeway’s flooded, remember?”
“How many?” Meena asks.
I shake my head. “Not sure - I couldn’t see clearly in the moonlight. They have two boats though.”
Max gulps. “We’ve got no choice - we’re going to have stay here. And hope your friend reaches us in time.”
I nod. “Agreed - we’re going to have to barricade ourselves in here.”
Meena looks around. “We need a safe place for Faiza,” she says. “What about the lighthouse?”
“There’s a small living area on the third floor,” I say. “It’s not much but it’s high up … Should be out of reach.”
“Ok,” says Meena, her mind clearly made up. “Right, let’s get moving. Max, you carry Faiza. I’ll carry the supplies.” She reaches out and touches me on the arm. “Tom, it’s down to you to fend them off. Can you manage that?”
“On my own?” I ask.
“Yes,” she says. “There’s no other choice. I need Max to help me with Faiza.”
I say nothing.
“Well, if you like, I’ll stay here and defend us all,” says Meena, growing impatient. “And you deliver the child. Just remember that if the baby stops breathing, CPR is best done using two or three fingers of the hand, at a rate of three or four compressions every-”
“Ok, ok,” I say, relenting. “I stay here and do my best.”
Max picks up his wife in his arms, wrapping her in a blanket. He carries her out of the room and into the lighthouse. Meena follows with the medical supplies and the water. I listen to the sound of their hurried footsteps, receding into the distance.
I’m left in the room, alone.
“Yes, I’ll stay here and fend the Bratva off,” I say to no one in particular. “By myself. Against a group of military professionals. Who are probably armed. No, not a problem.”
I go over to the cottage window and look out on the bay. The two boats are close to the lighthouse now. I can see figures in each boat now. I count them carefully - there’s two in one and three in the other. Five in total.
I pause and consider what to do. I can barricade the windows of the cottage with the shelving but the door is a problem. Although it’s solidly made of steel, it opens outward and the only way of securing it is on the outside. There’s no way I can lock it shut on the inside. I can try to jam the door in place but that’s not going to stop a couple of determined attackers for more than a moment or two.
I take a deep breath and make a decision. There’s no way that I can defend the cottage. I will have to retreat into the lighthouse proper.
I run through the corridor into the lighthouse and race up the stairs to the second floor. I go into the storeroom and start rummaging around, looking for anything that I can use as a weapon. I find a couple of old semaphore flags, and little else. There’s an old rope coiled in the corner of the room however and I pick it up and sling it over my shoulder.
I’m about to give up on the search, when I notice a cardboard box. Inside is a small hack-saw. An idea forms in my mind. I grab the saw and leave the room.
I cross over the gap in the walkway using the plank, then turn around and pull the plank over to my side. I find the midway point of the plank and start to cut the wood with the saw. I keep sawing until I’m about three quarters through the wood. I then push the plank back over the gap, making sure that the sawed cut is on the underside of the plank, out of sight of anyone crossing.
My carpentry complete, I race up the stairs to the gallery and look out. The boats have now landed on the rocky outcrop. I watch as four of the figures spread out to encircle the cottage and lighthouse. One man remains behind with the boats. As he waits I see a glint of metal around his hand level in the weak moonlight - he’s armed with a gun. I presume that the others are too.
Through the darkness comes Kristof’s booming voice: “Tom … Max … Faiza … That was a clever trick you pulled with the Cube servers, but we have you surrounded now. Come out of the building right now and no one will get hurt, you have my word.”
You have my word, I think to myself. Yeah, right. Just like you fixed it so we’d run out of petrol heading away from the exchange point?
Kristof pauses, waiting for a response. I decide to say nothing. Why give a clue as to our exact location?
Kristof continues. “Very well. In five minutes I will send my people in to get you. They will use whatever force is necessary to subdue you. It will not be pleasant, I can assure you of that. I suggest you give yourselves up before then.”
I head back down the stairs, and look in on Faiza and co. She’s lying on the camp-bed, with Max sitting down beside her, holding her hand. She’s groaning and sweating profusely - the contractions have clearly begun again. Meena looks round at me.
“The contractions are coming fast now,” she tells me. “I don’t think we’ve got long to wait.”
“The Bratva has landed,” I say. “Kristof’s given us five minutes to surrender. After that he says he’ll be coming in to get us.”
Max snorts. “We have to hold out,” he says. “They’re not getting their hands on us again.”
“I’m doing what I can,” I say, trying to sound reassuring. “There are five of them though, and they’re carrying guns.”
“Do your best,” Max says simply.
I leave the room and head back up to the gallery. I keep low to the floor in order to avoid being spotted and scan round, trying to spot our attackers. The only figure I see is by the boats.
“One minute left,” Kristof calls out from below. “This is your last chance - give up now and this can all be over peacefully.”
I slink back down the stairs and head to the bottom of the stairs to the second floor. I squint round the corner - I can see the gap in the walkway, and the plank over it.
From far below, I hear quiet footsteps. They move cautiously, slowly, getting closer all the time.
Peering round the corner, I spot ‘Dum coming along the walkway. He’s dressed in a police uniform again. A small, powerful looking handgun is in his right hand.
‘Dum comes to the gap in the floor. He pauses and looks down at the long drop to the ground. He spits and, pauses, listening for the sputum to hit the floor. Very carefully, with his arms spread out wide for balance, he starts to inch across the plank.
‘Dum gets halfway across the plank. The plank squeaks but doesn’t break. I start to panic, realising that my trap isn’t springing. I have to act …
I grab the rope from round my shoulders and quickly tie one end of it to the staircase’s handrail. Still holding the other end, I race out on to the walkway, and on to the plank, rushing towards ‘Dum.
Before ‘Dum can react, our combined weight causes the partially sawn plank to crack into two. The plank and the two of us plunge through the gap, me still holding tightly on to the rope.
I feel the rope tighten in my hands. I hold on grimly as the rope snaps taught. My arms are nearly wrenched out of their sockets as the rope arrests my fall, but somehow I manage to cling on.
‘Dum continues to fall, a scream on his lips. This cry stops suddenly as he hits the ground. His body crumples and his head ends up at a ninety-degree angle to the rest of his body.
I dangle from the rope, some five metres above the ground. From above me I hear a snapping sound, as the fibres of the rope start to break. It’s not designed to carry my amount of weight, and certainly not to handle such a load so suddenly …
There’s a final loud snap as the final fibres break and my plunge downwards resumes. I bend my legs, getting ready to hit the floor …
I hit the ground. Hit it hard. I manage to roll to the side on impact and avoid breaking any bones. I lie for a moment dazed, looking up at the gap in the walkway above. It seems a long way up - did I really fall all that way?
I stagger to my feet, checking myself for broken bones. My left wrist is sore - a sprain perhaps, but apart from that I’m uninjured. Which is more than I can say for poor ‘Dum. I check for a pulse on his body but find none. The fall must have broken his neck.
I scrabble around, looking for ‘Dum’s gun. I find it in the corner. It appears undamaged. I tuck it into my belt and listen intently for other sounds.
As I listen, I realise that the sounds from above me have changed. I can no longer hear Faiza’s cries of pain. There are still cries but they are much thinner and higher-pitched.
The cries of a baby.
Faiza has had her child.
I hear footsteps above me. Max appears in the gap, looking down.
“Tom!” he shouts. “What happened? Are you ok?”
“More or less,” I say, rubbing my wrist. “It could have been a lot worse.”
“Faiza’s had the baby,” Max says. “We have a son.”
“Congratulations,” I say. I look at the time on the display of my phone. It’s well past midnight, which means it’s now Christmas Day. “You have a Christmas baby.”
“Yes, I know,” replies Max. “It should make remembering the kid’s birthday easy - not that we’re going to be forgetting the events surrounding his birth anytime soon.”
“Faiza told me,” I tell him. “You know … about her one-night stand … Can you tell if he is yours?”
“I don’t care,” Max says. “Whatever his parentage is, he is my son.”
At that moment my phone rings. I answer. It’s Ruth calling but I can barely hear her due to the amount of background noise.
“Where are you?” I ask. “It sounds as if you’re in the middle of a waterfall!”
“I told you I was getting alternative transport,” replies Ruth. “Well, I found something - a helicopter.”
“A helicopter!” I say. “How on earth did you manage to get that?”
“I have my ways,” replies Ruth, enigmatically. “I’m ten minutes out from you, make sure you’re ready for pickup when I arrive.”
I think frantically. The rocky outcrop that the lighthouse and cottage is built on is too small and uneven to land on.
“There’s not enough room to land the helicopter by the lighthouse,” I tell her.
“Then we’ll go with Plan B,” says Ruth. “This helicopter has a winch and a rope ladder. We’ll use that instead. Get everyone to the top of the lighthouse and I’ll pick you up from there.”
“Ok,” I say. “There’s one thing you should know: the Bratva is on to us. They’re outside the lighthouse.”
“Then we better make the pick-up quick,” says Ruth. “Hang in there until I arrive.” She drops the call.
“Ruth’s on her way,” I tell Max. “We’re going to evacuate by helicopter … from the top of the lighthouse. She’ll be here in ten minutes.”
“We’ll be ready,” says Max. “But what about you? How are you going to get up here?”
“Don’t worry about me,” I tell him. “I’ll find a way. Just make sure that everyone else is ready.”
“OK,” says Max.
“But if I’m not there when the helicopter arrives,” I continue, “don’t wait for me. Just go … I don’t want Faiza and your son in danger for a moment longer than necessary.”
“I understand … and thank you,” says Max. He disappears from view. I hear his footsteps recede.
Now I’m on my own again, the full scale of my plight becomes apparent to me. The plank is smashed beyond all hope of repair and the gap in the walkway is far too big to jump across. I look around for something else that I can use to put across the hole, but find nothing suitable.
And, I remind myself, there are still at least four of the Bratva still around. I doubt that they will politely step aside to permit Ruth to rescue us. And, unless she’s commandeered an armoured gunship, I doubt that the helicopter will be able to take more than a couple of shots.
I return my attention to how to get back to the top floor of the lighthouse. As I’m thinking an image of the outside of the lighthouse pops into my mind. I recall that there were a set of iron rungs set on the outside, leading to the gallery. The ones low down have been removed but the ones further up are intact. Perhaps I could reach them from the roof of the cottage?
Cautiously I creep through the corridor into the cottage. My gun held out in front of me, safety off. There’s no sign of Kristof, Nadia or anyone else.
I softly climb the dusty stairs to the upper floor of the cottage. A window looks out on to the roof of the cottage. I open the window as silently as I can, inch by inch. Then I climb through it, on to the roof.
The slate roof is slanted, making balance difficult. I edge along the roof, holding on to anything I can - drainpipe, window ledge and the like - for balance. The wind from the sea is blowing into my face, chilling me. I can already feel my teeth beginning to chatter.
Ahead of me looms the outside wall of the lighthouse. Just above the height of my head, are the first of the iron rungs. Unfortunately the roof of the cottage dips down just before it reaches the lighthouse - I’m going to have to make a jump for the rungs.
I’m still pondering how best to make the jump when I accidentally step on a loose slate. The slate careers down the roof and disappears. A few seconds later I hear a loud crash as the slate hits the ground.
I pin myself to the roof, absolutely still. Did Kristof and the others hear that? With it so loud, how could they not?
I hear running footsteps from the other side of the cottage. They slow and stop below me, out of sight, just where the slate must have fallen. I slow my breathing and stay as silent and still as I can. I finger the trigger of my gun, ready to fire it if I get the opportunity.
I keep myself still, straining to hear any sound that might give me a clue as to what is going on below me. I hear nothing. I wait. I look towards the lighthouse and the rungs embedded in it. The jump looks manageable and the climb shouldn’t take me more than a few minutes. However while I’m climbing I’m going to be an easy target. Maybe if I caused some kind of distraction first …
My thoughts are disrupted by the sound of footsteps on the staircase. They’re quiet but I can hear, and feel, them through the roof. I turn my head towards the window that I came through. Suddenly a head appears through it, looking towards me. Instinctively I fire my gun. The figure cries out - is it a feminine scream? I can’t really tell - and disappears from sight.
A shot comes from below me and a slate just by my head shatters. I turn and look down and spot another figure, gun held high, pointing towards me. I shoot once, twice - I’m not quite sure - and the figure crumples.
I’m panting from the adrenalin surge. I try to calm myself down and listen for further movements. Nothing. I wait for maybe two or three minutes but still hear nothing.
Ruth will be arriving any minute now. As I’ve ordered Max to make sure that the helicopter leaves as soon as they are aboard, I can’t delay any longer.
I edge myself along the rest of the high roof and reach the point where it ducks down. A metre or so in front of me is the first of the iron rungs. It looks solid enough. The jump doesn’t look that bad, although if I miss I’m going to fall a good few metres. I suspect that I have only one chance to make the jump correctly.
I tuck the gun back into my belt. I take a step or two backwards and then a couple of deep breaths. I throw myself forward, jumping as my feet reach the end of the roof. I sail through the air, my arms outstretched, reaching for the rung in front of me. I hit the wall - hit it hard enough that it knocks the air of my lungs and my vision goes dark for a moment. Dazed, I scrabble for the rung to cling on to. My right hand feels something solid and I grab hold of it. My sprained wrist slams against the wall and I scream out in pain. However I manage to cling on to the rung.
I pull myself up and hook my left arm over the next rung. Something clatters on to the roof far below me. I look down and see my gun, lying on the low roof - it must has slipped from my belt when I hit the wall. I let out an involuntary curse as I realise that I have no way of retrieving it.
I start to climb the rungs. A couple of them don’t feel very solid when I touch them and so I try to avoid them and hold on to the ones immediately above or below them. Fortunately though the majority of the rungs are still solid. The rungs feel icy cold as I grasp them.
I climb the rungs, one by one. It’s slow work as my injured wrist means that I can only pull myself up with my other arm. Finally however I reach the top, puffing and panting from the exertion. I pull myself over the rails of the gallery and stop to rest for a moment, slumped against the glass of the lamp room.
I hear a buzzing sound in the distance. I pull myself to my feet and scan the sky. I can see a white light far out from the coast, fast heading towards us. It must be Ruth.
Where are the others? I think to myself, suddenly irked. Why hasn’t Max gotten everyone up here already? All they had to do was to stroll up one flight of stairs. I had to climb up the outside of the whole bloody lighthouse!
I race down the stairs and burst into the room. Suddenly I understand the reason why the gallery was empty.
Meena, Faiza (plus newborn son) and Max are all in here. Unfortunately so is Kristof, armed with a gun. He too is dressed in British police uniform. A superintendent at first glance. How typical - even when in disguise, Kristof insists on having seniority.
“Hello Mr Jenkins,” says Kristof. “I knew you’d turn up sooner or later. I gather that rescue is on its way … by helicopter, I believe? Most impressive!”
He waves his gun in the direction of the door.
“Now let’s go welcome your would-be rescuer!”
KRISTOF herds us out of the room and up the stairs to the gallery. Faiza insists on carrying her baby, despite having difficulty standing. She leans on Max heavily while climbing the stairs. Kristof follows behind us, his gun constantly trained on us.
We reach the top and step out on to the gallery. Kristof stays low, partially hidden by the stairs.
The helicopter is much closer now. It’s a small rescue-type chopper. I catch myself wondering whether it is big enough for us all. Then I realise, with a shudder, that Kristof’s plans probably don’t involve any of us. As long as the helicopter can fit one passenger - him - then it will serve his purpose.
The helicopter reaches us and circles round. Through the windscreen, I see a familiar redhead at the controls - Ruth is flying. Is there any vehicle she hasn’t mastered?
I wrack my brains, trying to think of some way of warning her about Kristof, but nothing comes to mind.
The helicopter slows its circling and moves in above us. As it hovers, an automated winch and rope ladder descend. Ruth’s voice booms from a tannoy underneath the copter. “Climb in quickly - I can only hover for a few minutes.”
Kristof comes up behind us. “Time I introduced myself to the pilot,” he says. He reaches up and starts to climb up the ladder.
Just as his feet touch the lowest rung of the ladder, the helicopter judders, causing the ladder and Kristof to slam hard against the lighthouse’s lamp room. There’s a cracking sound but the room’s strengthened glass doesn’t break. Kristof’s gun goes flying out of his hand and skitters across the floor.
Max and I see our chance. We leap at Kristof, pulling him backwards, off the ladder and towards the railings.
Kristof lashes out with his leg, narrowly missing one of my knees. He reaches over for his gun but Max hurtles into his middle. Kristof stumbles backwards and falls down the metal stairs. His head hits a couple of the metal steps hard on the way down, leaving a trail of blood. His body slumps to the bottom of the stairs. He doesn’t move again.
“Into the copter!” I shout, fighting to make myself heard against the roar of the helicopter’s engine and rotor blades. Faiza, still holding on to the baby, is strapped into the winch by her sister and is lifted aboard. Meena and Max then climb up the rope ladder.
While they’re climbing I decide to check on Kristof. I go down the stairs and check his body. As I suspected, I can find no sign of a pulse.
I head back up the stairs. Meena and Max have climbed into the helicopter and are gesturing at me urgently to get aboard too.
I grab hold of the rope ladder and start to climb. The rumble from the helicopter’s engine increases and the ladder and me start to rise into the air - Ruth clearly wasn’t joking about not hanging around.
I feel a tug on the ladder. Then something grabs both of my legs. I look down and see Nadia, grimly holding on to my ankles. She’s bloodied - there’s a deep cut on the side of her face - but she’s most definitely alive.
I struggle to free my legs from her clutch but she clings on. I try to kick her in the head but she dodges the strike. I do at least succeed in kicking her in the back and dislodging the gun she had stashed in her belt. It falls down on to the gallery floor, now fast receding below us.
Still holding on to me, Nadia starts to climb up past me.
"You … are … going … nowhere!” she snarls.
She kicks my feet away from the ladder and I’m left dangling by my arms. Below me is nothing but a drop of several hundred metres into the shallow sea. My sprained wrist screams in torment at the abuse but I manage to hold on. I have to - at this height I have no doubt that falling would be fatal.
I look up towards the helicopter and see Meena and Max staring anxiously out of the hatch. I think of Faiza inside, protectively cradling her's and Max's new baby. I know that I cannot allow Nadia to get up there. If there's a price to be paid to ensure that then so be it.
"RELEASE THE LADDER!” I scream up at them. "Cut the ropes if you have to!"
Max ducks back inside the helicopter. I hope that he understood my message.
Nadia continues to try to climb past me on the ladder. I resist as much as I can but she is strong, very strong. I manage to hook one of my legs back on to the ladder and give myself a little more leverage. This frees up one of my arms and I make the most of it, aiming an elbow at Nadia's head. She blocks the blow easily with an upraised arm but her climb is slowed temporarily.
Nadia drives her fist into my stomach, winding me. It's all I can do to remain hanging on to the ladder and she is able to finish climbing over me.
"Time you got off!" she shouts.
I look up and see one of her boots descending towards my face. I dodge the blow to my head but at the expense of taking the boot to my shoulder. I hear a crack as my shoulderbone takes the impact. Then a wave of pain hits my shoulder and I scream in agony. It’s all I can do to remain clutching on to the ladder with my one good arm.
Nadia raises her boot, preparing to strike down on me again. There’s little I can do to resist. Let it be a quick death, is all I can think. Don't let me survive the fall and drown in the cold.
I watch as Nadia's boot reaches the top of its arc. It pauses and then starts to move down towards me. I brace myself for the force of the impact. I shut my eyes and ...
... And wait. I open my eyes again. Nadia's foot is still above me but it's now hanging limply. I look up beyond the foot and catch sight of Nadia's face. It's expressionless - the eyes are lifeless. Blood trickles down from the top of the scalp.
Nadia's body loses contact with the ladder and she falls past me, towards the sea below me. I watch as her body hits the water and disappears beneath the waves.
I look up and see that Max is back at the hatch. He's holding a gun. He's staring past me, in shock, at the stretch of water where Nadia landed.
I pull myself up the ladder. It's slow work due to my suspected broken collarbone but I manage to make it in the end. Meena and Max grab hold of me at the top and haul me into the body of the helicopter. I lie there panting. Ruth, in the cockpit, turns around and gives me the thumbs up. With my one good remaining arm, I weakly reciprocate.
Max kneels down beside me. "We need to get you checked out," he says, looking with concern at the state of my shoulder. "Ruth's plotted a course to the nearest hospital - we should be there in less than twenty minutes."
"Where did you get the weapon from?" I ask Max.
"Ruth had it," Max says. "She offered to do the shooting, but only if I took over the controls of the copter. I figured that she was better off at the controls than I was."
"I didn't know you knew how to fire a gun," I say. "That was mighty accurate shooting back there."
Max pauses, looking embarrassed. “I’ve never used a gun before," he admits. "I just pointed it and hoped for the best ... I figured I had a 50:50 chance of hitting Nadia, and not you."
Despite the pain in my shoulder, wrist and abdomen I can't resist breaking out into a laugh.
Ruth banks the helicopter slightly and makes a course turn.
SEVEN MONTHS LATER
“Fifteen minutes to go!” Max calls out from the other room. “Send him the slides NOW!”
“I know, I know,” I grumble back at him. “One last graphic to change and then I’ll send them - promise!”
I sit at my desk, hammering away at my keyboard, rushing to complete a plethora of last minute changes.
The cottage in Galloway Forest Park has been my home for the past six and a half months. Collins and I had agreed that I couldn’t go to the police to clear my name until we were ready to make our announcement. As a result I have been living the life of a recluse, limited to the grounds of Collins’ home in the Park. I’m allowed to take the occasional short walk outside the walls of the estate but only after dark.
I try not to think of it as house-arrest, but that’s what it effectively is. But at least it’s a very comfortable one. The cottage is well equipped with all mod cons, the internet connection is excellent (I have sole use of a multi-gigabit-per-second connection) and I have access to all the books, television programmes and movies that I could possibly wish for.
I don’t get many visitors, for obvious reasons. Collins looks in from time to time but, as he travels a lot, most of our communication is done via email, IRC and video calls.
Ruth drops by three times a week with food and other supplies. I think she might be finally warming to me - over the past month she’s accepted with increasing frequency my offers of staying for a coffee. I’m working up to offering to cook dinner for her, followed perhaps by a walk in the starlight.
My life as a recluse doesn’t mean that I’ve been bored. Quite the contrary in fact - I have more work on my hands than I can possibly manage. Max has helped a lot, remotely of course, though the duties of fatherhood do limit his involvement at times. Today the result of our labours get announced, with Collins and the other surviving members of CHRONOS making a big presentation on the opening day of the DEF CON conference in Las Vegas.
Collins had invited Max to fly out to Las Vegas and be part of the event but Max decided to come and visit me, to keep me company. I’m trying to play it cool and not to let on how much that means to me. I’m not being altogether successful though.
Max comes into my room, cradling his mobile between shoulder and ear.
“He’s right here,” he says to whoever he’s speaking to (presumably Collins). “He’s sending it right now!”
I save the slide deck I’ve been working on and hit “Send” in my email application. I let out a sigh of relief.
“All done,” I say. “There’s nothing left to do except watch the event.”
Max nods. Still cradling his phone, he walks over to his laptop and logs into the DEF CON live stream. It’s transmitting a panoramic view of the auditorium in the Las Vegas hotel, sound muted. The auditorium is packed - I cannot see an empty seat anywhere. There must be a good couple of thousand people present. But what else would you expect for a session with the title “Mehmet Yılmaz Speaks”?
“You got the slides? Good!” says Max to Collins. “Check that Slide Ten is what you wanted,” he asks, pausing and waiting for a response. “It is? Excellent!” he says in response to something Collins said. He turns to me and whispers “Collins is happy - finally! It’s showtime!”
Faiza and Max's baby is now seven months old and is proving to be a real handful for his happy but stressed parents. They named him Thomas Buckeridge Whitting - I still feel a rush of pride every time I think about having someone named after me.
There’s a sudden blast of sound to accompany the live stream video, the myriad noises of an audience not yet at rest - people talking, laughing, sneezing and coughing. Then the lights dim in the auditorium.
Collins walks out on to the stage. He's holding a few sheets of paper in his hands (more for reassurance than anything as I know that he has memorised every line of what he is going to say) as well as a presentation clicker. There’s muted applause from around the auditorium - most of the audience is probably wondering just who the hell he is.
"Good morning," Collins says. "Thanks for coming today.”
“My name is Peter Collins,” he continues. “I, and six colleagues of mine, created Cube.”
Collins pauses to let the sudden flurry of chatter in the auditorium die down as people realise they are witnessing history being made.
"We will prove that we are who we say we are through the sending out of a press release that will be signed with the private encryption key of Mehmet Yılmaz. We will willingly sign up to independent verification of our identities and background.”
As Collins speaks, presentation slides are displayed behind him - the slides that I sent him no more than five minutes previously.
“Let me begin by saying a little about our initial reasons for creating Cube. We wanted to show that a completely decentralised currency system was possible, that there was no absolute need for a currency to require a central bank, or other sponsoring body, to stand behind it.
“Our original intent was to create it as just a proof-of-concept. However it succeeded beyond any of our wildest dreams. Today over one billion Cube transactions are carried out every day and the currency is used in every country in the world. Some countries have tried to outlaw it but, with no sponsoring body to go after, they have all failed.
"Cube has been proven to work at scale. It is resilient and has resisted every effort to date to hack it or to fraudulently create currency. The algorithms and processes that we selected all those years ago have been shown to be the right ones.
"We, the creators of Cube, have looked on with great pride and satisfaction as the currency gained popularity. We chose to continue to remain anonymous to avoid the tiresome pressures that comes with fame, and because we felt that we would have a greater impact for good, if the world did not know our identities.
"However, for reasons that I will go into shortly, today we are voluntarily stepping forward and revealing ourselves publicly. This is not something we do lightly ... But, in view of certain recent events, it is something we feel we must do."
"Today we are announcing the formation of the Cube Foundation, with the six of us on the Trustee board. We will appoint professional leadership to run the organisation and conduct the day-to-day development and support of Cube. We will oversee and provide guidance where necessary.
"By creating the Foundation we will open the currency's operation up to the same level of scrutiny as has been given to the software’s open source code. We have nothing to hide and will demonstrate this by taking these steps.”
Collins pauses for a moment before continuing.
“So why are we doing this? Because Cube was, without our knowledge, tampered with. Every Cube address generated has also been tagged with the ID of the device that generated it.”
Collins’ bombshell sparks much talk, and even shouting, in the auditorium. A flurry of flashes goes off as press photographers take photo after photo. Collins waits for the hubbub to die down.
"The tracking code was inserted by the seventh creator of Cube, acting without the knowledge or say-so of the group as a whole. We don't know his motives for putting the tracking code in place, but we suspect that he was working for a US Government agency."
Even more noise in the auditorium. Collins again pauses and waits for it to subside.
"The person who added this code is no longer alive, killed during an attempt to keep the tracking function secret. His death is the subject of an ongoing police investigation and so we cannot say any more about this matter until that has been concluded."
Further noise and camera flashes forces Collins to pause again.
"To resolve the tracking issue, we are today announcing Version Two of Cube. While retaining full backward compatibility with the original version, this new version has been written completely from scratch. None of the code written by our erstwhile colleague has been included in the new version. The software is entirely open source and we invite the world to scrutinise it and look for malicious code.
“To encourage scrutiny of the code, the Foundation will be establishing the most generous bug bounty programme ever. Those who find defects in the code will be well compensated for their efforts.
"We realise that many, if not all of you, will have funds associated with existing wallets that contain traceable addresses. You will undoubtedly want to transfer these funds across to new v2 wallets that will not be trackable. To enable this to be done anonymously, we have created a new system called the Exchanger. It will allow you to securely and confidentially transfer your funds from your v1 wallet to any v2 wallet that you wish.
More flashes and chatter.
"Many of you will, I'm sure, be wondering how these exchanges will be done confidentially, given that all these transactions will have to appear on the Global Ledger. To ensure that no linking is possible of the two transactions involved in each exchange, the Foundation will be using up to $10B worth of its own funds of Cube to ensure that transaction amounts are randomised.
"The Exchange system is available via the Foundation's website, and will be going live at the end of this session. The full source code to it will be published, alongside that for Cube v2, at the same time."
The Exchange is the project that Max and I have been labouring on for the past few months. Its task is relatively straight-forward, but ensuring that no one can trace anyone from their v1 Cube addresses is difficult. Credit to Max for coming up with the idea of using the Foundation's own funds to ensure that every outgoing transaction is more than the incoming one. The amount added is randomly determined, and can be anything from one cent to several hundred dollars. This has the side benefit of motivating people to use the Exchanger as they may receive substantially more units than they put in. Think of it as a lottery where everyone is guaranteed to win at least a small prize. Announcing this at an event in Las Vegas seems highly appropriate.
"We will be making ourselves available to the world's media for questions throughout the rest of the day. For now, you can find more information about all of this on the Foundation’s website.”
And with that, Collins turns and strides from the stage. He doesn't look around as he ducks beneath the curtain.
A few seconds later he returns to the stage, this time accompanied by the other five members of CHRONOS, including Sams. The audience gives them a rousing reception, many rising to their feet to give them a standing ovation.
The six remaining members of CHRONOS wave at the audience as they are applauded. There’s much hugging and backslapping. Sams is warmly embraced by each of the other men, Collins especially.
“It’s as if the Beatles held a reunion,” remarks Max.
“If there were six of them and if they’d published all their music anonymously,” I reply.
“Do you think that there’s still a sleeper agent remaining within the Group?” Max asks.
“I don’t know,” I answer, “and to be honest, I don’t think it matters anymore. With the creation of the Foundation, the Group has made it difficult, if not impossible, for any remaining rogue party to disrupt operations. Anything they tried to do would have to be done in public, and so would be open to scrutiny.”
Finally the CHRONOS members take their leave of the stage, darting back under the curtain. The lights in the auditorium come up and the audience stands up to head outside.
Max shuts the lid of his computer and comes over to me. He shakes my hand.
“We did it,” he says simply.
“I hope so,” I say. “I guess we’ll find out in an hour or two just how solid the Exchange really is.”
I look at my watch and get up out of my seat.
“In the meantime,” I say, “I have to go and hand myself in.”
Max looks surprised.
“So soon?” he asks.
“That was my deal with Collins,” I tell him. “As soon as we made the announcements I was to go to the police and give them my account of what really happened with Regan.”
We walk to the front of the cottage. Outside, parked in the driveway is the Range Rover. Ruth is at the wheel.
“Ruth’s taking you?” asks Max.
“Yes,” I answer. “She’s driving me to the police station in Dumfries. Collins has arranged for a solicitor to meet me there.”
“Good luck,” says Max. “Let me know if you need anything.” He hugs me.
“Thanks,” I say. “I’ll be fine.”
I open the passenger side front door of the Range Rover and start to climb in. Max reaches out and touches my arm.
“Do you think it was worth it?” he asks. “I mean, in the end?”
I consider his question for a moment.
“It was a hell of a price to pay,” I say at last. “Buckeridge … All those people at the Commune … But yes, I think it was.
“Things have worked out ok for us. You have Faiza and your son, both safe. I will hopefully soon be exonerated.
“And CHRONOS has achieved what every start-up dreams of doing - going public!”
To start, let’s answer the question that will be in the minds of many readers: Yes, my Cube crypto-currency was inspired, in part, by Bitcoin.
I first heard of Bitcoin in the latter part of 2010. At first, it was the protocol behind it that fascinated me most (how could something without a central point of trust be trusted?) but as time went on, I became more interested in the mystery surrounding the identity of Satoshi Nakamoto, Bitcoin’s creator. That interest increased when, in the summer of 2011, it became clear that Satoshi had departed the Bitcoin scene and wasn’t planning on returning.
As I followed the media’s growing coverage of Bitcoin, I was struck by how little attention seemed to be being paid to the subject of Satoshi’s real identity. Most journalists would mention the fact that Satoshi was a pseudonym and then quickly move on to discuss other aspects of the currency. I was surprised that people were prepared to trust Bitcoin without knowing exactly who had created it. It surprised me still more that even the critics of Bitcoin, including those who thought that it was all a scam, seemed to care very little about Satoshi’s identity either.
Why are people so uninterested in Satoshi? I think that there were a number of contributing factors. First, when Satoshi published the original paper, many of those reading it would not have realised that ‘Satoshi Nakamoto’ was a pseudonym. Their attention was focussed on the technology that Satoshi was describing, and whether Bitcoin was truly viable as a distributed cryptocurrency.
Of course as time went on it did become clear that SN was a pseudonym. But so what? Almost all hackers are comfortable with the use of online handles, both for themselves and for others. It’s a convenient way of keeping online and real-world identities separate and distinct.
It was only when Satoshi stopped communicating that the use of the pseudonym become an issue. But by then it was too late to do anything about it. And, in any case, so what? Satoshi had published all of the Bitcoin source code under an open source software licence and a cadre of talented, highly engaged developers had stepped forward to take over the work of maintaining it. It was in safe hands.
I would argue, however, that Satoshi’s anonymity matters because Bitcoin’s technology has uses far beyond cryptocurrency. The blockchain that underpins Bitcoin is, simply stated, a mechanism for distributed trust. The potential range of uses for it are vast. By using the Blockchain technology, it is possible to build irrefutable public databases for tracking ownership of items as diverse as land and works of art. Legally-binding contracts could be agreed and signed by being locked into a blockchain.
For the first time in the history of human invention, it is possible for a revolutionary new creation to become successful without the identity of the inventor becoming known. Can we put our trust in an invention whose inventor hasn’t trusted us enough to reveal their true identity?
Inspecting technology sufficiently deeply to be able to trust it is something that most of us aren’t qualified to do. For people outside the ‘technorati’ elite, the tendency is to rely on others - friends, family, “that IT guy at work”, tech pundits and the like - to endorse software and technology before we use it ourselves. We trust their judgement and so if they trust something, transitively we trust it too. Is that sufficient? And even if we are skilled-enough to do the analysis ourselves, who has the time to research in-depth every new app that we use? We’re perpetually short of time and so crave technologies that make our lives more convenient. Anything that can fulfil this promise this will be grabbed, with few questions asked.
Then there’s the small matter of the Satoshi’s holding of Bitcoin. Inspection of the blockchain shows that Satoshi owns between one million and one and a half million units of Bitcoin. This is roughly ten percent of the Bitcoins that have been issued to date. Even when the last Bitcoin is issued, in the middle of next century, Satoshi’s holdings will represent five percent of the total.
Imagine if Satoshi dumped all of these Bitcoins on to a currency exchange, all at once. Think of how Bitcoin’s exchange rate with all the real world currencies would plummet. The more successful Bitcoin becomes over the years to come, the greater the impact on the global economy would be if this were to happen. If you’re tempted to use Bitcoin as a long-term investment, you might want to keep all of this in mind.
Although Bitcoin has flourished in the years since Satoshi stepped back, it is now facing some major challenges. The size of the Blockchain is becoming an issue, as is the need for an increase in the transactions-per-second capacity (which currently maxes out at about seven tps - a figure unlikely to give the CEOs of Visa and MasterCard any sleepless nights). If users lose the passwords to their Bitcoin wallets then the currency they contain becomes unusable - still visible on the Blockchain but forever locked away, inaccessible. With the total amount of Bitcoin limited to twenty-one million unit, something will have to be done as the amount of unreachable currency increases.
These, and other issues, are becoming too pressing to ignore any more. Solving them will be extremely difficult. Some may only have solutions that are unpopular, leading to the risk that the Bitcoin source code becomes splintered, forked between rival camps of programmers.
Other popular technologies that have faced these kinds of challenges have been able to fall back on their “Benevolent Dictators for Life” for technical guidance (leadership credentials don’t come much stronger than being the originator of the technology). Linus Torvalds has played this role for the Linux operating system for the past twenty-five years. Larry Wall continues to guide the development of the Perl computer language, nearly thirty years after having created it. Guido van Rossum does the same for Python.
I would love to see Satoshi step forward and reveal his or her identity. They could accept the plaudits for the work already done in defining Bitcoin and then roll up their sleeves to drive through the changes needed to make Bitcoin fit for the next decade.
Could Satoshi be more than one person? It’s possible. There are only a couple of people in the world who I think have the breadth and depth of knowledge required to come up with Bitcoin. It would be easier to gather a group of diverse individuals together and create the design. But could a group come up with a design as minimalist and efficient as Bitcoin? Overall, I think that the odds are pretty much 50:50 as to whether Bitcoin was the product of one individual or multiple.
While on the subject of groups, let me be clear that I do not believe that one of the American spying agencies had a hand in Bitcoin’s creation. In that respect, the fictional world of Cube bears no relation to reality.
Moving on, some readers will question whether it is likely that malicious code could linger undetected in an open source codebase for a decade or more. Eric S Raymond’s saying, “Given enough eyeballs, all bugs are shallow” is more than just a popular quote within the open source community, it’s practically an article of faith. Is it really feasible that the rogue code inserted by Regan into the Cube software could have avoided detection for so long?
To these people I offer an answer in two parts. First, can bugs go undetected in open source code for lengthy periods of time? We have seen a number of cases where this has occurred. A recent example is the Shellshock vulnerability, which was discovered in the Bash shell in September 2014, and which involved the execution of arbitrary commands that had been inserted at the end of function definitions. The vulnerability had existed in the codebase since 1989. In all of the years in-between those two dates, how many programmers had looked over the code in question and failed to spot the weakness?
Second, can malicious code be inserted into open source projects? I don’t have specific evidence that this has been done in the past, but I will point to events such as the Underhanded C Contest to show that writing such code is possible. This competition (http://www.underhanded-c.org/ ) challenges entrants to solve simple data processing problems with innocent-looking C code that is as readable, clear, and seemingly trustworthy as possible, yet secretly implements a stated malicious function. Have a look at some of the past winning entries and see whether you can spot the evil intent within them!
I should also talk a little bit about Side Channel Privacy Leakage (SCPL). This is again a real technology. The idea of being able to identify a web user without the need for tracking cookies is a very attractive prospect for many companies. I hear anecdotal evidence that at least a few of the online ad companies are investing a great deal of time and money into researching this.
One of the best protections against SCPL is to use a device that offers little or nothing in the way of customisation. An iOS device such as an iPhone or iPad is near-perfect in this regard. Their uniformity makes it very hard to uniquely identify users on them. Android, on the other hand, is much more customisable and so may be more susceptible to SCPL tracking.
One more thing: the CHRONOS Group featured in this story is in no way related to the real-world Khronos Group, which is a not-for-profit industrial consortium creating open standards in the domains of graphics and computer vision.
My thanks to the following people for reading early drafts of my novel and providing excellent constructive feedback:
I thank Sandra McWilliams, John Parkin, Marc Stock and Bart Wensley for their help with squashing typos.
I’m also grateful to Merve Aygin for suggesting the pseudonym ‘Mehmet Yılmaz’.
Finally, but by no means least, I want to thank Sherwin Soy for creating the fantastic cover illustration that adorns most of the versions of this book.
I read a wide selection of books about Bitcoin during the writing of this novel. The ones that I found most useful were as follows:
Aside from these books, I recommend the extensive documentation available on Bitcoin’s own website (http://bitcoin.org/en/). In addition, a good presentation on the theory behind Bitcoin is found in the seventh of Ted Nelson’s ‘Computers for Cynics’ video series, entitled “How Bitcoin Actually Works”. A copy of this video can be found on YouTube (https://www.youtube.com/watch?v=3CMucDjJQ4E ).
Bitcoin is not truly anonymous. If I can match one transaction to you (either as payer or payee), then I can find many, if not all, of your other transactions. Cube’s anonymising capabilities needed to be much more robust so I decided to incorporate into its design a technique called zero-knowledge proofs. Using this approach I can prove to you beyond all doubt that I know a secret, without telling you what that secret is! For more details, start at its Wikipedia page - https://en.wikipedia.org/wiki/Zero-knowledge_proof.
I found the book “Future Crimes” by Marc Goodman (Bantam Press), to be a chilling yet fascinating account of cybercrime. Reading this book opened my eyes to the true scale and range of cybercriminal activity today.
Sending an email when a dead man’s switch triggers is a service provided by http://www.deadmansswitch.net/ . Google also offers a similar function for its services called the Inactive Account Manager. If you’re a heavy Gmail user, it’s well worth setting up the IAM so that your loved ones retain access to your email in the event of your death.
Rootkits, the software placed on Tom’s laptop by people acting on Regan’s orders, are all too common unfortunately. One of the most famous rootkit incidents occurred back in 2005 when Sony BMG put an anti-copying rootkit on twenty-two million of its music CDs. The software was intended to prevent users copying the CD but it opened up several vulnerabilities that genuine malware could exploit. This PR disaster was exacerbated further when the president of Sony BMG’s Digital Business responded to a journalist’s question with, “Most people, I think, don't even know what a rootkit is, so why should they care about it?" You can find out more about all of this at https://en.wikipedia.org/wiki/Rootkit .
The concept of tracking a device’s location via its IP address is called Geolocation. Wikipedia has a page on the subject (http://en.wikipedia.org/wiki/IP_address_location) that makes a good starting point for further research.
Side Channel Privacy Leakage - the ability to track web browsing without the use of browser cookies - is real. Episode 264 of Steve Gibson’s excellent “Security Now” podcast provides a summary of what is possible with it - https://www.grc.com/sn/past/2010.htm .
You can find out more about The Onion Router (Tor) at the project website - https://www.torproject.org/.
If Tom’s fascination with cloud-spotting has piqued your own interest in the subject then I can highly recommend getting a copy of “The Cloud Collector’s Handbook” by Gavin Pretor-Pinney (Sceptre). It’s available in both printed and ebook formats. You might also consider joining the Cloud Appreciation Society (https://cloudappreciationsociety.org/), a movement “dedicated to fighting the banality of ‘blue sky thinking’”.
For those who are interested, here is the list of applications and services that I used in the preparation of this book:
Since graduating with a degree in Computer Science twenty-odd years ago, William Hern has worked for various companies in the software and telecommunications industries. In addition, he has written articles for a number of computer magazines, including “Personal Computer World” and “Pen Computing”.
William lives in the south-east of England. He spends much of his spare time standing, usually shivering, beside soccer pitches, watching his sons’ matches.
“CHRONOS” is William’s first novel. The initial draft of the book was written in November 2013 as part of National Novel Writing Month (http://nanowrimo.org/).
More of William’s writings can be found on his website (http://www.williamhern.com/).
DID YOU ENJOY READING THIS EBOOK?
You can encourage me to write another book by purchasing a printed copy of “CHRONOS” from my electronic store. The hardback book, which I will sign for you, features exclusive appendices of artwork and other material that are not included in any of the ebook versions.
The electronic store also includes the option of sending me a donation if you want to make a financial contribution without the hassle of having to receive a physical book in return.
ABOUT THIS BOOK
Generated on: 3 December 2016
Total number of words: 87,238