BAAL
서비스
도면 배치쉼표_모니터꺼짐예약음악 생성기텍스트 분할기PDF 변환
이미지
배경 제거업스케일워터마크이미지 리사이즈이미지 압축OCR
생성
바코드차트 생성QR 코드
텍스트
마크다운CSV 에디터JSON 포맷터
파일
파일 변환
개발
정규식 테스터컬러 피커해시 생성기Base64

IT

개발, 하드웨어, 소프트웨어 토론

게시판으로

드리프트 해킹, 내 돈은 누가 책임지나

🇰🇷 야근러2시간 전조회 197댓글 5
솔라나 체인 위에서 돌아가는 탈중앙화 파생상품 거래소 드리프트 프로토콜이 해킹당했을 때, 커뮤니티 반응이 딱 두 갈래였다. "그래서 내 돈은?" 하고 묻는 사람, 그리고 "탈중앙화니까 원래 자기 책임"이라고 말하는 사람. 나도 백엔드 개발자로 밥 먹고 사는 입장에서 스마트 컨트랙트 코드 한 줄이 수십억을 날릴 수 있다는 걸 머리로는 알고 있었는데, 막상 실제 피해 사례를 보면 그게 이론이 아니라 누군가의 전 재산이었다는 게 확 와닿는다. 전통 금융에서는 은행이 해킹당하면 예금자보호법이 있고, 카드가 도용되면 이의 제기 절차가 있는데, 디파이에서는 그런 안전망이 기본적으로 없다. 코드가 곧 법이고, 코드에 구멍이 있으면 그건 그냥 뚫리는 거다. 드리프트 같은 프로토콜의 취약점이 터질 때 개발자 시선으로 보면 대부분 비슷한 패턴이다. 오라클 가격 조작, 플래시론을 이용한 유동성 풀 공격, 아니면 컨트랙트 업그레이드 권한이 특정 지갑에 집중되어 있다가 그 키가 털리는 경우. 결국 "탈중앙화"라고 이름을 붙여놨지만 실제 운영 구조를 뜯어보면 관리자 키 몇 개에 모든 게 달려 있는 경우가 태반이다. 회사에서 서버 배포할 때도 운영 키 관리를 이렇게 하면 바로 보안 감사에 걸리는 수준인데, 수백억이 오가는 프로토콜이 그 정도 거버넌스도 없이 돌아간다는 게 솔직히 좀 무섭다. 오딧(감사) 받았다고 홈페이지에 배지 달아놓은 프로젝트도, 오딧 이후에 추가된 코드에서 구멍이 나는 건 흔한 일이다. 그러면 결국 개인이 할 수 있는 건 뭐냐. 일단 디파이에 돈을 넣는 순간 그건 은행 예금이 아니라 투자라는 걸 인정해야 한다. 나 같은 경우는 하나의 프로토콜에 전체 자산의 일정 비율 이상을 절대 안 넣는다. 지갑도 용도별로 분리해서, 디파이 인터랙션용 핫월렛에는 잃어도 생활에 지장 없는 금액만 넣고, 메인 자산은 하드웨어 월렛에 따로 둔다. 트랜잭션 서명할 때 무슨 권한을 승인하는 건지 확인하는 것도 기본 중의 기본인데, 이걸 귀찮다고 그냥 컨펌 누르는 사람이 정말 많다. "이 컨트랙트에 내 지갑의 모든 토큰 무제한 인출 권한을 줍니다"라는 승인을 아무 생각 없이 눌러놓으면, 그 컨트랙트가 나중에 악의적으로 업그레이드되는 순간 지갑이 통째로 빠진다. 개발자 입장에서 한 가지 더 짚자면, 디파이 프로토콜 고를 때 깃허브 들어가서 코드가 공개되어 있는지, 최근 커밋이 언제인지, 이슈 대응은 어떻게 하는지 정도는 봐야 한다. 코드를 직접 분석 못 하더라도 개발팀이 활발하게 관리하고 있는 프로젝트와 배포 후 방치된 프로젝트는 느낌이 다르다. TVL 높다고 안전한 게 아니고, APY 높다고 좋은 게 아니다. 수익률이 비정상적으로 높으면 그 수익이 어디서 나오는지를 먼저 의심해야 한다. 출처를 설명 못 하는 수익률은 결국 다른 누군가의 원금이거나, 아니면 해킹 한 방에 증발할 구조적 리스크를 감수하고 있는 거다. 퇴근하고 새벽에 디스코드 알림 떠서 봤더니 내가 돈 넣어둔 프로토콜이 털렸다, 이런 상황이 실제로 올 수 있다. 그때 "탈중앙화니까 어쩔 수 없지"라는 말이 위로가 되지는 않는다. 결국 자기 돈은 자기가 지키는 수밖에 없고, 지키는 방법은 거창한 게 아니라 분산, 분리, 확인 이 세 가지다. 한 바구니에 다 담지 말고, 지갑과 용도를 나누고, 서명 전에 뭘 승인하는지 읽어보는 것. 디파이의 자유에는 그만큼의 책임이 따라오는데, 그 책임의 무게를 모른 채 들어가면 다치는 건 결국 본인이다.

댓글 5

댓글을 불러오는 중...