23.

Becca sat at her desk, pondering an uncompleted e-mail to home, one eye on the clock. Because of the security team’s paranoia, she couldn’t write much about the things she was most directly working with: the reactors.

Outgoing mail was computer-scanned for sensitive content, and if any were found, the computers triggered a look by humans. So, no shoptalk about the mission. She could mention that they were twelve days into their flight and sixteen million kilometers from Earth, accelerating toward the sun, but that was about it. Nor did she feel inclined to get very personal, with who knows who reading over her shoulder.

That left shipboard routine, which was both sensible and irritating.

Like the mandatory lights-out. The ship’s computer, under the direction of the ship’s doctor, would be killing the lights in her room in half an hour, at 23:00. Sleepy-bye time—it made her feel like she was nine years old again, on a school night.

In this case, though, the logic was unassailable. She had ultimate responsibility for the ship’s power systems, and the docs had decided that her usual workaholic running-herself-ragged style was not conducive to the ship’s safety. Fatigue could lead to errors in judgment; errors in judgment in space lead to death.

Consequently, she was required to spend eight hours in bed every night. She wasn’t required to sleep. She could twiddle her thumbs, calculate cube roots in her head, or chant her mantra, as long as she was in bed with the lights out.

So, she slept. And, she had to admit, her working day seemed to go more smoothly and her attitude toward the world was brighter. She still resented the parental authority. Her mother and father found the irony to be vastly amusing.

She’d just finished the letter when something bumped the leg of her chair; she felt it in her still-plump butt, though the mandatory gym time seemed to be making it a bit less plump.

Uh… bump?

There was nothing in the room to bump the chair—it had come up through the floor. Which meant the whole ship had bumped. It was a pretty unimpressive bump; if she hadn’t been sitting stock-still and relaxed at her desk, she wouldn’t have even felt it. But there weren’t supposed to be any bumps at all. The compensating actuators that coupled the propulsion modules to the rest of the ship ought to catch all of those.

A meteor strike?

She pulled up a comm window and called Engineering. “Talk to me.”

Wendy Greenberg’s face popped up: another MIT grad, thin, intense, vid specs linked to the major readouts. Before Becca could ask, Greenberg said, “I was about to call. Reactor 2 safed itself.”

What? “How’s Number 1?”

“Just fine. We’re still running at fifty percent power. All the telltales are normal on both reactors.”

“I’m on my way down,” Becca said, her heart beginning to thump. Before she could move, a new comm window opened up on her screen: Captain Fang-Castro. “Becca, thrust just dropped by fifty percent. What’s our status?”

“Reactor 2 has gone into safe mode. I’m on my way down. I’ll call you as soon as I know something.”

As Becca hurried down the corridor to Engineering, her pocket com chimed a priority call. Palming the screen, she saw Crow. Oh great, Mr. Stick Up His Ass Security. “Dr. Johansson, is something going on that I should know about?”

“Reactor 2 put itself into automatic safe mode. Reactor 1 is running fine. There’s no danger, no security risk, and I expect I’ll have Number 2 back online by morning.” Crow looked dubious but only said, “Thank you, Doctor, I look forward to talking to you tomorrow.”

Then that will make one of us, Becca thought. Here they were less than two weeks out and something had gone off.

Becca had to thread through the dual air locks into Engineering. Normally one stayed closed, since Engineering and the forward part of the ship ran separate air systems as a routine safety precaution, but both had engaged when the reactor threw the fault. As she headed to Propulsion Control, she could hear a buzz of concerned conversation. A half-dozen techies were examining a status monitor. Greenberg was there with Martinez, the chief of station operations.

“What have you got?” she asked Greenberg.

Greenberg shook her head. “As far as we can tell, the reactor safed itself for no good reason. The process safety subsystem sent Number 2 into its shutdown routine because it detected a loss of pressure in the primary coolant path. The thing is, the coolant path subsystem logs show the sodium pressure entirely nominal, not even a quiver. Best as we can figure, the process safety subsystem got it wrong. Furthermore, it seems to have righted itself—currently it sees all cooling system parameters, in fact all system parameters, as being exactly where they should be.”

