Each language version is independently generated for its own context, not a direct translation.
이더리움의 '숨은 결함'을 찾아낸 AI 탐정: APIDiffer 이야기
이 논문은 블록체인, 특히 **이더리움 (Ethereum)**이라는 거대한 디지털 금융 시스템의 안전성을 지키기 위해 개발된 새로운 도구, APIDiffer에 대한 이야기입니다.
상상해 보세요. 이더리움은 전 세계 수천 명의 개발자가 각자 다른 언어 (고급, 루스트, 자바 등) 로 만든 **11 개의 서로 다른 '은행 지점' (클라이언트)**이 함께 돌아가는 거대한 은행 시스템입니다. 이 은행 지점들은 모두 같은 규칙 (명세서) 을 따르지만, 실제로는 서로 다른 사람이 만들었기 때문에 가끔씩 실수가 생길 수 있습니다.
이 논문은 바로 그 실수 (버그) 를 자동으로 찾아내는 AI 탐정을 소개합니다.
1. 왜 이런 도구가 필요할까요? (현실의 문제)
이더리움에는 **수천 조 원 (약 3,800 억 달러)**의 자금이 걸려 있습니다. 하지만 일반 사용자는 직접 은행 지점을 운영할 수 없기 때문에, 이더리움 지갑 (메타마스크 등) 을 통해 **API(은행 창구)**를 통해 거래를 합니다.
문제는 이 창구들이 서로 다르게 작동할 때 발생합니다.
- 실제 사례 (그림 1): 어떤 사용자는 Etherscan(블록체인 검색 사이트) 에서 "내 계좌 잔고가 0.1 ETH"라고 보았는데, 실제로는 0.01 ETH였습니다. 10 배 차이가 난 것입니다!
- 원인: 이더리움의 여러 '은행 지점' 중 하나가 데이터를 잘못 전달했기 때문입니다.
- 위험: 이런 작은 오차가 금융 사기나 혼란을 불러일으킬 수 있습니다.
기존에는 개발자들이 직접 눈으로 하나하나 확인하거나, 수동으로 테스트를 만들었습니다. 하지만 이더리움은 너무 빨리 변하고, 지점도 너무 많아서 사람이 다 따라잡기 힘들었습니다.
2. APIDiffer 는 어떻게 작동할까요? (해결책)
저자들은 APIDiffer라는 도구를 만들었습니다. 이 도구는 세 가지 마법 같은 능력을 가지고 있습니다.
① 규칙서 (명세서) 를 보고 시험지를 자동으로 만드는 능력
기존 도구들은 개발자가 직접 시험 문제 (테스트 케이스) 를 만들어야 했지만, APIDiffer 는 **공식 규칙서 (API 명세서)**를 읽어서 자동으로 문제를 만듭니다.
- 유사한 예: 요리사들이 만든 '요리 레시피 (규칙서)'를 AI 가 읽어서, "소금 1g 을 넣어야 한다"는 규칙을 보고 "소금 0g", "소금 100g", "설탕 1g" 같은 잘못된 상황까지 포함한 시험지를 자동으로 만들어냅니다.
② 현실 세계의 데이터를 가져와서 시험을 보는 능력
단순히 규칙만 따르는 게 아니라, 실제 블록체인에 있는 진짜 데이터를 가져와서 테스트합니다.
- 유사한 예: "가상의 주소로 돈을 보내라"고 하면 은행은 "그 주소는 없습니다"라고 답할 뿐입니다. 하지만 APIDiffer 는 "실제 존재하는 주소를 찾아서" 그 주소를 시험지에 적어 넣습니다. 이렇게 해야 은행이 진짜로 작동하는지 확인할 수 있습니다.
③ AI 가 "실수"와 "차이"를 구별하는 능력 (가장 중요한 부분)
서로 다른 은행 지점들이 답을 다르게 내놓으면, 그게 진짜 실수일까요, 아니면 그냥 표현 방식이 다를 뿐일까요?
- 유사한 예:
- 은행 A: "오류가 발생했습니다."
- 은행 B: "데이터를 읽을 수 없습니다."
- 의미는 똑같은데 말투가 다릅니다.
- 기존 도구는 이걸 '실수'로 오해해서 개발자에게 계속 신고했습니다.
- APIDiffer는 최신 **AI(대형 언어 모델)**를 써서 "아, 이건 말투만 다를 뿐, 의미는 같아. 이건 신고하지 말자"라고 **거짓 경보 (False Positive)**를 걸러냅니다.
3. 어떤 성과를 냈나요? (결과)
APIDiffer 는 이더리움의 모든 주요 은행 지점 (11 개) 을 테스트했습니다.
- 72 개의 버그 발견: 개발자들이 몰랐던 숨은 결함 72 개를 찾아냈습니다.
- 90% 이상 해결: 이 중 90% 가 넘는 65 개의 버그는 개발자들이 이미 고쳤거나 고치고 있습니다.
- 규칙서 자체의 오류 발견: 심지어는 공식 규칙서 (명세서) 에 잘못된 내용이 적혀 있는 경우까지 찾아냈습니다! (예: "데이터 길이가 32 자여야 한다"고 적혀 있었는데, 실제로는 33 자여야 하는 경우).
- 효율성: 기존 도구보다 코드 커버리지 (테스트 범위) 가 89% 더 넓어졌고, 불필요한 신고는 37% 줄였습니다.
4. 결론: 왜 이것이 중요한가요?
APIDiffer 는 이더리움이라는 거대한 디지털 도시의 안전 검사관 역할을 합니다.
- 개발자에게: "여기 이 부분이 잘못됐어요"라고 알려주어 시스템을 튼튼하게 만듭니다.
- 사용자에게: 내 돈이 안전하게 거래되고, 잔고 정보가 정확히 표시된다는 신뢰를 줍니다.
- 전체 생태계: 서로 다른 개발 팀이 만든 시스템이 서로 잘 통하도록 만들어, 이더리움 네트워크가 더 안전하고 강력해지도록 돕습니다.
이 논문은 **"규칙서와 현실이 맞지 않을 때, AI 가 어떻게 그 차이를 찾아내고 해결하는가"**를 보여주는 아주 훌륭한 사례입니다. 이제 이더리움은 더 이상 개발자들의 눈과 손에만 의존하지 않고, 똑똑한 AI 도구를 통해 더 안전하게 운영될 수 있게 되었습니다.