ORIGINAL FICTION
제188화 — Amara의 지도
지난 화 끝부분 다시 보기
Amara Okafor는 조직도를 싫어했다.
“현실은 이렇게 안 움직입니다.”
Daniel이 물었다.
“그럼 뭘 봅니까?”
Amara는 지도 하나를 띄웠다.
기관 이름보다 선.
전력회사 → 병원.
병원 → 산소공급업체.
산소 → 화학공장.
화학공장 → 전력.
통신 → 모두.
운송 → 연료.
위성 → 통신.
작은 순환.
“이게 문제입니다.”
한 노드가 다른 노드에 의존.
그리고 다시 돌아온다.
Daniel이 말했다.
“dependency graph.”
“네.”
그는 익숙한 분야.
병목.
Amara가 말했다.
“다만 기술의존만 보면 안 됩니다.”
사람.
법.
결제.
국경.
연락.
첫 사례.
병원 비상 산소.
산소업체는 전력 필요.
정전 때 병원이 산소를 더 필요로 하는데 산소생산도 줄 수 있다.
Daniel이 표정 굳음.
Mutual Aid 계약이 한쪽만 보면 부족.
전력 우선순위에 산소공급업체도.
의료 중요 인프라의 2차 노드.
또 공급망 tier-N.
Daniel은 웃었다.
“모든 분야가 공급망이네요.”
Amara가 말했다.
“문명 자체가요.”
그 문장이 무거웠다.
Amara는 `dependency map`을 중앙 통제도구로 쓰지 않았다.
목적.
순환의존.
single-source.
비상시 서로 모순되는 계약.
찾기.
첫 지도에서 놀라운 것.
데이터센터 비상발전기 연료.
연료 터미널의 출하 시스템은 데이터센터 클라우드 서비스에 일부 의존.
정전 시 데이터센터가 연료를 필요로 하는데 연료 출하 시스템이 클라우드 장애에 약함.
완전한 원형은 아니지만 위험.
해결.
연료 터미널 로컬모드.
오프라인 주문.
또 boring infrastructure.
두 번째.
철도 전력복구 장비 운송.
철도 신호통신이 일부 같은 통신사.
통신사 복구장비도 철도 사용.
상호 우선계약.
Daniel은 지도 선을 줄이고 싶었다.
Amara가 말했다.
“의존성을 없애는 게 목표 아니에요.”
“왜.”
dependency map 첫 버전을 공개하자 한 시민단체가 비판했다.
“기업들 취약점을 모아놓은 공격지도 아닌가요?”
정확한 우려.
상세 지도는 위험.
사이버.
범죄.
정치.
Amara가 공개범위를 다시 줄였다.
일반대중: 분야간 의존패턴.
참여기관: 자기 관련 연결.
위기 조정팀: 필요범위.
전체 상세: 어디에도 한 사본으로 두지 않음.
Daniel이 말했다.
“지도도 분산.”
Amara가 웃었다.
“당연.”
공통상황망과 같은 철학.
필요한 사람이 필요한 만큼.
첫 보안감사에서 실제 문제가 발견됐다.
한 참여기업이 API에 상세 생산능력을 과도하게 노출.
경쟁기밀.
수정.
Daniel은 중요한 걸 느꼈다.
복원력 데이터를 많이 공유할수록 보안 실패가 참여를 죽일 수 있다.
그래서 최소 데이터.
신뢰.
Whitaker.
Elena 보안연구팀.
서로.
또 하나의 의존.
dependency map은 `dependencies`만 아니라 `substitutions`도 기록하기 시작했다.
병원 산소: 공급사 A/B. 현장 생산. 대체 치료 일부.
통신: 광섬유. 위성. 라디오.
공장: 공급업체. 지역 대체.
전력: 그리드. 마이크로그리드. 발전기.
Daniel이 말했다.
“그래프가 훨씬 복잡.”
Amara가 말했다.
“대신 질문이 바뀝니다.”
`이 노드가 죽으면 끝인가?`
에서
`얼마나 오래, 어떤 대체로 버티나?`
시간축.
중요.
한 병원은 산소공급사 두 곳.
겉으로 이중화.
둘 다 같은 상류 액체산소 공장.
공통뿌리.
지도에서 발견.
세 번째 경로.
현장 농축기.
완전 대체는 아님.
중환자 수요 일부.
그래도.
Daniel의 눈빛이 달라졌다.
공급업체 이름 두 개가 독립성을 보장하지 않는다.
지난 삶의 복제노드 문제.
뿌리까지.
MCI process genealogy 경험과 연결.
dependency graph + genealogy.
강력.
그렇다고 모든 상류를 무한 추적할 수 없다.
위험이 큰 것부터.
의료.
물.
전력.
통신.
식량.
Daniel은 세계를 그래프로 다 그리고 싶은 욕구가 생겼다.
Amara가 막았다.
“그러다 지도가 현실보다 늦어집니다.”
정확.
지도 유지비.
데이터.
변화.
목표.
완벽한 세계모델이 아니다.
결정에 충분한 핵심 의존.
Daniel은 고개를 끄덕였다.
현재 데이터.
현재 목적.
또.
한 도시 파일럿에서는 dependency map을 시민에게 간단히 보여줬다.
“정전 때 물은 어디까지.”
“휴대전화가 안 되면.”
“약은.”
사람들이 자기 준비를 조정.
가정용 물.
배터리.
약.
정부가 모두 제공할 수 없다.
개인의 준비도 문명연속성 일부.
단 책임 떠넘기기 금지.
Amara가 강조.
“개인 준비는 공공인프라 대체가 아닙니다.”
Daniel이 고개를 끄덕였다.
복원력은 모든 책임을 가정에 넘기는 것도, 모든 걸 중앙정부가 하는 것도 아니다.
여러 층.
사람.
지역.
기업.
국가.
국제.
각자 할 수 있는 것.
그 사이 연결.
Amara의 지도는 그 연결이 어디서 끊길 수 있는지 보여줬다.
Daniel은 그걸 보며 NEXUS보다 훨씬 작은 위기에도 문명이 얼마나 많은 보이지 않는 약속 위에 서 있는지 처음부터 배우고 있었다.
“문명은 의존해서 효율적입니다.”
그럼 목표.
의존을 알고, 끊겼을 때 대체경로를 안다.
Daniel이 고개를 끄덕였다.
분산이 모든 연결을 끊는 게 아니다.
오히려 연결을 보이게.
첫 공개 지도는 보안 때문에 세부를 숨겼다.
분야별 일반패턴.
정책기관들은 관심.
“국가 차원으로.”
Amara는 조심.
정부가 지도 전체를 통제하면 기업들이 데이터 안 낼 수 있다.
독립 비영리 컨소시엄.
참여자는 자기 상세정보 제어.
공통 위험만.
또 하나의 독립기관.
Daniel이 웃었다.
“다 회사 밖으로 나갑니다.”
Amara가 말했다.
“그래서 참여하는 거죠.”
맞다.
Helioxen 소유라면 경쟁사가 안 들어온다.
정부 소유라면 민감기업이 꺼릴 수 있다.
중립.
Daniel은 자금 일부를 넣되 의결권 제한.
익숙.
Ethan이 나중에 말했다.
“너 이제 회사 만드는 것보다 기관 만드는 게 취미.”
Daniel이 웃었다.
“기관도 안 만듭니다. 사람들이 만듭니다.”
“돈은 네가.”
“일부.”
Amara가 만든 지도는 화려하지 않았다.
그런데 Daniel은 Nightglass 하늘지도만큼 중요하게 봤다.
NEXUS를 찾아도.
로켓이 있어도.
충돌을 피해도.
문명이 일상 인프라 한두 고리 때문에 무너지면 소용없다.
첫 삶에는 너무 늦게 봤던 층.
이번에는 2022년 전에 보기 시작한다.
그게 Daniel에게 큰 차이였다.
Amara의 지도팀은 이후 `unknown dependency`도 따로 표시했다.
알고 있는 의존.
모르는 의존.
둘은 다르다.
한 분야가 `Green`이어도 상류 데이터가 부족하면 신뢰도 Yellow.
Daniel이 말했다.
“색이 너무 많아지는데.”
Amara가 웃었다.
“그게 현실.”
그러나 사람들은 복잡한 지도를 안 본다.
그래서 핵심 위험만.
`known critical`
`known substitutable`
`unknown criticality`
세 분류.
unknown이 많은 분야는 조사 우선.
첫 결과.
소형 의료기기 부품.
수입.
상류공장 위치 불명.
병원들은 재고만 봤다.
MCI가 공급망 추적.
실제 특정 국가 공장 한 곳 비중 높음.
장기 장애 시 병목.
대체품 인증.
평시부터.
Daniel은 이런 발견이 NEXUS보다 당장 현실적이라 느꼈다.
태풍.
분쟁.
파업.
무엇으로도 끊길 수 있다.
Continuity가 종말전용이 아니라는 증거.
그럴수록 참여가 늘고.
데이터도 좋아진다.
Daniel은 자기 비밀가설이 없어도 시스템이 충분히 성장할 수 있다는 걸 다시 확인했다.
읽은 화로 기록했습니다. 다음 화는 바로 이어집니다.