TECH 으로 돌아가기
TECH HACKER NEWS 오늘 9분 읽기 34 READS

배터리도 서버도 없이 200밀리초: 스이카 IC카드가 만들어지기까지

배터리도 서버도 없이 200밀리초: 스이카 IC카드가 만들어지기까지
SOURCE IMAGE · HACKER NEWS

일본에서 전철을 타본 사람이라면 개찰구에 초록색 스이카(Suica) 카드를 갖다 대본 경험이 있을 것이다. 1990년대에 개발된 이 카드는 거의 30년 가까이 일본의 대중교통을 떠받쳐 왔지만, 그 안에 담긴 엔지니어링은 지금 기준으로 봐도 만만치 않다. 배터리도, 실시간 인터넷 연결도 없이 카드를 갖다 대는 그 찰나에 복잡한 거래가 완결되기 때문이다. 캐시리스 결제나 비접촉 결제가 흔하지 않던 시절에 이런 시스템을 실무에 올렸다는 점을 생각하면, IC 교통카드는 그냥 당연한 물건이 아니다.

서버를 거치지 않는다는 설계 결정

스이카 카드의 칩에는 두 가지가 들어 있다. 고유한 카드 ID와 현재 잔액이다. 두 값 모두 중앙 서버가 아니라 카드 자체에 저장된다. 단말기에 카드를 대면 그 자리에서 카드의 값을 읽고 다시 쓰는 작업이 순식간에 이뤄지며, 전체 거래는 200밀리초 안에 끝난다. 매번 태그할 때마다 카드와 단말기는 상호 인증을 거치고, 위조를 막기 위해 그때그때 새로운 암호화 키를 생성한다. 카드에는 전원이 없어, 개찰구 리더가 내보내는 전자기장이 거래를 마칠 만큼의 짧은 순간 동안만 카드에 전력을 공급한다.

왜 매번 중앙 서버와 동기화하지 않을까. 이유는 단순하다. 그렇게 하면 너무 느리기 때문이다. 도쿄 역들을 하루에 통과하는 인원을 생각하면, 태그할 때마다 서버를 호출하는 방식은 위험하다. 거래가 길어져 이미 혼잡한 개찰구에서 사람들이 멈춰서게 되고, 지연이나 패킷 손실, 서버 다운 같은 네트워크 문제가 생기면 출퇴근 시간대에 개찰구 자체가 멎어버린다. 그래서 카드와 단말기가 둘 사이에서 모든 것을 처리하고, 각 개찰구는 거래 로그를 실시간이 아니라 주기적으로만 중앙 서버에 올려 보낸다. 이 'Gate ↔ Card, 서버 동기화는 나중에'라는 구조가 스이카의 핵심 설계다.

자기식 개찰구에서 IC로 가는 우회로

오랫동안 일본 철도는 일본국유철도가 운영했지만, 1987년 민영화되면서 JR동일본, JR서일본 등 지역별 JR로 나뉘었다. 당시 도쿄권 상당수 역은 자동 개찰구조차 없어, 역무원이 종이 표에 직접 펀치로 구멍을 뚫었고 이는 러시아워마다 병목을 만들었다. 반면 간사이의 일부 사철은 이미 표를 넣으면 반대편으로 나오는 자기식 개찰구를 쓰고 있었다. 성장하는 도쿄권을 맡은 JR동일본은 현대화를 고민했고, 여러 회사가 아이디어를 들고 접근했다. 그중 하나가 비접촉 IC 기술이었다.

소니는 1988년부터 IC 카드를 연구했지만 애초 목표는 전철이 아니라 물류였다. 상자나 소포에 무선 태그를 붙여 일일이 스캔하지 않고도 리더가 원거리에서 식별하게 한다는 구상이었고, 그 바탕 기술이 소니의 독자 비접촉 방식인 펠리카(FeliCa)였다. 펠리카는 넓은 의미의 RFID 계열 중 근거리에서 빠르고 안전하게 데이터를 처리하도록 특화된 갈래다. 소니는 이를 교통카드로 제안했지만, 당시 기술은 도쿄 철도망이 요구하는 속도와 신뢰성에 못 미쳤다. 검증된 간사이의 자기식이 이미 있는데 수십억 엔을 미검증 기술에 넣기를 JR동일본도 주저했고, 결국 1990년대 초 도쿄에도 같은 자기식 개찰구를 깔아 사람 펀치를 대체했다.

홍콩에서 열린 돌파구, 그리고 도쿄의 벽

펠리카를 접을 뻔했던 소니에 기회는 밖에서 왔다. 홍콩의 크리에이티브 스타(현 옥토퍼스)가 전철·지하철·버스·페리를 아우르는 통합 교통카드를 찾고 있었던 것이다. 소니는 10cm 거리에서 읽히고 100밀리초 안에 응답하는 카드를 목표로 잡아 입찰을 따냈고, 1997년 출시된 옥토퍼스 카드는 3개월 만에 300만 장이 발급되며 대성공했다. 이 검증을 지켜본 JR동일본은 자체 시험을 이어가며 소니 기술에 마음을 열었고, 양측은 정식으로 손을 잡았다.

