Categories: 블록체인 글

블록체인은 왜 세상을 보지 못할까

“오라클 문제” 시리즈 1편 — Web3에서 가장 어려운 질문을 쉬운 말로 풀어봅니다.

창문 하나 없는 밀폐된 방에 갇힌 천재 회계사를 떠올려 보세요. 문틈으로 질문을 밀어 넣으면 그녀는 완벽하게 답합니다. 단, 방 안에 이미 있는 서류만으로 계산할 수 있는 문제일 때만요. 오늘 날씨나 지금 금값을 물으면 그녀는 막힙니다. 창문이 없으니까요. 그녀는 오직 방 안에 있는 것만 믿을 수 있습니다.

블록체인 위에서 도는 작은 프로그램인 스마트 컨트랙트가 바로 이 방에 살고 있습니다. 그리고 이 방에 창문이 없는지를 이해하면, 암호화폐 세계에서 가장 깊고 값비싼 문제 하나가 보입니다. 바로 오라클 문제(oracle problem)입니다.

창문은 ‘일부러’ 막아 놓은 것

블록체인은 컴퓨터 한 대가 아닙니다. 전 세계 수천 대의 컴퓨터가 똑같은 장부를 들고 서로의 계산을 끊임없이 검증하는 구조입니다. 이 상호 검증이 작동하려면, 같은 프로그램을 돌렸을 때 모든 컴퓨터가 정확히 같은 답에 도달해야 합니다. 이걸 결정론적(deterministic)이라고 합니다. 같은 입력이면 언제 어디서 돌려도 같은 출력.

그런데 스마트 컨트랙트가 계산 도중 인터넷을 호출해서, 예를 들어 어떤 웹사이트에서 가격을 가져올 수 있다고 해봅시다. 어떤 컴퓨터는 3시 0분 1초에, 다른 컴퓨터는 3시 0분 2초에 값을 받고, 그 사이 숫자가 바뀌었다면? 순식간에 수천 대의 컴퓨터가 서로 다른 답을 들게 되고, 상호 검증 체계 전체가 무너집니다.

그래서 창문은 의도적으로 막혔습니다. 블록체인은 자기 장부 안에서 벌어지는 일 — 누가 누구에게 무엇을 보냈는지 — 은 완벽히 추적하지만, 설계상 바깥세상은 전혀 알지 못합니다. 주가도, 축구 스코어도, 화물의 위치도, 지금 비가 오는지도 볼 수 없습니다.

전령의 등장, 그리고 역설

쓸모 있는 컨트랙트는 대부분 바깥 정보가 필요합니다. 농작물 보험 컨트랙트는 비가 왔는지 알아야 하고, 대출 앱은 담보의 가치가 얼마인지 알아야 합니다. 그래서 사람들은 오라클을 만들었습니다. 바깥세상의 사실을 밀폐된 방 안으로 실어 나르는 전령입니다.

그런데 무슨 일이 벌어졌는지 보세요. 블록체인의 존재 이유는 애초에 중개자를 믿지 않아도 되게 만드는 것이었습니다. 그런데 쓸모 있게 만들려고 중개자 — 전령 — 를 다시 들였고, 이제 우리는 그 전령을 믿어야 합니다. 오라클 문제를 한 문장으로 요약하면 이렇습니다. 바깥세상을 들이는 순간, 벗어나려 했던 바로 그 신뢰가 되살아난다.

이건 이론이 아니다: ‘1초 강도’

돈이 걸리기 전까진 추상적으로 들립니다. 하지만 이 수법은 암호화폐 앱에서 수천만 달러를 여러 차례 빼갔습니다.

어떤 대출 앱이 코인 가격을 알아야 해서, 온체인의 붐비는 거래소에서 그 가격을 읽어 옵니다. 공격자는 아주 잠깐 거액을 빌려(암호화폐에서는 규칙상 완벽히 가능합니다) 그 한 거래소의 가격을 순간적으로 세게 밀어버립니다. 그리고 가격이 왜곡된 그 찰나에, 대출 앱을 속여 마땅히 줘야 할 것보다 훨씬 많은 돈을 받아냅니다. 그런 다음 순간 대출을 갚고 차익을 챙겨 유유히 사라집니다.

