이더리움, 봇 공격 막기 위해 거래 정보 암호화 추진

이더리움 개발자들이 악의적인 거래 봇으로부터 사용자를 보호하기 위한 혁신적인 방안을 논의하고 있다. 8월 19일에 예정된 회의에서는 아직 블록에 포함되지 않은 잠재적 거래들을 봇의 공격으로부터 숨기기 위한 제안들이 검토될 예정이다. 이 노력의 핵심은 이더리움의 '멤풀(mempool)'이라 불리는 대기 공간에 대한 암호화 적용이다. 멤풀은 블록체인에 기록되기 전, 모든 거래가 거쳐 가는 임시 저장소 역할을 하는데, 이 투명성 때문에 악의적인 봇들이 거래 내용을 미리 파악하고 이를 악용하는 사례가 빈번하게 발생해왔다. 특히 '샌드위치 공격(sandwich attack)'은 이러한 멤풀의 취약점을 이용하는 대표적인 공격 방식이다. 봇은 사용자의 대규모 거래를 감지하면, 해당 거래가 실행되기 전 동일한 자산을 먼저 매수하여 가격을 자신에게 유리하게 올린 후, 사용자의 거래가 체결되면 즉시 매도하여 차익을 얻는다. 이 과정에서 사용자는 불리한 가격으로 거래하게 되는 손해를 입게 된다.
과거 이더리움 공동 창립자인 비탈릭 부테린조차도 이러한 봇 공격의 피해자가 된 사례가 있을 만큼, 샌드위치 공격은 이더리움 생태계에서 심각한 문제로 인식되어 왔다. 비록 최근에는 이러한 공격으로 인한 피해 규모가 다소 감소했다는 추정치도 있지만, 문제 자체가 완전히 사라진 것은 아니다. 이에 따라 이더리움 개발자들은 멤풀의 정보를 암호화하여 봇들이 거래 내용을 사전에 파악하는 것을 원천적으로 차단하는 방안을 적극적으로 모색 중이다. 이는 기존의 '개인 릴레이(private relay)'를 통한 거래 방식과는 다른 접근법을 제시한다. 현재 사용자들은 멤풀의 투명성을 피해 거래 봇의 공격을 피하기 위해 개인 릴레이 서비스를 이용하기도 한다. 하지만 이러한 방식은 거래 중개자에게 의존하게 되며, 이들이 거래 포함 여부나 순서를 통제할 수 있다는 점에서 완전한 탈중앙화라는 이더리움의 가치와는 상충될 여지가 있다. 따라서 이번에 제안된 '암호화된 멤풀'은 블록체인 공간에 대한 누구나 접근 가능한 개방성을 유지하면서도, 거래 내용이 블록에 확정되기 전까지는 외부에서 볼 수 없도록 하는 것을 목표로 한다.
이와 관련하여 주목받는 제안 중 하나는 EIP-8184, 일명 'LUCID'이다. LUCID는 블록 생성자(block builder)가 거래의 구체적인 내용을 알지 못한 채, 암호화된 페이로드(encrypted payload)와 함께 거래를 확약(commit)하도록 하는 방식을 제안한다. 거래의 실제 내용은 오직 거래를 보낸 사람이나 별도의 키 발행자를 통해서만 해독될 수 있다. 이러한 방식은 샌드위치 공격과 같은 악의적인 거래 앞뒤 개입을 막는 데 효과적일 것으로 기대된다. 하지만 암호화된 멤풀을 구현하는 과정에는 해결해야 할 복잡한 기술적 난제들도 존재한다. 가장 큰 문제점 중 하나는 이더리움의 방대한 거래 처리 규모와 속도를 만족시키면서도 안전하게 작동할 수 있는 암호화 설계가 아직 명확히 제시되지 않았다는 점이다. 또한, 키를 숨기거나(key withholding) 해독에 실패하는(failed reveals) 상황이 발생했을 때 이를 어떻게 안전하게 처리하고 검증할 것인지에 대한 방안도 아직 미해결 과제로 남아 있다. 이더리움의 기술적 복잡성과 확장성 요구사항을 고려할 때, 멤풀 암호화는 단순한 기술적 구현을 넘어 상당한 연구 개발과 합의 과정이 필요할 것으로 보인다. 개발자들은 이러한 기술적 장애물을 극복하고 이더리움 생태계의 무결성과 사용자 보호를 강화하기 위한 최적의 해결책을 찾기 위해 노력하고 있다.