1P by GN⁺ | ★ favorite | 댓글 1개
  • 영국 Post Office Horizon 기소 스캔들은 현대 영국의 대규모 오판 사례로, 개인·조직 실패뿐 아니라 법과 법원 절차가 어떤 역할을 했는지 보여줌
  • 법원은 반대 증거가 없으면 기계 장치가 정상 작동했다고 추정하며, 이 출발점은 컴퓨터 기록에도 적용됨
  • 이런 증거 추정 아래에서는 컴퓨터 기록만으로 회계 부족액 같은 사실이 입증될 수 있고, 피고인이 오류를 입증해야 하는 구조가 됨
  • 1984년 Police and Criminal Evidence Act의 Section 69는 검찰이 컴퓨터의 정상 작동을 보여야 한다는 반대 규칙을 뒀지만, 1999년 폐지됨
  • Section 69가 남아 있었다면 Post Office 기소의 진행 방식이 달라졌을 수 있으며, 폐지 이후 부담은 다시 피고인 쪽으로 넘어감

Post Office Horizon 스캔들과 법 절차의 책임

  • Post Office prosecutions scandal은 현대 영국의 가장 큰 대규모 오판 사례로 꼽힘
  • 사건은 개인적·제도적 실패가 겹쳐 있고, 법적 문서와 증거도 방대해 전체를 파악하기 어려움
  • 많은 분석은 Post Office 경영진, 변호사, 소프트웨어 제공사 Fujitsu의 실패에 초점을 맞춤
  • 그러나 적용된 법과 절차 역시 사건의 일부였고, 피고인에게 가혹하게 작동할 수 있음을 의사결정자들이 알았거나 알았어야 했다는 점에서 책임이 가벼워지지 않음

“컴퓨터는 정상 작동한다”는 증거 추정

  • 법률가들이 말하는 추정(presumption) 은 반대 증거가 없을 때 법원이 특정 상태를 기본값으로 받아들이는 장치임
  • 고전적 표현은 “반대 증거가 없으면 법원은 기계 장치가 관련 시점에 정상 상태였다고 추정한다”는 것임
  • 여기서 기계 장치에는 컴퓨터도 포함됨
  • 이 추정은 법원이 모든 상황에서 반드시 컴퓨터를 믿는다는 뜻이 아니라, 증거로 반박될 수 있는 출발점임
  • 반대 상태가 입증되지 않는 한, 법원은 해당 상태를 사실로 받아들일 수 있음

추정이 필요한 이유와 위험

  • 법원이 추정을 쓰는 것 자체가 문제는 아니며, 추정이 없으면 많은 사건을 실무적으로 처리하기 어려움
  • 추정은 사건의 쟁점을 관리 가능한 범위로 좁혀줌
    • 계약은 가짜로 입증되지 않는 한 사기적 문서가 아닌 것으로 볼 수 있음
    • 피고인은 정신이상으로 입증되지 않는 한 정신이상이 아닌 것으로 다뤄질 수 있음
  • 핵심은 어떤 상태가 기본값이 되는지, 그리고 어느 쪽이 그 기본값을 깨야 하는지임
  • 추정의 내용이 비현실적이거나 반박 조건이 지나치게 어렵다면, 추정은 사법을 돕는 장치가 아니라 오판을 낳는 장치가 됨

컴퓨터 기록이 유죄의 전제가 되는 구조

  • 컴퓨터가 정상 작동한다고 보는 규칙은 증거 추정에 해당함
  • 법원은 컴퓨터가 제대로 작동하지 않았다는 증거가 없으면, 컴퓨터 기록만으로 관련 사실이 입증됐다고 볼 수 있음
  • 예를 들어 컴퓨터 기록이 우체국장 또는 우체국 여직원의 재정 부족액을 보여주면, 법원은 이를 실제 부족액의 증거로 받아들일 수 있음
  • 이 전제를 흔들려면 피고인이 컴퓨터가 정상 작동하지 않았음을 보여야 함
  • 기소의 핵심 증거가 컴퓨터 기록일 때, 구조는 결국 “computer says guilty”가 됨

Section 69의 도입과 폐지

  • 이 증거 추정이 항상 같은 방향으로 작동했던 것은 아님
  • 1984년 제정된 Police and Criminal Evidence Act 1984 Section 69는 추정의 방향을 반대로 돌렸음
  • Section 69 아래에서는 피고인이 컴퓨터 오류를 보여야 하는 것이 아니라, 검찰이 컴퓨터의 정상 작동을 보여야 했음
  • 이 조항은 “반대 증거가 없으면 기계 장치가 정상 상태였다고 추정한다”는 기존 보통법 입장을 대체함
  • Post Office가 우체국장·우체국 여직원들을 기소할 당시 Section 69가 남아 있었다면, 사건 진행은 달라졌을 수 있음
  • Section 69는 1999년에 폐지됐고, 기존 보통법 추정이 되돌아옴
  • 그 뒤로는 검사가 컴퓨터의 정상 작동을 먼저 보여야 하는 것이 아니라, 피고인이 컴퓨터가 정상 작동하지 않았음을 보여야 하는 구조가 됨
  • Section 69가 어떻게 폐지됐고 그 이유가 타당했는지는 이어지는 글의 주제로 남음