Becca was looking at the status monitor: “So, we’re a hundred and fifty percent sure that there is absolutely nothing wrong with the coolant system? That there’s no physical reason this reactor shouldn’t be online?”

“Joe is about to go pull data directly off of the pressure sensors, to be three hundred percent certain, but everything in all the logs in all the systems says we’re good. The process safety subsystem momentarily hallucinated and hit the panic button for no good reason. As far as we can tell.”

“Maybe for no good reason, but there’s always a reason. Joe, make your readings. Wendy, if they check out, bring Number 2 back online at twenty-five percent for an hour and fifty percent for another hour. If everything looks perfect, take it up to full power.”

“Okay. But I’m worried.”

“So am I—but we’re not going to blow anything up because a bad piece of data takes the reactor down,” Becca said. “If it was the other way around, if a bad piece of data kept it up when it should be taken down… then we would have a problem.”

Becca hung in Engineering until Joe began calling back: all the pressure sensors showed pressures were normal. No problem anywhere.

Walking back to her quarters, Becca thumbed up Fang-Castro. “Short version, the safety computer choked on a bad byte of data. We’re checking out the hardware personally, but every indication is we’ll be back to one hundred percent power by morning.”

The medsystem computer woke Becca at 07:45, having allotted her an extra forty-five minutes to compensate for her delayed bedtime. This was a good sign. The absence of sleep-interrupting emergencies or fretful phone calls from Command meant that nothing untoward had happened during the night. That meant that the reactor was online and everything was nominal again.

Happily, her deductions were right. When she got to Engineering command at 09:00, things couldn’t have been running more smoothly. The one-time glitch had, indeed, proven to be one time. Greenberg had pulled in a double shift for the morning so that a full complement of people could run hardware and software diagnostics without taking anyone off of normal operations. So far they’d found nothing but a textbook operation; everything was so on-spec that she could almost imagine it was a computer simulation.

The ship’s engines were back up to full power, adding a good four kilometers per second every day to the ship’s already impressive velocity. The VASIMRs’ control systems continued tuning the mix of hydrogen and oxygen, ratcheting up the exhaust velocity past a hundred kilometers per second. Just as planned, they were sacrificing some of the thrust and some of the acceleration but saving a lot of reaction mass. Without these clever, clever engines, the ship would’ve been twice as big and, Becca thought, her headaches three times bigger.

She’d have to find some way to reward Greenberg and her team for doing such a good job of dealing with and dismissing what had proven to be nothing more than a minor irritation.

At 10:23:47, the Reactor 2 safety subsystem reported a drop in primary sodium coolant pressure and initiated a safe shutdown of the reactor.

It was the first shutdown, all over again, except the inquiries didn’t go as well.

“No, Captain, I can’t tell you when I’ll have Reactor 2 back online. I’ve got a double complement of people here and we’re all over it, and, once again, it looks like a hiccup in the data. Which shouldn’t have happened once, and definitely not twice. Until I track it down, we’re at half power.”

As they worked through the computer data, the last thing she needed right now was another call from Crow, but there it was. At least he was gracious enough not to look smug. In truth, he looked as noncommittal as ever; Becca wondered, a bit maliciously, what it would take to throw him off his guard.

“Dr. Johansson, we should have a conversation.”

“I will be happy to do that, Mr. Crow, as soon as I’ve figured out what’s causing the glitch in Reactor 2’s safeties.”

“You misunderstand me,” Crow said. “We need to have a conversation, now.”

“Really, I’ve got more pressing matters than indulging Security’s paranoia.”

“You don’t have any choice, I’m afraid. We either talk now, or I have a marine come down and fetch you, and we’ll talk in the captain’s office. Pick one.”

Becca nodded: “Okay, fine. What would you like to know?”

Crow looked down at his tablet. “I’ve made up a list of questions. Some are very simple, but bear with me. I want to make sure I’m not making any wrong assumptions. You’ve had two incidents with Reactor 2 in less than twelve hours, but Reactor 1 is one hundred percent operational?”

