"확인 완료 버튼을 누른 사람을 찾았습니다."
에드렌의 말에 회계실이 조용해졌다. 피코는 막 열어 본 과자 봉지를 천천히 접었다. 몰트는 펜을 내려놓았다. 제르칸은 왜인지 왕관을 고쳐 썼다.
"그 사람이 누굽니까?"
"아직 말할 수 없습니다."
"왜요?"
"기록이 말하는 건 버튼을 누른 단말기의 사용 계정입니다. 실제 손가락의 주인까지 확인한 게 아니니까요."
나는 의자에 등을 기댔다. 좋다가 만 게 아니었다. 오히려 제대로 된 대답이었다. 지난번처럼 이름 하나를 잡고 범인이라고 떠드는 실수를 하지 않으려면 그 구분부터 해야 했다.
"계정명부터 알려 주세요."
"변환운영-공동3."
나는 벌떡 일어났다.
"또 3번입니까?"
"그렇습니다. 그러나 예전 대리번호 0003과 동일하다는 뜻은 아닙니다."
피코가 입을 열었다.
"이 세계에는 세 번째가 너무 많아요. 셋은 죄가 없잖아요."
맞는 말이었다. 숫자 3에게 사과해야 할 일이 생길지도 몰랐다.
공동 보증 회계소는 여러 기관이 소유한 오래된 건물이었다. 시험물 보관실은 회계소 아래층에 있었고, 보관실 앞에는 쇠로 된 문이 두 개 달려 있었다. 하나는 은행 보관실, 하나는 언어 연락 실험실. 과거에는 기술 자료를 금고와 같은 수준으로 보호했다고 한다.
"왜 언어 시험 자료를 돈처럼 보관했을까요?" 루시아가 물었다.
"이름이 잘못 전달되면 실제 사람이 위험해질 수 있으니까요." 나는 대답했다.
아레인은 원본과 변환 사본의 열람 자격을 확인했다. 윤서진의 비공개 기록이 섞여 있었기에 우리는 공개할 필요가 없는 부분을 가렸다. 피코는 오늘도 회계실을 지키고 있었다. 대신 작은 편지를 보냈다.
[버튼이 눌렸다고 사람이 동의한 건 아니에요.]
나는 편지를 접어 수첩에 넣었다.
변환표의 첫 열에는 원본 상태가, 두 번째에는 새 시스템의 상태값이 적혀 있었다. '언어 형태 적합'은 본래 '기술 시험 완료'에 대응하도록 되어 있었다. 그러나 후대 긴급 전환표에는 '신원 확인 완료'라는 표기가 붙어 있었다.
"이거군요."
"네." 에드렌이 말했다. "이 사본이 적용된 뒤 자료가 바뀌었습니다."
"누가 변경 요청을 했죠?"
"긴급 피난 연락망 통합 프로젝트에서 일괄 변경이 올라왔습니다."
나는 변경 요청서를 읽었다. 이유는 분명했다. 전쟁 중 대피자 이름을 세 번씩 확인하다가 구조가 지연되는 일이 있었다. 다른 나라에서 들어온 연락망은 서로 상태값이 맞지 않아 아예 명단에 표시되지 않는 경우도 생겼다.
"그때 사람을 구하려고 만든 건 이해됩니다."
"저도 그렇습니다." 에드렌이 말했다.
"하지만 언어 표본이 사람이라는 보장은 없었잖아요."
우리는 변경 요청서의 기술 내용을 읽었다. 현장 임시 연락은 빠르게 연결하되, 실제 사람의 신원 확인과 동의 여부는 별도의 대기 상태로 남겨 두라는 문구가 있었다. 그 문구는 원래부터 있었다.
그런데 운영 단말기 화면에서는 '확인'이라는 단어가 한 개의 표시등으로 합쳐져 있었다. 현장 직원들이 서로 다른 두 확인을 구분하지 못하도록 설계한 셈이었다.
"실수를 부르는 화면이었군요."
레타는 내 말을 정정했다.
"정확히는 실수를 막는 장치가 부족했습니다. 그런데 테스트에서 그 문제가 보고됐는지는 별도로 확인해야 합니다."
그녀는 오래된 시험 장치의 복제기를 준비해 놓았다. 승인된 안전한 환경에서만 작동하고 실제 사람의 기록에는 접근하지 못하는 장치였다. 우리는 시험 표본 세 개를 입력했다. 두 개는 가상 이름이었고 하나는 아무 뜻이 없는 기호였다.
'언어 시험 적합'을 선택하자 화면에는 초록불이 떴다.
[확인 완료.]
"정말 이렇게 보였네요."
"하지만 뒤쪽 원장은 여전히 기술 확인이라고 기록할 수 있습니다." 레타가 말했다. "전환 과정에서 어느 쪽 상태값을 읽었는지가 핵심입니다."
우리는 세 번 시험하고 세 번 같은 결과를 얻었다. 나는 시험 자료라는 커다란 도장을 찍었다. '절대 감사'는 숫자와 분류 불일치를 알리는 능력이었지만, 표시등을 보고 사람의 진심을 알아맞히는 힘은 아니었다.
잠시 후 에드렌은 사용 계정의 권한 목록을 가져왔다. 변환운영-공동3은 한 사람이 아니라 당시 세 기관이 공동 사용하던 기술 배포 계정이었다. 작업에 접근하려면 개인 신원패를 한 번 더 찍도록 규정돼 있었다.
"그럼 개인 신원패 기록을 보면 되겠네요."
"있습니다. 일부가 손상됐지만 시간대별 접근 번호는 남았습니다."
작업 당일에는 세 번의 접속이 있었다. 첫 접속은 기술사, 두 번째는 기록 검수 담당, 세 번째는 배포 감독관이었다. 하지만 최종 '확인 완료' 작업은 야간 시험 도중 자동 실행된 것으로 표시됐다.
"자동 실행이면 아무 책임도 없다는 뜻입니까?" 루시아가 물었다.
"아닙니다. 누가 자동 실행 조건을 승인했는지는 확인해야죠."
레타는 당시 실행 스크립트를 조심스럽게 검토했다. 화면에 뜨는 버튼은 사람이 직접 누르도록 생겼지만, 야간에는 보안 토큰이 맞으면 예약된 배포 작업이 같은 버튼 동작을 수행했다. 로그에는 하나의 '누름'으로 보였을 것이다.
나는 잠시 생각했다. 수많은 문서의 '확인 완료'가 만들어진 장면은 마침내 보였다. 누군가 밤에 몰래 숨어들어 내 이름 옆에 도장을 찍는 모습이 아니었다. 규칙 하나가 잘못 적용되자 데이터가 한꺼번에 바뀌었을 가능성이 컸다.
그렇다고 잘못을 용서한다는 뜻은 아니었다. 일어난 일을 제대로 알아야 책임을 물을 수 있다는 뜻이었다.
시험 결과를 설명하기 위해 레타는 실험실 한쪽에 작은 나무 인형 세 개를 늘어놓았다. 인형마다 서로 다른 모자를 씌워 놓았다. 하나는 언어 시험용, 하나는 가상의 피난민, 나머지 하나는 기계 점검을 위한 무의미한 문자열을 나타낸다고 했다.
"저걸 왜 인형으로 만들었습니까?" 내가 물었다.
"당신들이 종이만 보면 누가 진짜 사람인지 헷갈려 하길래요."
"기술사님은 사람 마음을 너무 정확하게 아시네요."
레타는 짧게 웃었다. 그녀는 나무 인형의 발목에 번호표를 달았다. 실제 사람의 정보가 아닌 시험용 번호였다. 그중 둘째 인형에만 작은 모자를 씌우고 '생존 확인 전'이라고 적었다.
"여기서 언어가 전달됐다는 사실을 검사하겠습니다. 그런데 이 버튼을 누르면 어떤 일이 생길까요?"
나는 잠깐 고민했다.
"전송 결과가 나와야 하겠죠."
레타가 버튼을 누르자 초록불이 켜지고 세 인형 머리 위에 모두 같은 글자가 떠올랐다.
[확인 완료.]
루시아가 눈살을 찌푸렸다.
"저 나무 조각들이 전부 사람이란 뜻인가?"
"아니죠. 그런데 프로그램이 그렇게 보이게 만드는 겁니다." 레타가 대답했다.
우리는 추가 설명 시험에서 로그 원본과 화면 표시를 따로 저장했다. 원본에는 여전히 '언어 형태 적합'이라는 말이 남아 있었고, 사람에게 보여 주는 화면에서만 '확인 완료'가 떴다. 한쪽은 기술적 사실이고, 다른 쪽은 모호한 안내였다.
"그러면 화면을 고치면 전부 해결됩니까?"
"화면만 고치면 과거 자료를 읽는 배포기가 남습니다. 실제로 어떤 값을 전송했는지도 확인해야 해요."
레타는 다음 시험에서 후대 배포 장치를 연결했다. 이번에는 표시뿐 아니라 새 데이터의 신원 상태가 바뀌었다. 나는 눈앞에서 작은 나무 인형 하나가 공식 등록자로 승격되는 모습을 봤다. 프로그램은 그게 사람이 아니라는 사실을 알 방법이 없었다.
"기계는 규칙대로 했네요."
"규칙이 잘못됐지요." 몰트가 말했다.
레타가 마지막 보강 시험을 준비하는 동안 나는 한 가지를 제안했다. 자동 변환 전에 당사자 확인 절차가 없으면 '확인 대기'를 유지하도록 하는 규칙을 넣어 보자는 것이었다. 그녀는 복제 장치에 그 조건을 추가했다.
이번에는 초록불 대신 노란불이 들어왔다.
[언어 시험 통과. 신원 확인 대기.]
"이게 원래 필요했던 표시군요."
"그렇습니다. 다만 당시에는 이를 구현할 기술과 시간이 부족했을 수도 있습니다. 그래서 옛 기록을 함께 봐야 해요."
나는 고개를 끄덕였다. 오늘 기술로 쉽게 고칠 수 있다고 해서 과거의 사람이 왜 잘못됐는지 바로 설명할 수는 없었다. 다만 지금 같은 실수를 반복할 이유가 없어진다는 건 확실했다.
점검을 마치자 레타는 나에게 시험 결과서의 서명란을 보여 줬다. 나는 '참관 확인' 칸에만 서명했다. 기술적 적합 여부를 승인할 권한은 기술사에게, 법적 효력 판단은 조사관에게 있었다.
"이 정도로 나눠서 써야 합니까?" 루시아가 물었다.
"안 나누면 제가 기술 배포를 승인한 사람이 될 수도 있으니까요."
"그건 위험하군."
"제 직장 생활 전체가 위험해집니다."
루시아는 진지하게 고개를 끄덕였다. 내게 전투를 시키는 것보다 더 위험한 일이 기술 장치 배포 승인을 맡기는 일이었다.
실험실을 나가려는데 기록소 직원이 나를 불렀다. 그는 옛 시험 자료 일부를 오늘의 교육 자료로 사용해도 되는지 물었다. 나는 실제 이름과 개인정보가 들어가지 않은 복제 시험만 허용하는 게 좋겠다고 말했다. 그 역시 동의했다.
"이런 실수를 다시 하지 않게 가르쳐야 합니다."
"맞습니다. 사람의 이름은 교육 자료가 되어서는 안 되니까요."
그는 그 말을 메모했다. 내 말이 누군가에게 실무 지침이 되는 광경은 아직 낯설었다. 한국에서는 회의에서 아이디어를 내면 상사가 자기 말처럼 발표하곤 했다. 이세계에서는 가끔 마왕이 내 말을 그대로 복사해 자기 왕국의 법처럼 선언했다. 둘 중 어느 쪽이 더 나은지도 때에 따라 달랐다.
회계실로 돌아와 피코에게 나무 인형 이야기를 해 줬다. 아이는 잠깐 생각하더니 인형마다 다른 과자를 주면 구분이 되지 않겠느냐고 했다.
"과자를 먹는다면 진짜 사람이라는 뜻이에요."
"나무 인형은 과자를 못 먹겠지."
"그런데 도윤 님은 세 개 다 먹을 수 있잖아요."
"그건 본인 확인 수단으로 부적절해."
"왜요?"
"그러면 내가 모든 사람으로 등록되거든."
피코는 크게 웃었다. 나는 자존심이 조금 상했지만, 그 웃음이 사무실을 밝게 만들었다는 사실만큼은 인정했다.
점심에는 회계소 지하 식당에서 국수를 먹었다. 메뉴판에는 '용사 정식'이라는 음식이 있었다. 가격이 일반 정식의 세 배였다.
"용사 정식은 뭐가 다른가요?" 내가 물었다.
주인은 자신 있게 말했다.
"고기가 두 배입니다."
"그럼 가격이 왜 세 배죠?"
"전설값이죠."
나는 이세계에 와서 가장 정직한 가격 책정을 보았다. 적어도 왜 비싼지 숨기지는 않았다.
다시 돌아온 열람실에서 추가로 중요한 점을 발견했다. 야간 예약 실행 시점은 내 소환 열하루 전의 임시 후보 입력보다 나중이었다. 그리고 그 예약 작업이 승인된 날짜는 실제 소환보다 이틀 앞이었다. 준비된 이름이 며칠 뒤 확인 완료로 승격된 것이었다.
"그럼 내 소환이 예약 작업 때문에 일어난 건가요?"
"그건 아직 단정할 수 없습니다." 에드렌이 답했다. "소환을 실행한 별도 마법 의식이 있었고, 이 시스템은 준비 명단을 제공했을 수 있습니다."
나는 그 차이를 적어 두었다. 데이터를 잘못 분류한 사실과 실제 소환을 결정한 책임은 연결될 수 있지만 같지는 않았다.
마왕성으로 돌아오자 피코가 잔뜩 기대한 얼굴로 물었다.
"버튼 누른 사람 잡았어요?"
"버튼이 자동으로 눌린 이유를 찾았어."
"그럼 사람은요?"
"그 자동 실행을 승인한 사람이 누구인지 찾고 있어."
피코는 잠시 생각하다가 고개를 끄덕였다.
"그 사람이 버튼을 다시 누른다고 고쳐지는 건 아니겠네요."
"그렇지. 기록과 권리도 다시 확인해야지."
밤에는 베실에게서 별도 자금 보고가 왔다. `00-성전` 최초 보전금 중 실기탁 금화 여덟 닢은 여전히 원금으로 보관돼 있었고, 현재 재정 문제와 혼동하지 않도록 계정을 분리한 상태였다. 나는 숫자를 다시 확인했다. 오래전에 누군가 지키려고 맡긴 돈이었다. 그 돈으로 지금의 실수를 덮고 싶지는 않았다.
마지막으로 배포 승인표를 열어 보니, 세 기관의 실무 확인란 아래에 비정상적으로 긴 공란이 있었다. 최종 서명란이 비어 있는 것처럼 보였지만 그 옆에 작은 참조 번호가 적혀 있었다.
[긴급 개시 허가 14-B.]
나는 그 번호를 동그라미 쳤다. 다음에 찾아야 할 곳은 분명해졌다. 누가 야간 자동 실행을 허가했으며, 그때 어떤 위험을 알고 있었는가.
제186화 댓글 0
댓글·공감·신고는 로그인 후 이용할 수 있습니다. 이전 익명 댓글은 그대로 표시됩니다.
댓글을 불러오는 중입니다.