다만 옥토퍼스의 100밀리초와 스이카의 200밀리초는 같은 잣대가 아니다. 옥토퍼스의 수치는 카드와 리더 간 무선 통신만을 가리켰고 운임 계산은 포함하지 않았다. 실제 옥토퍼스의 전 과정은 약 300밀리초로 알려져 있다. 반면 JR동일본의 200밀리초는 통신부터 운임 계산까지 전부를 담아야 했다. 도쿄의 JR·지하철·사철이 얽힌 노선망에서 진입·퇴출 정보를 바탕으로 요금을 산정하고 잔액을 차감하는 일을, 전원도 없는 카드가 전력을 받는 찰나에 끝내야 했으니 목표는 오히려 더 빡빡했다. 소니는 리더의 통신 범위를 85mm로 잡아 당시 경쟁 방식의 두 배로 넓혔는데, 이는 거래를 더 일찍 시작해 더 빨리 끝내 승객이 카드를 정확히 맞추려 멈추지 않고 통과하게 하는 실질적 이점이었다.

기술이 아니라 각도의 문제

정작 프로젝트를 위기로 몬 것은 기술이 아니었다. 시제품 터치 패널을 시험하자 오류율이 기존 자기식 표보다 훨씬 높게 나왔다. 패널을 맡은 산업 디자이너 야마나카 신지는 훗날 블로그에서 '테스터의 거의 절반이 개찰구를 통과하지 못했다'고 회고하며, '다섯 번에 한 번 성공했다. 타율 2할'이라 불평한 임원의 말을 인용했다. 실패율이 너무 높아 경영진은 프로젝트 중단을 검토했다. 문제는 평평한 리더가 사용자에게 무엇을 하라는지 알려주지 못한 데 있었다. 사람들은 이를 바코드 스캐너처럼 다뤄 너무 빨리 스치거나 패드 위로 높이 띄웠다.

'여기에 대세요'라는 안내만으로는 해결되지 않았다. 야마나카 팀은 네 개의 새 시제품을 만들어 전시회에서 사용자 시험을 하고 영상을 분석한 끝에, 리더를 살짝 기울인다는 단순한 답을 찾았다. 정확히 13.5도 기울이자 손이 앞으로 나가는 자연스러운 동작과 맞아떨어져, 사용자가 본능적으로 리더에 손을 잠깐 얹게 됐고 카드가 리더의 영역에 머무는 시간이 확보됐다. 멀리서 리더가 잘 보이는 효과도 있었다. 이 재설계로 오류율은 1% 아래로 떨어졌고, 그 디자인은 특허로 등록돼 오늘날 IC 카드 리더의 표준이 됐다.

이름은 공개 공모로 정해졌다. 당선작 스이카는 초록빛 색채의 바탕이 된 수박(스이카)에 대한 귀여운 언급이면서, 'Super Urban Intelligent CArd'의 약자이자 '술술, 매끄럽게'를 뜻하는 스이스이(すいすい)를 겹쳐 놓은 이름이다. 낯선 기술을 친근하게 만들기 위해 그림책 작가 사카자키 지하루가 만든 펭귄 캐릭터를 마스코트로 삼았다. 프로젝트 리더 시이바시 아키오는 새 천 년 첫날인 2001년 1월 1일을 상징적 출시일로 잡았지만 준비가 늦어져 그해 11월 18일로 미뤘고, 그날 도쿄권 424개 역의 3,200개 개찰구가 일제히 가동됐다. 출시 19일 만에 100만 장, 두 달 뒤 200만 장, 2002년 10월엔 500만 장이 발급됐다.

한국 실무자 입장에서 스이카가 주는 교훈은 뚜렷하다. 대규모 트래픽 환경에서 '매 요청을 중앙에서 처리한다'는 직관적 설계가 오히려 최악일 수 있다는 점, 그리고 로컬 처리와 지연된 동기화라는 결정이 성능뿐 아니라 장애 격리 측면에서도 합리적이라는 점이다. 동시에 프로젝트를 살린 것이 알고리즘이 아니라 리더를 13.5도 기울인 인간공학적 재설계였다는 사실은, 아무리 빠른 백엔드도 사용자가 올바르게 상호작용하지 못하면 무의미하다는 오래된 진실을 다시 확인시킨다. 다만 이 이야기는 도쿄라는 특정한 밀집·규모 조건에서 나온 답이며, 오프라인 잔액 저장 방식이 갖는 분실·정산·보안 같은 트레이드오프까지 원문이 상세히 다루지는 않는다는 점은 감안해 읽을 필요가 있다.

SOURCE · HACKER NEWS
원문 전체 보기 → https://www.tokyodev.com/articles/the-story-of-suica
SHARE
NEXT · CHOOSE

변화를 읽었다면,
내가 만들 수익 구조를 고릅니다.

정보를 더 모으는 데서 멈추지 않고, 광고·외주·판매·중개·구독 중 내 상황에 맞는 출발점을 정해보세요.

21가지 수익 구조 살펴보기
처리 중...