놀라운 점은, 대개 코드에 버그가 없었다는 것입니다. 대출 앱은 시킨 대로 정확히 했을 뿐입니다. 단지 잘못된 숫자를 믿었을 뿐이죠. 전령이 거짓말을 했고, 완벽한 회계사는 그 거짓말 위에서 완벽하게 일했습니다.

쓰레기가 들어가면, 복음이 되어 나온다

오라클 문제를 평범한 “쓰레기가 들어가면 쓰레기가 나온다(garbage in, garbage out)”보다 더 고약하게 만드는 반전이 있습니다.

블록체인은 나쁜 데이터를 그냥 처리하는 게 아니라 영구히 새겨 넣습니다. 한 번 기록되면 몰래 바꿀 수 없다는 게 블록체인의 초능력이니까요. 그래서 농부가 상자를 스캔하며 유기농이 아닌 딸기를 “이 딸기는 유기농”이라고 입력하면, 블록체인은 그 거짓말을 잡아내지 못합니다. 오히려 더 나쁜 일을 합니다. 그 거짓말을 영원히 보존하고, 변조 불가능하다는 도장을 찍어, 하류의 모든 사람에게 근거 없는 확신을 안깁니다.

블록체인이 보장하는 건 기록이 변조되지 않았다는 것뿐입니다. 그 기록이 쓰일 당시 사실이었는지에 대해서는 아무 말도 하지 않습니다.

진짜 던져야 할 질문

그러니 정작 중요한 질문은 “이 기록은 안전한가?”가 아닙니다. 그건 블록체인이 아주 잘하는 일이니까요. 진짜 질문은 이것입니다. “애초에 그 진실은 어떻게 방 안으로 들어왔는가 — 그리고 그것을 실어 온 전령을 왜 믿어야 하는가?”

이 한 질문에 수십억 달러와 헤아릴 수 없는 개발 시간이 걸려 있습니다. 이 시리즈에서는 누구나 처음 떠올리는 솔깃한 지름길(AI로 그냥 풀면 안 되나?), 오늘날 실제 시스템이 이 질문에 답하는 세 가지 영리한 방법, 그리고 어떤 기술로도 넘지 못하는 끈질긴 한계를 차례로 살펴봅니다.

알고 보면 밀폐된 방은 결함이 아닙니다. 그게 핵심입니다. 기술은 문으로 무엇을 들여보낼지 고르는 그 지점에 있습니다.


Tags: Blockchain, Web3, Cryptocurrency, SmartContracts, Technology

Recent Posts

블록체인이 진짜 파는 것: “나는 못 고친다”

체인 위의 데이터 — 3부작 중 3편 · ChainLab 앞의 두 편은 배관에 관한 것이었습니다…

2개월 ago

데이터를 소비하는 것이 스마트컨트랙트일 때

체인 위의 데이터 — 3부작 중 2편 · ChainLab 1편에서 우리는 하나의 재정의에 도달했습니다. 블록체인은…

2개월 ago

무료 데이터를 블록체인에 얹어 판다는 것

체인 위의 데이터 — 3부작 중 1편 · ChainLab 솔깃한 아이디어가 하나 있습니다. 부동산 실거래가…

2개월 ago

한국에선 왜 아직? — 규제 이야기, 쉽게 (5/5)

기술은 세계 최고 수준인데, 왜 우리나라에선 AI 결제가 아직 잘 안 굴러갈까요? 답은 '실력'이 아니라…

2개월 ago

에스크로 — 돈을 안전하게 맡기는 금고, 그런데 왜 어려울까 (4/5)

중고거래 안전결제, 다들 써보셨죠? AI 결제에도 이게 필요합니다. 문제는, 생각보다 훨씬 까다롭다는 거예요. 중고거래를 떠올려…

2개월 ago

AP2 & MPP — ‘미리 허락받는’ 결제 vs ‘탭 열어두는’ 결제 (3/5)

앞 편의 x402가 자판기였다면, 이번 두 방식은 '용돈 한도'와 '술집 외상장부'에 가깝습니다. 앞 편 복습:…

2개월 ago