글: Juan Galt
편집: AididiaoJP, Foresight News
오픈소스와 클로즈드소스 사이의 논쟁은 비트코인을 비롯한 암호화폐 업계 전반에서 10년 넘게 이어져 왔다. 비트코인 지지자들은 오랫동안 세계 금융 인프라는 공개적으로 구축되어야 하며, 실제 돈이 걸린 문제에서는 투명성과 감사 가능성이 타협할 수 없는 원칙이라고 주장해 왔다. 그러나 애플리케이션 계층과 전통 금융은 좀처럼 이 말에 수긍하지 않는다.
최근 발생한 Coldcard 하드웨어 지갑 도난 사건은 ‘오픈소스’라는 단어의 진정한 의미를 다시 논란의 중심으로 밀어 올렸다. 사용자들은 1억 달러 이상의 비트코인(1500 BTC 이상)을 잃었다. 이 사건은 골수 비트코인 사용자들조차 오픈소스 소프트웨어 개발 철학과 그것이 작동하지 않는 시나리오에 대한 이해가 상당히 제한적이라는 민망한 현실을 드러냈다.
원칙과 용어
오픈소스 관련 용어는 단순하지 않다. 자유 오픈소스 소프트웨어(FOSS)와 자유/오픈소스 소프트웨어(FLOSS)는 공식적인 ‘사용자 자유’ 정의를 충족하는 소프트웨어를 가리킨다.
자유 소프트웨어 재단(FSF)은 네 가지 기본 자유를 통해 ‘자유 소프트웨어’를 정의한다.
- 자유 0: 자신의 뜻대로 어떤 목적으로든 프로그램을 실행할 자유.
- 자유 1: 프로그램이 어떻게 작동하는지 연구하고 필요에 맞게 수정할 자유(소스 코드에 접근할 수 있어야 한다).
- 자유 2: 다른 사람을 돕기 위해 복사본을 재배포할 자유.
- 자유 3: 수정된 버전을 다른 사람에게 배포할 자유(마찬가지로 소스 코드가 전제되어야 한다).
FSF는 ‘free’가 무료가 아니라 자유를 의미한다고 강조한다. 오픈소스 옹호자들이 흔히 말하는 문구는 “‘free’는 ‘free beer’(공짜 맥주)가 아니라 ‘free speech’(표현의 자유)의 free”다.
오픈소스 이니셔티브(OSI)의 오픈소스 정의(Open Source Definition)는 로열티 없이 자유롭게 재배포할 수 있을 것, 소스 코드가 수정하기 적합한 형태로 제공될 것, 파생 저작물을 만들어 배포하는 것을 허용할 것, 어떤 개인·집단·사용 분야(상업적 사용 포함)도 차별하지 않을 것 등 열 가지 실천 기준을 추가로 제시한다. 이 열 가지 기준을 모두 충족하는 라이선스만이 공식적으로 ‘오픈소스’라고 불릴 수 있다.
‘소스 공개(source available)’ 또는 ‘소스 열람 가능’은 또 다른 문제다. 코드는 공개적으로 읽을 수 있지만, 라이선스가 상업적 판매권을 제한할 수 있다. Coldcard의 펌웨어가 그 예다. 이 펌웨어는 MIT 라이선스를 채택하면서 동시에 추가 라이선스 조건을 덧붙였다. 이 조항은 소프트웨어의 ‘판매’를 명시적으로 금지하는데, 판매는 수수료나 기타 대가를 받고 제3자에게 소프트웨어를 제공하는 행위이면서 제품이나 서비스의 가치가 전적으로 또는 실질적으로 해당 소프트웨어 자체에서 나오는 경우로 정의된다. 다시 말해, Coldcard 펌웨어는 상업적 용도로 사용할 수 없다.
라이선스 조건은 아주 직설적이다. “이것은 오픈소스인가? 아니다.” 이 조건을 추가하면 소프트웨어가 오픈소스 정의의 많은 요소를 충족하지만 전부는 아니므로 오픈소스라고 불러서는 안 된다고 명시한다.
이러한 구분은 중요하다. 소스 코드를 공개하는 것은 검사를 받을 가능성을 만들어줄 뿐이다. 자유 소프트웨어 정의나 오픈소스 정의에 담긴 모든 권리를 실제로 부여하는 것이 FOSS다. 그러나 ‘오픈소스’라는 배지를 다는 것 자체가 목적은 아니다. 비판자들은 오픈소스에서 상업적 자유가 있어야 제3자가 코드를 테스트하고 검토할 유인이 생기며, 그렇지 않으면 그러한 유인 자체가 존재하지 않을 수 있다고 본다.
네 가지 자유는 오픈소스의 철학적 핵심이다. 그러나 실제로는 충분히 많은 유인을 가진 사람들이 실제로 코드를 검토할 것이라는 경제적 가정 위에 세워져 있다. 이 가정이 무너지면 시스템은 전형적인 ‘공유지의 비극’을 겪는다. 공유 자원이 개인의 단기적 사익으로 인해 과도하게 사용되거나 방치되면서 결국 퇴화하는 것이다. 모든 사람은 조금 더 가지려 하거나(또는 조금 덜 기여하려 하거나) 그 결과 자원 전체가 손상된다. 유인이 정렬될 때도 있고, 전혀 정렬되지 않을 때도 있다.
한 비트코인 개발자는 더 직설적으로 말한다. “테스트에서 오픈소스 코드를 다룰 때 두 가지 테스트 더블인 mocks와 stubs만 쓰는 것은 무책임하고 근시안적이다. 오픈소스 코드가 안전하다고 여겨지는 이유는 누구나 이를 검증할 수 있기 때문이다. 자신이 실제로 의존하는 기능조차 최소한의 테스트를 하지 않으려 한다면, 당신은 기생충처럼 행동하는 것이다.”
따라서 오픈소스 자체가 자동으로 보안을 만들어내는 것은 아니다. 그것은 검증 가능성만 만들어낼 뿐이다. 검증이 실제로 이뤄지는지는 유인, 기술, 관심에 달려 있다. 역사적으로 훌륭한 FOSS는 취약점이 발견·공개·수정되면서 점차 단단해지고, 다른 사람들이 그 위에 구축할 수 있는 견고한 기반이 된다. 리눅스 커널이 대표적이다. 리눅스 커널은 전 세계 서버, 클라우드 인프라, 안드로이드 기기, 임베디드 시스템의 대부분을 구동하며, 지금까지 가장 광범위하게 배포된 소프트웨어 중 하나다.
비트코인 코어: 오픈소스의 현실 사례
비트코인의 참조 구현체인 Bitcoin Core는 대규모 순수 오픈소스가 실제로 작동하는 또 다른 고전적 사례다. MIT 라이선스를 사용하며 개발 과정은 설계상 공개되어 있다.
누구나 풀 리퀘스트(PR)를 제출할 수 있다. 코드 리뷰는 주요 필터링 메커니즘이자 신규 참여자에게 권장되는 입문 경로다. 리뷰어는 Concept ACK(목적에 동의), Approach ACK(목적과 방법에 동의), 특정 커밋 해시가 포함된 ACK(테스트를 거쳐 병합을 승인), NACK(기술적 근거를 첨부해야 하는 반대) 같은 공식 용어를 사용한다.
메인테이너는 병합 전에 기여자들의 합의와 기술적 타당성을 저울질한다. 합의가 중요한 변경 사항은 문턱이 더 높아 보통 비트코인 개선 제안(BIP)이 필요하고, bitcoin-dev 메일링 리스트와 IRC에서 수년간 충분한 논의를 거쳐야 한다.
여기에는 특권층의 ‘비트코인 코어 개발자’ 같은 것이 없다. 신뢰는 오랜 기간 능력을 입증함으로써 얻어진다. 메인테이너의 존재는 실무적 필요—병합 코드 감사, 릴리스 관리, 기본 검토—때문일 뿐이며, 그 결과물은 누구나 검사·컴파일·포크·실행할 수 있는 순수 오픈소스 코드다. Bitcoin Core에 코드가 병합된 사람들은 일반적으로 Bitcoin Core 기여자라고 불린다.
오랫동안 비트코인 오픈소스 개발에 참여해 온 Calle는 최근 이렇게 정리했다. “코어가 그늘 속에서 불투명하게 움직이는 어떤 기구라고 생각하는 사람들은 너무 게으르거나, 스스로 직접 확인하기에는 너무 어리석은 사람들이다. 그들이 하는 모든 것은 공개되어 있고 누구나 참여할 수 있으며, 최종 산출물은 순수 오픈소스 코드다.”
이 작업들의 자금은 주로 Brink, OpenSats, Spiral 같은 비영리 및 후원 구조에서 나오며, 전통적인 회사의 제품 로드맵에서 나오지 않는다. 기술 논의는 공개된 bitcoin-dev 메일링 리스트와 Libera Chat의 #bitcoin-core-dev IRC 채널에서 이뤄지고, 제안은 풀 리퀘스트 제출 전후로 엄격하게 검토된다. GitHub의 이슈와 풀 리퀘스트에는 10년에 이르는 댓글 기록이 있는 경우도 흔하다. 그 결과 속도나 상업적 기능 출시 속도보다 정확성과 감사 가능성을 우선시하는 개발 문화가 만들어진다.
오픈소스의 경제학
대부분의 오픈소스 또는 소스 공개 소프트웨어 사용자는 코드를 직접 읽지 않는다. 그들은 ‘다른 누군가가 검토하고 있다’는 가정에 의존한다. Coldcard 사례에서는 치명적인 엔트로피 결함이 공개 펌웨어에 약 5년간 잠복해 있다가 악용되면서 비로소 발견됐다.
이 버그는 2021년 대대적인 재작성 과정에서 도입됐다. 그 재작성에서는 Trezor에서 유래한 잔여 GPL 코드도 제거됐다. Trezor는 최초의 하드웨어 지갑이자 현재 자가 수탁(self-custody) 업계에서 두 번째로 큰 제품이다. 문제의 핵심 라이브러리는 libngu로, trezor-crypto를 대체했지만 외부 검토가 극히 적었다. 프로덕션 환경에서 5년 넘게 사용된 뒤에도 star는 7개, fork는 20개 미만이다. 이와 대조적으로 trezor-crypto는 star 512개와 fork 212개를, 더 현대적인 trezor-firmware는 fork 793개와 star 1800개를 기록하고 있다. 소스 공개 자체가 정말 중요한 검토를 가져오지는 않았다는 뜻이다. 비판자들은 자금력과 역량을 갖춘 다른 영리 회사들이 이를 사용하지 못하도록 제한되면서 상업적 유인이 부족했기 때문이라고 본다. 참고: Star와 Fork는 GitHub에서 프로젝트의 인기와 활성도를 측정하는 두 가지 핵심 지표로, Star는 즐겨찾기/좋아요, Fork는 저장소 복제를 의미한다.
비트코인 분야의 이해관계는 대부분의 소프트웨어 분야보다 훨씬 크다. 치명적인 결함 하나가 공개 시장에서 곧바로 유동성으로 전환될 수 있다. Coldcard에서 도난당한 자금 중 앞선 부분은 여전히 소수의 주소에 남아 있고, 해커가 언젠가 잡힐 수도 있지만 뒤따른 모방자들은 더 신중해 일부는 이미 더 많은 비트코인을 훔쳐 세탁하는 데 성공했다(Galaxy Research 데이터에 따르면 총 손실은 최소 1700 BTC에 달한다). 비트코인의 검열 저항성과 변경 불가능한 거래는 공격자에게 강력한 유인을 제공하는 동시에 다윈주의적 선별을 만들어낸다. 지속적으로 높은 수준의 검토를 끌어내고 사용자와 기업이 진지하게 보호 조치를 취하는 프로젝트만이 장기적으로 생존할 수 있다.
라이선스 선택은 이러한 유인을 형성한다. 순수 오픈소스 라이선스는 잠재적 검토자와 포크의 풀을 극대화한다. 반면 제한적인 ‘소스 공개’ 라이선스는 상업적 ‘무임승차’를 줄일 수 있지만, 합법적 권리와 경제적 동기를 모두 가진 채 깊은 주의를 기울일 사람들의 풀도 좁힌다. 결과적으로 코드 리뷰의 부담은 다시 회사 자신에게 돌아가며, 어떤 면에서는 오픈소스보다 클로즈드소스에 더 가까워진다.
AI가 오픈소스와 클로즈드소스 개발을 바꾸는 방식
인공지능은 오픈소스와 클로즈드소스 사이의 균형을 바꾸고 있다.
Coldcard 사건 이후, Calle와 AnchorWatch의 Rob Hamilton 같은 개발자들이 주도하고 OpenSats가 지원하는 자원봉사 프로젝트 Bitcoin Red Team은 최신 AI 모델을 사용해 수백 개의 오픈소스 비트코인 코드베이스를 스캔했다. 집중적인 기간 동안 팀은 수천 건의 발견 사항을 제출했고, 그중 수십 건이 치명적 또는 높은 심각도로 분류되었으며, 수백 개의 프로젝트에 걸쳐 있었다. 책임 있는 공개(responsible disclosure)는 먼저 메인테이너에게 전달된 뒤 공개됐다. 이는 체계적인 AI 지원 검토가 인간 팀이 이전에는 도달하기 어려웠던 규모와 속도로 취약점을 발견할 수 있음을 입증했다.
值得一提的是,Bitcoin Red Team은 중국 오픈웨이트 모델이 폐쇄형 미국 모델보다 훨씬 더 신뢰할 수 있다는 점을 발견했다. 네트워크 권한과 최상위 접근 권한을 보유한 미국 모델조차도 Bitcoin Red Team의 질의에 응답을 거부했으며, 이는 미국 개발자들에게 상당한 아쉬움을 남겼다.
한편, AI가 생성한 코드의 홍수는 FOSS 메인테이너들에게 새로운 ‘서비스 거부’ 압력을 안기고 있다. AI 출력물을 검토하는 일은 흔히 그것을 생성하는 것보다 더 많은 시간이 걸린다. 비트코인 외 일부 오픈소스 프로젝트들은 기본적인 운영을 유지하기 위해 이미 이슈 트래커를 제한하거나 엄격한 반(反) AI 기여 규칙을 마련하기 시작했다.
클로즈드소스 측에서는 전통적인 ‘은폐를 통한 보안’의 이점이 침식되고 있다. 현대 AI 모델은 매우 빠른 속도로 코드를 읽고, 난독화를 해제하고, 엔드포인트를 탐지하고, 추론할 수 있다. 오픈소스와 클로즈드소스의 실제 차이는 이제 주로 한 번도 운영 환경에 배포된 적 없는 백엔드 코드만 남았다. 클로즈드소스 코드는 결국 전문 감사의 품질, 패치 배포 속도, 그리고 권한 있는 사람들이 지속적으로 진지하게 검토하도록 만드는 인센티브 구조에 의존할 수밖에 없다.
비트코인과 더 넓은 암호화폐 산업은 자유·오픈소스 소프트웨어에 이례적인 압력을 가하고 있다. 실제 화폐 가치, 적대적 경제, 그리고 현재의 AI 규모 분석은 소프트웨어 모델이 계속 진화하도록 강제하고 있다. 현대 사회를 떠받치는 인프라에게 디지털 이전 아날로그 시스템으로 돌아가는 것은 거의 선택지가 아니다. 충분히 감사된 프로젝트만이 AI 보조 해커와 디지털 우선 금융의 무거운 압박 속에서 살아남을 가능성이 있다.