“Correct. Unit 1 is behaving perfectly. And, to clarify, there’s no problem with the Reactor 2 or any of its related hardware, as far as we can tell. It’s the safety subsystem that keeps registering a coolant problem and shutting the core down. Which is exactly what it is supposed to do, except there’s no reason for it to be doing that.”

“What’s different about Units 1 and 2 and why hasn’t Unit 1 also gone off-line?”

Becca had to grudgingly acknowledge Crow’s talent for getting to the heart of the matter. “There’s the rub—there is absolutely no difference between the two units. The reactors, heat exchangers, turbines, and generators and the computer systems are absolutely identical. Well, the hardware is as identical as we know how to make it, and the software is one hundred percent identical. So, we’d expect a purely software glitch to appear in both units.”

“Meaning you think it’s hardware?”

“No, we’re nearly positive that it’s software, we just don’t understand why it’s showing up in only one system.”

“Is there any chance this subsystem malfunction is going to shut down both reactors?”

“No, absolutely not, not unless it replicates itself in Unit 1. The two power systems are completely separate. They run completely independently. They don’t share any resources, they don’t even swap data. We made them as perfectly firewalled, physically and virtually, as we could, so that any kind of failure in one could not trigger a failure for any reason in the other. It’s like they exist on different planets.”

“Got it,” Crow continued, ticking points off on his fingers. “Two identical twins, separated at birth, identical in every imaginable way. Except they’re not behaving identically. So they can’t be identical.” Crow paused for a moment. Then: “I see two possibilities. The first is that you guys didn’t do your job right and you missed some critical difference between the two units.”

Becca heated up: “I can tell you—”

“Shut up for a minute,” Crow said. “The second possibility is that I didn’t do my job right and you started out with two identical systems and somebody’s compromised one of them. You should assume the former: that it’s your screwup. Drill down until you find it. Then keep drilling. If you made one engineering mistake, you made more than one.”

“Mr. Crow, my team is very, very good. I’m very, very good. We are entirely competent to do our job—”

“I know that, Doctor, but you’re human and you’re not perfect. The past twelve hours proves that something here is not perfect. It’s got to have a presence, so find it,” Crow said. “In the meantime, I’m going to assume it’s my screwup. In truth, I think that’s more likely. Security is not the reliable business that nuclear engineering is. You think it’s a data glitch. I think it’s sabotage. I think you’re right about the ‘what,’ but I’ll bet you I’m right about the ‘why.’”

Becca nodded again. Crow’s analysis was plausible.

“I’ve got everybody I can working on it,” she said.

“Do it with the idea that it could also be sabotage. Don’t assume that it’s simply a data fault: think about how the fault could have been deliberately introduced.”

“I will.”

Crow disappeared from the screen.

Sabotage was outside Becca’s work experience. She needed to work with what she knew. Okay, keep most of the people looking for ordinary hardware or software problems, any kind of anomaly. Put the best computer jocks on cross-checking data dumps between the two systems and thinking about where an error might be injected into the system. A Trojan? Something coded directly into the process control software?

Back at his desk, Crow’s thoughts ran even darker. A casual computer cracker wouldn’t be able to infiltrate a nuclear power computer system. Nuclear plants had long been considered targets for cyber warfare and the code monkeys had long had procedures in place to prevent some malcontent from inserting a back door or sabotaging a plant.

That, though, was for a normal level of civilian nuclear security, attacked by ordinary crackers. The stakes were a lot higher here, and Crow had no doubt that his own people could break one of Becca’s nuclear plants if they really wanted to. Only the criminally stupid or naïve assumed the “other side” was less clever. And who would that be in this case?

The Chinese were the obvious possibility, but there were plenty of governments that would be happy to see neither the U.S. nor China get starship technology—and every major state or state-alliance had excellent crackers. Had the Chinese suffered sabotage? Was there any way he could find out?

