디파이 보안 문제 취약성, 원인은 '프로그래밍 언어'...보안·혁신 두 마리 토끼 잡을 방법은?

박채원 / 2022-11-28 14:24:58

최근, 디파이(DeFi, 탈중앙화 금융 프로토콜의 총 예치 자산(TVL)이 최고 1,800억 달러를 기록한 뒤 400억 달러를 기록해, 100억 달러 안팎이었던 2년 전보다 성장하였다. 그러나 문제는 지난해 디파이 프로토콜의 해킹 피해 금액이 100억 달러를 넘어서는 등 보안 문제가 심각하다.

이에, 암호화폐 전문 매체 코인텔레그래프는 디파이 스마트 계약 프로그래밍 언어가 적합한 자산 관리 기능을 제공하지 못한다고 지적하며, 디파이의 혁신과 보안을 모두 갖출 방법을 설명했다.

우선, 매체는 디파이의 보안 문제 원인으로 솔리디티(Solidity) 등 오늘날 디파이 프로젝트에 사용하는 언어에는 자산 종류의 개념 구분이 없다는 점을 지적했다. 일례로, 토큰과 NFT 등과 같은 자산은 이더리움의 ERC-20과 같은 스마트 계약에서 변동성이 있는 자산이다. 자산 변동성의 흐름과 관련된 보호 기능과 검증은 개발자가 모든 스마트 계약에 대해 처음부터 구현해야 한다.

스마트 계약이 복잡해질수록 보호와 검증 수준도 더 강화돼야 한다. 사용자가 토큰을 다른 것과 교환하는 것과 같이 스마트 계약이 서로 상호 작용할 수 있도록 메시지가 각 스마트 계약으로 전송되어 내부 변수 목록을 업데이트해야 한다.

결과적으로 복잡한 균형 조정 행위가 발생한다. 스마트 계약과의 모든 상호 작용이 올바르게 처리되는지 확인하는 일은 모두 디파이 개발자의 몫이다. 솔리디티와 EVM(Ethereum Virtual Machine)에 내장된 선천적 보호 조치가 없다. 그러므로 디파이 개발자는 필요한 모든 보호 및 검증을 직접 설계하고 구현해야 한다.

따라서 디파이 개발자는 항상 코드의 보안을 확인하는 데 오랜 시간을 투자해야 한다. 코드 보안을 여러 차례 반복 확인해야 한다.

이어서 매체는 디파이가 보안을 갖추는 동시에 혁신에 성공하려면, 개발자의 손쉬운 자산 생성과 상호작용, 자산과의 직관적인 행동을 기본 기능으로 만들 방법이 필요하다고 전했다.

매체는 자산 지향 프로그래밍 패러다임에서 자산을 생성하는 것이 네이티브 함수를 호출하는 것만큼 쉽다고 설명했다. 예를 들어, .initial_supply_fungible(1000)은 고정 공급 1000으로 대체할 수 있는 토큰을 생성한다. 반면, .take 및 .put과 같은 함수는 토큰을 가져와 다른 곳에 배치한다.

개발자가 스마트 계약에 변수 목록을 업데이트하도록 지시하는 복잡한 논리를 작성하는 대신, 자산 지향 프로그래밍에서는 누구나 직관적으로 디파이의 기본 기능으로 기대할 수 있는 모든 오류 검사를 수반한다. 자산 지향 프로그래밍은 토큰이 손실되거나 고갈될 수 없음을 보장하기 때문이다.

[ⓒ CWN(CHANGE WITH NEWS). 무단전재-재배포 금지]

박채원

IT/Tech, 금융, 산업, 정치, 생활문화, 부동산, 모빌리티

뉴스댓글 >

- 띄어 쓰기를 포함하여 250자 이내로 써주세요.
- 건전한 토론문화를 위해, 타인에게 불쾌감을 주는 욕설/비방/허위/명예훼손/도배 등의 댓글은 표시가 제한됩니다.

댓글 0