댓글과 토론

Hacker News 의견들
  • Post Office 스캔들을 마지막으로 들여다봤을 때 받은 인상은, “우리가 IT 시스템을 너무 믿었다”는 말이 편리한 변명에 가깝다는 것이었음
    윗선은 문제를 잘 알고 있었고, 무고한 사람들을 기소하고 있다는 것도 알면서 자기 실패를 덮으려고 밀어붙인 것으로 보였음. 그렇다면 상당한 실형이 필요함. 사법 방해는 가벼운 범죄가 아니고, Paula Vennells가 의회에서 고의로 거짓말했다는 의혹까지 있음

    • Post Office 이사회 권력자들이 보조 우체국장들의 증거를 묵살한 데에는, 그들이 인도계·방글라데시계·파키스탄계 등 아시아계인 경우가 많았다는 점이 큰 영향을 줬다는 상당한 증거가 있음
      그래서 Post Office 이사회는 인종차별 때문에 단서들을 연결하지 못하는 심리적 장벽이 있었고, 수백 건의 허위 유죄 판결이라는 압도적 증거를 마주한 뒤에도 도덕성이 없어서 오히려 더 버텼음. 슬픈 기술 실패담이기도 하지만, 영국 이사회 문화에 대한 고발이기도 함. 이 참사는 Private Eye 잡지가 10년 넘게 다뤄 왔음
    • 왜 처벌 규칙, 결국 사람을 감옥에 넣거나 허용된 행동에 세금을 매기는 방식으로 이 문제를 풀 수 있다고 보나 싶음
      그 권력을 구조적으로 제거하자고 주장하는 편이 더 맞지 않나
    • 임원들이 예상한 처벌이 더 커졌다면, 보조 우체국장들의 문제가 더 빨리 해결됐을까, 아니면 더 늦어졌을까?
  • 평생 버그를 고치며 살아 보니, 컴퓨터 시스템이 überhaupt 작동한다는 사실 자체가 종종 놀라움
    Post Office 실패 시스템과 비슷한 일이 개인적으로도 있었는데, 증거를 제시해도 모두가 컴퓨터 시스템이 잘못됐을 가능성을 거부했음. 이해하려고 파고드는 일이 너무 번거롭기 때문이었음

    • “컴퓨터 시스템이 überhaupt 작동한다는 게 놀랍다”는 말에 공감함
      소프트웨어가 어떻게 만들어지는지 봐 왔기 때문에, 도대체 어떻게 전부 작동할 수 있는지 이해가 안 됨. 이 역설에 대한 내 답은, 사실 전부 작동하는 게 아니라는 것임. 우리는 작동하지 않는 것들을 다른 무엇으로 받아들이도록 스스로 훈련받았음. 사람들은 컴퓨터 시스템을 전지전능하고 무오류인 존재로 보거나, 반대로 희생양으로 취급함
    • 조금 더 뉘앙스를 보태면, 많은 인기 소프트웨어는 핵심 기능, 즉 그 소프트웨어가 존재하는 이유 자체가 작동하지 않을 정도로 망가져 있음
      예를 들어 TAP, Vueling, KLM 같은 항공사 웹사이트는 지난 2년 동안 사용해 보니 표를 예약하거나 계정에 로그인하지 못하게 만드는 버그가 자주 있었고, 작동하지 않는 때가 더 많았다고 봄. Instagram과 Google은 별 이유 없이 계정을 자동 비활성화해 왔고, Instagram에서는 두 달 동안 3번 겪은 뒤 그냥 포기하고 안 쓰게 됨. Skype는 쓰는 사람이라면 설명이 필요 없고, Teams는 “업데이트”를 아무리 해도 음소거 버튼이 실제로 음소거하지 않거나, 채팅 입력 중 문장 글자 순서가 뒤집히거나, 통화 중 갑자기 종료되고 응답하지 않는 등 놀라운 방식으로 실패함. 이런 생산성 손실은 전 세계적으로 상당할 것이고, 회사들이 낭비한 인건비는 Microsoft에 내는 라이선스 비용보다 클 가능성이 있음. Telegram은 외부 모니터를 제대로 처리하지 못해 배율이 망가지고 재시작해야 하며, iCloud는 모든 기기가 좋은 연결 상태여도 파일 동기화에 몇 초에서 한 시간가량 걸림
    • 대부분의 사람은 모든 것이 “대략” 작동한다는 사실을 받아들이기보다, 완벽하다고 생각하는 쉬운 길을 택하는 경향이 있음
      반대 증거를 계속 보면서도 그렇지만, 엔지니어로서는 이게 자연스럽고 효율적이라고 봄. 우선순위를 정해야 하고 어떤 버그는 다른 버그보다 덜 중요함. 모든 소프트웨어의 모든 버그를 고치기보다 교육, 보건, 기초 연구에 더 많은 노력을 들이는 편이 낫다고 생각함
    • 이런 일이 자주 생기는 이유는 기계가 대개 99%의 시간 동안은 잘 작동하기 때문임
      그래서 1%의 경우에 실패하기 시작해도 사람들은 앞선 99%에서 작동했다는 이유로 무시함. 결과를 신뢰하도록 훈련되어 있어서 의심 자체가 떠오르지 않음. Systemantics라는 책이 떠오름: https://www.amazon.com/Systemantics-Systems-Work-Especially-...
      그 책의 핵심 명제 중 하나는 “시스템은 자신이 한다고 말하는 일을 실제로 하지 않는다”는 운영상의 오류임. 사람뿐 아니라 엔지니어도 자주 잊음. 시스템이 X를 한다고 말한다고 해서 실제로 X를 하는 건 아님. 복잡한 IT 시스템에는 건전한 회의감을 길러야 함. 대부분의 시간에는 실패하지 않을 수 있지만, 결국 언젠가는 실패함
    • 소프트웨어 산업의 급성장은 수습 불가능한 혼란의 원인이기도 하고, 회사들이 말도 안 되는 돈을 써서 어떻게든 굴러가게 만드는 이유이기도 함
      적어도 그렇게 느껴짐
  • 이 기소들의 큰 문제 중 하나는 기소권자가 Post Office 자신이었다는 점임
    이 사건 전까지 Post Office에 그런 권한이 있는 줄 몰랐음. 사실상 Post Office가 고소인과 기소기관을 동시에 맡은 셈임. “Post Office Investigation Branch(IB)는 세계에서 가장 오래된 공인 범죄수사 조직이다. 335년 넘게 우편 관련 범죄를 적발하고 그 범죄자를 기소해 왔다.”
    https://www.postalmuseum.org/blog/the-post-office-investigat...

    • 잉글랜드에서는 누구나 기소를 제기할 수 있음
      이론적으로는 권력자를 책임지게 하는 수단이지만 비용이 매우 비싸서, 거의 모든 사적 기소는 실제로 기업들이 제기함
  • 이 스캔들은 처음 들었음
    불일치를 일으킨 소프트웨어의 주요 문제가 무엇이었는지 궁금함. 연결 끊김 같은 건가? Wikipedia에는 자세히 안 나와 있었음. 여기서 찾음: https://www.benthamsgaze.org/2021/07/15/what-went-wrong-with...

    • 이것은 우리 시대의 소프트웨어 관련 최대 스캔들 중 하나임
      더 알아보라고 권하고 싶지만, 속이 단단해야 함. 이 사건을 파고든 많은 사람이 근처 양동이를 찾게 됨. 정말 보기 힘든 내용임
    • 문제는 버그 자체보다 무관심 아니었나 싶음
      큰 시스템은 개발 중 거의 항상 버그가 생기지만, 보통 발견되고 고쳐짐. 여기서는 버그가 발견됐는데도 고쳐지지 않았음
    • 요약하면, 제3자가 제공한 분산 원장이 감사 불가능한 접근 권한을 가진 채 동기화가 어긋났고, “컴퓨터가 그렇다고 하니까” 지점 관리자들이 가상의 사기 혐의로 희생양이 됐음
  • 내 기본 전제는 컴퓨터가 제대로 작동하지 않는다는 쪽임
    실제로 제대로 작동하지 않는 경우를 너무 많이 봤기 때문임. 운전할 때도 Google Maps를 그대로 믿지 않고, 경로가 말이 되는지 확인하고 회전하라는 지점의 도로명과 출구 번호를 다시 봄. 너무 여러 번 당해 봤음

  • 프로그래머로서의 경험상 컴퓨터 자체는 보통 올바르게 작동함
    하드웨어 버그인 경우는 거의 없음. 하지만 소프트웨어는 늘 틀리고, 컴퓨터 하드웨어는 소프트웨어가 시킨 일을 맹목적으로 실행할 뿐임

    • 드라이버를 다루는 프로그래머로서의 경험상, 하드웨어는 거의 제대로 작동하지 않음
      “소프트웨어에서 고치면 된다”가 하드웨어 업계의 공식 표어여도 될 정도임
    • 그 구분은 이 글과 관련이 없음
      여기서 “컴퓨터”란 하드웨어와 소프트웨어로 구성된 시스템을 뜻하며, “컴퓨터”라는 말은 거의 항상 그렇게 쓰임. 법원이 반대 증거가 없으면 컴퓨터가 정상 작동한다고 추정하는 것이 문제임. 즉 법원은 컴퓨터 기록만으로 관련 사실이 입증됐다고 만족할 수 있고, 피고가 컴퓨터가 제대로 작동하지 않았다는 점을 보여주지 못하면 우체국장에게 재정 부족분이 있었다고 받아들임. 요컨대 기소 사건의 핵심이 컴퓨터 기록이면, 컴퓨터가 유죄라고 말한 것이 됨
    • 하드웨어에는 제대로 작동하게 만들기 위한 작은 특이 동작이나 해킹이 아주 많고, 실제로 자주 제대로 작동하지 않음
      아주 낮은 수준에서 하드웨어를 직접 만지는 소프트웨어가 이런 요철들을 보정할 것으로 기대되는 경우가 많음
    • 하드웨어에서도 일어남
      오래된 예로 Intel Pentium CPU에는 출시 뒤 발견된 유명한 버그가 두 개 있었음. 1994년에 리콜로 이어진 부동소수점 나눗셈 FDIV 버그와, 1997년에 발견되어 재부팅 전까지 프로세서를 멈추게 하는 F00F 버그임.
      https://en.m.wikipedia.org/wiki/Hardware_bug
    • 프로그래머가 아닌 사람들이 소프트웨어를 보며 겪는 것과 똑같은 경험을 설명하고 있음
      대개 작동하니까 거의 항상 사용자 문제라고 여기는 식임. 무엇을 찾아야 하는지 모르면, 아는 오류 사례만 배제하다가 위 글에서처럼 끔찍한 오판에 이르게 됨
  • 이 추정은 주로 컴퓨터 운영자가 박해받는 쪽과 같은 당사자일 때 문제가 됨

    1. 외부인이 컴퓨터의 작동을 검사하기 어렵거나 불가능하고, 2) 운영자는 컴퓨터 출력값을 조작하거나 오류를 숨길 강한 동기를 가짐. 반대 관점의 관련 사례로, 몇 년 전 저작권 트롤들이 BitTorrent 무리에서 자기들이 만든 로그를 법정 증거로 사용하던 일이 기억남. 이런 데이터는 위조가 매우 쉽고 외부인이 탐지하기는 거의 불가능했으며, 그렇게 할 금전적 유인도 컸음. 이런 “증거”가 법정에서 고려됐다는 사실이 터무니없게 느껴졌음
    • 아, Prenda Law 사건이라니 추억이 떠오름
  • 법원이 무엇을 추정해야 하는가의 문제이긴 하지만, 소프트웨어 개발자는 무엇을 추정하거나 추정하지 않는지도 물어볼 만함
    소프트웨어 개발자는 널리 쓰이는 소프트웨어라면 제대로 작동한다고 추정할 것임. GitHub 이슈에 pandas 버그가 3,500개 있어도 JavaSDK나 pandas 라이브러리는 제대로 작동한다고 봄. 하지만 덜 알려진 라이브러리를 통합하거나 덜 알려진 소프트웨어를 쓴다면 그 작동을 덜 확신하게 됨

    • 눈이 충분히 많으면 모든 버그는 얕다
      그래서 수천 명이 수년 동안 불평하게 된다는 점에서 말임. 덜 냉소적으로 말하면, 널리 쓰이는 소프트웨어의 널리 쓰이는 기능은 현실 조건에서 테스트됐으리라 기대할 수 있으니, 버그가 있더라도 적어도 알려져 있을 가능성이 큼. 하지만 중간 정도 복잡한 소프트웨어의 상태 공간만 해도 전부 덮으려면 엄청난 테스트가 필요함. SQLite의 테스트 모음이 얼마나 큰지 보면 됨. 버그가 적은 소프트웨어를 만드는 유일하게 잘 작동하는 접근은 작고, 자기완결적이며, 격리되고, 잘 이해된 부품들을 조합해 전체를 더 쉽게 추론하게 만드는 것처럼 보임. 이것이 원래 Unix의 철학이고, 함수형 프로그래밍의 철학이며, 비동기 상호작용 추론이 더 어렵긴 해도 액터 시스템 철학의 일부임. 실제 현장에서 이런 접근이 점점 더 많이 보일 것으로 기대함
  • 제목은 어쩌면 클릭베이트의 반대에 가까움
    글이 Post Office 스캔들을 다루는데, 정말 큰 주제를 잡은 것임

  • 보존용 링크: https://archive.ph/wip/AJl8i