If it were sabotage, indications so far were that whoever was behind it only wanted the American ship to lose the race, not to be destroyed. They’d only taken out one reactor, not both. Was that by intent, or lack of opportunity, given the system firewalls? Was the disabling of the reactor a warning shot across the bow, a polite attempt to dissuade, but one that could be followed by lethal force?

Another vagrant thought crossed his mind. What if the aliens…

No.

Crow launched a secure window request to Santeros’s office and cross-conferenced it to the science adviser. At this distance, the round-trip time for a data packet was just shy of two minutes; it’d take a while for the security computers to complete their handshaking. While he waited for them to respond, he reviewed the ship’s logs and status reports. Ten minutes later, he got the three-way alert and switched his attention to Santeros. He kept his report screens open. With a several-minute round-trip time at light speed, this was going to be a slow conversation. Santeros launched without preamble.

“Good morning, Mr. Crow. I presume you’re calling with regards to last night’s power problem on the Nixon. Jacob briefed me this morning. I was given to understand it was a singular event and under control.”

“Unfortunately, no. Reactor 2 just safed itself again. Dr. Johansson is proceeding as if it is an engineering fault of some sort, but I don’t think she really believes that. Nor do I.”

Four minutes. Vintner spoke up. “Run us through your thinking on that.”

“One failure could just be a bad byte of data, noise in the line,” Crow said. “That’s not supposed to get through, but it could. Two in twelve hours is statistically unbelievable. Hardware log checks didn’t turn up the phantom pressure drop. It’s a repeating problem that only appears in the control software’s data. The two power systems are supposed to be identical. Physically, it’s not possible to make them exactly the same, so there could be a hardware fault or construction error in one that isn’t present in the other. The control code, though, is identical, exactly duplicated in both systems. There should be no fault in one, that doesn’t show up in the other. If it was a simple fault, we should be able to isolate it and fix it. The engineers have not been able to do that.”

Crow went back to reviewing logs for a bit less than four minutes.

Vintner said, “Got it. If the software’s identical, one set can’t be throwing repeated faults when the other isn’t. Ergo, they’re not identical.”

“Meaning we’re looking at sabotage?” asked Santeros.

Vintner: “It’s possible the two systems are running different software builds. They’re not supposed to be, but mistakes happen. That’ll be easy to check on. Gimme a moment,” he said, as he launched a separate call to the code farm that had written the control systems.

“Crow, short form: What was the objective, if it was sabotage?” asked Santeros.

“There’re several possibilities.” Crow ticked off on his fingers. “On its face value, it slows us down by forcing us to run at half power. The thing is, it doesn’t slow us down enough—we still beat the Chinese there. But whoever is responsible for this may not know that. Or it could be a warning shot across our bow—if we don’t turn back, worse things will happen. Or it could be the sabotage was only partially successful. Maybe both reactors were supposed to go down and one hack didn’t take, or they didn’t have time to finish hacking both systems.

“The problem is, there are so many who have the motive and means. On a venture as ad hoc as this one, there’ll always be opportunities. The Chinese are almost too obvious a candidate. Doesn’t mean they wouldn’t, especially if they were sure we couldn’t trace it back. Then there’s Brazil, India, the United Central American States… Did you know most of our code jockeys come from UCAS these days?”

Four minutes and Vintner was back. “The logs check. There’s been version coherency on board for at least two full generations of software. The build uploads are done simultaneously to the ship’s two power systems after they’ve passed QC on Earth.”

“What does that mean?” Santeros asked.

“It means that if it is a software problem, either the version logs have been falsified to spoof coherency or an Easter egg was inserted outside the normal process. Either way, someone’s messing with us,” Crow said.

Minutes passed.

Santeros chewed her pen, an ancient and anxious reflex she kept well hidden from the public. “Okay, fellows. Anything else, Mr. Crow?”

Crow said, “One last point. The timing. If it’s an Easter egg, the egg didn’t go off until we were solidly past solar system escape velocity. If the intent was to shut down both reactors, and if we couldn’t fix it, we wouldn’t ever be coming back. We’d be on a one-way trip into interstellar space.”

Загрузка...